diff --git a/doc/Changelog b/doc/Changelog index 811860b5b..cf306ea6b 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -7,6 +7,7 @@ - Merge #478: Allow configuration of TCP timeout while waiting for response. - Fix to squelch tcp socket bind failures when the interface is gone. + - Rerun flex and bison. 3 May 2021: Wouter - Fix #481: Fix comment in configuration file. diff --git a/util/configlexer.c b/util/configlexer.c index fac54a193..06a688467 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -354,8 +354,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 347 -#define YY_END_OF_BUFFER 348 +#define YY_NUM_RULES 348 +#define YY_END_OF_BUFFER 349 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -363,384 +363,386 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[3420] = +static const flex_int16_t yy_accept[3439] = { 0, - 1, 1, 321, 321, 325, 325, 329, 329, 333, 333, - 1, 1, 337, 337, 341, 341, 348, 345, 1, 319, - 319, 346, 2, 346, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 321, 322, 322, 323, - 346, 325, 326, 326, 327, 346, 332, 329, 330, 330, - 331, 346, 333, 334, 334, 335, 346, 344, 320, 2, - 324, 346, 344, 340, 337, 338, 338, 339, 346, 341, - 342, 342, 343, 346, 345, 0, 1, 2, 2, 2, - 2, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 1, 1, 322, 322, 326, 326, 330, 330, 334, 334, + 1, 1, 338, 338, 342, 342, 349, 346, 1, 320, + 320, 347, 2, 347, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 322, 323, 323, 324, + 347, 326, 327, 327, 328, 347, 333, 330, 331, 331, + 332, 347, 334, 335, 335, 336, 347, 345, 321, 2, + 325, 347, 345, 341, 338, 339, 339, 340, 347, 342, + 343, 343, 344, 347, 346, 0, 1, 2, 2, 2, + 2, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 321, - 0, 325, 0, 332, 0, 329, 333, 0, 344, 0, - 2, 2, 344, 340, 0, 337, 341, 0, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 322, + 0, 326, 0, 333, 0, 330, 334, 0, 345, 0, + 2, 2, 345, 341, 0, 338, 342, 0, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 344, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 345, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 127, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 136, - 345, 345, 345, 345, 345, 345, 345, 344, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 128, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 137, + 346, 346, 346, 346, 346, 346, 346, 345, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 111, 345, 318, - 345, 345, 345, 345, 345, 345, 345, 8, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 112, 346, 319, + 346, 346, 346, 346, 346, 346, 346, 8, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 128, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 141, - 345, 345, 344, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 129, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 142, 346, 346, 345, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 311, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 312, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 344, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 66, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 243, 345, 14, 15, - 345, 19, 18, 345, 345, 227, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 345, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 67, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 244, 346, + 14, 15, 346, 19, 18, 346, 346, 228, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 134, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 225, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 3, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 135, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 226, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 3, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 344, - 345, 345, 345, 345, 345, 345, 345, 305, 345, 345, - 304, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 328, 345, - 345, 345, 345, 345, 345, 345, 345, 65, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 345, 346, 346, 346, 346, 346, 346, 346, + 306, 346, 346, 305, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 329, 346, 346, 346, 346, 346, 346, 346, 346, + 66, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 69, 345, 274, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 312, 313, 345, 345, - 345, 345, 345, 345, 345, 70, 345, 345, 135, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 131, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 214, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 21, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 70, 346, 275, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 313, + 314, 346, 346, 346, 346, 346, 346, 346, 71, 346, + 346, 136, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 132, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 215, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 21, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 160, 345, 345, 345, 345, - 344, 328, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 109, 345, 345, 345, 345, 345, 345, - 345, 282, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 184, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 159, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 161, + 346, 346, 346, 346, 345, 329, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 110, 346, 346, + 346, 346, 346, 346, 346, 283, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 185, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 160, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 108, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 34, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 35, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 109, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 35, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 36, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 67, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 133, 345, 345, 344, 345, 345, 345, 345, 345, - 126, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 68, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 247, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 185, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 68, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 134, 346, 346, 345, + 346, 346, 346, 346, 346, 127, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 69, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 248, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 186, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 56, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 265, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 60, 345, 61, 345, 345, - 345, 345, 345, 112, 345, 113, 345, 345, 345, 345, - 110, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 57, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 266, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 61, 346, 62, 346, 346, 346, 346, 346, 113, 346, + 114, 346, 346, 346, 346, 111, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 7, 345, 345, 345, 344, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 236, 345, 345, 345, 345, 162, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 248, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 7, 346, 346, + 346, 345, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 237, 346, 346, 346, 346, 163, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 249, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 47, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 57, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 206, 345, - 205, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 16, 17, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 71, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 213, 345, - 345, 345, 345, 345, 345, 115, 345, 114, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 48, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 58, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 207, 346, 206, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 16, 17, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 72, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 214, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 197, 345, 345, 345, 345, 345, 345, 345, 345, - 142, 345, 345, 344, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 103, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 91, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 226, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 96, + 346, 116, 346, 115, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 198, 346, + 346, 346, 346, 346, 346, 346, 346, 143, 346, 346, + 345, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 104, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 92, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 227, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 64, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 200, 201, 345, 345, 345, 276, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 6, - 345, 345, 345, 345, 345, 345, 295, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 280, 345, 345, 345, 345, 345, - 345, 306, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 97, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 65, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 201, 202, 346, + 346, 346, 277, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 6, 346, 346, 346, + 346, 346, 346, 296, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 281, 346, 346, 346, 346, 346, 346, 307, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 44, 345, 345, 345, 345, 46, - 345, 345, 345, 92, 345, 345, 345, 345, 345, 54, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 344, - 345, 193, 345, 345, 345, 137, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 218, 345, 194, 345, - 345, 345, 233, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 55, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 139, 120, 345, 121, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 45, 346, 346, 346, 346, 47, 346, 346, + 346, 93, 346, 346, 346, 346, 346, 55, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 345, 346, 194, + 346, 346, 346, 138, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 219, 346, 195, 346, 346, 346, + 234, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 56, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 119, 345, 345, 345, 345, 345, 345, 345, 345, - 157, 345, 345, 52, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 264, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 195, 345, 345, 345, 345, 345, 198, 345, 204, 345, - 345, 345, 345, 345, 345, 232, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 107, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 132, 345, 345, 345, 345, 345, 345, 345, 62, + 346, 346, 140, 121, 346, 122, 346, 346, 346, 120, + 346, 346, 346, 346, 346, 346, 346, 346, 158, 346, + 346, 53, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 265, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 196, 346, + 346, 346, 346, 346, 199, 346, 205, 346, 346, 346, + 346, 346, 346, 233, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 108, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 133, - 345, 345, 345, 28, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 20, 345, 345, 345, 345, 345, - 345, 29, 38, 345, 167, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 344, 345, 345, 345, 345, 345, 345, 79, 81, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 284, 345, 345, 345, 345, 244, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 122, 345, 345, 345, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 63, 346, 346, + 346, 29, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 20, 346, 346, 346, 346, 346, 346, + 30, 39, 346, 168, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 345, + 346, 346, 346, 346, 346, 346, 80, 82, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 285, 346, 346, 346, 346, 245, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 123, - 156, 345, 48, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 299, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 161, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 293, 345, 345, - 345, 224, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 309, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 178, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 116, 345, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 157, + 346, 49, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 300, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 162, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 294, 346, 346, 346, + 225, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 310, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 179, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 173, 345, 186, 345, 345, 345, - 345, 345, 345, 344, 345, 145, 345, 345, 345, 345, - 345, 102, 345, 345, 345, 345, 216, 345, 345, 345, - 345, 345, 345, 234, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 256, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 138, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 177, 345, 345, 345, - 345, 345, 345, 82, 345, 83, 345, 345, 345, 345, + 346, 346, 117, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 174, 346, 187, 346, 346, 346, + 346, 346, 346, 345, 346, 146, 346, 346, 346, 346, + 346, 103, 346, 346, 346, 346, 217, 346, 346, 346, + 346, 346, 346, 235, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 257, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 139, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 178, 346, 346, 346, - 345, 63, 302, 345, 345, 345, 345, 345, 90, 187, - 345, 207, 345, 237, 345, 345, 199, 277, 345, 345, - 345, 345, 345, 345, 75, 345, 189, 345, 345, 345, - 345, 345, 9, 345, 345, 345, 345, 345, 106, 345, - 345, 345, 345, 269, 345, 345, 345, 345, 215, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 344, 345, + 346, 346, 346, 83, 346, 84, 346, 346, 346, 346, + 346, 64, 303, 346, 346, 346, 346, 346, 91, 188, + 346, 208, 346, 238, 346, 346, 200, 278, 346, 346, + 346, 346, 346, 346, 76, 346, 190, 346, 346, 346, + 346, 346, 9, 346, 346, 346, 346, 346, 107, 346, + 346, 346, 346, 270, 346, 346, 346, 346, 216, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 176, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 163, 345, 283, 345, 345, 345, - 345, 345, 255, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 228, 345, 345, 345, 345, 345, - 275, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 303, 345, 188, 345, 345, 345, 345, 345, 345, - 345, 345, 74, 76, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 105, 345, 345, 345, 345, 267, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 345, + 346, 346, 346, 346, 177, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 164, 346, 284, 346, 346, + 346, 346, 346, 256, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 229, 346, 346, 346, 346, + 346, 276, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 304, 346, 189, 346, 346, 346, 346, 346, + 346, 346, 346, 75, 77, 346, 346, 346, 346, 346, - 345, 345, 345, 279, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 220, 36, 30, 32, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 37, 345, 31, 33, 345, 345, 345, 345, 345, 345, - 345, 345, 101, 345, 345, 345, 345, 345, 345, 345, - 345, 344, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 222, 219, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 73, 345, 345, 345, 140, 345, 123, - 345, 345, 345, 345, 345, 345, 345, 345, 158, 49, + 346, 346, 346, 346, 106, 346, 346, 346, 346, 268, + 346, 346, 346, 346, 280, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 221, 37, 31, + 33, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 38, 346, 32, 34, 346, 346, 346, 346, + 346, 346, 346, 346, 102, 346, 346, 346, 346, 346, + 346, 346, 346, 345, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 223, 220, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 74, 346, 346, 346, 141, - 345, 345, 345, 336, 13, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 297, 345, 300, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 12, - 345, 345, 22, 345, 345, 345, 345, 345, 273, 345, - 345, 345, 345, 281, 345, 345, 345, 77, 345, 230, - 345, 345, 345, 345, 345, 221, 345, 345, 72, 345, - 345, 345, 345, 23, 345, 345, 45, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 172, - 171, 345, 345, 336, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 223, 217, 345, 235, 345, 345, 285, + 346, 124, 346, 346, 346, 346, 346, 346, 346, 346, + 159, 50, 346, 346, 346, 337, 13, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 298, 346, 301, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 12, 346, 346, 22, 346, 346, 346, 346, 346, + 274, 346, 346, 346, 346, 282, 346, 346, 346, 78, + 346, 231, 346, 346, 346, 346, 346, 222, 346, 346, + 73, 346, 346, 346, 346, 346, 23, 346, 346, 46, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 173, 172, 346, 346, 337, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 84, 345, 345, 345, 345, 268, 345, 345, - 345, 345, 203, 345, 345, 345, 345, 345, 229, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 307, 308, 169, 345, 345, 78, 345, 345, 345, 345, - 179, 345, 345, 345, 117, 118, 345, 345, 25, 345, - 345, 164, 345, 166, 345, 208, 345, 345, 345, 345, - 170, 345, 345, 345, 345, 238, 345, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 224, 218, 346, 236, + 346, 346, 286, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 85, 346, 346, 346, 346, + 269, 346, 346, 346, 346, 204, 346, 346, 346, 346, + 346, 230, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 308, 309, 170, 346, 346, 79, 346, + 346, 346, 346, 180, 346, 346, 346, 118, 119, 346, + 346, 346, 25, 346, 346, 165, 346, 167, 346, 209, - 345, 345, 345, 147, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 246, 345, 345, 345, - 345, 345, 345, 345, 316, 345, 26, 345, 278, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 88, 209, 345, 345, 266, 345, 301, - 345, 202, 345, 345, 345, 345, 345, 58, 345, 345, - 345, 345, 345, 345, 4, 345, 345, 345, 345, 130, - 146, 345, 345, 345, 183, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 241, 39, 40, 345, 345, 345, 345, 345, + 346, 346, 346, 346, 171, 346, 346, 346, 346, 239, + 346, 346, 346, 346, 346, 346, 346, 148, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 247, 346, 346, 346, 346, 346, 346, 346, 317, 346, + 27, 346, 279, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 89, 210, 346, + 346, 267, 346, 302, 346, 203, 346, 346, 346, 346, + 346, 59, 346, 346, 346, 346, 346, 346, 4, 346, + 346, 346, 346, 131, 147, 346, 346, 346, 184, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 286, 345, 345, 345, 345, 345, 345, 345, - 254, 345, 345, 345, 345, 345, 345, 345, 345, 212, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 87, 345, 59, 272, 345, 242, 345, 345, - 345, 345, 345, 11, 345, 345, 345, 345, 345, 345, - 345, 345, 129, 345, 345, 345, 345, 210, 93, 345, - 42, 345, 345, 345, 345, 345, 345, 345, 345, 175, - 345, 345, 345, 345, 345, 345, 345, 149, 345, 345, - 345, 345, 245, 345, 345, 345, 345, 345, 253, 345, - 345, 345, 345, 143, 345, 345, 345, 124, 125, 345, + 346, 346, 346, 346, 346, 346, 346, 242, 40, 41, + 346, 346, 346, 346, 346, 346, 346, 287, 346, 346, + 346, 346, 346, 346, 346, 255, 346, 346, 346, 346, + 346, 346, 346, 346, 213, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 88, 346, 60, + 273, 346, 243, 346, 346, 346, 346, 346, 11, 346, + 346, 346, 346, 346, 346, 346, 346, 130, 346, 346, + 346, 346, 211, 94, 346, 346, 43, 346, 346, 346, + 346, 346, 346, 346, 346, 176, 346, 346, 346, 346, + 346, 346, 346, 150, 346, 346, 346, 346, 246, 346, - 345, 345, 95, 99, 94, 345, 345, 345, 345, 85, - 345, 345, 345, 345, 345, 345, 10, 345, 345, 345, - 345, 345, 270, 310, 345, 345, 345, 345, 315, 41, - 345, 345, 345, 345, 345, 174, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 100, 98, 345, 53, 345, 345, 86, 298, 345, - 345, 345, 345, 24, 345, 345, 345, 345, 345, 196, - 345, 345, 345, 345, 345, 211, 345, 345, 345, 345, - 345, 345, 345, 192, 345, 345, 165, 80, 345, 345, + 346, 346, 346, 346, 254, 346, 346, 346, 346, 144, + 346, 346, 346, 125, 126, 346, 346, 346, 96, 100, + 95, 346, 346, 346, 346, 86, 346, 346, 346, 346, + 346, 346, 10, 346, 346, 346, 346, 346, 271, 311, + 346, 346, 346, 346, 346, 316, 42, 346, 346, 346, + 346, 346, 175, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 101, 99, + 346, 54, 346, 346, 87, 299, 346, 346, 346, 346, + 24, 346, 346, 346, 346, 346, 197, 346, 346, 346, - 345, 345, 345, 287, 345, 345, 345, 345, 345, 345, - 345, 250, 345, 345, 249, 144, 345, 345, 97, 50, - 345, 150, 151, 154, 155, 152, 153, 89, 296, 345, - 345, 271, 345, 345, 345, 345, 168, 345, 345, 345, - 345, 191, 345, 240, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 181, 180, 43, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 294, - 345, 345, 345, 345, 104, 345, 239, 345, 263, 291, + 346, 346, 212, 346, 346, 346, 346, 346, 346, 346, + 346, 193, 346, 346, 166, 81, 346, 346, 346, 346, + 346, 288, 346, 346, 346, 346, 346, 346, 346, 251, + 346, 346, 250, 145, 346, 346, 98, 51, 346, 151, + 152, 155, 156, 153, 154, 90, 297, 346, 346, 272, + 346, 346, 346, 26, 346, 169, 346, 346, 346, 346, + 192, 346, 241, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 182, 181, 44, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 317, 345, 51, 5, 345, 345, 231, 345, 345, - 292, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 251, 27, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 252, 345, 345, 345, 148, 345, - 345, 345, 345, 345, 345, 345, 345, 182, 345, 190, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 288, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 314, 345, 345, - 259, 345, 345, 345, 345, 345, 289, 345, 345, 345, + 346, 346, 346, 346, 346, 346, 346, 346, 295, 346, + 346, 346, 346, 105, 346, 240, 346, 264, 292, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 318, 346, 52, 5, 346, 346, 232, 346, 346, 293, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 252, + 28, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 253, 346, 346, 346, 149, 346, 346, + 346, 346, 346, 346, 346, 346, 183, 346, 191, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 289, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 345, 345, 290, 345, 345, 345, 257, 345, 260, - 261, 345, 345, 345, 345, 345, 258, 262, 0 + 346, 346, 346, 346, 346, 346, 315, 346, 346, 260, + 346, 346, 346, 346, 346, 290, 346, 346, 346, 346, + 346, 346, 291, 346, 346, 346, 258, 346, 261, 262, + 346, 346, 346, 346, 346, 259, 263, 0 } ; static const YY_CHAR yy_ec[256] = @@ -783,17 +785,17 @@ static const YY_CHAR yy_meta[41] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[3438] = +static const flex_int16_t yy_base[3457] = { 0, 0, 0, 38, 41, 44, 46, 59, 65, 71, 77, - 90, 112, 96, 118, 124, 136, 2906, 2853, 81, 6684, - 6684, 6684, 129, 52, 130, 63, 131, 152, 70, 140, + 90, 112, 96, 118, 124, 136, 2864, 2494, 81, 6714, + 6714, 6714, 129, 52, 130, 63, 131, 152, 70, 140, 149, 156, 57, 88, 76, 173, 175, 95, 197, 145, - 185, 199, 208, 213, 178, 123, 2798, 6684, 6684, 6684, - 107, 2623, 6684, 6684, 6684, 154, 2576, 2409, 6684, 6684, - 6684, 245, 2211, 6684, 6684, 6684, 163, 2110, 6684, 249, - 6684, 253, 148, 2024, 1966, 6684, 6684, 6684, 257, 1424, - 6684, 6684, 6684, 233, 1372, 263, 201, 0, 267, 0, + 185, 199, 208, 213, 178, 123, 2453, 6714, 6714, 6714, + 107, 2397, 6714, 6714, 6714, 154, 2315, 2042, 6714, 6714, + 6714, 245, 1786, 6714, 6714, 6714, 163, 1733, 6714, 249, + 6714, 253, 148, 1670, 1574, 6714, 6714, 6714, 257, 1426, + 6714, 6714, 6714, 233, 1294, 263, 201, 0, 267, 0, 0, 165, 191, 221, 252, 205, 181, 265, 92, 261, 216, 263, 271, 272, 210, 279, 274, 282, 278, 291, @@ -801,8 +803,8 @@ static const flex_int16_t yy_base[3438] = 317, 311, 315, 319, 321, 331, 327, 332, 336, 322, 339, 337, 346, 345, 347, 348, 353, 351, 357, 284, 358, 359, 369, 360, 380, 365, 381, 379, 375, 366, - 367, 389, 390, 394, 393, 395, 396, 403, 404, 1294, - 419, 1265, 422, 1234, 429, 1013, 968, 433, 775, 437, + 367, 389, 390, 394, 393, 395, 396, 403, 404, 1266, + 419, 1115, 422, 1023, 429, 930, 888, 433, 775, 437, 441, 0, 433, 705, 447, 479, 287, 452, 411, 445, 426, 446, 447, 448, 449, 450, 451, 453, 452, 456, 470, 234, 463, 473, 481, 479, 476, 483, 486, 487, @@ -823,731 +825,735 @@ static const flex_int16_t yy_base[3438] = 738, 741, 745, 743, 750, 752, 760, 755, 756, 771, 763, 766, 762, 774, 773, 765, 769, 794, 799, 782, 787, 800, 801, 804, 802, 803, 806, 808, 809, 814, - 818, 819, 823, 807, 825, 827, 834, 829, 6684, 831, + 818, 819, 823, 807, 825, 827, 834, 829, 6714, 831, 838, 846, 839, 847, 850, 848, 854, 856, 836, 866, - 864, 867, 868, 890, 849, 876, 859, 880, 878, 6684, - 882, 884, 914, 887, 894, 905, 912, 900, 888, 908, - 910, 896, 937, 920, 922, 924, 940, 927, 935, 936, + 864, 867, 876, 898, 849, 871, 868, 878, 881, 6714, + 884, 882, 922, 890, 891, 908, 910, 859, 909, 911, + 904, 912, 933, 906, 915, 929, 945, 942, 920, 930, - 939, 943, 945, 947, 951, 949, 953, 957, 964, 959, - 961, 962, 975, 963, 966, 970, 974, 976, 987, 981, - 991, 979, 992, 993, 996, 997, 999, 994, 1004, 1006, - 1019, 1020, 998, 1023, 1030, 1005, 1027, 1031, 1034, 1036, - 1029, 1038, 1040, 1043, 1045, 1044, 1046, 1054, 1051, 1052, - 1056, 1058, 1059, 1060, 1062, 1065, 1066, 1068, 1070, 1071, - 1075, 1078, 1081, 1083, 1072, 1086, 861, 6684, 1091, 6684, - 1089, 1094, 1095, 1096, 1098, 1099, 1097, 6684, 1100, 1105, - 1101, 1108, 1112, 1107, 1130, 1126, 1111, 1127, 1129, 1114, - 1133, 1140, 1136, 1139, 1143, 1141, 1144, 1145, 1147, 1146, + 944, 946, 948, 958, 953, 955, 956, 957, 966, 861, + 961, 962, 972, 964, 973, 974, 978, 979, 980, 987, + 993, 985, 976, 988, 994, 996, 999, 998, 1011, 1008, + 1006, 1004, 1001, 1017, 1027, 1019, 1030, 1031, 1034, 1033, + 1022, 1043, 1032, 1047, 1048, 1039, 1049, 1057, 1054, 1041, + 1055, 1059, 1060, 1061, 1063, 1066, 1067, 1068, 1069, 1073, + 1077, 1071, 1087, 1074, 1082, 1089, 1084, 6714, 1091, 6714, + 1093, 1094, 1095, 1096, 1100, 1098, 1097, 6714, 1101, 1107, + 1108, 1099, 1116, 1111, 1129, 1122, 1112, 1124, 1130, 1131, + 1134, 1142, 1137, 1138, 1146, 1139, 1143, 1144, 1147, 1150, - 1152, 1151, 1153, 1154, 1159, 1160, 1179, 6684, 1162, 1169, - 1171, 1164, 1172, 1165, 1186, 1191, 1174, 1192, 1188, 1194, - 1208, 1201, 1206, 1209, 1210, 1211, 1214, 1217, 1218, 1220, - 1224, 1223, 1221, 1225, 1227, 1228, 1226, 1229, 1243, 6684, - 1230, 1246, 1248, 1257, 1241, 1254, 1255, 1256, 1258, 1259, - 1260, 1163, 1113, 517, 1263, 1262, 1272, 1267, 1281, 1268, - 1282, 1276, 1278, 1283, 1284, 1286, 1291, 1298, 1296, 1300, - 1304, 1312, 1311, 1314, 1321, 1323, 1308, 1289, 1316, 1320, - 1318, 1324, 1327, 1326, 1328, 1333, 1334, 1341, 1336, 1339, - 1342, 1344, 1345, 1348, 1343, 1349, 1350, 1353, 1361, 1360, + 1151, 1152, 1155, 1158, 1159, 1162, 1179, 6714, 1161, 1163, + 1171, 1165, 1170, 1172, 1176, 1190, 1191, 1173, 1197, 1201, + 1203, 1210, 1206, 1207, 1208, 1209, 1213, 1182, 1214, 1218, + 1216, 1222, 1225, 1224, 1226, 1230, 1227, 1228, 1229, 1245, + 6714, 1237, 1238, 1249, 1256, 1252, 1254, 1241, 1257, 1255, + 1258, 1259, 1261, 1265, 517, 1272, 1278, 1268, 1273, 1281, + 1279, 1283, 1282, 1284, 1287, 1290, 1288, 1289, 1301, 1298, + 1303, 1309, 1312, 1314, 1316, 1323, 1325, 1310, 1318, 1326, + 1322, 1320, 1328, 1332, 1333, 1321, 1334, 1337, 1346, 1343, + 1342, 1345, 1348, 1351, 1349, 1354, 1356, 1355, 1357, 1365, - 1356, 1368, 1359, 1374, 1367, 1362, 1381, 1382, 1369, 1384, - 6684, 1394, 1389, 1390, 1391, 1392, 1400, 1396, 1402, 1404, - 1405, 1406, 1408, 1407, 1410, 1411, 1414, 1415, 1416, 1421, - 1423, 1431, 1428, 1426, 1440, 1439, 1441, 1443, 1444, 1445, - 1447, 1454, 1451, 1455, 1457, 1452, 1459, 1468, 1463, 1465, - 1469, 1479, 1453, 1471, 1470, 1481, 1482, 1484, 1487, 1492, - 1485, 1493, 1500, 1495, 1502, 1504, 1503, 1507, 1510, 1511, - 1512, 1513, 1514, 1521, 1516, 1517, 1518, 1523, 1519, 1524, - 1535, 1525, 1542, 1531, 1539, 1541, 1544, 1548, 1546, 1552, - 1553, 1554, 1555, 1549, 1556, 1557, 1558, 1562, 1563, 1564, + 1358, 1366, 1370, 1367, 1368, 1372, 1376, 1374, 1383, 1384, + 1386, 6714, 1393, 1391, 1394, 1395, 1402, 1403, 1404, 1389, + 1396, 1408, 1410, 1411, 1412, 1418, 1413, 1419, 1420, 1424, + 1425, 1427, 1435, 1430, 1428, 1445, 1444, 1446, 1437, 1448, + 1449, 1433, 1456, 1453, 1463, 1461, 1459, 1460, 1472, 1467, + 1468, 1469, 1476, 1473, 1477, 1478, 1475, 1490, 1487, 1479, + 1499, 1496, 1498, 1506, 1501, 1485, 1507, 1504, 1512, 1511, + 1515, 1516, 1517, 1518, 1525, 1520, 1521, 1522, 1526, 1527, + 1528, 1531, 1535, 1546, 1532, 1539, 1542, 1544, 1548, 1549, + 1551, 1556, 1557, 1558, 1559, 1560, 1561, 1567, 1564, 1571, - 1575, 1576, 1579, 1578, 1580, 1582, 1581, 1587, 1589, 1593, - 1597, 1585, 1600, 1601, 1591, 1604, 1606, 1614, 1611, 1609, - 1615, 1617, 1620, 1621, 1623, 1622, 1625, 1626, 1633, 1634, - 1638, 6684, 1630, 1646, 1628, 1641, 1642, 1644, 1650, 1657, - 1652, 1655, 1653, 1656, 1658, 1682, 6684, 1659, 6684, 6684, - 1663, 6684, 6684, 1661, 1666, 6684, 1667, 1676, 1677, 1675, - 1664, 1688, 1686, 1690, 1692, 1683, 1705, 1709, 1695, 1696, - 1707, 1714, 1698, 1715, 1724, 1712, 1723, 1720, 1730, 1740, - 1736, 1741, 1732, 1744, 1750, 1748, 1752, 1754, 1757, 1758, - 1761, 1746, 1762, 1763, 1767, 1764, 1768, 1770, 1774, 1775, + 1570, 1572, 1582, 1580, 1583, 1585, 1586, 1587, 1589, 1590, + 1592, 1597, 1598, 1604, 1606, 1607, 1609, 1608, 1612, 1620, + 1610, 1618, 1625, 1619, 1626, 1627, 1630, 1611, 1637, 1638, + 1641, 1643, 1645, 6714, 1631, 1634, 1646, 1649, 1651, 1652, + 1655, 1662, 1657, 1660, 1658, 1659, 1661, 1685, 6714, 1664, + 6714, 6714, 1669, 6714, 6714, 1671, 1668, 6714, 1672, 1682, + 1683, 1688, 1695, 1700, 1698, 1675, 1689, 1702, 1712, 1723, + 1708, 1710, 1711, 1714, 1715, 1716, 1721, 1719, 1717, 1728, + 1734, 1746, 1743, 1747, 1744, 1749, 1751, 1755, 1758, 1757, + 1764, 1765, 1756, 1766, 1769, 1770, 1772, 1771, 1774, 1777, - 1771, 1778, 1777, 1787, 1779, 1792, 1801, 6684, 1793, 1802, - 1794, 1803, 1804, 1811, 1807, 1806, 1808, 1815, 1818, 1819, - 1820, 1821, 1822, 1823, 1824, 1825, 1831, 1828, 1834, 1833, - 1845, 1835, 6684, 1843, 1846, 1836, 1848, 1847, 1858, 1857, - 1849, 1850, 1859, 1851, 1871, 1866, 1869, 1872, 1873, 1874, - 1876, 1877, 6684, 1780, 1879, 1881, 1885, 1883, 1886, 1887, - 1889, 1892, 1896, 1893, 1895, 1897, 1900, 1909, 1901, 1908, - 1913, 1914, 1917, 1921, 1922, 1925, 1918, 1926, 1929, 1930, - 1931, 1933, 1934, 1936, 1940, 1947, 1948, 1943, 1951, 1944, - 1949, 1965, 1967, 1962, 1952, 1963, 1968, 1964, 1976, 1978, + 1780, 1781, 1778, 1776, 1783, 1793, 1784, 1798, 1801, 6714, + 1799, 1808, 1803, 1812, 1809, 1813, 1815, 1810, 1811, 1821, + 1824, 1817, 1826, 1827, 1828, 1829, 1830, 1831, 1834, 1836, + 1840, 1838, 1849, 1839, 6714, 1842, 1852, 1841, 1854, 1853, + 1857, 1863, 1855, 1856, 1864, 1866, 1876, 1871, 1867, 1874, + 1877, 1878, 1880, 1884, 6714, 1883, 1889, 1890, 1891, 1892, + 1894, 1897, 1899, 1900, 1901, 1903, 1904, 1905, 1906, 1915, + 1907, 1912, 1918, 1919, 1922, 1927, 1929, 1931, 1939, 1930, + 1932, 1941, 1934, 1940, 1942, 1944, 1945, 1947, 1957, 1959, + 1946, 1961, 1956, 1958, 1969, 1971, 1968, 1973, 1974, 1975, - 1979, 1970, 1974, 1986, 1981, 1990, 1984, 1991, 1992, 1999, - 1994, 2000, 2005, 1995, 2003, 2007, 1997, 6684, 2011, 2013, - 6684, 2015, 2014, 2018, 2040, 2019, 2021, 2022, 2030, 2032, - 2038, 2026, 2033, 2031, 2044, 2054, 2046, 2050, 2059, 2052, - 2065, 2060, 2066, 2062, 2068, 2069, 2073, 2078, 2074, 2087, - 2091, 2093, 2095, 2094, 2077, 2086, 2096, 2115, 2097, 2098, - 2104, 2100, 2101, 2106, 2117, 2108, 2107, 2113, 2120, 2130, - 2128, 2119, 2127, 2137, 2138, 2140, 2142, 2143, 6684, 2150, - 2148, 2147, 2149, 2152, 2161, 2157, 2158, 6684, 2159, 2160, - 2164, 2173, 2170, 2171, 2176, 2172, 2174, 2175, 2182, 2178, + 1976, 1981, 1983, 1984, 1985, 1988, 1995, 1979, 1991, 1993, + 2000, 1996, 2008, 1998, 2006, 2015, 2004, 2009, 2017, 2018, + 6714, 2019, 2020, 6714, 2023, 2021, 2024, 2046, 2027, 2031, + 2025, 2033, 2038, 2044, 2039, 2042, 2047, 2050, 2059, 2060, + 2061, 2066, 2065, 2068, 2072, 2071, 2074, 2077, 2078, 2081, + 2079, 2086, 2093, 2095, 2097, 2099, 2106, 2101, 2102, 2104, + 2124, 2103, 2105, 2112, 2107, 2108, 2111, 2120, 2113, 2114, + 2117, 2118, 2135, 2137, 2139, 2131, 2140, 2141, 2146, 2148, + 2147, 6714, 2160, 2155, 2153, 2157, 2161, 2169, 2165, 2164, + 6714, 2166, 2168, 2171, 2179, 2176, 2178, 2181, 2180, 2182, - 2184, 2183, 2185, 2197, 6684, 2196, 6684, 2186, 2198, 2199, - 2201, 2203, 2205, 2206, 2208, 2209, 6684, 6684, 2210, 2207, - 2224, 2228, 2226, 2219, 2227, 6684, 2229, 2237, 6684, 2238, - 2230, 2232, 2241, 2243, 2244, 2247, 2248, 2255, 2250, 2257, - 2252, 2253, 2254, 6684, 2266, 2256, 2271, 2273, 2264, 2265, - 2279, 2281, 2275, 6684, 2282, 2283, 2285, 2295, 2293, 2294, - 2272, 2297, 2301, 2296, 2298, 2304, 2305, 2306, 2313, 2315, - 2311, 2318, 2320, 2327, 6684, 2326, 2310, 2312, 2335, 2333, - 2337, 2330, 2334, 2322, 2341, 2342, 2344, 1726, 2346, 2348, - 2349, 2350, 2358, 2359, 2355, 2357, 2364, 2354, 2365, 2356, + 2184, 2189, 2190, 2193, 2188, 2191, 2198, 6714, 2195, 6714, + 2203, 2205, 2207, 2209, 2206, 2213, 2214, 2210, 2216, 6714, + 6714, 2218, 2224, 2226, 2236, 2232, 2219, 2222, 6714, 2237, + 2244, 6714, 2245, 2239, 2240, 2247, 2248, 2250, 2252, 2251, + 2261, 2256, 2263, 2258, 2269, 2270, 6714, 2259, 2260, 2272, + 2275, 2271, 2279, 2278, 2285, 2282, 6714, 2286, 2289, 2291, + 2299, 2296, 2298, 2300, 2301, 2302, 2306, 2308, 2309, 2310, + 2312, 2317, 2320, 2316, 2323, 2332, 2330, 2337, 6714, 2333, + 2322, 2319, 2342, 2341, 2344, 2345, 2347, 2334, 2348, 2350, + 2355, 2349, 2357, 2351, 2359, 2361, 2370, 2372, 2363, 2368, - 2371, 2372, 2374, 2375, 2376, 6684, 2377, 2381, 2382, 2384, - 2378, 171, 2385, 2388, 2392, 2386, 2393, 2406, 2395, 2413, - 2414, 2400, 2412, 2409, 2418, 2410, 2419, 2420, 2421, 2422, - 2427, 2428, 2426, 6684, 2430, 2432, 2431, 2435, 2438, 2437, - 2442, 6684, 2448, 2439, 2454, 2463, 2453, 2451, 2464, 2455, - 2466, 2468, 2470, 2469, 2471, 2473, 2472, 2476, 2479, 6684, - 2481, 2485, 2489, 2482, 2491, 2493, 2492, 2495, 2499, 2500, - 2503, 2505, 2504, 2506, 2507, 2508, 2509, 2516, 2513, 2512, - 2517, 2521, 2523, 2524, 2533, 2525, 2531, 2534, 2535, 6684, - 2542, 2539, 2546, 2540, 2541, 2547, 2552, 2550, 2559, 2551, + 2375, 2365, 2376, 2377, 2383, 2381, 2382, 2385, 2386, 6714, + 2387, 2393, 2395, 2396, 2388, 171, 2398, 2394, 2402, 2405, + 2407, 2418, 2403, 2419, 2421, 2420, 2422, 2424, 2425, 2428, + 2429, 2432, 2431, 2433, 2434, 2435, 2438, 6714, 2440, 2444, + 2445, 2447, 2448, 2449, 2451, 6714, 2455, 2460, 2466, 2473, + 2468, 2464, 2474, 2476, 2479, 2480, 2481, 2482, 2484, 2483, + 2485, 2487, 2490, 6714, 2492, 2500, 2502, 2493, 2503, 2506, + 2511, 2504, 2512, 2514, 2516, 2515, 2517, 2522, 2518, 2521, + 2523, 2525, 2529, 2526, 2532, 2536, 2535, 2538, 2539, 2540, + 2543, 2547, 2549, 6714, 2554, 2555, 2553, 2556, 2558, 2560, - 2564, 2566, 2567, 2580, 2569, 2565, 2577, 2572, 2586, 2575, - 2596, 2587, 2595, 2597, 2583, 2601, 2605, 2594, 2606, 2613, - 2609, 2611, 2612, 2615, 2616, 2625, 2626, 2622, 2628, 2621, - 2633, 2636, 2642, 2647, 2640, 6684, 2648, 2646, 2649, 2653, - 2660, 2655, 2656, 2658, 2657, 2665, 2666, 2668, 2669, 2676, - 2672, 2680, 2675, 2677, 2679, 2681, 2684, 2686, 2692, 2694, - 2696, 2697, 2701, 2703, 6684, 2706, 2702, 2708, 2710, 2714, - 2698, 2716, 2720, 2723, 2711, 2722, 2725, 2726, 2730, 2729, - 2737, 2734, 2735, 2736, 2740, 6684, 2742, 2741, 2747, 2748, - 2750, 2751, 2760, 2754, 2761, 2763, 2767, 2753, 2768, 2769, + 2561, 2563, 2580, 2565, 2571, 2573, 2581, 2587, 2577, 2589, + 2597, 2593, 2599, 2602, 2607, 2603, 2609, 2612, 2605, 2615, + 2617, 2618, 2619, 2627, 2623, 2624, 2625, 2628, 2629, 2639, + 2640, 2631, 2641, 2643, 2646, 2635, 2653, 2658, 2572, 6714, + 2660, 2650, 2648, 2662, 2673, 2668, 2669, 2670, 2674, 2676, + 2678, 2679, 2680, 2687, 2682, 2684, 2686, 2690, 2689, 2693, + 2699, 2696, 2701, 2704, 2708, 2705, 2711, 2713, 6714, 2716, + 2712, 2718, 2721, 2723, 2724, 2728, 2731, 2729, 2725, 2733, + 2736, 2738, 2739, 2740, 2741, 2748, 2745, 2751, 2747, 2752, + 6714, 2759, 2753, 2764, 2757, 2767, 2755, 2773, 2774, 2775, - 2770, 6684, 2779, 2781, 2777, 2784, 2780, 2785, 2786, 2788, - 2790, 6684, 2791, 2792, 2793, 2794, 2795, 2805, 2806, 2801, - 6684, 2817, 2812, 2796, 2803, 2813, 2815, 2819, 2820, 2822, - 2824, 2827, 2828, 2831, 2834, 2835, 6684, 2836, 2844, 2841, - 2839, 2846, 2847, 2850, 2851, 2862, 2863, 2856, 2860, 6684, - 2877, 2864, 2873, 2881, 2876, 2852, 2879, 2882, 2883, 2885, - 2886, 2889, 2890, 6684, 2891, 2893, 2896, 2898, 2900, 2901, - 2902, 2913, 2908, 2909, 2912, 2915, 2916, 2917, 2918, 2922, - 2927, 2924, 2925, 2937, 2933, 2935, 2939, 2940, 2949, 2951, - 2946, 2953, 2950, 2947, 2954, 2957, 2961, 2964, 2971, 2966, + 2765, 2776, 2779, 2782, 2783, 2785, 6714, 2792, 2793, 2784, + 2800, 2795, 2791, 2796, 2802, 2799, 6714, 2803, 2805, 2808, + 2806, 2809, 2817, 2818, 2814, 6714, 2822, 2813, 2824, 2825, + 2828, 2829, 2830, 2834, 2831, 2836, 2837, 2841, 2839, 2842, + 2847, 6714, 2849, 2859, 2854, 2857, 2856, 2860, 2862, 2863, + 2871, 2873, 2867, 2870, 6714, 2886, 2883, 2885, 2894, 2889, + 2875, 2891, 2890, 2892, 2898, 2899, 2900, 2902, 6714, 2903, + 2906, 2907, 2910, 2914, 2912, 2904, 2921, 2920, 2926, 2913, + 2928, 2929, 2931, 2933, 2934, 2935, 2936, 2937, 2947, 2942, + 2949, 2939, 2951, 2961, 2962, 2953, 2964, 2960, 2965, 2968, - 2968, 6684, 2973, 2970, 2976, 2977, 2978, 2979, 2981, 2980, - 2982, 2984, 2986, 2992, 2988, 2989, 3006, 3013, 2991, 2998, - 3001, 3003, 3009, 3010, 3014, 3016, 3017, 3025, 3021, 3023, - 3024, 3034, 3027, 3031, 3038, 3029, 3030, 3039, 3040, 3041, - 3042, 3045, 3051, 3044, 3053, 3054, 3056, 3062, 3065, 3066, - 3070, 3067, 3069, 3075, 3077, 6684, 3076, 3081, 3082, 3084, - 3085, 3090, 3087, 3099, 3091, 3095, 3098, 3105, 3107, 3100, - 3110, 3112, 3102, 3119, 3115, 6684, 3116, 6684, 3117, 3118, - 3124, 3132, 3127, 6684, 3130, 6684, 3133, 3140, 3135, 3137, - 6684, 3141, 3142, 3143, 3145, 3148, 3131, 3150, 3154, 3155, + 2969, 2976, 2977, 2978, 2979, 2982, 6714, 2985, 2986, 2987, + 2973, 2988, 2992, 2993, 2994, 2997, 2975, 2999, 3004, 3002, + 3003, 3011, 3018, 3013, 3014, 3019, 3020, 3021, 3023, 3024, + 3025, 3026, 3035, 3027, 3031, 3034, 3042, 3037, 3040, 3047, + 3048, 3049, 3050, 3052, 3058, 3053, 3055, 3061, 3054, 3059, + 3063, 3064, 3066, 3080, 3081, 3073, 3075, 3083, 3084, 3085, + 6714, 3089, 3090, 3093, 3094, 3096, 3099, 3100, 3109, 3101, + 3102, 3106, 3113, 3118, 3110, 3119, 3120, 3121, 3131, 3124, + 6714, 3126, 6714, 3127, 3128, 3134, 3138, 3136, 6714, 3140, + 6714, 3142, 3147, 3143, 3149, 6714, 3150, 3151, 3154, 3152, - 3156, 3157, 3159, 3161, 3163, 3164, 3166, 3174, 3167, 3169, - 3172, 3176, 3183, 3180, 3185, 3192, 3188, 3190, 3194, 3195, - 3197, 6684, 3200, 3196, 3203, 3204, 3206, 3207, 3211, 3212, - 3213, 3215, 3217, 3219, 3223, 3228, 3225, 3232, 3229, 3233, - 3236, 3246, 3242, 3250, 6684, 3245, 3248, 3251, 3252, 6684, - 3255, 3253, 3256, 3263, 3254, 3261, 3265, 3266, 3271, 3267, - 3274, 3273, 3278, 3282, 3283, 3287, 6684, 3289, 3292, 3275, - 3291, 3302, 3305, 3309, 3307, 3310, 3313, 3321, 3317, 3295, - 3316, 3304, 3318, 3324, 3325, 3326, 3328, 3335, 3330, 3331, - 3340, 3332, 3341, 3342, 3343, 3344, 3346, 3347, 3348, 3345, + 3155, 3157, 3162, 3160, 3163, 3164, 3166, 3167, 3170, 3171, + 3173, 3176, 3178, 3183, 3185, 3186, 3187, 3190, 3194, 3191, + 3196, 3202, 3197, 3200, 3206, 3207, 3208, 6714, 3215, 3209, + 3212, 3218, 3220, 3221, 3223, 3225, 3224, 3227, 3231, 3230, + 3232, 3241, 3237, 3248, 3244, 3245, 3251, 3260, 3255, 3263, + 6714, 3258, 3262, 3259, 3265, 6714, 3268, 3266, 3269, 3276, + 3267, 3274, 3279, 3280, 3284, 3282, 3286, 3287, 3293, 3295, + 3297, 3301, 6714, 3303, 3305, 3288, 3306, 3315, 3322, 3323, + 3319, 3325, 3327, 3335, 3331, 3308, 3330, 3318, 3332, 3338, + 3339, 3340, 3342, 3349, 3344, 3345, 3354, 3346, 3355, 3356, - 3350, 3349, 3352, 6684, 3355, 3356, 3364, 3375, 3365, 3357, - 3372, 3374, 3376, 6684, 3379, 3380, 3381, 3382, 3383, 3387, - 3389, 3390, 3391, 3395, 3393, 3398, 3401, 3396, 6684, 3406, - 6684, 3399, 3415, 3417, 3420, 3411, 3407, 3427, 3429, 3422, - 3431, 3432, 3433, 3434, 3438, 3440, 3442, 3441, 3443, 3444, - 3454, 3446, 3447, 3449, 3458, 3459, 3461, 3469, 3465, 3466, - 6684, 6684, 3464, 3472, 3474, 3471, 3479, 3480, 3481, 3483, - 3486, 3484, 3493, 3494, 3504, 6684, 3497, 3500, 3499, 3501, - 3513, 3505, 3509, 3516, 3517, 3518, 3525, 3520, 6684, 3524, - 3527, 3534, 3529, 3530, 3537, 6684, 3535, 6684, 3536, 3538, + 3357, 3358, 3360, 3361, 3362, 3359, 3229, 3363, 3364, 6714, + 3366, 3369, 3379, 3388, 3370, 3371, 3385, 3386, 3368, 6714, + 3394, 3391, 3396, 3395, 3397, 3399, 3402, 3403, 3404, 3406, + 3408, 3410, 3409, 3412, 6714, 3419, 6714, 3413, 3426, 3425, + 3431, 3420, 3433, 3437, 3436, 3441, 3442, 3443, 3444, 3445, + 3446, 3452, 3449, 3453, 3455, 3457, 3462, 3460, 3463, 3469, + 3470, 3471, 3473, 3480, 3476, 3475, 6714, 6714, 3477, 3478, + 3490, 3484, 3486, 3492, 3493, 3498, 3499, 3501, 3503, 3505, + 3512, 6714, 3513, 3514, 3509, 3515, 3522, 3517, 3526, 3534, + 3532, 3530, 3539, 3536, 6714, 3518, 3540, 3547, 3543, 3546, - 3540, 3545, 3546, 3547, 3549, 3550, 3551, 3553, 3566, 3567, - 3558, 3569, 3563, 3570, 3572, 3576, 3573, 3584, 3577, 3579, - 3580, 6684, 3582, 3585, 3589, 3587, 3596, 3597, 3594, 3590, - 6684, 3600, 3604, 3606, 3608, 3611, 3612, 3614, 3615, 3617, - 3619, 3620, 3624, 3625, 6684, 3621, 3622, 3635, 3632, 3628, - 3639, 3648, 3638, 3650, 6684, 3651, 3643, 3659, 3655, 3657, - 3658, 3661, 3662, 3663, 3665, 3666, 3667, 3668, 3670, 3674, - 3675, 3671, 3678, 3677, 3689, 3688, 3680, 3692, 3702, 3698, - 6684, 3699, 3703, 3704, 3705, 3706, 3707, 3709, 3712, 3714, - 3715, 3717, 3726, 3724, 3728, 3730, 3732, 3737, 3738, 6684, + 3551, 6714, 3550, 6714, 3548, 3552, 3553, 3557, 3559, 3560, + 3563, 3564, 3565, 3566, 3570, 3581, 3582, 3574, 3584, 3578, + 3585, 3586, 3589, 3593, 3596, 3592, 3594, 3595, 6714, 3600, + 3597, 3604, 3602, 3611, 3615, 3609, 3601, 6714, 3612, 3619, + 3623, 3625, 3627, 3628, 3629, 3630, 3632, 3634, 3636, 3633, + 3638, 6714, 3637, 3639, 3652, 3642, 3644, 3651, 3661, 3655, + 3664, 6714, 3665, 3666, 3673, 3669, 3671, 3672, 3676, 3677, + 3678, 3680, 3681, 3682, 3684, 3685, 3690, 3686, 3688, 3695, + 3691, 3703, 3705, 3692, 3713, 3720, 3706, 6714, 3709, 3716, + 3718, 3719, 3721, 3722, 3724, 3730, 3732, 3726, 3741, 3742, - 3739, 3734, 3746, 3742, 3744, 3751, 3743, 3748, 3755, 3756, - 3757, 3759, 3760, 3765, 3768, 3769, 3766, 3758, 3772, 3779, - 3774, 6684, 3790, 3777, 3780, 3785, 3793, 3796, 3803, 3798, - 3799, 3800, 3802, 3805, 3808, 3806, 3810, 3812, 3815, 3816, - 6684, 6684, 3818, 3820, 3824, 6684, 3825, 3822, 3829, 3828, - 3838, 3827, 3835, 3839, 3840, 3830, 3841, 3847, 3851, 6684, - 3852, 3859, 3854, 3855, 3864, 3861, 6684, 3860, 3871, 3869, - 3870, 3872, 3866, 3876, 3877, 3880, 3878, 3882, 3884, 3893, - 3894, 3890, 3891, 3897, 6684, 3892, 3898, 3899, 3903, 3900, - 3907, 6684, 3905, 3909, 3914, 3921, 3916, 3929, 3926, 3923, + 3733, 3737, 3745, 3747, 3755, 3750, 6714, 3762, 3748, 3763, + 3752, 3761, 3760, 3765, 3767, 3769, 3771, 3770, 3773, 3774, + 3776, 3788, 3780, 3783, 3779, 3784, 3795, 3787, 6714, 3802, + 3798, 3790, 3806, 3800, 3809, 3816, 3813, 3814, 3815, 3818, + 3819, 3820, 3823, 3825, 3826, 3829, 3830, 6714, 6714, 3832, + 3833, 3835, 6714, 3837, 3838, 3848, 3839, 3841, 3849, 3851, + 3853, 3852, 3854, 3856, 3862, 3863, 6714, 3864, 3871, 3867, + 3868, 3878, 3874, 6714, 3873, 3883, 3882, 3884, 3885, 3886, + 3890, 3891, 3893, 3895, 3897, 3898, 3907, 3908, 3900, 3904, + 3910, 6714, 3905, 3911, 3912, 3916, 3918, 3921, 6714, 3922, - 3932, 3933, 3935, 3918, 3936, 3938, 3940, 3948, 3944, 3945, - 3943, 3947, 3951, 3953, 6684, 3955, 3961, 3962, 3966, 6684, - 3968, 3975, 3976, 6684, 3979, 3963, 3978, 3980, 3987, 6684, - 3984, 3986, 3985, 3988, 3999, 3994, 4001, 3991, 3998, 4000, - 4002, 6684, 4003, 4004, 4006, 6684, 4009, 4007, 4020, 4022, - 4017, 4030, 4025, 4027, 4028, 4026, 6684, 4033, 6684, 4036, - 4029, 4042, 6684, 4040, 4044, 4045, 4047, 4048, 4049, 4053, - 4059, 4061, 4051, 4055, 4063, 4065, 4066, 4067, 4074, 4069, - 4073, 4075, 4076, 6684, 4077, 4079, 4083, 4080, 4085, 4094, - 4095, 4088, 4091, 4098, 6684, 6684, 4102, 6684, 4105, 4099, + 3924, 3926, 3929, 3931, 3939, 3942, 3932, 3945, 3934, 3947, + 3949, 3951, 3950, 3952, 3959, 3957, 3954, 3958, 3960, 3965, + 3966, 3974, 6714, 3962, 3976, 3977, 3980, 6714, 3982, 3989, + 3990, 6714, 3991, 3986, 3993, 3994, 4001, 6714, 3996, 3999, + 4002, 4000, 4010, 4005, 4013, 4009, 4011, 4015, 4017, 6714, + 4018, 4016, 4019, 6714, 4023, 4021, 4033, 4037, 4034, 4044, + 4039, 4041, 4042, 4040, 6714, 4047, 6714, 4050, 4043, 4056, + 6714, 4051, 4058, 4059, 4061, 4062, 4067, 4068, 4066, 4075, + 4065, 4077, 4076, 4078, 4079, 4082, 4090, 4080, 4091, 4081, + 4088, 6714, 4092, 4089, 4096, 4095, 4108, 4101, 4106, 4103, - 4104, 6684, 4106, 4110, 4118, 4113, 4116, 4123, 4127, 4114, - 6684, 4129, 4131, 6684, 4119, 4133, 4140, 4136, 4135, 4138, - 4144, 4137, 4141, 4147, 4148, 4149, 4151, 4150, 4152, 4155, - 6684, 4153, 4154, 4156, 4166, 4169, 4170, 4172, 4178, 4171, - 6684, 4179, 4180, 4181, 4188, 4185, 6684, 4186, 6684, 4189, - 4194, 4196, 4198, 4197, 4210, 6684, 4209, 4201, 4206, 4202, - 4212, 4218, 4214, 4221, 4213, 4222, 4229, 4225, 4224, 4227, - 4241, 4236, 6684, 4232, 4233, 4246, 4248, 4238, 4234, 4256, - 4252, 4258, 4243, 4255, 4265, 4262, 4266, 4268, 4270, 4272, - 4273, 6684, 4275, 4276, 4259, 4289, 4281, 4285, 4286, 6684, + 4111, 4112, 6714, 6714, 4114, 6714, 4117, 4119, 4121, 6714, + 4123, 4122, 4132, 4127, 4128, 4131, 4140, 4134, 6714, 4146, + 4147, 6714, 4130, 4143, 4156, 4151, 4141, 4152, 4154, 4157, + 4159, 4161, 4162, 4160, 4164, 4165, 4167, 4171, 6714, 4168, + 4169, 4181, 4179, 4183, 4184, 4186, 4194, 4185, 6714, 4195, + 4196, 4197, 4202, 4203, 6714, 4208, 6714, 4206, 4209, 4211, + 4212, 4213, 4222, 6714, 4219, 4220, 4226, 4227, 4228, 4229, + 4230, 4236, 4237, 4238, 4245, 4242, 4243, 4240, 4250, 4246, + 6714, 4248, 4251, 4260, 4261, 4257, 4263, 4270, 4266, 4273, + 4268, 4269, 4279, 4276, 4280, 4289, 4282, 4287, 4284, 6714, - 4290, 4292, 4295, 6684, 4296, 4299, 4301, 4304, 4305, 4306, - 4311, 4307, 4313, 4312, 6684, 4308, 4314, 4315, 4325, 4329, - 4322, 6684, 6684, 4332, 6684, 4333, 4318, 4337, 4336, 4340, - 4344, 4343, 4346, 4348, 4345, 4356, 4357, 4350, 4349, 4367, - 4358, 4372, 4375, 4376, 4374, 4373, 4359, 6684, 6684, 4383, - 4384, 4378, 4389, 4390, 4386, 4393, 4400, 4392, 4395, 4402, - 4403, 4412, 6684, 4405, 4404, 4413, 4407, 6684, 4414, 4415, - 4418, 4416, 4421, 4419, 4422, 4423, 4425, 4428, 4433, 4436, - 4429, 4442, 4434, 4435, 4445, 4446, 4449, 4448, 4451, 4456, - 6684, 4458, 4452, 4459, 4462, 4463, 4464, 4467, 4468, 4470, + 4294, 4293, 4296, 4305, 4297, 4298, 4300, 6714, 4301, 4310, + 4311, 6714, 4308, 4314, 4318, 4320, 4322, 4323, 4326, 4324, + 4325, 4328, 4330, 6714, 4332, 4333, 4331, 4347, 4348, 4329, + 6714, 6714, 4350, 6714, 4354, 4336, 4346, 4337, 4357, 4358, + 4363, 4364, 4366, 4368, 4370, 4371, 4372, 4375, 4383, 4378, + 4390, 4386, 4397, 4392, 4388, 4379, 6714, 6714, 4402, 4403, + 4398, 4406, 4408, 4381, 4410, 4417, 4414, 4412, 4416, 4420, + 4427, 6714, 4422, 4423, 4430, 4424, 6714, 4431, 4432, 4435, + 4433, 4436, 4439, 4438, 4440, 4442, 4445, 4450, 4451, 4446, + 4459, 4452, 4453, 4462, 4463, 4465, 4466, 4468, 4473, 6714, - 6684, 4474, 6684, 4473, 4476, 4475, 4477, 4493, 4494, 4495, - 4484, 4482, 4500, 4501, 4504, 4505, 4509, 4506, 4510, 4511, - 4515, 4517, 4519, 4520, 6684, 4526, 4514, 4522, 4528, 4530, - 4533, 4535, 4537, 4538, 4544, 4545, 4541, 4548, 4550, 4539, - 4552, 4551, 4555, 4557, 6684, 4558, 4565, 4559, 4567, 4562, - 4571, 4570, 4574, 4582, 4572, 4579, 4583, 6684, 4584, 4586, - 4588, 6684, 4589, 4592, 4593, 4596, 4598, 4595, 4601, 4602, - 4603, 6684, 4611, 4604, 4612, 4607, 4613, 4616, 4620, 4622, - 4626, 4625, 4629, 6684, 4636, 4628, 4633, 4637, 4639, 4641, - 4644, 4643, 4645, 6684, 4650, 4651, 4652, 4659, 4657, 4658, + 4469, 4475, 4476, 4480, 4481, 4483, 4485, 4484, 4487, 6714, + 4489, 6714, 4488, 4493, 4491, 4490, 4499, 4509, 4510, 4511, + 4512, 4515, 4516, 4519, 4520, 4530, 4521, 4525, 4531, 4533, + 4535, 4540, 4541, 6714, 4543, 4527, 4537, 4544, 4550, 4552, + 4553, 4555, 4558, 4560, 4562, 4561, 4564, 4568, 4565, 4569, + 4170, 4570, 4571, 6714, 4575, 4574, 4581, 4583, 4585, 4586, + 4588, 4593, 4596, 4587, 4589, 4597, 6714, 4598, 4601, 4608, + 6714, 4602, 4500, 4610, 4611, 4617, 4605, 4614, 4612, 4618, + 6714, 4629, 4621, 4623, 4626, 4631, 4632, 4634, 4635, 4637, + 4642, 4645, 6714, 4653, 4639, 4638, 4652, 4654, 4655, 4656, - 4666, 4663, 4669, 4661, 4662, 4676, 4672, 4680, 4682, 4683, - 4670, 4693, 4694, 4695, 6684, 4677, 6684, 4696, 4700, 4704, - 4702, 4706, 4707, 4685, 4709, 6684, 4710, 4712, 4714, 4717, - 4716, 6684, 4718, 4719, 4721, 4722, 6684, 4720, 4733, 4724, - 4727, 4741, 4742, 6684, 4746, 4747, 4748, 4755, 4757, 4752, - 4759, 4754, 4762, 4760, 4756, 4764, 4765, 4773, 4771, 4769, - 6684, 4775, 4777, 4782, 4784, 4778, 4786, 4776, 4788, 4791, - 4793, 6684, 4794, 4797, 4798, 4800, 4801, 4802, 4803, 4810, - 4807, 4809, 4811, 4812, 4815, 4816, 6684, 4821, 4819, 4823, - 4832, 4834, 4836, 6684, 4839, 6684, 4829, 4824, 4841, 4840, + 4659, 4658, 6714, 4661, 4662, 4670, 4675, 4678, 4671, 4673, + 4680, 4676, 4682, 4683, 4686, 4690, 4689, 4691, 4694, 4695, + 4696, 4707, 4711, 4702, 6714, 4697, 6714, 4709, 4712, 4720, + 4715, 4719, 4721, 4725, 4723, 6714, 4726, 4731, 4733, 4729, + 4727, 6714, 4734, 4735, 4737, 4738, 6714, 4753, 4749, 4739, + 4748, 4741, 4757, 6714, 4762, 4763, 4764, 4771, 4773, 4768, + 4775, 4770, 4778, 4776, 4772, 4780, 4781, 4789, 4787, 4785, + 6714, 4791, 4793, 4798, 4800, 4794, 4802, 4792, 4804, 4807, + 4809, 6714, 4810, 4813, 4814, 4816, 4817, 4818, 4819, 4826, + 4823, 4825, 4827, 4828, 4831, 4832, 6714, 4837, 4835, 4839, - 4845, 6684, 6684, 4847, 4855, 4850, 4853, 4854, 6684, 6684, - 4857, 6684, 4858, 6684, 4859, 4861, 6684, 6684, 4860, 4864, - 4867, 4869, 4870, 4872, 6684, 4879, 6684, 4886, 4881, 4868, - 4883, 4887, 6684, 4885, 4891, 4889, 4895, 4897, 6684, 4893, - 4906, 4898, 4899, 6684, 4909, 4910, 4903, 4911, 6684, 4917, - 4920, 4921, 4912, 4915, 4923, 4925, 4931, 4932, 4935, 4933, - 4934, 4936, 4937, 4940, 4944, 4949, 4951, 4941, 4952, 4955, - 4957, 4961, 4959, 4963, 4964, 4965, 4966, 4968, 4969, 4973, - 4977, 4974, 4978, 4980, 4979, 4981, 4989, 4983, 4992, 4996, - 4993, 4997, 4998, 5000, 5004, 5005, 4999, 5006, 5010, 5014, + 4848, 4850, 4852, 6714, 4855, 6714, 4845, 4840, 4857, 4856, + 4861, 6714, 6714, 4863, 4871, 4866, 4869, 4870, 6714, 6714, + 4873, 6714, 4874, 6714, 4875, 4877, 6714, 6714, 4876, 4880, + 4883, 4885, 4886, 4888, 6714, 4895, 6714, 4902, 4897, 4884, + 4899, 4903, 6714, 4901, 4907, 4905, 4911, 4913, 6714, 4909, + 4922, 4914, 4915, 6714, 4925, 4926, 4919, 4927, 6714, 4933, + 4936, 4937, 4928, 4931, 4939, 4941, 4947, 4948, 4951, 4949, + 4950, 4952, 4953, 4956, 4960, 4965, 4967, 4957, 4968, 4971, + 4973, 4977, 4975, 4979, 4980, 4981, 4982, 4984, 4989, 4983, + 4991, 4994, 4985, 4995, 4997, 4998, 5005, 5006, 5008, 5009, - 5007, 5009, 5011, 6684, 5017, 5020, 5025, 5027, 5029, 5031, - 5032, 5034, 5039, 5040, 6684, 5044, 6684, 5046, 5049, 5050, - 5051, 5053, 6684, 5052, 5055, 5054, 5057, 5056, 5058, 5060, - 5059, 5063, 5064, 5074, 6684, 5084, 5066, 5069, 5085, 5087, - 6684, 5088, 5090, 5092, 5093, 5095, 5098, 5096, 5099, 5100, - 5101, 5104, 5106, 5107, 5108, 5109, 5119, 5122, 5129, 5112, - 5124, 5125, 5128, 5131, 5132, 5133, 5135, 5141, 5138, 5145, - 5149, 6684, 5146, 6684, 5150, 5151, 5154, 5155, 5156, 5157, - 5158, 5160, 6684, 6684, 5163, 5164, 5169, 5171, 5172, 5174, - 5176, 5177, 5180, 6684, 5181, 5185, 5194, 5182, 6684, 5188, + 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5021, 5020, 5026, + 5031, 5035, 5024, 5034, 6714, 5027, 5037, 5040, 5047, 5046, + 5048, 5051, 5055, 5058, 5061, 6714, 5064, 6714, 5066, 5052, + 5068, 5069, 5071, 6714, 5072, 5073, 5074, 5075, 5076, 5077, + 5078, 5081, 5082, 5084, 5089, 6714, 5094, 5098, 5083, 5099, + 5104, 6714, 5106, 5110, 5107, 5111, 5113, 5116, 5114, 5117, + 5118, 5119, 5122, 5124, 5126, 5127, 5130, 5140, 5142, 5143, + 5133, 5144, 5128, 5148, 5149, 5150, 5152, 5153, 5155, 5161, + 5163, 5167, 6714, 5156, 6714, 5164, 5168, 5169, 5171, 5174, + 5177, 5176, 5178, 6714, 6714, 5180, 5183, 5185, 5188, 5189, - 5191, 5197, 5199, 6684, 5200, 5201, 5202, 5205, 5207, 5209, - 5213, 5214, 5215, 5216, 5219, 5221, 6684, 6684, 6684, 6684, - 5224, 5222, 5230, 5227, 5232, 5233, 5234, 5236, 5237, 5238, - 6684, 5247, 6684, 6684, 5249, 5250, 5248, 5251, 5252, 5258, - 5259, 5261, 6684, 5263, 5265, 5266, 5264, 5273, 5275, 5276, - 5267, 5283, 5280, 5284, 5285, 5288, 5296, 5292, 5293, 5295, - 5299, 5301, 5308, 6684, 6684, 5298, 5313, 5302, 5315, 5316, - 5317, 5318, 5325, 5320, 5323, 5326, 5327, 5329, 5330, 5339, - 5340, 5331, 5338, 6684, 5341, 5344, 5343, 6684, 5345, 6684, - 5347, 5353, 5354, 5355, 5356, 5360, 5361, 5364, 6684, 6684, + 5193, 5190, 5194, 5195, 6714, 5198, 5202, 5205, 5208, 6714, + 5210, 5211, 5212, 5215, 6714, 5216, 5217, 5218, 5220, 5223, + 5230, 5233, 5227, 5224, 5234, 5235, 5244, 6714, 6714, 6714, + 6714, 5247, 5237, 5250, 5239, 5241, 5251, 5253, 5256, 5258, + 5261, 5263, 6714, 5267, 6714, 6714, 5264, 5268, 5270, 5271, + 5272, 5274, 5277, 5275, 6714, 5279, 5282, 5285, 5288, 5292, + 5296, 5297, 5289, 5299, 5300, 5301, 5304, 5305, 5315, 5311, + 5312, 5310, 5314, 5318, 5321, 6714, 6714, 5324, 5327, 5328, + 5335, 5333, 5336, 5330, 5345, 5342, 5343, 5340, 5332, 5350, + 5351, 5359, 5360, 5352, 5355, 6714, 5356, 5361, 5362, 6714, - 5359, 5376, 5374, 6684, 6684, 5363, 5366, 5371, 5379, 5381, - 5375, 5383, 5384, 5396, 5385, 6684, 5387, 6684, 5389, 5393, - 5401, 5391, 5411, 5412, 5403, 5413, 5415, 5410, 5417, 6684, - 5419, 5420, 6684, 5429, 5424, 5426, 5425, 5431, 6684, 5434, - 5432, 5437, 5441, 6684, 5443, 5444, 5447, 6684, 5454, 6684, - 5438, 5451, 5445, 5461, 5459, 6684, 5449, 5462, 6684, 5465, - 5467, 5470, 5468, 6684, 5475, 5472, 6684, 5476, 5478, 5479, - 5483, 5484, 5486, 5487, 5488, 5489, 5497, 5493, 5494, 6684, - 6684, 5501, 5502, 135, 5510, 5505, 5511, 5512, 5508, 5519, - 5515, 5516, 5518, 6684, 6684, 5521, 6684, 5522, 5524, 6684, + 5364, 6714, 5368, 5369, 5370, 5371, 5377, 5378, 5379, 5381, + 6714, 6714, 5375, 5389, 5385, 6714, 6714, 5382, 5392, 5394, + 5396, 5397, 5398, 5399, 5400, 5403, 5405, 6714, 5406, 6714, + 5407, 5410, 5419, 5409, 5422, 5426, 5411, 5431, 5433, 5428, + 5430, 6714, 5437, 5438, 6714, 5445, 5440, 5444, 5441, 5442, + 6714, 5449, 5447, 5453, 5459, 6714, 5461, 5462, 5463, 6714, + 5470, 6714, 5454, 5467, 5464, 5479, 5471, 6714, 5475, 5480, + 6714, 5485, 5487, 5488, 5477, 5489, 6714, 5493, 5482, 6714, + 5494, 5497, 5498, 5504, 5501, 5506, 5507, 5508, 5509, 5517, + 5513, 5515, 6714, 6714, 5524, 5522, 135, 5531, 5510, 5521, - 5523, 5533, 5534, 5525, 5539, 5529, 5537, 5538, 5546, 5541, - 5550, 5549, 5551, 5554, 5565, 5572, 5556, 5568, 5573, 5576, - 5578, 5580, 5569, 5582, 5583, 5558, 5586, 5588, 5589, 5590, - 5592, 5593, 6684, 5596, 5598, 5601, 5600, 6684, 5606, 5602, - 5611, 5614, 6684, 5616, 5608, 5620, 5621, 5622, 6684, 5623, - 5625, 5628, 5626, 5627, 5633, 5634, 5643, 5638, 5636, 5648, - 6684, 6684, 6684, 5650, 5640, 6684, 5654, 5647, 5656, 5657, - 6684, 5659, 5660, 5662, 6684, 6684, 5663, 5664, 6684, 5665, - 5672, 6684, 5667, 6684, 5668, 6684, 5671, 5677, 5683, 5678, - 6684, 5686, 5680, 5690, 5694, 6684, 5697, 5700, 5702, 5703, + 5528, 5529, 5538, 5534, 5536, 5543, 6714, 6714, 5539, 6714, + 5537, 5546, 6714, 5547, 5550, 5551, 5556, 5555, 5557, 5558, + 5554, 5562, 5563, 5576, 5566, 5564, 5581, 5571, 5591, 5567, + 5593, 5594, 5596, 5598, 5600, 5588, 5602, 5603, 5582, 5605, + 5606, 5609, 5611, 5612, 5613, 6714, 5616, 5618, 5619, 5621, + 6714, 5627, 5624, 5629, 5630, 6714, 5637, 5634, 5638, 5640, + 5641, 6714, 5642, 5645, 5648, 5646, 5651, 5653, 5569, 5662, + 5654, 5657, 5659, 6714, 6714, 6714, 5668, 5672, 6714, 5675, + 5665, 5658, 5669, 6714, 5677, 5680, 5678, 6714, 6714, 5681, + 5686, 5684, 6714, 5682, 5694, 6714, 5685, 6714, 5692, 6714, - 5705, 5692, 5708, 6684, 5715, 5714, 5716, 5707, 5710, 5717, - 5718, 5722, 5720, 5730, 5723, 5732, 6684, 5733, 5735, 5736, - 5742, 5726, 5734, 5744, 6684, 5746, 6684, 5751, 6684, 5747, - 5752, 5753, 5754, 5755, 5756, 5761, 5762, 5772, 5768, 5758, - 5764, 5779, 5770, 6684, 6684, 5781, 5783, 6684, 5774, 6684, - 5785, 6684, 5786, 5787, 5788, 5791, 5792, 6684, 5799, 5794, - 5796, 5806, 5801, 5804, 6684, 5808, 5811, 5810, 5813, 6684, - 6684, 5815, 5822, 5821, 6684, 5817, 5819, 5828, 5820, 5831, - 5832, 5833, 5834, 5844, 5836, 5837, 5841, 5846, 5847, 5848, - 5853, 5857, 6684, 6684, 6684, 5852, 5859, 5866, 5868, 5869, + 5695, 5696, 5698, 5703, 6714, 5704, 5705, 5707, 5710, 6714, + 5716, 5720, 5723, 5708, 5724, 5726, 5725, 6714, 5733, 5729, + 5731, 5738, 5728, 5735, 5732, 5743, 5739, 5755, 5740, 5742, + 6714, 5750, 5751, 5758, 5759, 5752, 5761, 5762, 6714, 5764, + 6714, 5767, 6714, 5768, 5769, 5770, 5778, 5772, 5773, 5775, + 5780, 5789, 5786, 5779, 5791, 5794, 5796, 6714, 6714, 5799, + 5801, 6714, 5802, 6714, 5804, 6714, 5805, 5806, 5807, 5808, + 5809, 6714, 5811, 5813, 5816, 5826, 5818, 5819, 6714, 5827, + 5829, 5830, 5832, 6714, 6714, 5834, 5842, 5835, 6714, 5837, + 5845, 5847, 5848, 5850, 5852, 5853, 5856, 5855, 5866, 5839, - 5871, 5863, 6684, 5870, 5874, 5877, 5876, 5884, 5880, 5886, - 6684, 5887, 5883, 5888, 5889, 5891, 5892, 5893, 5894, 6684, - 5905, 5907, 5910, 5900, 5912, 5919, 5921, 5923, 5916, 5908, - 5930, 5926, 6684, 5928, 6684, 6684, 5925, 6684, 5932, 5933, - 5937, 5935, 5938, 6684, 5941, 5936, 5942, 5945, 5943, 5949, - 5947, 5951, 6684, 5966, 5948, 5952, 5964, 6684, 6684, 5973, - 6684, 5975, 5965, 5953, 5982, 5977, 5978, 5980, 5983, 6684, - 5981, 5987, 5984, 5990, 5991, 5993, 5994, 6684, 5995, 5997, - 5998, 5999, 6684, 6002, 6001, 6006, 6007, 6008, 6684, 6009, - 6011, 6021, 6022, 6684, 6012, 6026, 6025, 6684, 6684, 6034, + 5857, 5861, 5868, 5862, 5873, 5879, 5883, 6714, 6714, 6714, + 5874, 5872, 5891, 5888, 5890, 5895, 5878, 6714, 5894, 5898, + 5900, 5901, 5908, 5904, 5907, 6714, 5903, 5909, 5910, 5911, + 5913, 5914, 5916, 5917, 6714, 5919, 5929, 5925, 5923, 5931, + 5939, 5941, 5943, 5934, 5944, 5951, 5948, 6714, 5950, 6714, + 6714, 5946, 6714, 5952, 5954, 5956, 5955, 5957, 6714, 5960, + 5961, 5962, 5964, 5963, 5971, 5967, 5969, 6714, 5979, 5972, + 5982, 5984, 6714, 6714, 5985, 5991, 6714, 5994, 5995, 5988, + 6003, 5986, 5996, 6008, 6005, 6714, 6009, 6011, 5999, 6012, + 6015, 6014, 6017, 6714, 6021, 6018, 6022, 6024, 6714, 6025, - 6036, 6037, 6684, 6684, 6684, 6040, 6042, 6030, 6044, 6684, - 6046, 6053, 6057, 6059, 6063, 6048, 6684, 6062, 6056, 6069, - 6064, 6066, 6684, 6684, 6070, 6071, 6072, 6074, 6684, 6684, - 6075, 6076, 6081, 6078, 6079, 6684, 6084, 6088, 6096, 6089, - 6103, 6106, 6108, 6086, 6092, 6109, 6116, 6117, 6099, 6112, - 6113, 6114, 6120, 6122, 6129, 6132, 6130, 6138, 6140, 6131, - 6142, 6684, 6684, 6144, 6684, 6149, 6145, 6684, 6684, 6151, - 6153, 6156, 6158, 6684, 6160, 6162, 6164, 6166, 6167, 6684, - 6168, 6170, 6171, 6123, 6172, 6684, 6175, 6174, 6176, 6182, - 6178, 6183, 6186, 6684, 6181, 6188, 6684, 6684, 6179, 6198, + 6030, 6031, 6033, 6034, 6714, 6035, 6027, 6051, 6036, 6714, + 6038, 6050, 6052, 6714, 6714, 6056, 6060, 6057, 6714, 6714, + 6714, 6063, 6064, 6066, 6068, 6714, 6071, 6075, 6079, 6081, + 6086, 6074, 6714, 6082, 6088, 6090, 6091, 6092, 6714, 6714, + 6093, 6094, 6095, 6099, 6096, 6714, 6714, 6101, 6103, 6104, + 6102, 6105, 6714, 6107, 6112, 6119, 6115, 6121, 6128, 6130, + 6123, 6131, 6132, 6140, 6143, 6133, 6135, 6142, 6146, 6147, + 6145, 6149, 6159, 6154, 6156, 6162, 6157, 6165, 6714, 6714, + 6167, 6714, 6169, 6171, 6714, 6714, 6174, 6176, 6178, 6182, + 6714, 6184, 6186, 6188, 6190, 6179, 6714, 6191, 6193, 6194, - 6189, 6199, 6202, 6684, 6203, 6210, 6205, 6207, 6208, 6211, - 6209, 6684, 6216, 6214, 6684, 6684, 6213, 6218, 6684, 6684, - 6221, 6684, 6684, 6684, 6684, 6684, 6684, 6684, 6684, 6226, - 6232, 6684, 6224, 6239, 6241, 6243, 6684, 6228, 6236, 6230, - 6244, 6684, 6246, 6684, 6248, 6250, 6249, 6253, 6252, 6256, - 6259, 6258, 6262, 6263, 6265, 6266, 6269, 6270, 6268, 6274, - 6283, 6276, 6284, 6286, 6684, 6684, 6684, 6285, 6287, 6293, - 6289, 6297, 6300, 6303, 6306, 6294, 6308, 6309, 6310, 6311, - 6314, 6317, 6324, 6319, 6322, 6320, 6327, 6321, 6330, 6684, - 6336, 6323, 6331, 6343, 6684, 6337, 6684, 6340, 6684, 6684, + 6195, 6196, 6714, 6198, 6199, 6202, 6204, 6208, 6210, 6211, + 6214, 6714, 6209, 6226, 6714, 6714, 6215, 6217, 6206, 6227, + 6223, 6714, 6231, 6235, 6230, 6237, 6236, 6238, 6243, 6714, + 6239, 6240, 6714, 6714, 6246, 6247, 6714, 6714, 6248, 6714, + 6714, 6714, 6714, 6714, 6714, 6714, 6714, 6252, 6251, 6714, + 6253, 6261, 6264, 6714, 6268, 6714, 6258, 6269, 6271, 6265, + 6714, 6270, 6714, 6272, 6276, 6277, 6286, 6279, 6289, 6280, + 6273, 6283, 6291, 6296, 6297, 6299, 6298, 6300, 6302, 6304, + 6314, 6306, 6311, 6714, 6714, 6714, 6303, 6315, 6319, 6320, + 6325, 6327, 6331, 6333, 6322, 6334, 6336, 6337, 6338, 6340, - 6345, 6346, 6348, 6349, 6357, 6359, 6355, 6354, 6360, 6361, - 6363, 6684, 6365, 6684, 6684, 6370, 6372, 6684, 6371, 6373, - 6684, 6374, 6375, 6376, 6383, 6384, 6381, 6382, 6388, 6390, - 6684, 6684, 6378, 6386, 6399, 6402, 6403, 6411, 6406, 6409, - 6410, 6412, 6413, 6422, 6684, 6420, 6421, 6424, 6684, 6425, - 6427, 6428, 6430, 6431, 6439, 6434, 6438, 6684, 6436, 6684, - 6441, 6443, 6442, 6444, 6445, 6448, 6456, 6454, 6458, 6684, - 6460, 6465, 6462, 6467, 6469, 6472, 6473, 6474, 6476, 6478, - 6482, 6488, 6485, 6489, 6479, 6490, 6491, 6684, 6500, 6494, - 6684, 6497, 6501, 6503, 6504, 6507, 6684, 6512, 6505, 6509, + 6344, 6351, 6346, 6349, 6347, 6356, 6348, 6358, 6714, 6363, + 6364, 6350, 6367, 6714, 6370, 6714, 6353, 6714, 6714, 6373, + 6374, 6376, 6377, 6386, 6387, 6378, 6382, 6383, 6388, 6390, + 6714, 6398, 6714, 6714, 6391, 6394, 6714, 6399, 6400, 6714, + 6401, 6403, 6405, 6406, 6407, 6409, 6410, 6411, 6418, 6714, + 6714, 6422, 6423, 6425, 6427, 6429, 6436, 6431, 6433, 6435, + 6443, 6437, 6445, 6714, 6447, 6449, 6451, 6714, 6453, 6452, + 6455, 6458, 6459, 6466, 6461, 6463, 6714, 6464, 6714, 6468, + 6470, 6469, 6472, 6473, 6475, 6483, 6481, 6485, 6714, 6487, + 6489, 6493, 6494, 6496, 6499, 6500, 6501, 6503, 6505, 6506, - 6514, 6517, 6518, 6684, 6520, 6527, 6529, 6684, 6530, 6684, - 6684, 6532, 6521, 6531, 6534, 6539, 6684, 6684, 6684, 6564, - 6571, 6578, 6585, 6592, 6599, 6606, 88, 6613, 6620, 6627, - 6634, 6641, 6648, 6655, 6662, 6669, 6676 + 6515, 6509, 6511, 6517, 6519, 6521, 6714, 6523, 6525, 6714, + 6526, 6527, 6528, 6529, 6533, 6714, 6538, 6530, 6535, 6541, + 6546, 6543, 6714, 6552, 6556, 6553, 6714, 6557, 6714, 6714, + 6558, 6559, 6561, 6565, 6567, 6714, 6714, 6714, 6594, 6601, + 6608, 6615, 6622, 6629, 6636, 88, 6643, 6650, 6657, 6664, + 6671, 6678, 6685, 6692, 6699, 6706 } ; -static const flex_int16_t yy_def[3438] = +static const flex_int16_t yy_def[3457] = { 0, - 3419, 1, 3420, 3420, 3421, 3421, 3422, 3422, 3423, 3423, - 3424, 3424, 3425, 3425, 3426, 3426, 3419, 3427, 3419, 3419, - 3419, 3419, 3428, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3429, 3419, 3419, 3419, - 3429, 3430, 3419, 3419, 3419, 3430, 3431, 3419, 3419, 3419, - 3419, 3431, 3432, 3419, 3419, 3419, 3432, 3433, 3419, 3434, - 3419, 3433, 3433, 3435, 3419, 3419, 3419, 3419, 3435, 3436, - 3419, 3419, 3419, 3436, 3427, 3427, 3419, 3437, 3428, 3437, - 3428, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3438, 1, 3439, 3439, 3440, 3440, 3441, 3441, 3442, 3442, + 3443, 3443, 3444, 3444, 3445, 3445, 3438, 3446, 3438, 3438, + 3438, 3438, 3447, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3448, 3438, 3438, 3438, + 3448, 3449, 3438, 3438, 3438, 3449, 3450, 3438, 3438, 3438, + 3438, 3450, 3451, 3438, 3438, 3438, 3451, 3452, 3438, 3453, + 3438, 3452, 3452, 3454, 3438, 3438, 3438, 3438, 3454, 3455, + 3438, 3438, 3438, 3455, 3446, 3446, 3438, 3456, 3447, 3456, + 3447, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3429, - 3429, 3430, 3430, 3431, 3431, 3419, 3432, 3432, 3433, 3433, - 3434, 3434, 3433, 3435, 3435, 3419, 3436, 3436, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3448, + 3448, 3449, 3449, 3450, 3450, 3438, 3451, 3451, 3452, 3452, + 3453, 3453, 3452, 3454, 3454, 3438, 3455, 3455, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3433, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3433, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3433, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3433, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3419, - 3427, 3419, 3419, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3438, 3438, 3446, 3438, 3438, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3433, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3433, 3433, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3452, 3452, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3433, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3452, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3433, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3433, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, + 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3419, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3433, - 3427, 3419, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3419, 3427, 3419, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, 3446, 3438, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, + 3446, 3446, 3438, 3438, 3446, 3438, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3419, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3433, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3419, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3433, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, 3427, 3427, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3452, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3427, 3419, 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3419, - 3427, 3419, 3427, 3419, 3427, 3427, 3419, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3433, 3427, + 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3438, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3438, + 3446, 3438, 3446, 3438, 3446, 3446, 3438, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3419, 3419, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3419, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3433, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3419, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3419, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3438, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3438, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, - 3427, 3427, 3427, 3419, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3419, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3419, 3427, 3427, 3433, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3419, 3427, 3419, 3427, 3427, 3419, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3438, 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3438, 3446, 3446, 3452, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3419, 3419, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3419, 3419, 3427, 3427, 3419, 3427, - 3427, 3419, 3427, 3419, 3427, 3419, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3438, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3438, 3438, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, 3438, 3446, + 3446, 3446, 3438, 3446, 3446, 3438, 3446, 3438, 3446, 3438, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3419, 3427, 3427, 3419, 3427, 3419, - 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, - 3419, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3419, 3419, 3427, 3427, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, + 3446, 3438, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3419, 3419, 3427, 3419, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3419, 3419, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3419, 3419, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, + 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3438, 3438, 3446, 3446, 3438, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, - 3427, 3427, 3419, 3419, 3419, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3427, 3419, 3419, 3427, 3427, 3427, 3427, 3419, 3419, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3419, 3427, 3419, 3427, 3427, 3419, 3419, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3419, 3427, 3427, 3419, 3419, 3427, 3427, + 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3438, 3438, + 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3438, + 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, + 3446, 3438, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3446, + 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3427, 3419, 3419, 3427, 3427, 3419, 3419, - 3427, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3427, - 3427, 3419, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, - 3427, 3419, 3427, 3419, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3419, 3419, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3419, 3427, 3419, 3427, 3419, 3419, + 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3446, + 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3446, 3446, 3438, 3438, 3446, 3446, 3438, 3438, 3446, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3446, 3446, 3438, + 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, + 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3438, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3419, 3427, 3419, 3419, 3427, 3427, 3419, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3419, 3419, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3419, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3427, - 3427, 3427, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, - 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3427, 3427, 3427, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3438, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3438, 3446, 3438, 3438, 3446, 3446, 3438, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, + 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, + 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, 3446, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, + 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3427, 3427, 3427, 3419, 3427, 3427, 3427, 3419, 3427, 3419, - 3419, 3427, 3427, 3427, 3427, 3427, 3419, 3419, 0, 3419, - 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3419, 3419, 3419, 3419 + 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3438, + 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, + 3446, 3446, 3438, 3446, 3446, 3446, 3438, 3446, 3438, 3438, + 3446, 3446, 3446, 3446, 3446, 3438, 3438, 0, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438 } ; -static const flex_int16_t yy_nxt[6725] = +static const flex_int16_t yy_nxt[6755] = { 0, 18, 19, 20, 21, 22, 23, 22, 18, 18, 18, 18, 18, 22, 24, 25, 26, 27, 28, 29, 30, @@ -1609,7 +1615,7 @@ static const flex_int16_t yy_nxt[6725] = 311, 86, 86, 86, 86, 307, 86, 318, 86, 86, 86, 319, 86, 325, 312, 313, 315, 309, 314, 316, 86, 320, 86, 329, 321, 328, 322, 330, 327, 326, - 332, 86, 86, 86, 730, 334, 86, 338, 323, 331, + 332, 86, 86, 86, 732, 334, 86, 338, 323, 331, 324, 86, 335, 86, 86, 340, 86, 342, 86, 339, 341, 86, 333, 86, 86, 86, 344, 336, 86, 86, 86, 343, 86, 86, 346, 86, 348, 86, 345, 86, @@ -1644,654 +1650,657 @@ static const flex_int16_t yy_nxt[6725] = 86, 488, 86, 489, 86, 490, 482, 86, 484, 86, 506, 86, 86, 494, 491, 487, 493, 495, 486, 86, 86, 86, 86, 86, 492, 496, 498, 86, 499, 86, - 501, 497, 86, 507, 86, 500, 508, 86, 505, 86, - 86, 86, 521, 502, 510, 509, 503, 524, 504, 86, - 511, 86, 522, 86, 512, 86, 635, 86, 527, 513, + 501, 497, 170, 507, 86, 500, 508, 86, 505, 86, + 86, 86, 522, 502, 86, 509, 503, 523, 504, 86, + 510, 86, 511, 544, 86, 86, 525, 86, 512, 568, - 86, 86, 514, 86, 515, 526, 516, 86, 525, 86, - 523, 529, 539, 170, 528, 537, 538, 540, 86, 517, - 544, 86, 518, 86, 519, 86, 520, 86, 547, 530, - 531, 541, 546, 86, 543, 86, 545, 86, 542, 532, - 86, 533, 534, 535, 548, 554, 536, 552, 86, 86, - 86, 551, 86, 86, 561, 550, 86, 553, 86, 549, - 86, 559, 86, 555, 86, 562, 86, 558, 556, 557, - 86, 566, 86, 560, 86, 86, 86, 86, 564, 86, - 569, 168, 563, 86, 565, 570, 571, 86, 86, 86, - 568, 576, 86, 583, 86, 573, 572, 567, 580, 574, + 528, 168, 513, 86, 86, 524, 526, 514, 527, 530, + 515, 86, 516, 539, 517, 540, 529, 86, 538, 86, + 541, 86, 86, 86, 86, 86, 547, 518, 86, 542, + 519, 166, 520, 86, 521, 86, 543, 531, 532, 546, + 549, 545, 86, 86, 548, 550, 86, 533, 551, 534, + 535, 536, 553, 557, 537, 86, 552, 86, 86, 86, + 555, 86, 554, 558, 560, 562, 86, 563, 86, 86, + 86, 86, 559, 567, 86, 86, 561, 86, 556, 86, + 570, 565, 571, 572, 566, 86, 86, 86, 564, 86, + 569, 86, 86, 86, 577, 578, 579, 573, 86, 584, - 86, 575, 577, 578, 86, 86, 86, 86, 581, 86, - 86, 86, 86, 597, 166, 600, 589, 86, 86, 86, - 579, 585, 592, 582, 584, 586, 588, 590, 587, 591, - 593, 594, 86, 86, 595, 596, 86, 602, 599, 603, - 86, 598, 86, 86, 86, 601, 604, 86, 605, 86, - 606, 86, 609, 86, 607, 611, 86, 86, 86, 86, - 614, 615, 608, 612, 86, 86, 610, 86, 616, 86, - 613, 86, 86, 86, 621, 86, 619, 620, 86, 86, - 617, 86, 622, 86, 86, 86, 627, 623, 86, 628, - 618, 86, 629, 626, 86, 631, 86, 625, 624, 86, + 86, 86, 574, 575, 581, 576, 86, 86, 585, 86, + 582, 86, 86, 580, 86, 598, 586, 86, 601, 86, + 590, 86, 600, 587, 86, 583, 589, 588, 599, 593, + 86, 591, 86, 592, 603, 86, 165, 594, 595, 602, + 86, 596, 597, 86, 86, 86, 86, 86, 606, 605, + 607, 608, 86, 604, 86, 609, 86, 610, 611, 612, + 86, 86, 86, 615, 616, 614, 613, 86, 86, 618, + 86, 617, 86, 86, 86, 622, 86, 620, 621, 86, + 86, 86, 86, 623, 86, 628, 86, 86, 624, 619, + 86, 629, 633, 627, 630, 86, 631, 86, 626, 625, - 634, 632, 86, 630, 86, 636, 633, 86, 86, 86, - 86, 86, 86, 86, 86, 638, 641, 639, 86, 649, - 86, 86, 643, 637, 86, 86, 86, 86, 729, 650, - 640, 644, 642, 645, 647, 648, 646, 651, 653, 86, - 86, 657, 86, 86, 652, 656, 86, 659, 654, 86, - 662, 655, 86, 86, 86, 661, 86, 86, 86, 86, - 86, 658, 665, 668, 86, 86, 86, 86, 664, 660, - 669, 671, 86, 86, 663, 86, 86, 86, 86, 670, - 666, 667, 86, 672, 86, 86, 674, 86, 685, 728, - 687, 673, 86, 675, 688, 683, 686, 684, 676, 86, + 86, 632, 86, 635, 86, 637, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 639, 634, 640, 642, 636, + 86, 86, 644, 650, 86, 86, 649, 638, 163, 86, + 641, 643, 645, 651, 646, 86, 652, 86, 647, 654, + 653, 648, 86, 86, 86, 655, 657, 86, 656, 660, + 86, 86, 86, 663, 662, 86, 86, 86, 658, 86, + 86, 666, 659, 86, 86, 86, 665, 669, 86, 670, + 661, 86, 86, 672, 86, 86, 86, 664, 86, 667, + 671, 668, 687, 86, 86, 86, 86, 673, 675, 86, + 689, 674, 86, 676, 684, 86, 706, 685, 677, 686, - 677, 86, 692, 689, 86, 86, 678, 86, 679, 690, - 693, 680, 681, 691, 86, 697, 696, 694, 682, 86, - 695, 86, 86, 86, 86, 701, 698, 86, 704, 699, - 86, 86, 706, 86, 86, 700, 86, 86, 86, 86, - 86, 86, 86, 86, 703, 712, 702, 165, 707, 708, - 713, 709, 717, 710, 86, 705, 86, 715, 714, 86, - 711, 170, 716, 718, 720, 719, 721, 86, 86, 86, - 86, 86, 86, 86, 732, 86, 86, 727, 163, 733, - 86, 86, 722, 724, 731, 86, 725, 723, 735, 86, - 726, 86, 734, 736, 86, 86, 86, 86, 737, 86, + 678, 694, 688, 86, 86, 690, 679, 691, 680, 692, + 86, 681, 682, 693, 86, 695, 86, 699, 683, 86, + 86, 86, 86, 86, 703, 698, 86, 86, 700, 86, + 696, 86, 708, 697, 701, 86, 702, 86, 86, 86, + 86, 86, 86, 86, 709, 704, 705, 710, 714, 715, + 86, 86, 707, 711, 86, 720, 712, 717, 86, 719, + 716, 713, 170, 722, 718, 86, 721, 86, 86, 86, + 86, 86, 86, 725, 86, 735, 729, 723, 86, 161, + 731, 86, 724, 727, 726, 86, 86, 730, 737, 728, + 734, 86, 86, 733, 86, 86, 86, 86, 736, 739, - 741, 740, 86, 738, 86, 746, 739, 161, 742, 86, - 747, 86, 749, 86, 758, 743, 750, 86, 744, 751, - 745, 86, 748, 752, 86, 86, 753, 86, 754, 86, - 755, 86, 759, 86, 86, 756, 86, 86, 760, 86, - 86, 86, 757, 763, 764, 762, 86, 86, 768, 86, - 761, 767, 86, 769, 86, 86, 86, 86, 86, 773, - 771, 86, 86, 86, 765, 766, 86, 776, 779, 86, - 770, 772, 86, 86, 86, 86, 774, 775, 780, 777, - 86, 86, 86, 781, 782, 86, 778, 86, 787, 783, - 786, 789, 784, 785, 86, 86, 792, 86, 788, 790, + 86, 86, 86, 86, 738, 742, 743, 86, 748, 740, + 744, 86, 741, 749, 86, 751, 86, 745, 747, 753, + 746, 752, 86, 86, 750, 86, 754, 86, 755, 86, + 756, 86, 757, 86, 86, 86, 86, 758, 86, 86, + 762, 86, 761, 760, 759, 86, 86, 86, 765, 764, + 86, 766, 763, 770, 769, 86, 86, 767, 86, 86, + 771, 86, 86, 773, 86, 775, 768, 86, 86, 86, + 86, 86, 781, 772, 778, 774, 782, 776, 86, 86, + 86, 86, 789, 86, 779, 86, 784, 86, 777, 86, + 780, 785, 792, 783, 786, 787, 86, 86, 788, 86, - 791, 794, 86, 86, 86, 86, 796, 86, 797, 86, - 799, 795, 793, 86, 801, 86, 800, 86, 86, 86, - 86, 86, 808, 86, 86, 804, 806, 86, 86, 86, - 798, 802, 805, 809, 86, 803, 86, 178, 815, 86, - 807, 86, 817, 813, 86, 812, 810, 816, 814, 811, - 818, 819, 86, 86, 86, 820, 86, 86, 86, 821, - 86, 826, 828, 824, 86, 86, 86, 86, 86, 827, - 86, 823, 86, 829, 822, 832, 86, 831, 86, 825, - 833, 86, 86, 86, 86, 840, 839, 836, 842, 834, - 830, 835, 86, 841, 86, 86, 844, 86, 86, 848, + 796, 793, 86, 790, 86, 791, 86, 86, 86, 86, + 798, 794, 799, 797, 795, 86, 86, 86, 804, 802, + 801, 86, 803, 86, 86, 86, 86, 805, 806, 808, + 810, 86, 86, 86, 800, 811, 807, 86, 86, 178, + 86, 86, 817, 86, 819, 809, 86, 815, 86, 818, + 86, 812, 816, 814, 813, 820, 821, 86, 86, 86, + 822, 86, 86, 828, 823, 827, 86, 826, 824, 86, + 830, 829, 86, 86, 86, 825, 86, 831, 833, 834, + 86, 86, 86, 841, 835, 86, 86, 838, 86, 86, + 86, 86, 86, 836, 837, 848, 844, 832, 86, 843, - 86, 837, 838, 846, 845, 86, 86, 852, 86, 854, - 849, 850, 853, 86, 843, 86, 86, 86, 847, 856, - 86, 851, 858, 86, 86, 86, 86, 86, 864, 86, - 86, 86, 86, 865, 86, 857, 86, 86, 86, 866, - 855, 859, 860, 861, 86, 862, 867, 863, 86, 873, - 869, 868, 86, 872, 86, 86, 870, 86, 874, 86, - 871, 86, 86, 879, 875, 86, 86, 86, 86, 86, - 86, 86, 888, 876, 886, 86, 86, 86, 877, 889, - 878, 885, 881, 880, 887, 882, 883, 884, 86, 86, - 890, 86, 86, 86, 86, 86, 891, 894, 86, 892, + 86, 839, 840, 86, 846, 842, 850, 847, 845, 86, + 849, 86, 86, 854, 86, 856, 852, 86, 855, 86, + 86, 851, 858, 857, 86, 86, 853, 860, 86, 86, + 86, 86, 866, 86, 86, 86, 859, 867, 86, 86, + 86, 86, 861, 868, 86, 86, 862, 863, 86, 864, + 869, 865, 86, 875, 870, 86, 873, 86, 871, 86, + 872, 86, 86, 874, 86, 876, 877, 878, 882, 86, + 86, 86, 86, 86, 86, 176, 879, 86, 891, 889, + 86, 881, 880, 86, 86, 86, 884, 883, 892, 885, + 886, 887, 888, 86, 890, 86, 86, 893, 86, 86, - 86, 898, 86, 893, 86, 899, 86, 895, 897, 900, - 86, 901, 896, 86, 86, 902, 903, 86, 906, 86, - 904, 909, 86, 905, 170, 911, 907, 86, 86, 910, - 86, 908, 912, 86, 86, 86, 86, 918, 86, 86, - 919, 86, 914, 86, 913, 921, 86, 86, 920, 915, - 916, 86, 922, 925, 86, 86, 917, 86, 927, 86, - 923, 926, 924, 86, 931, 86, 86, 928, 86, 86, - 86, 86, 86, 932, 86, 933, 86, 86, 952, 86, - 86, 930, 929, 946, 934, 947, 948, 944, 86, 86, - 86, 936, 951, 945, 935, 86, 86, 937, 949, 86, + 86, 897, 86, 86, 894, 86, 895, 896, 902, 901, + 86, 86, 903, 900, 898, 904, 905, 86, 899, 86, + 86, 86, 86, 170, 86, 86, 907, 912, 913, 908, + 910, 86, 86, 86, 914, 906, 909, 911, 86, 86, + 86, 928, 915, 86, 86, 920, 916, 86, 917, 921, + 86, 86, 922, 924, 86, 918, 86, 919, 86, 86, + 923, 925, 86, 927, 86, 86, 930, 926, 86, 934, + 86, 86, 86, 86, 86, 86, 931, 86, 935, 929, + 936, 86, 86, 175, 86, 86, 933, 950, 86, 937, + 932, 951, 947, 949, 939, 86, 86, 938, 86, 948, - 938, 86, 953, 86, 939, 86, 950, 940, 86, 86, - 954, 86, 958, 966, 941, 942, 957, 943, 86, 956, - 86, 955, 86, 959, 960, 86, 961, 86, 86, 962, - 967, 969, 971, 86, 963, 970, 86, 86, 968, 86, - 964, 965, 973, 86, 974, 86, 977, 978, 972, 86, - 1293, 975, 979, 86, 86, 981, 980, 86, 976, 86, - 982, 86, 983, 86, 984, 86, 985, 86, 986, 988, - 86, 86, 987, 989, 86, 86, 86, 86, 991, 992, - 86, 86, 996, 86, 86, 995, 990, 86, 86, 999, - 86, 86, 86, 86, 1003, 1053, 993, 1004, 997, 994, + 940, 86, 86, 941, 952, 954, 958, 942, 86, 955, + 943, 86, 953, 86, 956, 86, 959, 944, 945, 961, + 946, 86, 957, 86, 86, 86, 969, 86, 86, 86, + 86, 972, 86, 974, 86, 960, 86, 962, 963, 976, + 964, 86, 971, 965, 970, 978, 170, 86, 966, 975, + 980, 977, 973, 981, 967, 968, 86, 86, 982, 86, + 86, 984, 86, 983, 86, 987, 979, 986, 86, 86, + 86, 86, 985, 988, 989, 990, 991, 86, 86, 86, + 992, 993, 86, 86, 86, 86, 995, 86, 999, 86, + 86, 86, 998, 86, 86, 1002, 86, 86, 994, 168, - 86, 998, 1000, 1001, 1005, 86, 86, 86, 1006, 1009, - 1011, 1008, 1002, 1007, 86, 86, 86, 86, 1013, 86, - 86, 86, 1012, 1014, 86, 1015, 1010, 1017, 86, 1016, - 1018, 86, 86, 86, 86, 86, 86, 86, 86, 1021, - 1019, 86, 1022, 1026, 86, 1029, 86, 86, 86, 86, - 1027, 1020, 1030, 1024, 1023, 1028, 86, 1025, 86, 86, - 86, 86, 86, 86, 86, 1032, 1035, 1031, 1033, 1036, - 86, 86, 86, 1034, 1037, 1038, 1039, 1042, 1043, 86, - 1045, 1041, 86, 1044, 86, 86, 86, 86, 1040, 86, - 86, 1054, 86, 1051, 86, 1048, 86, 1046, 86, 86, + 1006, 1004, 1007, 996, 997, 1000, 86, 1001, 1009, 1003, + 1008, 86, 86, 1010, 86, 1012, 86, 1011, 1005, 1014, + 1016, 86, 86, 86, 86, 86, 86, 1015, 86, 1018, + 86, 1017, 1019, 1020, 86, 1013, 1021, 86, 1022, 86, + 86, 86, 86, 86, 86, 1024, 1029, 86, 1025, 86, + 1032, 86, 86, 86, 86, 86, 1033, 1023, 1030, 1027, + 1026, 1031, 86, 1028, 1035, 86, 86, 86, 86, 86, + 86, 1034, 1038, 1040, 1036, 1039, 86, 86, 1037, 86, + 86, 1041, 1042, 1046, 86, 1048, 1044, 86, 1047, 86, + 86, 86, 1045, 86, 1043, 1049, 86, 86, 1056, 1051, - 86, 1052, 86, 1056, 1047, 86, 86, 1050, 86, 86, - 86, 1049, 1064, 86, 86, 1055, 1067, 1057, 1062, 1058, - 1059, 86, 86, 1068, 1060, 1061, 86, 86, 1065, 1063, - 86, 86, 1066, 1069, 86, 86, 1072, 1075, 86, 86, - 1074, 1071, 86, 86, 86, 1070, 86, 86, 1073, 86, - 1076, 1078, 1080, 86, 1085, 1086, 86, 86, 1088, 1077, - 86, 86, 86, 1079, 86, 86, 1081, 176, 1083, 1082, - 1087, 1089, 1091, 1084, 1092, 86, 86, 86, 86, 1093, - 86, 86, 1090, 86, 1094, 1100, 1097, 86, 1095, 86, - 1099, 86, 86, 1104, 86, 1101, 1096, 86, 1098, 86, + 1054, 1057, 86, 86, 86, 86, 1050, 86, 1055, 1059, + 86, 1053, 86, 86, 86, 1052, 86, 86, 86, 86, + 86, 1067, 1070, 1065, 1058, 86, 1060, 1061, 86, 1071, + 1062, 86, 86, 1064, 1063, 86, 1068, 1072, 1069, 1066, + 86, 1075, 86, 86, 86, 86, 1074, 86, 1076, 1078, + 1073, 1079, 86, 86, 86, 86, 1077, 86, 86, 86, + 86, 1084, 1080, 1082, 1089, 1081, 1090, 1083, 1092, 86, + 86, 86, 86, 1091, 86, 1085, 1095, 1087, 1096, 1086, + 1088, 86, 86, 1093, 86, 1097, 86, 86, 86, 86, + 1104, 1094, 86, 1101, 86, 1103, 86, 86, 86, 1099, - 1103, 1102, 1106, 86, 86, 86, 1111, 86, 86, 1108, - 86, 1112, 170, 86, 1105, 1107, 86, 1114, 86, 1115, - 86, 1109, 1113, 1110, 86, 1118, 86, 86, 86, 1119, - 1116, 86, 86, 1131, 86, 86, 1117, 175, 1132, 86, - 1121, 1122, 1134, 86, 86, 86, 86, 1123, 1120, 1139, - 1133, 86, 1124, 86, 1137, 1136, 1125, 86, 1126, 86, - 1138, 1141, 1127, 86, 1128, 86, 1142, 86, 1143, 1129, - 1135, 1140, 86, 86, 1130, 86, 1145, 1144, 86, 86, - 1147, 86, 86, 1148, 1151, 1150, 86, 86, 1146, 1152, - 86, 86, 1157, 1149, 1158, 1155, 1154, 1156, 1159, 86, + 1105, 86, 1108, 1110, 86, 1098, 86, 1100, 86, 86, + 1102, 86, 1109, 86, 1107, 1115, 1106, 86, 1112, 86, + 1116, 170, 86, 1118, 1111, 1113, 1117, 1114, 86, 1119, + 86, 86, 86, 86, 86, 1122, 86, 86, 86, 1120, + 86, 1135, 1121, 166, 86, 1138, 86, 1125, 1136, 1126, + 1123, 86, 86, 1137, 1127, 86, 1124, 86, 1128, 86, + 86, 1140, 1129, 86, 1130, 1143, 1145, 1141, 1131, 1142, + 1132, 1146, 86, 86, 86, 1133, 1139, 1144, 86, 86, + 1134, 86, 1147, 1149, 86, 86, 1152, 86, 1148, 1155, + 86, 86, 86, 1151, 86, 1150, 1153, 1154, 1160, 86, - 86, 1162, 1153, 1161, 86, 1160, 86, 86, 86, 86, - 86, 86, 1163, 86, 86, 1177, 1174, 86, 1164, 86, - 86, 86, 1173, 170, 1178, 1176, 86, 1165, 86, 1166, - 86, 1175, 86, 86, 1167, 1180, 1168, 1184, 1179, 1181, - 86, 86, 1169, 86, 1186, 1182, 1185, 1170, 1171, 1183, - 86, 86, 1190, 86, 1172, 86, 86, 1193, 1187, 1191, - 86, 86, 86, 86, 1194, 86, 1188, 1196, 1198, 1189, - 86, 86, 86, 86, 86, 1199, 1192, 86, 1197, 1195, - 1204, 1201, 1202, 86, 86, 86, 86, 86, 86, 86, - 1200, 86, 1205, 1203, 1207, 86, 86, 86, 86, 86, + 1162, 1156, 1163, 1159, 1161, 1158, 86, 1165, 86, 1164, + 86, 1157, 86, 1166, 86, 86, 86, 86, 86, 86, + 86, 86, 1181, 1178, 86, 86, 86, 86, 1177, 1182, + 86, 86, 1180, 86, 1168, 1169, 1167, 86, 1170, 1179, + 1184, 1183, 1188, 1171, 86, 1172, 1185, 1187, 86, 1186, + 86, 1173, 86, 86, 86, 1189, 1174, 1175, 1194, 86, + 86, 86, 1191, 1176, 1190, 1195, 86, 1197, 86, 1192, + 86, 1198, 1193, 86, 86, 1200, 1202, 86, 86, 86, + 1196, 86, 86, 1203, 86, 1199, 1208, 1201, 1205, 86, + 1206, 86, 86, 86, 86, 86, 1204, 86, 1209, 1211, - 1212, 1209, 1214, 1206, 1216, 1208, 1213, 1211, 1210, 86, - 86, 86, 86, 1218, 86, 1215, 86, 1220, 86, 86, - 86, 86, 86, 86, 168, 1217, 1225, 1226, 1227, 1228, - 1222, 1219, 86, 1221, 1224, 1230, 1223, 86, 1229, 86, - 86, 86, 86, 86, 1235, 86, 1239, 1232, 1231, 1236, - 86, 86, 1237, 1233, 86, 1238, 86, 86, 1234, 1240, - 86, 86, 1246, 86, 1248, 86, 86, 86, 86, 86, - 86, 1250, 1242, 1244, 1241, 1243, 1245, 86, 86, 86, - 1249, 1251, 1252, 1247, 86, 86, 86, 1257, 86, 1254, - 1253, 1255, 86, 1256, 86, 86, 86, 1258, 86, 1259, + 1207, 86, 86, 86, 86, 1220, 86, 1218, 86, 1213, + 1210, 86, 1216, 1212, 1215, 1217, 86, 1214, 86, 86, + 86, 1219, 86, 86, 1221, 1224, 86, 86, 1229, 86, + 1222, 86, 86, 1226, 1230, 86, 1231, 86, 1223, 86, + 1233, 1225, 1228, 1234, 1227, 86, 1232, 1236, 1237, 86, + 86, 1239, 86, 86, 1235, 1243, 1240, 86, 86, 1241, + 86, 86, 1242, 86, 86, 86, 1238, 1244, 1250, 86, + 1252, 86, 86, 86, 86, 1256, 86, 1246, 1248, 1249, + 1245, 1247, 86, 86, 86, 86, 1253, 1254, 86, 1251, + 1258, 86, 86, 1259, 1257, 86, 1262, 1255, 86, 86, - 1260, 1261, 1264, 1267, 1263, 1265, 86, 86, 86, 86, - 86, 86, 1262, 1268, 86, 1269, 1266, 86, 86, 86, - 1275, 1273, 1276, 86, 86, 86, 86, 1270, 86, 1277, - 1271, 86, 1274, 86, 1280, 86, 1278, 1272, 1279, 86, - 86, 1282, 1284, 86, 1281, 1283, 86, 86, 86, 1286, - 86, 1285, 1287, 1289, 86, 86, 1288, 86, 1291, 86, - 1292, 86, 86, 86, 1294, 1298, 1299, 86, 86, 86, - 86, 86, 86, 1290, 1296, 1301, 1302, 86, 86, 1295, - 1306, 1305, 1297, 1300, 86, 86, 1303, 86, 86, 86, - 86, 170, 1304, 1312, 86, 86, 1308, 86, 86, 86, + 1260, 1261, 86, 1263, 86, 1265, 1268, 1264, 1269, 86, + 1267, 86, 86, 86, 86, 86, 1273, 1272, 1266, 86, + 1270, 86, 86, 86, 1279, 86, 1277, 1280, 165, 86, + 86, 1271, 86, 86, 1281, 86, 86, 1274, 1278, 1283, + 1275, 1282, 1276, 86, 1285, 86, 86, 86, 1284, 1289, + 86, 1286, 1288, 1287, 86, 86, 1291, 86, 86, 1290, + 86, 86, 86, 86, 86, 1294, 1296, 1292, 86, 1293, + 86, 1297, 86, 1298, 86, 1299, 86, 1303, 86, 1304, + 1295, 86, 1300, 86, 1301, 86, 1306, 1307, 86, 86, + 86, 1305, 1311, 1302, 86, 86, 86, 1308, 86, 86, - 1313, 86, 1314, 1307, 1319, 86, 86, 1309, 86, 1311, - 166, 1315, 1316, 86, 1310, 1320, 1317, 1318, 1321, 86, - 1323, 1324, 86, 86, 1327, 86, 86, 86, 1322, 1325, - 1326, 86, 86, 86, 86, 86, 1328, 1329, 1331, 86, - 86, 86, 1337, 86, 86, 86, 1330, 1334, 86, 1332, - 86, 86, 86, 1348, 1333, 86, 1335, 1341, 1336, 1338, - 1343, 86, 1339, 1340, 86, 1347, 86, 86, 86, 1344, - 1342, 1345, 1349, 1351, 1346, 1350, 86, 86, 1352, 86, - 1353, 86, 86, 86, 86, 86, 86, 1354, 1357, 86, - 1356, 1360, 86, 1364, 86, 86, 1359, 1355, 86, 1361, + 86, 170, 1310, 1309, 1313, 1317, 86, 86, 86, 86, + 163, 86, 1312, 1318, 1319, 86, 86, 1314, 86, 1316, + 86, 1320, 1322, 1324, 1315, 1321, 1328, 1323, 1329, 1325, + 1326, 86, 86, 86, 86, 86, 1327, 86, 86, 1332, + 1331, 86, 86, 1333, 86, 86, 86, 86, 86, 1330, + 1336, 86, 1342, 86, 1339, 1334, 1335, 86, 86, 1337, + 86, 86, 86, 1340, 86, 1338, 161, 1346, 86, 1348, + 1341, 1343, 1352, 86, 1353, 1345, 1344, 86, 1349, 86, + 1350, 86, 1347, 1351, 1354, 1355, 86, 86, 1356, 86, + 1358, 1357, 86, 86, 86, 86, 86, 86, 86, 1362, - 1362, 1358, 86, 1365, 86, 86, 86, 1366, 86, 1368, - 1369, 1363, 86, 86, 1370, 1367, 86, 86, 86, 86, - 86, 86, 86, 1371, 1376, 86, 86, 1372, 1374, 86, - 86, 1377, 1373, 1375, 86, 1381, 86, 86, 86, 1378, - 1380, 1382, 1379, 1385, 86, 1383, 86, 86, 86, 1393, - 1384, 1386, 86, 86, 86, 86, 1387, 1389, 1388, 86, - 86, 1396, 1391, 86, 86, 86, 1401, 1394, 1392, 1390, - 1399, 1402, 86, 1395, 1397, 1400, 1398, 86, 86, 86, - 86, 1406, 86, 1403, 1416, 86, 1417, 1415, 86, 165, - 86, 1404, 1405, 86, 1407, 1414, 86, 1419, 1408, 86, + 86, 1365, 1361, 86, 1369, 86, 86, 86, 1359, 1364, + 1360, 1367, 1366, 86, 1363, 86, 86, 86, 1370, 86, + 1371, 1373, 1368, 1374, 86, 86, 1372, 86, 86, 86, + 86, 86, 1376, 1375, 86, 86, 86, 1381, 86, 86, + 1377, 1379, 86, 1380, 1386, 86, 1378, 1382, 86, 86, + 1383, 86, 86, 86, 1385, 1384, 86, 1387, 1390, 1388, + 86, 1398, 86, 1391, 1393, 1389, 86, 86, 86, 86, + 1392, 86, 1394, 86, 86, 1396, 86, 1401, 86, 1404, + 1400, 1395, 1397, 1399, 86, 86, 86, 1406, 1405, 1403, + 86, 1402, 1407, 86, 86, 1411, 1455, 1408, 1409, 1410, - 86, 1409, 1410, 1420, 1418, 1421, 1411, 86, 86, 86, - 86, 1423, 1412, 1422, 86, 1425, 1413, 1424, 86, 86, - 1430, 1426, 86, 1427, 86, 86, 86, 1428, 86, 86, - 1433, 1431, 1436, 1437, 86, 86, 163, 1429, 86, 86, - 1438, 86, 1434, 1440, 1432, 1439, 86, 1435, 1441, 86, - 1442, 1445, 1443, 86, 1444, 86, 1447, 1448, 1449, 86, - 86, 86, 86, 1446, 1450, 1451, 86, 1455, 86, 86, - 86, 86, 1456, 86, 1452, 1454, 1459, 1457, 86, 86, - 1453, 86, 86, 1465, 1460, 86, 1466, 1461, 86, 86, - 86, 1458, 86, 86, 86, 1469, 1464, 86, 1462, 86, + 86, 1412, 86, 1419, 1421, 1413, 86, 1422, 1414, 1415, + 86, 1420, 86, 1416, 1425, 86, 86, 1423, 86, 1417, + 86, 1426, 86, 1418, 1424, 86, 1428, 1427, 86, 1430, + 86, 86, 86, 1431, 1435, 1432, 86, 86, 86, 1429, + 86, 86, 86, 1438, 86, 1436, 1441, 1442, 86, 1443, + 1434, 1433, 86, 86, 86, 1439, 86, 1437, 1444, 86, + 1440, 86, 1451, 86, 1450, 1445, 86, 1452, 1453, 1454, + 1446, 86, 1447, 86, 1448, 86, 1449, 1456, 1457, 1458, + 1460, 86, 86, 86, 1459, 1461, 86, 86, 1464, 86, + 1462, 86, 86, 86, 1470, 86, 1471, 86, 1466, 86, - 1463, 1467, 1468, 1471, 1472, 86, 1470, 86, 1476, 86, - 86, 86, 1475, 1478, 86, 86, 86, 1473, 1479, 86, - 1481, 86, 1480, 86, 86, 1477, 1484, 86, 1486, 86, - 1474, 1485, 1483, 86, 1487, 86, 86, 1491, 86, 86, - 1482, 1488, 86, 86, 1495, 1489, 1493, 86, 86, 86, - 86, 1498, 1496, 86, 86, 86, 1490, 1497, 1500, 1492, - 86, 86, 1494, 86, 86, 1502, 86, 86, 1504, 1501, - 1507, 1499, 1505, 86, 86, 1503, 86, 1509, 1506, 1508, - 86, 86, 86, 86, 1511, 1510, 1515, 1512, 1516, 1513, - 86, 1518, 86, 86, 86, 1517, 1514, 86, 86, 86, + 86, 1465, 86, 86, 1463, 1472, 86, 1469, 1474, 86, + 1467, 1468, 86, 1473, 86, 1476, 1475, 86, 86, 1477, + 1481, 86, 1480, 1483, 86, 86, 86, 1478, 1484, 86, + 1486, 86, 1485, 1482, 86, 1489, 86, 86, 86, 1479, + 1491, 86, 86, 1488, 86, 1492, 86, 1493, 1496, 86, + 1487, 86, 86, 86, 86, 1501, 1499, 1490, 86, 1494, + 86, 86, 1504, 1502, 86, 86, 86, 1495, 86, 1498, + 86, 1497, 86, 1503, 1500, 1506, 1511, 86, 86, 1515, + 86, 1507, 1508, 1505, 1509, 1510, 86, 86, 86, 86, + 1513, 1512, 86, 1514, 1516, 86, 86, 86, 86, 1521, - 1522, 86, 1519, 86, 86, 86, 170, 86, 86, 86, - 1521, 161, 1529, 1530, 86, 1525, 86, 1520, 86, 86, - 1531, 1526, 1524, 1523, 1532, 86, 86, 1527, 86, 1535, - 86, 1528, 86, 86, 1540, 86, 1536, 86, 1537, 1533, - 86, 86, 1538, 1545, 86, 1534, 1544, 86, 86, 86, - 1539, 1549, 86, 1547, 86, 1541, 1550, 86, 1543, 86, - 86, 1552, 1542, 86, 86, 86, 86, 1553, 1548, 86, - 1546, 1561, 1551, 86, 1554, 86, 86, 86, 1555, 1556, - 1558, 1564, 1557, 1559, 1563, 1560, 86, 1562, 1566, 86, - 86, 1569, 86, 1567, 86, 86, 86, 1565, 86, 86, + 1522, 1518, 1523, 1519, 86, 86, 86, 1524, 86, 86, + 1517, 1520, 86, 86, 1528, 86, 86, 1525, 86, 86, + 1527, 170, 86, 1526, 1535, 1536, 86, 86, 1531, 1538, + 86, 86, 1529, 1537, 1530, 86, 1532, 86, 86, 1533, + 1539, 86, 86, 86, 86, 1534, 1540, 86, 1546, 86, + 86, 1551, 86, 1543, 86, 86, 1544, 1541, 1542, 1550, + 86, 1545, 86, 3438, 1547, 1553, 1555, 86, 1549, 86, + 86, 1556, 86, 86, 1548, 86, 86, 1559, 1552, 1558, + 86, 1554, 1567, 86, 86, 1557, 86, 1560, 86, 1564, + 1561, 1562, 1565, 1569, 1563, 1566, 86, 1568, 86, 86, - 1571, 1572, 86, 86, 86, 3419, 86, 1575, 1568, 86, - 1570, 86, 1580, 86, 86, 86, 1573, 1581, 1577, 1574, - 1584, 86, 86, 1576, 1578, 86, 86, 1579, 86, 86, - 86, 86, 1582, 1585, 1583, 86, 1591, 86, 86, 1587, - 86, 1586, 1592, 1588, 1589, 1593, 86, 1595, 86, 1590, - 86, 1596, 86, 86, 1600, 1594, 1601, 1598, 1602, 86, - 86, 1597, 86, 86, 86, 1604, 86, 86, 1609, 1605, - 86, 1610, 1599, 1603, 86, 1608, 1606, 86, 1611, 86, - 1612, 86, 1613, 86, 86, 1614, 86, 1615, 1607, 86, - 86, 86, 86, 86, 86, 86, 1622, 86, 1616, 86, + 1570, 1572, 86, 86, 86, 86, 1573, 86, 1577, 1571, + 1578, 86, 86, 86, 1575, 86, 86, 86, 1581, 86, + 86, 1574, 1576, 86, 1586, 86, 86, 86, 1590, 1579, + 1583, 1587, 1580, 86, 86, 1582, 1589, 1584, 1585, 86, + 1593, 86, 86, 1588, 86, 1591, 86, 86, 86, 86, + 86, 1597, 86, 1599, 1598, 86, 1594, 1595, 1592, 1601, + 86, 1602, 86, 1596, 86, 1606, 86, 1600, 1607, 1608, + 1603, 1604, 1605, 86, 86, 86, 1610, 86, 86, 1611, + 1609, 86, 86, 1615, 1616, 1617, 86, 1614, 86, 86, + 86, 86, 86, 1618, 1612, 86, 1619, 1620, 86, 86, - 1621, 86, 86, 1618, 86, 86, 1619, 1624, 1617, 1620, - 1625, 86, 1633, 1628, 86, 1626, 86, 1623, 1629, 86, - 1630, 1627, 86, 86, 1632, 1631, 86, 86, 1637, 86, - 86, 1636, 1641, 1634, 86, 1635, 86, 86, 86, 1642, - 86, 1645, 86, 86, 86, 1648, 1638, 86, 1640, 1639, - 1647, 86, 86, 86, 86, 86, 1643, 86, 86, 1646, - 1657, 1649, 1650, 1644, 86, 1656, 86, 86, 1653, 86, - 3419, 1651, 1652, 1655, 1661, 86, 1654, 1662, 86, 86, - 86, 1660, 86, 86, 1663, 1658, 1659, 1664, 86, 86, - 86, 1666, 1668, 1665, 86, 86, 1669, 86, 86, 1672, + 86, 86, 1613, 1621, 1623, 86, 86, 86, 1629, 1622, + 86, 1628, 86, 1624, 1627, 86, 86, 86, 1634, 1625, + 1630, 1626, 1631, 1635, 86, 1636, 86, 86, 1639, 1632, + 1637, 86, 86, 86, 86, 1633, 86, 86, 86, 86, + 86, 1643, 1647, 1642, 86, 1648, 1638, 86, 86, 1651, + 86, 1640, 1641, 86, 1654, 86, 1644, 1646, 1645, 1653, + 86, 86, 86, 86, 1649, 86, 86, 86, 86, 1652, + 1663, 86, 86, 1650, 86, 1662, 86, 86, 1667, 86, + 1655, 1656, 1657, 1661, 1658, 1659, 86, 1660, 86, 1666, + 1670, 1664, 1668, 86, 86, 1665, 86, 86, 86, 1669, - 86, 1667, 1676, 86, 86, 1677, 1678, 1671, 86, 1670, - 1673, 86, 86, 86, 1675, 86, 1681, 1674, 86, 1679, - 86, 1680, 1682, 86, 1683, 86, 1688, 1689, 86, 86, - 86, 86, 86, 1684, 1686, 1687, 1692, 86, 1693, 1694, - 86, 1685, 1696, 86, 86, 86, 86, 1690, 86, 1697, - 86, 1691, 1698, 86, 86, 86, 86, 1701, 86, 1706, - 1695, 86, 1705, 86, 1699, 1703, 1700, 86, 86, 86, - 86, 1711, 86, 1709, 86, 1702, 86, 86, 1704, 86, - 86, 1712, 86, 1710, 1707, 86, 1708, 86, 1717, 86, - 1720, 1714, 1713, 86, 1718, 1722, 86, 1723, 86, 1716, + 1674, 1671, 86, 86, 1675, 1672, 86, 86, 1678, 86, + 1673, 1682, 86, 86, 86, 86, 1684, 1676, 1683, 86, + 1677, 1679, 86, 86, 1687, 1681, 86, 1680, 1686, 1685, + 1688, 86, 86, 86, 86, 1689, 1695, 86, 1694, 86, + 86, 86, 1692, 1690, 86, 1700, 1698, 86, 1699, 86, + 1691, 86, 1702, 86, 1693, 86, 86, 1696, 1703, 1704, + 86, 1697, 86, 86, 86, 86, 1707, 86, 86, 1701, + 86, 1712, 1705, 86, 1710, 86, 86, 86, 1706, 86, + 86, 1718, 1716, 86, 86, 1708, 86, 1709, 1711, 86, + 1713, 86, 1719, 1717, 1714, 1715, 86, 1724, 86, 86, - 1719, 86, 1715, 86, 1721, 86, 1725, 86, 86, 86, - 86, 1728, 1731, 86, 1727, 1730, 86, 170, 1724, 86, - 86, 1733, 1732, 1726, 86, 86, 86, 1729, 86, 1741, - 86, 3419, 86, 1734, 1736, 1742, 86, 1735, 86, 1739, - 1745, 86, 86, 1737, 1738, 86, 86, 1746, 1749, 86, - 1747, 1740, 1743, 1751, 1750, 86, 1744, 1753, 86, 86, - 1755, 86, 1748, 86, 86, 86, 86, 86, 86, 86, - 1760, 1757, 1754, 1758, 86, 1752, 86, 1761, 86, 86, - 86, 1762, 1765, 1756, 86, 1766, 86, 86, 86, 1773, - 1759, 86, 1763, 1764, 1770, 86, 86, 1771, 1767, 1768, + 86, 1721, 1720, 86, 86, 1727, 1729, 86, 1730, 86, + 86, 1723, 1725, 86, 1722, 86, 1732, 1726, 1728, 86, + 86, 86, 86, 1735, 1734, 86, 1737, 1738, 86, 1731, + 1740, 170, 1733, 86, 86, 1739, 86, 86, 86, 1736, + 86, 1748, 86, 86, 86, 86, 1817, 1741, 1743, 1749, + 86, 1742, 1746, 1752, 86, 1744, 1745, 86, 86, 1753, + 1756, 86, 1747, 1750, 86, 1751, 1754, 1758, 86, 1757, + 1760, 86, 86, 86, 1762, 86, 86, 1755, 86, 86, + 86, 86, 86, 1767, 1764, 1761, 1765, 86, 1759, 86, + 1768, 1763, 86, 86, 1769, 86, 1772, 86, 1773, 86, - 86, 1774, 86, 1775, 86, 86, 1769, 1780, 86, 1772, - 1778, 1777, 1782, 1779, 1781, 86, 1783, 86, 86, 1776, - 86, 1789, 86, 86, 1785, 1784, 86, 1786, 1787, 86, - 86, 86, 1794, 1795, 86, 1788, 1791, 86, 86, 86, - 1793, 86, 1797, 86, 86, 86, 1796, 1790, 86, 1799, - 1801, 1792, 1800, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 1811, 86, 1798, 1810, 86, 86, - 86, 1805, 1802, 1806, 1807, 1803, 1804, 86, 86, 1808, - 1813, 1814, 1816, 1809, 1812, 86, 1818, 86, 86, 86, - 1815, 1822, 86, 86, 86, 86, 86, 1826, 1817, 1824, + 86, 86, 1780, 1766, 3438, 1770, 86, 1771, 86, 1777, + 86, 1775, 1778, 1774, 86, 1781, 86, 1782, 86, 86, + 1776, 86, 1787, 1785, 1779, 1784, 1786, 1788, 86, 1789, + 1790, 86, 86, 1783, 1796, 86, 86, 1791, 86, 1792, + 86, 1793, 1794, 86, 86, 86, 1801, 1802, 86, 1795, + 1798, 86, 86, 86, 1800, 86, 1804, 86, 86, 86, + 1803, 1797, 86, 1806, 1808, 1799, 1807, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 1818, 86, + 1805, 86, 86, 86, 86, 1812, 1809, 1813, 1814, 1810, + 1811, 1820, 86, 1815, 1821, 1823, 1819, 1816, 86, 86, - 86, 1820, 86, 86, 86, 1819, 86, 1825, 86, 86, - 1821, 86, 86, 1823, 86, 1827, 1828, 1831, 1833, 86, - 86, 1832, 1830, 1834, 86, 1836, 1835, 1829, 86, 1841, - 86, 1840, 1842, 86, 1837, 86, 1843, 1839, 1844, 1838, - 86, 1846, 86, 1845, 86, 86, 86, 86, 1847, 1850, - 1849, 86, 1851, 86, 86, 86, 86, 86, 1860, 86, - 86, 1859, 86, 1848, 1854, 1856, 1858, 86, 1857, 1853, - 1852, 86, 86, 1855, 86, 1862, 1866, 86, 86, 86, - 1861, 1867, 86, 1868, 86, 86, 1864, 86, 1872, 1863, - 1865, 1869, 86, 86, 86, 1876, 86, 86, 1875, 86, + 1825, 86, 1828, 1824, 86, 1822, 1829, 86, 86, 86, + 86, 1833, 86, 1827, 1831, 86, 86, 86, 1826, 86, + 1832, 86, 86, 86, 1830, 86, 86, 1834, 1838, 1835, + 1840, 1841, 86, 86, 1842, 1837, 1839, 1848, 86, 86, + 1836, 1843, 1847, 1849, 86, 1850, 86, 1844, 1853, 86, + 86, 1846, 1845, 1852, 86, 86, 86, 86, 86, 86, + 1857, 1856, 86, 1858, 1851, 86, 86, 1854, 86, 1866, + 86, 1861, 1867, 86, 1855, 86, 86, 1863, 1859, 1865, + 1864, 1860, 86, 86, 86, 1862, 86, 1873, 86, 86, + 86, 86, 1874, 86, 1875, 1869, 1868, 86, 1871, 86, - 1873, 1874, 1870, 1871, 1880, 1878, 86, 86, 1879, 1877, - 86, 1884, 86, 86, 86, 1881, 1885, 86, 86, 1889, - 1890, 1892, 86, 1893, 1886, 1883, 86, 1882, 1887, 86, - 86, 86, 1896, 86, 1888, 1894, 1891, 86, 86, 1897, - 86, 1900, 86, 86, 1904, 1895, 1902, 86, 86, 86, - 86, 86, 1903, 86, 1899, 1901, 1905, 1898, 86, 86, - 86, 1908, 86, 86, 86, 1915, 86, 1909, 1906, 1911, - 1907, 86, 1910, 1917, 1918, 1912, 86, 1913, 1914, 86, - 86, 1920, 86, 86, 1919, 86, 86, 1916, 1924, 86, - 86, 1926, 86, 86, 1930, 86, 1921, 86, 86, 1925, + 1876, 1870, 1872, 86, 1879, 86, 86, 1883, 1881, 1878, + 1882, 86, 86, 1880, 86, 1877, 86, 1887, 86, 1891, + 1885, 1884, 86, 1886, 1892, 86, 86, 86, 86, 1897, + 86, 86, 1888, 1896, 3438, 86, 1890, 1889, 1899, 86, + 1893, 1900, 1894, 86, 1895, 86, 1903, 86, 1898, 86, + 1901, 1905, 86, 86, 1907, 1904, 86, 1902, 1911, 86, + 86, 86, 1909, 86, 86, 86, 86, 1906, 1910, 1908, + 86, 1912, 86, 86, 1915, 1916, 86, 86, 86, 86, + 1913, 1917, 1923, 86, 1914, 1919, 1918, 86, 1925, 1926, + 1920, 86, 1921, 1922, 86, 86, 1928, 86, 86, 86, - 86, 1922, 86, 86, 1923, 1933, 1932, 86, 1928, 86, - 86, 1929, 1927, 86, 1934, 1935, 1936, 86, 1931, 170, - 1939, 86, 1938, 1942, 86, 86, 1937, 86, 86, 1946, - 86, 1940, 86, 86, 86, 86, 1941, 86, 86, 1944, - 1948, 86, 1953, 3419, 1943, 86, 1947, 1945, 86, 1949, - 1950, 86, 86, 1951, 1958, 1952, 86, 1954, 1956, 1955, - 1957, 86, 1959, 86, 86, 1961, 1962, 1963, 86, 1960, - 86, 86, 86, 1965, 86, 86, 86, 1966, 86, 86, - 86, 86, 1964, 86, 86, 1971, 1972, 86, 86, 1976, - 86, 86, 1973, 86, 3419, 1967, 1969, 1970, 1968, 1974, + 1927, 1932, 86, 1934, 1924, 86, 86, 86, 86, 86, + 86, 1929, 1938, 86, 86, 86, 1930, 86, 1931, 1933, + 1941, 1940, 86, 1936, 86, 86, 1937, 1935, 86, 1942, + 1939, 1944, 86, 1943, 1946, 1947, 170, 1945, 86, 1950, + 86, 86, 86, 86, 1954, 86, 86, 86, 1948, 86, + 86, 86, 86, 1949, 1952, 86, 1956, 86, 1957, 1961, + 1951, 1955, 1953, 1958, 86, 86, 3438, 1962, 86, 1959, + 1964, 1966, 1960, 1965, 86, 1963, 1967, 86, 86, 86, + 1970, 1971, 86, 1968, 86, 86, 86, 1973, 1969, 86, + 86, 86, 1974, 86, 86, 86, 1972, 86, 86, 86, - 1977, 86, 86, 1975, 1984, 86, 1982, 1980, 1983, 1985, - 1979, 86, 86, 1978, 1981, 86, 86, 86, 86, 86, - 86, 1991, 86, 1994, 1995, 86, 1996, 86, 86, 1998, - 86, 1987, 1986, 1989, 1992, 1988, 1993, 86, 1990, 86, - 1999, 86, 2002, 86, 2004, 86, 2006, 86, 1997, 2003, - 86, 86, 86, 2008, 2005, 86, 86, 86, 2000, 86, - 2010, 86, 2001, 2011, 86, 2007, 2013, 2014, 86, 86, - 86, 86, 86, 86, 2018, 2020, 2012, 2017, 86, 86, - 2009, 86, 86, 2019, 2015, 86, 2028, 86, 3419, 2026, - 86, 2016, 86, 86, 2021, 2022, 2023, 2030, 86, 2025, + 1979, 86, 1980, 86, 86, 86, 1984, 1981, 86, 3438, + 1975, 1977, 1978, 1976, 1983, 1982, 86, 1985, 86, 86, + 1991, 1988, 86, 1990, 1987, 1992, 86, 1993, 1989, 86, + 1986, 86, 86, 86, 86, 86, 1999, 86, 2002, 86, + 1994, 1995, 2003, 86, 2004, 86, 86, 1997, 1996, 2000, + 86, 2001, 1998, 2006, 86, 86, 2007, 2010, 86, 2005, + 86, 86, 2012, 86, 2011, 86, 2013, 2008, 86, 2014, + 2016, 2009, 2019, 86, 86, 86, 86, 2018, 86, 2015, + 86, 2022, 86, 86, 86, 2021, 86, 86, 2026, 86, + 2017, 2025, 86, 86, 2027, 2028, 86, 86, 2020, 2023, - 2034, 2024, 2031, 86, 2032, 2027, 86, 2029, 2033, 86, - 2037, 86, 86, 86, 2041, 86, 86, 2035, 86, 86, - 2038, 86, 2043, 86, 2036, 86, 2046, 2047, 86, 86, - 2049, 86, 2039, 86, 2040, 86, 2054, 86, 86, 2044, - 86, 86, 86, 86, 2042, 2045, 2051, 2052, 86, 2048, - 2056, 86, 86, 86, 86, 2062, 2053, 2055, 2050, 2059, - 86, 2057, 2060, 2058, 86, 86, 2066, 86, 86, 2061, - 2065, 2069, 86, 86, 86, 2068, 2070, 86, 2072, 86, - 2064, 2073, 86, 86, 86, 86, 2063, 2067, 2074, 86, - 86, 86, 2071, 86, 2075, 86, 2079, 86, 2082, 2076, + 86, 86, 2036, 86, 2024, 2029, 2030, 2031, 86, 2038, + 2034, 86, 2032, 86, 2039, 86, 2033, 2035, 2041, 86, + 2037, 2042, 86, 2045, 2043, 2040, 86, 86, 86, 86, + 2049, 86, 86, 86, 2051, 2046, 86, 2044, 86, 86, + 2054, 2055, 86, 86, 2057, 86, 86, 2047, 86, 2048, + 86, 86, 86, 2064, 86, 2062, 2052, 2059, 2050, 2060, + 2053, 86, 86, 2056, 86, 86, 86, 86, 2063, 86, + 2070, 2058, 2061, 2067, 2068, 86, 86, 86, 2074, 2066, + 86, 86, 2073, 2065, 86, 2077, 86, 86, 2076, 2078, + 2080, 86, 2072, 2069, 2081, 86, 86, 86, 86, 86, - 2083, 2084, 2078, 86, 86, 86, 86, 86, 2077, 2080, - 86, 86, 86, 86, 2087, 2092, 86, 2091, 86, 2086, - 86, 2081, 86, 2085, 3419, 2089, 2096, 86, 2097, 86, - 2088, 86, 2093, 2090, 86, 2094, 86, 2095, 2099, 86, - 2098, 2100, 86, 2101, 2104, 86, 86, 2102, 86, 86, - 2107, 86, 2103, 86, 2108, 2111, 86, 86, 86, 2115, - 86, 86, 2106, 2113, 86, 2116, 86, 2105, 86, 2114, - 2117, 2109, 2112, 2110, 86, 86, 86, 2118, 2122, 86, - 2123, 86, 2124, 2126, 3419, 2119, 2127, 2125, 86, 86, - 2120, 86, 86, 86, 2131, 2121, 2129, 86, 86, 86, + 2075, 2071, 2082, 86, 86, 2079, 86, 2083, 86, 2087, + 86, 86, 2090, 86, 2091, 2092, 2086, 86, 86, 2084, + 86, 86, 2085, 86, 86, 86, 2088, 2095, 2100, 86, + 2099, 86, 2094, 2093, 86, 86, 2089, 86, 2097, 86, + 2105, 2104, 86, 2096, 86, 86, 2098, 86, 2106, 2102, + 2101, 2108, 86, 2107, 2103, 86, 2110, 2112, 86, 2109, + 86, 2111, 86, 86, 86, 86, 2119, 86, 2113, 2116, + 86, 86, 86, 86, 2114, 86, 2122, 2124, 86, 86, + 2125, 2115, 2121, 2117, 2127, 2118, 2123, 86, 2120, 86, + 86, 2126, 2131, 86, 2132, 86, 2133, 2135, 2136, 86, - 86, 86, 2128, 2133, 86, 2130, 2136, 86, 2138, 2132, - 2134, 86, 86, 170, 86, 86, 86, 86, 2141, 86, - 86, 2147, 86, 2139, 2145, 2146, 2135, 2142, 2143, 2137, - 86, 2140, 2148, 86, 2149, 86, 2144, 2151, 86, 86, - 86, 86, 86, 86, 2152, 2153, 86, 2154, 2155, 86, - 2150, 2156, 2157, 86, 2158, 86, 2159, 86, 86, 2163, - 86, 86, 86, 2162, 86, 2160, 86, 2165, 86, 2161, - 2164, 2166, 86, 2168, 86, 2167, 86, 2170, 86, 86, - 86, 2175, 86, 2173, 2169, 2174, 86, 86, 86, 86, - 86, 2180, 86, 86, 2171, 2177, 86, 2172, 86, 2185, + 2128, 2134, 86, 86, 86, 2129, 86, 86, 2140, 86, + 2130, 2138, 86, 86, 86, 86, 2142, 2145, 86, 2139, + 2147, 2141, 86, 86, 86, 2137, 86, 2143, 170, 86, + 86, 86, 86, 2150, 86, 2156, 86, 2154, 2144, 2155, + 2146, 2148, 2151, 2152, 2149, 2157, 86, 86, 2153, 2158, + 86, 2160, 86, 86, 86, 86, 86, 86, 2161, 2162, + 86, 2163, 2164, 86, 86, 2165, 2166, 2159, 2167, 86, + 2168, 86, 86, 2172, 86, 86, 2169, 2171, 86, 86, + 86, 86, 2176, 2170, 2173, 2174, 2175, 2177, 86, 86, + 86, 86, 86, 86, 86, 86, 2182, 2184, 2178, 2179, - 2176, 86, 2181, 2179, 86, 2183, 2178, 86, 86, 2189, - 2182, 86, 86, 2184, 2191, 86, 2186, 86, 86, 86, - 2187, 2192, 2188, 86, 2190, 2197, 86, 86, 2193, 86, - 2199, 86, 86, 2194, 2195, 2202, 86, 2196, 2200, 2201, - 86, 2203, 86, 2198, 86, 2204, 86, 2207, 86, 86, - 86, 86, 2206, 86, 86, 2205, 2208, 86, 2211, 2212, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 2209, 2210, 2214, 2215, 2220, 2213, 2217, 2216, 2225, 86, - 2219, 2224, 86, 86, 86, 86, 2222, 2221, 2228, 2218, - 2223, 86, 86, 86, 86, 2232, 2229, 2231, 86, 86, + 2183, 86, 86, 86, 86, 86, 2189, 2180, 86, 86, + 2181, 2185, 2187, 2186, 86, 2188, 86, 2190, 2192, 86, + 2191, 86, 2194, 2195, 86, 86, 2200, 86, 2193, 2198, + 86, 2196, 86, 2201, 86, 86, 86, 2197, 2199, 2206, + 86, 86, 2208, 86, 86, 86, 2209, 86, 2202, 2205, + 2203, 2204, 2210, 86, 86, 2211, 86, 2207, 2212, 86, + 86, 2213, 2215, 2216, 86, 86, 2214, 86, 2220, 86, + 86, 2217, 86, 86, 86, 86, 2218, 86, 86, 2221, + 86, 86, 86, 86, 86, 2219, 2223, 2224, 2225, 2226, + 2229, 2234, 86, 2222, 86, 2228, 86, 86, 86, 86, - 2226, 86, 86, 2227, 2230, 2235, 2234, 86, 2236, 86, - 86, 86, 2233, 2240, 86, 86, 2238, 2242, 2245, 86, - 2237, 2239, 86, 86, 2243, 86, 86, 86, 2244, 2241, - 2247, 86, 2249, 2248, 86, 86, 2253, 86, 86, 2250, - 86, 2246, 86, 2254, 2251, 86, 86, 86, 2257, 86, - 2255, 86, 2256, 2258, 86, 2252, 86, 2259, 2262, 86, - 2261, 86, 2263, 2266, 2260, 86, 2264, 2265, 86, 86, - 2267, 86, 86, 2268, 2269, 86, 2270, 2272, 86, 86, - 2274, 86, 2275, 86, 2271, 86, 86, 2273, 86, 86, - 2277, 2281, 2276, 2282, 86, 3419, 2283, 2279, 86, 86, + 2431, 2231, 2237, 2230, 2227, 2232, 2233, 86, 86, 86, + 86, 2241, 2238, 2240, 2235, 86, 86, 2236, 2239, 86, + 2243, 86, 86, 2244, 86, 86, 86, 2249, 2242, 2251, + 2245, 2247, 86, 86, 2252, 86, 2248, 2246, 2254, 86, + 86, 86, 86, 86, 2257, 2250, 2256, 2253, 2258, 86, + 86, 86, 2262, 86, 2259, 86, 86, 2266, 86, 86, + 2263, 86, 2267, 86, 86, 2265, 2255, 2268, 2260, 2264, + 86, 2261, 2271, 86, 86, 2272, 86, 2275, 2270, 86, + 2269, 86, 86, 86, 2276, 2273, 86, 3438, 2277, 86, + 2279, 2281, 86, 86, 2283, 86, 2274, 86, 2280, 2278, - 2280, 2284, 86, 86, 2278, 86, 2285, 2286, 86, 86, - 2289, 2287, 86, 2290, 86, 2288, 2294, 86, 86, 86, - 86, 86, 2291, 2293, 86, 86, 86, 86, 86, 3419, - 2300, 86, 2292, 2301, 2298, 86, 2295, 2296, 86, 2302, - 2297, 2299, 86, 2304, 2306, 86, 86, 2305, 2303, 86, - 86, 2307, 2309, 86, 2310, 2315, 86, 86, 86, 86, - 2317, 86, 86, 86, 2308, 2311, 2314, 2312, 2316, 86, - 86, 170, 86, 2319, 2323, 2320, 2321, 2318, 2313, 2325, - 86, 2322, 2327, 2328, 2326, 86, 86, 86, 86, 86, - 2329, 86, 2331, 2324, 2330, 2332, 86, 86, 2333, 86, + 86, 2282, 86, 2284, 2285, 2286, 86, 86, 2290, 86, + 86, 86, 2292, 86, 86, 2287, 2288, 2293, 86, 2289, + 2295, 86, 2294, 86, 86, 2296, 2297, 86, 2298, 2299, + 2291, 86, 2303, 86, 2300, 86, 86, 86, 86, 86, + 2302, 86, 86, 86, 86, 86, 86, 2301, 2310, 86, + 86, 2316, 2308, 2304, 2305, 2306, 2309, 2311, 2312, 86, + 86, 86, 2307, 86, 2313, 2314, 2315, 86, 2322, 2317, + 86, 86, 2320, 2319, 2321, 2325, 86, 86, 2327, 86, + 2324, 86, 2318, 86, 86, 86, 2326, 2329, 86, 2330, + 2333, 170, 86, 2337, 86, 2323, 86, 2335, 2331, 86, - 2336, 2337, 86, 86, 2338, 86, 86, 2341, 86, 2343, - 2342, 2339, 2334, 86, 2344, 86, 86, 86, 86, 2346, - 86, 2345, 2347, 2335, 2340, 86, 86, 86, 86, 86, - 2349, 86, 86, 2352, 86, 86, 86, 2348, 86, 2355, - 2350, 86, 86, 2359, 2354, 2361, 86, 86, 86, 86, - 2356, 2357, 2351, 2362, 2353, 86, 2358, 2363, 86, 86, - 2364, 86, 86, 2360, 86, 86, 2366, 2369, 2372, 86, - 2367, 86, 86, 2365, 2370, 86, 86, 86, 2368, 2373, - 86, 86, 2371, 86, 2374, 3419, 86, 86, 86, 86, - 86, 2375, 2386, 2380, 2385, 86, 2378, 86, 2376, 2383, + 2328, 86, 2336, 86, 2338, 86, 2349, 2332, 2339, 2340, + 86, 86, 2341, 2334, 2342, 86, 86, 2343, 2347, 86, + 2346, 86, 2348, 86, 2351, 86, 2353, 86, 2354, 86, + 86, 2344, 2352, 86, 2356, 86, 86, 86, 2355, 2357, + 86, 2350, 2345, 86, 86, 86, 86, 2359, 86, 86, + 2362, 86, 86, 86, 2365, 86, 2358, 2360, 86, 86, + 2369, 2364, 2371, 86, 86, 86, 86, 2367, 2372, 2361, + 2366, 2363, 86, 2368, 2373, 86, 86, 2374, 86, 86, + 2370, 86, 86, 2379, 2376, 2382, 86, 2377, 86, 86, + 2383, 2375, 2380, 86, 86, 2378, 86, 86, 86, 2381, - 2377, 2379, 2382, 2384, 2381, 2387, 86, 86, 86, 2391, - 2390, 2389, 2388, 86, 86, 2393, 2394, 86, 86, 86, - 2395, 2396, 86, 86, 86, 2399, 2392, 86, 86, 2402, - 86, 2403, 86, 86, 2397, 86, 2398, 2400, 2404, 86, - 2401, 86, 2409, 86, 2405, 2410, 86, 2406, 86, 2412, - 86, 86, 86, 2408, 86, 2407, 2414, 86, 86, 2416, - 2417, 86, 2418, 86, 86, 86, 2419, 2411, 86, 2413, - 86, 86, 86, 2415, 2420, 86, 2424, 2425, 86, 2427, - 86, 2421, 2422, 86, 86, 86, 2430, 86, 2431, 2423, - 2429, 2426, 86, 2428, 2433, 86, 86, 86, 2436, 86, + 86, 86, 86, 86, 86, 2396, 86, 2384, 2385, 2390, + 2395, 2397, 86, 86, 2393, 2388, 2386, 2392, 2387, 2389, + 2394, 2391, 86, 86, 86, 86, 2399, 2398, 86, 86, + 2403, 2404, 86, 86, 86, 2405, 2451, 2400, 86, 2401, + 86, 2402, 2406, 86, 86, 2409, 86, 2412, 86, 2407, + 86, 2408, 2413, 86, 86, 2410, 86, 86, 2411, 2414, + 2416, 2415, 2419, 86, 2420, 86, 86, 2422, 86, 2418, + 2417, 86, 2424, 86, 86, 86, 2427, 86, 86, 2426, + 2428, 86, 86, 86, 86, 2421, 2435, 86, 86, 2423, + 2425, 2430, 2429, 2434, 86, 2437, 86, 2432, 86, 86, - 2439, 86, 86, 2432, 2434, 86, 86, 2435, 86, 86, - 2444, 86, 2437, 2443, 86, 86, 86, 86, 2438, 2446, - 86, 2442, 2440, 2449, 86, 86, 86, 2445, 2441, 86, - 2447, 2448, 2451, 86, 2452, 86, 2456, 2450, 86, 86, - 2458, 86, 86, 2462, 2453, 2459, 86, 2454, 2457, 86, - 86, 2464, 86, 2463, 86, 2465, 86, 86, 86, 2455, - 2460, 2469, 2461, 86, 86, 86, 2474, 2467, 2471, 2472, - 86, 86, 86, 2477, 86, 86, 86, 2466, 2468, 86, - 2473, 2478, 86, 86, 2470, 86, 2476, 2479, 2481, 86, - 86, 2475, 2482, 86, 2483, 86, 86, 2487, 170, 2480, + 86, 86, 86, 2433, 2440, 2439, 86, 2441, 2443, 86, + 86, 86, 2446, 2436, 86, 86, 2438, 2445, 86, 2444, + 2449, 86, 2442, 86, 86, 86, 2447, 86, 2453, 2454, + 86, 86, 2456, 2448, 86, 2450, 86, 2455, 2452, 86, + 2457, 2459, 86, 2461, 86, 86, 2458, 86, 86, 2466, + 86, 86, 86, 2462, 2460, 86, 2474, 2468, 86, 2467, + 2472, 2469, 2463, 2464, 2473, 86, 86, 86, 86, 86, + 2475, 86, 86, 2465, 86, 86, 2470, 2479, 2471, 2481, + 2482, 2477, 2484, 86, 86, 2485, 86, 2488, 86, 86, + 2478, 86, 2476, 86, 2489, 86, 86, 2480, 2483, 86, - 2488, 2489, 2484, 2499, 2485, 2486, 86, 86, 86, 86, - 2491, 2494, 2490, 86, 2493, 86, 2495, 86, 2492, 86, - 86, 2498, 86, 86, 2496, 86, 2504, 86, 2497, 86, - 86, 86, 86, 86, 86, 86, 2511, 86, 2506, 2502, - 86, 2503, 2500, 2507, 2501, 2505, 86, 2510, 2508, 2509, - 3419, 2512, 2514, 2515, 86, 86, 2516, 2513, 2517, 86, - 86, 86, 2520, 2518, 2521, 86, 2519, 86, 86, 86, - 86, 2523, 86, 86, 2522, 86, 2525, 86, 86, 2529, - 2530, 2524, 86, 2527, 86, 2526, 86, 2532, 86, 86, - 86, 86, 2533, 2534, 2535, 86, 2528, 86, 2531, 86, + 2490, 2487, 86, 86, 86, 2486, 2493, 86, 86, 86, + 86, 2494, 2492, 2495, 2499, 86, 2496, 2497, 2500, 2501, + 86, 2491, 86, 2498, 86, 86, 2504, 2505, 86, 2506, + 2502, 2503, 86, 86, 86, 2509, 86, 2507, 170, 86, + 86, 2508, 86, 2510, 86, 2515, 86, 86, 86, 2517, + 86, 86, 86, 2526, 86, 2513, 2511, 2516, 2512, 2518, + 2514, 86, 86, 2521, 2519, 2520, 86, 2523, 3438, 2522, + 86, 2527, 2524, 2525, 2528, 86, 86, 86, 2531, 2529, + 2532, 86, 2530, 86, 86, 86, 86, 2534, 86, 86, + 2533, 86, 2536, 86, 86, 2540, 2541, 2535, 86, 2538, - 2537, 86, 2536, 2541, 86, 2540, 86, 86, 2538, 2539, - 86, 86, 2543, 86, 86, 86, 86, 2550, 2547, 2542, - 86, 2549, 86, 86, 86, 86, 2551, 2546, 86, 86, - 2544, 2545, 86, 2555, 86, 2548, 86, 86, 2565, 2560, - 2552, 2559, 86, 2553, 2554, 86, 2557, 86, 2558, 86, - 2556, 2562, 86, 86, 86, 2561, 2564, 2566, 86, 2568, - 86, 2563, 2570, 86, 2569, 2572, 86, 86, 86, 2574, - 86, 86, 86, 86, 86, 2571, 2573, 86, 2578, 2567, - 86, 86, 86, 86, 2583, 86, 2576, 2581, 2582, 2575, - 2577, 2584, 86, 2585, 86, 2586, 86, 2587, 86, 86, + 86, 2537, 86, 2543, 86, 86, 86, 86, 2544, 2545, + 2546, 86, 2539, 86, 2542, 86, 2548, 86, 2547, 2552, + 86, 2551, 86, 86, 2549, 2550, 86, 86, 2554, 86, + 86, 86, 86, 2561, 2558, 2553, 86, 2560, 86, 86, + 86, 86, 2562, 2557, 86, 86, 2555, 2556, 86, 2566, + 86, 2559, 86, 86, 2576, 2571, 2563, 2570, 86, 2564, + 2565, 86, 2568, 86, 2569, 86, 2567, 2573, 86, 86, + 86, 2572, 2575, 2577, 86, 2579, 86, 2574, 2581, 86, + 2580, 2583, 86, 86, 86, 2585, 86, 86, 86, 86, + 86, 2582, 2584, 86, 2589, 2578, 86, 86, 86, 86, - 86, 2580, 86, 2579, 86, 2589, 86, 2591, 86, 2594, - 86, 86, 86, 2596, 2592, 2595, 86, 2590, 2588, 86, - 2593, 2599, 86, 86, 86, 86, 2600, 2598, 86, 2597, - 86, 2603, 2604, 86, 86, 2601, 86, 2607, 86, 2605, - 2609, 2608, 2602, 2606, 86, 86, 86, 86, 86, 86, - 86, 2613, 2617, 86, 86, 2616, 2618, 86, 2610, 2611, - 2612, 2619, 86, 2620, 86, 86, 2621, 2614, 86, 2615, - 86, 2624, 86, 2623, 86, 2625, 86, 86, 86, 86, - 2631, 86, 86, 2622, 2626, 2633, 86, 86, 2627, 2634, - 86, 86, 86, 86, 86, 2630, 86, 2628, 2635, 2629, + 2594, 86, 2587, 2592, 2593, 2586, 2588, 2595, 86, 2596, + 86, 2597, 86, 2598, 86, 86, 86, 2591, 86, 2590, + 86, 2600, 86, 2602, 86, 2605, 86, 86, 86, 2607, + 2603, 2606, 86, 2601, 2599, 86, 2604, 2610, 86, 86, + 86, 86, 2611, 2609, 86, 2608, 86, 2614, 2615, 86, + 86, 2612, 86, 2618, 86, 2616, 2620, 2619, 2613, 2617, + 86, 86, 86, 86, 86, 86, 86, 2624, 2628, 86, + 86, 2627, 2629, 86, 2621, 2622, 2623, 2630, 86, 2631, + 86, 86, 2632, 2625, 86, 2626, 86, 2635, 86, 2634, + 86, 2636, 86, 86, 86, 86, 86, 86, 86, 2633, - 2637, 2632, 86, 2636, 2638, 86, 86, 2640, 2643, 86, - 86, 86, 86, 86, 2639, 2644, 2641, 86, 86, 86, - 86, 2651, 86, 170, 86, 2642, 2647, 86, 2653, 2654, - 86, 2646, 2649, 86, 2650, 2652, 2645, 2655, 86, 2656, - 86, 2648, 86, 2660, 86, 86, 2664, 86, 2657, 2662, - 2663, 2665, 86, 86, 2666, 2658, 2661, 86, 2667, 86, - 2668, 2659, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 2670, 2679, 86, 86, 2677, 86, - 2669, 2672, 86, 2671, 3419, 2673, 2674, 86, 2683, 2675, - 2676, 2678, 2680, 2685, 2681, 2682, 2684, 86, 86, 2688, + 2637, 2643, 86, 2645, 86, 2639, 2646, 86, 86, 2647, + 86, 86, 2638, 2642, 2640, 2644, 2641, 2649, 86, 86, + 2648, 86, 86, 2650, 2652, 2655, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 2663, 2656, 86, 2651, 170, + 86, 2653, 2654, 2659, 86, 2665, 2661, 86, 86, 2658, + 86, 2664, 2667, 86, 2657, 2660, 2662, 2666, 2669, 86, + 86, 86, 2668, 2672, 86, 86, 2674, 2676, 86, 2675, + 2677, 86, 2670, 2673, 86, 2678, 2671, 86, 2679, 86, + 2680, 86, 86, 2681, 86, 86, 86, 86, 86, 86, + 86, 86, 2682, 2691, 86, 86, 86, 86, 2689, 2684, - 86, 86, 2690, 86, 2686, 86, 86, 2687, 86, 86, - 2689, 86, 86, 86, 86, 2693, 2699, 86, 2700, 86, - 86, 86, 86, 2691, 2692, 86, 2694, 2695, 2703, 2697, - 2696, 2704, 86, 2698, 2705, 86, 2706, 86, 86, 2702, - 2701, 86, 86, 2707, 86, 86, 86, 3419, 86, 2711, - 2716, 86, 2708, 2714, 86, 2710, 2715, 2709, 86, 86, - 2717, 2718, 86, 86, 86, 2712, 2713, 86, 86, 86, - 86, 86, 2720, 86, 2724, 2725, 86, 86, 2719, 2722, - 2729, 2730, 86, 2721, 86, 86, 2733, 86, 2723, 86, - 86, 2726, 2727, 86, 86, 86, 2728, 2736, 86, 2731, + 3438, 2683, 86, 2695, 2686, 2685, 2696, 86, 2688, 2687, + 2690, 86, 86, 2693, 2692, 2694, 2700, 86, 2698, 86, + 86, 2699, 2702, 86, 86, 2697, 86, 86, 2701, 86, + 86, 86, 86, 2705, 2711, 86, 2712, 86, 2703, 86, + 86, 86, 2704, 86, 2706, 2707, 86, 2709, 2708, 2715, + 2718, 2710, 2716, 86, 2717, 86, 86, 86, 2714, 2713, + 2721, 86, 86, 86, 2719, 86, 86, 2723, 86, 86, + 2727, 2726, 2720, 2728, 86, 2722, 86, 86, 2729, 2730, + 86, 86, 86, 2724, 86, 2725, 2732, 86, 2731, 86, + 86, 86, 2736, 86, 2734, 2737, 86, 2742, 86, 2741, - 2734, 86, 2738, 2732, 86, 2735, 2739, 86, 2740, 2737, - 86, 2744, 86, 86, 86, 86, 2741, 2748, 86, 2747, - 86, 2750, 86, 2746, 2742, 2745, 86, 86, 86, 86, - 2743, 2751, 86, 2756, 86, 86, 2752, 86, 2757, 2749, - 86, 2754, 2759, 86, 2753, 86, 86, 86, 2764, 86, - 86, 86, 2755, 2760, 3419, 2762, 2763, 2758, 2761, 2767, - 86, 86, 86, 86, 86, 86, 2766, 2768, 2769, 2771, - 2765, 86, 86, 2772, 86, 2770, 86, 86, 86, 86, - 86, 2774, 2775, 2777, 2778, 2780, 86, 2781, 86, 86, - 2773, 2776, 2779, 86, 2782, 2784, 170, 86, 86, 2783, + 2733, 86, 86, 86, 2735, 2745, 86, 86, 86, 2738, + 2739, 86, 2748, 2740, 2746, 86, 2743, 2751, 86, 2750, + 2744, 86, 2747, 86, 86, 86, 2749, 2756, 86, 86, + 86, 86, 2760, 86, 2752, 2759, 86, 86, 2753, 2758, + 86, 2757, 2762, 86, 2754, 2755, 86, 86, 86, 2764, + 86, 2763, 86, 2765, 86, 2761, 2768, 86, 3438, 2766, + 86, 2769, 2771, 86, 86, 2772, 86, 2773, 2767, 86, + 2777, 86, 2770, 2774, 86, 2775, 86, 86, 2776, 2780, + 86, 86, 2781, 86, 86, 86, 2782, 86, 86, 2784, + 86, 2779, 86, 2785, 2778, 86, 2788, 2783, 86, 2787, - 2785, 86, 2786, 2789, 3419, 86, 86, 2791, 86, 86, - 2790, 86, 86, 2794, 86, 86, 2787, 2793, 2798, 2788, - 2795, 86, 2799, 2792, 2796, 2797, 86, 2800, 86, 86, - 86, 86, 2804, 86, 2801, 2802, 86, 2805, 86, 86, - 86, 2806, 86, 86, 86, 2803, 2811, 2812, 2807, 2813, - 2809, 86, 86, 86, 86, 2808, 86, 86, 86, 2817, - 86, 2815, 2816, 2814, 2810, 2819, 86, 86, 86, 86, - 2818, 2820, 86, 86, 86, 2825, 86, 86, 2823, 86, - 3419, 2822, 2824, 2828, 86, 2821, 2826, 86, 86, 86, - 2827, 2833, 86, 2829, 86, 2830, 86, 86, 86, 2831, + 2790, 86, 86, 2791, 2793, 86, 2786, 2789, 2794, 86, + 86, 2797, 170, 86, 86, 2795, 2792, 86, 86, 2799, + 2798, 2796, 2802, 86, 86, 86, 2804, 86, 86, 2803, + 2807, 86, 2806, 2808, 86, 2800, 2801, 86, 2805, 2810, + 86, 86, 2812, 86, 2811, 86, 86, 2813, 86, 86, + 2809, 2814, 2817, 86, 2815, 86, 86, 2816, 86, 2818, + 2821, 2819, 2820, 86, 86, 86, 2824, 2825, 86, 86, + 2826, 2822, 86, 86, 86, 86, 2828, 86, 2830, 2829, + 2827, 86, 86, 86, 86, 2823, 2832, 2833, 86, 2831, + 86, 86, 86, 2838, 86, 86, 2841, 2835, 86, 2836, - 86, 2834, 86, 2832, 86, 2836, 86, 2835, 2838, 86, - 2842, 3419, 2837, 2843, 86, 2840, 86, 2839, 2845, 2846, - 2848, 3419, 2841, 86, 86, 86, 86, 2849, 86, 2844, - 86, 2850, 86, 86, 2847, 2851, 2854, 86, 86, 86, - 2855, 2852, 86, 2856, 86, 86, 2853, 86, 2859, 2861, - 86, 86, 2857, 2862, 86, 2863, 86, 86, 86, 2858, - 86, 2864, 86, 2860, 86, 2865, 2866, 86, 2870, 2868, - 2869, 2867, 86, 2871, 86, 86, 2874, 2875, 86, 2876, - 86, 86, 2873, 86, 2872, 86, 2877, 2879, 86, 86, - 2882, 86, 86, 2883, 2878, 2884, 86, 86, 2886, 86, + 2837, 2834, 86, 2839, 2842, 86, 2840, 86, 2846, 86, + 86, 86, 86, 86, 2843, 2851, 86, 2847, 86, 86, + 86, 2849, 86, 86, 86, 2844, 2845, 2855, 2850, 2858, + 2848, 2856, 86, 2859, 2853, 86, 3438, 2852, 2861, 86, + 2854, 86, 2860, 86, 86, 2862, 86, 2857, 2864, 2863, + 86, 86, 2867, 86, 86, 86, 2868, 86, 86, 2865, + 86, 2869, 86, 2872, 2866, 2874, 86, 86, 2870, 3438, + 2871, 2875, 86, 2876, 86, 86, 86, 86, 2873, 2877, + 86, 2878, 2879, 86, 86, 2881, 2883, 2880, 86, 2882, + 86, 2884, 86, 86, 2887, 86, 2885, 2888, 86, 2889, - 86, 86, 86, 2880, 2890, 2891, 86, 86, 2893, 2881, - 86, 2892, 2885, 2887, 86, 86, 2889, 2895, 86, 2888, - 2894, 86, 2896, 86, 86, 86, 2901, 2900, 86, 86, - 2904, 86, 86, 2903, 86, 86, 86, 86, 86, 2905, - 2907, 2897, 86, 2906, 2898, 2899, 86, 86, 2910, 2909, - 86, 86, 86, 2902, 86, 2911, 2912, 2913, 2917, 86, - 2914, 2908, 86, 86, 86, 2916, 2919, 86, 2918, 86, - 2915, 86, 2924, 3419, 2920, 2923, 2921, 2925, 86, 2926, - 2929, 86, 86, 2922, 2927, 86, 86, 2930, 2928, 86, - 2931, 86, 2932, 86, 2933, 86, 86, 2937, 2934, 86, + 86, 86, 86, 2891, 2890, 2893, 86, 86, 2886, 2896, + 86, 86, 2897, 2894, 86, 2892, 2898, 86, 2900, 86, + 86, 86, 86, 86, 2904, 2905, 86, 2895, 86, 2899, + 86, 2907, 2906, 2901, 86, 86, 2903, 86, 2909, 2902, + 2908, 86, 86, 2910, 86, 2915, 2911, 86, 2914, 86, + 86, 86, 86, 2917, 2912, 2918, 86, 2919, 2920, 86, + 86, 2913, 2921, 86, 86, 2924, 2923, 86, 86, 86, + 86, 86, 2916, 2927, 2931, 86, 86, 86, 2938, 86, + 86, 2930, 86, 2939, 86, 2922, 2925, 2926, 2928, 86, + 2932, 2929, 2933, 2935, 86, 86, 2936, 2977, 2940, 2942, - 2935, 86, 86, 86, 2938, 86, 86, 2940, 2944, 86, - 2945, 86, 2941, 86, 86, 86, 2936, 2946, 2948, 86, - 2939, 86, 2949, 2950, 86, 2942, 2943, 86, 2952, 86, - 2953, 2947, 2951, 86, 86, 86, 86, 2958, 86, 86, - 86, 86, 2954, 2955, 2956, 2959, 86, 86, 2960, 86, - 2964, 86, 2970, 86, 2957, 2965, 86, 2962, 2967, 2961, - 86, 86, 2963, 86, 2966, 2968, 2971, 86, 2969, 86, - 86, 2975, 86, 86, 2972, 86, 86, 86, 86, 2981, - 86, 86, 2976, 3419, 86, 86, 2979, 2977, 2974, 2984, - 86, 86, 2982, 86, 2973, 2985, 86, 2986, 2980, 86, + 2934, 86, 2937, 2941, 86, 2943, 86, 86, 2944, 86, + 2945, 86, 2946, 86, 2947, 86, 86, 2948, 86, 86, + 2949, 2951, 86, 2952, 86, 86, 86, 2954, 2958, 86, + 2959, 86, 86, 2955, 86, 2960, 2950, 86, 2953, 2962, + 86, 2964, 86, 86, 2963, 2956, 2957, 86, 2965, 2966, + 86, 86, 2961, 86, 86, 86, 2967, 2972, 86, 86, + 2968, 86, 2969, 2970, 86, 2973, 86, 86, 2974, 2978, + 86, 86, 86, 2971, 2979, 86, 2982, 2976, 86, 2981, + 2980, 86, 86, 2975, 2984, 86, 2983, 2985, 86, 2989, + 86, 86, 2986, 86, 86, 86, 2987, 86, 86, 86, - 2987, 2978, 2983, 86, 2988, 86, 2989, 86, 2991, 2993, - 86, 2992, 2994, 86, 2995, 86, 86, 2990, 86, 3003, - 86, 86, 3000, 86, 2998, 2996, 2999, 86, 86, 86, - 86, 86, 3001, 86, 3002, 86, 86, 3009, 2997, 86, - 3007, 3004, 3005, 86, 3011, 86, 86, 86, 86, 86, - 3012, 3008, 3006, 3013, 3014, 86, 3015, 86, 3016, 86, - 86, 3010, 3017, 3020, 86, 86, 86, 86, 86, 86, - 3023, 86, 3018, 3021, 86, 86, 3024, 86, 3022, 3019, - 3028, 86, 3027, 86, 3025, 86, 3029, 86, 3026, 3031, - 3030, 3033, 86, 3035, 86, 3036, 86, 3038, 86, 86, + 2988, 2996, 2990, 2991, 2993, 86, 2994, 86, 86, 86, + 2997, 86, 3001, 2999, 3000, 2995, 86, 86, 86, 2992, + 86, 86, 3003, 86, 3006, 3002, 2998, 3007, 3008, 86, + 3011, 3004, 3009, 86, 3005, 3010, 86, 86, 86, 86, + 3015, 86, 86, 3014, 86, 86, 86, 3016, 86, 3017, + 3018, 86, 86, 86, 3026, 86, 86, 3012, 3013, 3019, + 3020, 3022, 3024, 86, 86, 86, 3021, 3027, 86, 3028, + 3023, 86, 86, 3030, 86, 86, 3029, 86, 3025, 3035, + 86, 86, 86, 86, 3031, 86, 86, 3038, 86, 3032, + 3033, 86, 86, 86, 3036, 3037, 3042, 3034, 3043, 86, - 86, 86, 3034, 3032, 86, 86, 3041, 86, 3037, 86, - 3043, 3044, 86, 3047, 86, 3039, 3040, 86, 3046, 86, - 3042, 86, 3050, 86, 86, 3053, 86, 3045, 86, 3055, - 86, 3058, 86, 86, 86, 86, 3049, 3048, 3051, 3056, - 3059, 86, 3052, 3061, 86, 86, 86, 86, 3054, 86, - 86, 3066, 3057, 3060, 86, 3064, 3063, 86, 3070, 86, - 86, 86, 3068, 3062, 3072, 86, 86, 3065, 3067, 3073, - 86, 3074, 86, 3077, 3069, 3071, 86, 3075, 3080, 86, - 3078, 86, 86, 86, 86, 3079, 3083, 86, 3082, 86, - 86, 3086, 3076, 86, 3081, 3084, 86, 86, 3089, 86, + 3039, 3040, 86, 3044, 86, 3041, 3048, 86, 3045, 86, + 3046, 3050, 86, 3051, 86, 86, 3053, 86, 86, 86, + 86, 86, 86, 3059, 86, 3056, 86, 3058, 3049, 86, + 3047, 86, 86, 3062, 3054, 3055, 3052, 3057, 3061, 86, + 86, 3065, 86, 86, 3068, 86, 3060, 86, 86, 3070, + 86, 3064, 86, 3071, 3063, 86, 3066, 3073, 86, 3074, + 86, 86, 3067, 86, 3077, 86, 86, 3069, 86, 86, + 86, 3083, 3072, 3082, 86, 86, 3075, 3079, 3080, 86, + 3086, 86, 3084, 3076, 3078, 86, 86, 86, 3081, 3088, + 3087, 86, 86, 3438, 3085, 3089, 86, 3090, 3093, 3091, - 86, 86, 86, 3094, 86, 86, 86, 86, 3085, 3419, - 3087, 3088, 3090, 86, 3091, 3093, 3097, 3098, 86, 3099, - 86, 86, 3096, 86, 3095, 86, 3092, 3101, 3100, 86, - 3102, 3103, 86, 3104, 86, 3105, 86, 3108, 86, 86, - 3110, 86, 3106, 86, 3109, 86, 86, 3107, 86, 86, - 86, 86, 3116, 3117, 86, 86, 86, 3111, 86, 3123, - 86, 86, 86, 3124, 86, 86, 86, 3112, 3113, 3114, - 3115, 3122, 3120, 3125, 3119, 3118, 3121, 86, 86, 86, - 3132, 3126, 3128, 3131, 3127, 3129, 86, 3130, 86, 3133, - 86, 86, 3136, 86, 86, 86, 86, 86, 3138, 3135, + 3094, 86, 3096, 86, 86, 3092, 3095, 86, 86, 3097, + 3099, 86, 3098, 86, 86, 3102, 86, 86, 3100, 3105, + 86, 86, 86, 86, 86, 3110, 86, 86, 3106, 86, + 86, 3114, 86, 3101, 3103, 3104, 86, 3109, 86, 3113, + 3107, 3115, 86, 3116, 86, 3112, 3111, 86, 3108, 3118, + 3117, 3119, 86, 3120, 86, 3121, 86, 86, 3124, 86, + 3122, 86, 3126, 86, 86, 86, 3125, 86, 86, 86, + 86, 3132, 3133, 86, 86, 86, 86, 86, 3127, 3139, + 86, 3140, 86, 3123, 86, 86, 3141, 3128, 3130, 3129, + 3131, 3136, 86, 3138, 3135, 86, 3137, 86, 86, 86, - 86, 3137, 3134, 86, 86, 3139, 86, 86, 86, 3142, - 86, 86, 86, 3144, 86, 86, 3145, 3140, 3143, 86, - 86, 86, 86, 3141, 86, 86, 3154, 3155, 3157, 3146, - 3150, 3147, 3148, 3149, 86, 86, 3151, 3152, 86, 86, - 3158, 3153, 3160, 86, 3156, 3159, 3162, 86, 3163, 86, - 86, 3161, 3165, 86, 3164, 86, 3168, 86, 3169, 86, - 3166, 86, 3167, 3170, 3171, 3177, 86, 3172, 3173, 86, - 86, 3174, 86, 3175, 3176, 86, 86, 86, 3179, 86, - 3178, 3180, 86, 86, 86, 86, 3186, 86, 86, 86, - 3185, 86, 86, 3182, 86, 3181, 3188, 86, 3189, 86, + 3134, 86, 3144, 3146, 86, 3142, 3147, 86, 86, 86, + 3150, 3151, 86, 3148, 3143, 3149, 86, 3152, 86, 3145, + 3153, 86, 86, 3154, 86, 86, 3155, 86, 86, 3156, + 86, 86, 3157, 3159, 86, 86, 3161, 86, 86, 3160, + 86, 3438, 3162, 86, 86, 3158, 86, 86, 86, 86, + 3163, 86, 3171, 3172, 3175, 3164, 3166, 3165, 3174, 3167, + 3173, 3168, 3169, 86, 86, 86, 3177, 3170, 3179, 86, + 86, 3176, 3180, 86, 3181, 3182, 86, 86, 3178, 86, + 3185, 86, 3183, 3186, 86, 3187, 3188, 86, 86, 3189, + 3190, 3194, 86, 3191, 86, 86, 3192, 3193, 3184, 86, - 3190, 86, 86, 3183, 3184, 86, 3193, 3191, 3194, 86, - 3200, 3195, 86, 3187, 3199, 3192, 86, 3196, 3197, 86, - 3198, 86, 86, 3203, 3205, 86, 86, 86, 3204, 86, - 86, 3201, 3209, 86, 3202, 86, 86, 3206, 3210, 3213, - 3207, 3212, 86, 86, 86, 86, 3419, 3208, 3234, 3214, - 3215, 86, 3216, 86, 3211, 86, 3219, 86, 86, 3217, - 3218, 3220, 86, 3222, 86, 3223, 86, 3221, 3224, 86, - 3225, 86, 3226, 86, 3227, 86, 3228, 86, 3229, 86, - 86, 86, 3232, 86, 86, 86, 3237, 86, 86, 86, - 3231, 86, 86, 3233, 86, 86, 86, 3241, 3242, 86, + 3195, 86, 3197, 86, 86, 86, 86, 86, 86, 86, + 3196, 3203, 86, 3202, 86, 86, 86, 86, 86, 3199, + 86, 3207, 3198, 3206, 3208, 86, 3200, 3201, 86, 3204, + 3211, 3212, 86, 3209, 86, 3214, 86, 3213, 3210, 3205, + 3215, 86, 3216, 86, 86, 86, 86, 3221, 86, 3218, + 3223, 3217, 3222, 86, 3219, 86, 86, 3220, 86, 86, + 86, 3230, 86, 3225, 3227, 3228, 3231, 86, 3233, 86, + 86, 3224, 86, 3232, 3234, 86, 3226, 3229, 86, 3237, + 86, 3238, 86, 3236, 86, 3235, 3240, 86, 3241, 86, + 3242, 86, 86, 3239, 3243, 86, 3244, 86, 3245, 86, - 3244, 86, 86, 3240, 3238, 3235, 3230, 3236, 3239, 3243, - 3245, 86, 86, 3248, 3246, 86, 86, 3251, 86, 3250, - 86, 86, 86, 86, 86, 3253, 86, 86, 3247, 86, - 3259, 86, 3252, 3249, 86, 3257, 3258, 86, 3256, 86, - 3254, 86, 3255, 86, 3262, 86, 3260, 3270, 3263, 86, - 3264, 3265, 86, 3266, 86, 3267, 86, 86, 3269, 86, - 3261, 86, 86, 86, 3268, 86, 86, 3275, 3276, 86, - 3278, 86, 86, 3272, 3274, 86, 86, 3271, 86, 86, - 3277, 86, 86, 86, 3273, 3279, 3287, 86, 3290, 86, - 3280, 3285, 3282, 3281, 3284, 3286, 86, 86, 86, 86, + 3246, 86, 3247, 86, 86, 3250, 86, 86, 86, 86, + 3254, 86, 86, 3249, 3256, 86, 3251, 86, 3248, 86, + 3252, 86, 86, 86, 86, 3260, 3261, 86, 86, 3253, + 86, 3255, 3257, 3265, 3258, 3259, 86, 3262, 3263, 86, + 86, 3267, 3270, 86, 86, 3266, 3264, 3269, 86, 86, + 86, 86, 86, 86, 3268, 3272, 86, 3271, 3276, 86, + 86, 86, 3277, 3278, 86, 86, 86, 3282, 3273, 3274, + 3281, 86, 3275, 3284, 86, 3279, 3285, 86, 86, 3283, + 3286, 86, 86, 86, 86, 86, 86, 3280, 3289, 86, + 86, 3288, 86, 86, 3287, 3294, 86, 3291, 3290, 86, - 86, 3289, 86, 3283, 3292, 3295, 86, 86, 3288, 3297, - 86, 3296, 3293, 86, 3298, 3299, 86, 3291, 3300, 86, - 3294, 86, 86, 86, 86, 3303, 3301, 86, 3304, 3305, - 86, 3308, 86, 86, 86, 86, 86, 86, 3311, 3312, - 86, 3302, 3314, 86, 86, 3307, 3309, 3310, 3315, 86, - 86, 3316, 3306, 86, 3313, 3318, 86, 3321, 86, 86, - 3322, 86, 86, 3317, 3325, 3319, 3326, 86, 86, 3323, - 86, 3320, 86, 86, 86, 3331, 86, 3332, 86, 3330, - 3328, 3324, 3327, 86, 86, 86, 86, 86, 86, 86, - 3336, 86, 3329, 3338, 86, 86, 86, 86, 3335, 86, + 3293, 3295, 86, 3297, 86, 3299, 3298, 3296, 3292, 86, + 86, 86, 86, 86, 3300, 86, 86, 86, 3306, 86, + 3301, 3304, 3308, 3305, 86, 3303, 3309, 86, 86, 3311, + 3312, 3314, 86, 86, 3302, 86, 3307, 3316, 86, 3310, + 86, 3317, 3315, 3318, 86, 3319, 86, 86, 3313, 86, + 86, 86, 3322, 86, 3320, 3323, 3324, 86, 3327, 86, + 86, 86, 86, 86, 86, 3330, 86, 3321, 3331, 86, + 3333, 86, 3326, 3328, 3329, 3334, 86, 86, 3325, 3337, + 86, 3332, 3336, 86, 3339, 3340, 86, 86, 3341, 86, + 86, 86, 3335, 3344, 3345, 86, 86, 3342, 3338, 86, - 3343, 86, 3345, 86, 3333, 3334, 3344, 3337, 3339, 3340, - 3341, 3346, 86, 3342, 3349, 86, 86, 3347, 3351, 86, - 3352, 3350, 86, 86, 86, 86, 86, 3353, 3354, 3357, - 3355, 3348, 3358, 86, 86, 86, 3360, 86, 86, 3359, - 86, 86, 3361, 86, 86, 3356, 3366, 86, 3363, 86, - 3369, 86, 86, 3370, 86, 86, 86, 86, 86, 3362, - 3373, 86, 3364, 3365, 3368, 3371, 3367, 86, 3372, 86, - 3377, 86, 3378, 86, 3376, 86, 3374, 3375, 86, 3381, - 86, 3383, 86, 3384, 3379, 86, 86, 86, 3388, 86, - 3385, 86, 86, 3386, 3382, 86, 3389, 3390, 86, 3380, + 86, 86, 3350, 86, 86, 3346, 3349, 86, 3347, 3343, + 3351, 86, 86, 86, 86, 3348, 86, 3355, 86, 86, + 86, 3357, 86, 86, 86, 3352, 3354, 3353, 3362, 3363, + 3364, 86, 3359, 3360, 3356, 86, 86, 3358, 86, 3368, + 86, 3361, 86, 3370, 86, 3371, 86, 3369, 86, 86, + 86, 3372, 3376, 3373, 3366, 3365, 86, 3367, 86, 3377, + 86, 3374, 86, 3379, 86, 86, 86, 3378, 86, 3375, + 3380, 86, 86, 3385, 86, 3382, 86, 86, 3388, 86, + 3389, 86, 86, 86, 3381, 86, 86, 3392, 86, 3387, + 3383, 3384, 3390, 3386, 86, 3391, 86, 3396, 86, 3397, + + 86, 3395, 86, 3400, 3393, 3394, 86, 86, 3402, 86, + 3403, 3398, 86, 86, 86, 3407, 86, 3404, 86, 86, + 3405, 3409, 86, 3408, 86, 3401, 3399, 3410, 86, 3411, + 86, 3412, 86, 3406, 86, 3416, 86, 3414, 86, 86, + 86, 86, 86, 86, 3418, 3419, 86, 3422, 86, 3413, + 3423, 86, 3438, 3415, 86, 3426, 86, 3417, 3427, 86, + 3420, 3421, 3424, 3428, 3429, 86, 86, 3425, 3430, 86, + 86, 86, 86, 3431, 86, 3432, 3433, 3436, 86, 3437, + 86, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3434, 3438, 3435, 47, 47, 47, 47, 47, 47, - 3391, 86, 86, 86, 86, 3392, 3387, 86, 3395, 3393, - 86, 3394, 3397, 86, 86, 3399, 86, 86, 86, 3400, - 86, 3403, 86, 3396, 3404, 86, 3398, 86, 3407, 3408, - 86, 86, 3410, 86, 86, 3401, 3402, 3405, 3409, 3411, - 86, 3406, 86, 86, 86, 86, 3417, 86, 3413, 3412, - 3414, 3418, 86, 3415, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3416, 47, 47, 47, 47, 47, 47, 47, 52, 52, 52, 52, 52, 52, 52, 57, 57, 57, 57, 57, 57, 57, 63, 63, 63, 63, 63, 63, 63, 68, 68, 68, 68, 68, 68, 68, 74, - 74, 74, 74, 74, 74, 74, 80, 80, 80, 80, - 80, 80, 80, 89, 89, 3419, 89, 89, 89, 89, - 160, 160, 3419, 3419, 3419, 160, 160, 162, 162, 3419, - 3419, 162, 3419, 162, 164, 3419, 3419, 3419, 3419, 3419, - 164, 167, 167, 3419, 3419, 3419, 167, 167, 169, 3419, - 3419, 3419, 3419, 3419, 169, 171, 171, 3419, 171, 171, - 171, 171, 174, 3419, 3419, 3419, 3419, 3419, 174, 177, - 177, 3419, 3419, 3419, 177, 177, 90, 90, 3419, 90, - 90, 90, 90, 17, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, + 80, 80, 80, 89, 89, 3438, 89, 89, 89, 89, + 160, 160, 3438, 3438, 3438, 160, 160, 162, 162, 3438, + 3438, 162, 3438, 162, 164, 3438, 3438, 3438, 3438, 3438, + 164, 167, 167, 3438, 3438, 3438, 167, 167, 169, 3438, + 3438, 3438, 3438, 3438, 169, 171, 171, 3438, 171, 171, + 171, 171, 174, 3438, 3438, 3438, 3438, 3438, 174, 177, - 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3419 + 177, 3438, 3438, 3438, 177, 177, 90, 90, 3438, 90, + 90, 90, 90, 17, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438 } ; -static const flex_int16_t yy_chk[6725] = +static const flex_int16_t yy_chk[6755] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -2301,18 +2310,18 @@ static const flex_int16_t yy_chk[6725] = 5, 3, 6, 24, 4, 24, 24, 5, 24, 6, 7, 7, 7, 7, 24, 7, 8, 8, 8, 8, 33, 8, 7, 9, 9, 9, 26, 26, 8, 10, - 10, 10, 19, 29, 9, 33, 19, 29, 3427, 35, + 10, 10, 19, 29, 9, 33, 19, 29, 3446, 35, 10, 11, 11, 11, 11, 11, 11, 13, 13, 13, 13, 34, 13, 11, 35, 99, 34, 29, 38, 13, 51, 51, 11, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 99, 14, 12, 15, 15, 15, 38, 23, 14, 23, 23, 12, 23, 46, 15, 16, 16, - 16, 23, 23, 25, 27, 27, 25, 25, 2784, 16, + 16, 23, 23, 25, 27, 27, 25, 25, 2797, 16, 25, 46, 27, 30, 30, 25, 27, 56, 40, 27, 56, 73, 31, 31, 25, 28, 67, 67, 30, 32, 28, 31, 40, 32, 28, 73, 32, 28, 92, 28, - 28, 92, 31, 32, 1112, 32, 36, 36, 37, 37, + 28, 92, 31, 32, 1116, 32, 36, 36, 37, 37, 28, 45, 45, 37, 97, 36, 45, 97, 41, 41, 45, 36, 87, 41, 93, 36, 87, 37, 93, 37, @@ -2351,9 +2360,9 @@ static const flex_int16_t yy_chk[6725] = 200, 201, 202, 197, 203, 204, 201, 202, 205, 197, 197, 199, 196, 206, 205, 207, 203, 206, 208, 200, 207, 209, 213, 210, 211, 204, 214, 213, 216, 217, - 554, 214, 218, 216, 208, 209, 211, 205, 210, 211, + 555, 214, 218, 216, 208, 209, 211, 205, 210, 211, 215, 215, 220, 220, 215, 219, 215, 221, 218, 217, - 222, 219, 223, 221, 554, 224, 222, 227, 215, 221, + 222, 219, 223, 221, 555, 224, 222, 227, 215, 221, 215, 224, 225, 227, 228, 229, 230, 231, 225, 228, 230, 229, 223, 231, 232, 234, 233, 225, 235, 236, 237, 232, 233, 238, 235, 239, 237, 240, 234, 241, @@ -2388,651 +2397,654 @@ static const flex_int16_t yy_chk[6725] = 356, 357, 358, 358, 360, 358, 351, 357, 353, 369, 369, 361, 363, 362, 358, 356, 361, 363, 355, 362, 364, 366, 375, 365, 360, 364, 365, 367, 365, 368, - 367, 364, 377, 370, 467, 366, 371, 371, 368, 370, - 372, 373, 375, 367, 373, 372, 367, 377, 367, 376, - 373, 379, 376, 378, 373, 381, 467, 382, 381, 373, + 367, 364, 388, 370, 410, 366, 371, 371, 368, 370, + 372, 377, 375, 367, 376, 372, 367, 376, 367, 373, + 373, 378, 373, 388, 379, 382, 377, 381, 373, 410, - 384, 389, 373, 374, 374, 379, 374, 385, 378, 392, - 376, 382, 386, 388, 381, 384, 385, 386, 386, 374, - 389, 390, 374, 391, 374, 387, 374, 383, 392, 383, - 383, 387, 391, 394, 388, 395, 390, 396, 387, 383, - 398, 383, 383, 383, 393, 398, 383, 397, 399, 400, - 393, 396, 401, 397, 404, 395, 402, 397, 403, 394, - 404, 402, 406, 398, 405, 405, 407, 401, 399, 400, - 408, 409, 410, 403, 411, 412, 414, 409, 407, 415, - 412, 167, 406, 416, 408, 413, 413, 417, 413, 418, - 411, 418, 422, 422, 420, 415, 414, 410, 420, 416, + 381, 167, 373, 384, 385, 376, 378, 373, 379, 382, + 373, 374, 374, 385, 374, 386, 381, 391, 384, 394, + 386, 386, 389, 387, 390, 392, 391, 374, 395, 387, + 374, 166, 374, 399, 374, 383, 387, 383, 383, 390, + 393, 389, 396, 400, 392, 394, 393, 383, 395, 383, + 383, 383, 397, 399, 383, 398, 396, 401, 397, 402, + 398, 403, 397, 400, 402, 404, 405, 405, 406, 407, + 408, 404, 401, 409, 411, 412, 403, 414, 398, 409, + 412, 407, 413, 413, 408, 413, 415, 416, 406, 423, + 411, 417, 418, 419, 418, 419, 419, 414, 422, 422, - 419, 417, 419, 419, 421, 423, 424, 428, 421, 425, - 426, 433, 427, 430, 166, 433, 428, 429, 436, 430, - 419, 424, 429, 421, 423, 425, 427, 428, 426, 428, - 429, 429, 431, 432, 429, 429, 434, 435, 432, 436, - 437, 431, 441, 435, 438, 434, 437, 439, 438, 440, - 439, 442, 442, 443, 440, 444, 444, 446, 445, 447, - 447, 448, 441, 445, 449, 450, 443, 448, 449, 451, - 446, 452, 453, 454, 454, 455, 452, 453, 456, 457, - 450, 458, 454, 459, 460, 465, 459, 455, 461, 460, - 451, 462, 461, 458, 463, 463, 464, 457, 456, 466, + 420, 424, 415, 416, 420, 417, 421, 425, 423, 426, + 421, 428, 427, 419, 433, 430, 424, 432, 433, 431, + 428, 430, 432, 425, 429, 421, 427, 426, 431, 429, + 434, 428, 436, 428, 435, 441, 164, 429, 429, 434, + 435, 429, 429, 437, 438, 443, 440, 439, 438, 437, + 439, 440, 446, 436, 450, 441, 442, 442, 443, 444, + 444, 445, 447, 447, 448, 446, 445, 449, 451, 450, + 448, 449, 452, 453, 454, 454, 455, 452, 453, 456, + 457, 458, 459, 454, 462, 459, 460, 464, 455, 451, + 461, 460, 464, 458, 461, 465, 462, 467, 457, 456, - 466, 464, 471, 462, 469, 469, 465, 472, 473, 474, - 477, 475, 476, 479, 481, 472, 475, 473, 480, 483, - 484, 482, 477, 471, 487, 483, 553, 490, 553, 484, - 474, 479, 476, 479, 481, 482, 480, 485, 487, 486, - 488, 490, 489, 485, 486, 489, 491, 492, 488, 493, - 495, 488, 494, 492, 496, 494, 495, 497, 498, 500, - 499, 491, 497, 500, 502, 501, 503, 504, 496, 493, - 501, 503, 505, 506, 495, 509, 552, 512, 514, 502, - 498, 499, 510, 504, 511, 513, 506, 517, 511, 552, - 513, 505, 507, 507, 514, 509, 512, 510, 507, 515, + 463, 463, 466, 466, 469, 469, 471, 472, 473, 474, + 477, 476, 482, 475, 479, 472, 465, 473, 475, 467, + 480, 481, 477, 483, 484, 487, 482, 471, 162, 483, + 474, 476, 479, 484, 479, 486, 485, 488, 480, 487, + 486, 481, 485, 489, 490, 488, 489, 491, 488, 492, + 493, 494, 496, 495, 494, 492, 497, 498, 490, 495, + 499, 497, 491, 500, 501, 502, 496, 500, 503, 501, + 493, 504, 505, 503, 509, 506, 510, 495, 512, 498, + 502, 499, 512, 513, 511, 514, 518, 504, 506, 515, + 514, 505, 507, 507, 509, 528, 528, 510, 507, 511, - 507, 519, 517, 515, 516, 518, 507, 520, 507, 516, - 518, 507, 507, 516, 522, 521, 520, 519, 507, 523, - 519, 521, 524, 525, 526, 524, 521, 527, 527, 522, - 528, 529, 529, 530, 533, 523, 532, 531, 534, 537, - 535, 536, 538, 541, 526, 535, 525, 164, 530, 531, - 536, 532, 541, 533, 545, 528, 539, 538, 537, 542, - 534, 543, 539, 542, 544, 543, 545, 546, 547, 548, - 544, 549, 550, 551, 556, 556, 555, 551, 162, 557, - 558, 560, 546, 548, 555, 557, 549, 547, 559, 562, - 550, 563, 558, 560, 559, 561, 564, 565, 561, 566, + 507, 518, 513, 516, 517, 515, 507, 516, 507, 517, + 519, 507, 507, 517, 520, 519, 521, 522, 507, 523, + 524, 525, 526, 522, 525, 521, 527, 529, 522, 531, + 520, 530, 530, 520, 523, 532, 524, 534, 533, 535, + 537, 538, 539, 536, 531, 526, 527, 532, 536, 537, + 542, 543, 529, 533, 548, 543, 534, 539, 540, 542, + 538, 535, 544, 545, 540, 546, 544, 547, 550, 545, + 549, 551, 552, 548, 553, 558, 552, 546, 554, 160, + 554, 558, 547, 550, 549, 556, 559, 553, 560, 551, + 557, 557, 561, 556, 560, 563, 562, 564, 559, 562, - 565, 564, 578, 562, 567, 568, 563, 160, 566, 569, - 568, 568, 570, 570, 578, 566, 571, 571, 566, 572, - 567, 577, 569, 573, 573, 572, 574, 574, 575, 579, - 576, 581, 579, 580, 575, 576, 576, 582, 580, 584, - 583, 585, 577, 583, 584, 582, 586, 587, 588, 589, - 581, 587, 590, 589, 588, 591, 595, 592, 593, 593, - 591, 594, 596, 597, 585, 586, 598, 596, 599, 601, - 590, 592, 603, 600, 599, 606, 594, 595, 600, 597, - 605, 602, 609, 601, 602, 85, 598, 604, 604, 602, - 603, 606, 602, 602, 607, 608, 609, 610, 605, 607, + 565, 567, 568, 566, 561, 565, 566, 85, 569, 563, + 567, 570, 564, 569, 569, 571, 571, 567, 568, 573, + 567, 572, 572, 578, 570, 573, 574, 574, 575, 575, + 576, 579, 577, 582, 586, 581, 576, 577, 577, 580, + 581, 583, 580, 579, 578, 584, 585, 587, 584, 583, + 588, 585, 582, 589, 588, 591, 590, 586, 592, 589, + 590, 593, 595, 592, 594, 594, 587, 596, 598, 597, + 599, 601, 600, 591, 597, 593, 601, 595, 600, 602, + 604, 605, 605, 603, 598, 606, 603, 608, 596, 607, + 599, 603, 608, 602, 603, 603, 609, 610, 604, 611, - 608, 612, 613, 614, 615, 616, 614, 612, 615, 618, - 616, 613, 610, 617, 618, 619, 617, 620, 621, 622, - 624, 623, 625, 625, 626, 621, 623, 627, 628, 629, - 615, 619, 622, 626, 630, 620, 631, 80, 632, 634, - 624, 633, 634, 630, 632, 629, 627, 633, 631, 628, - 635, 635, 636, 635, 637, 636, 638, 639, 640, 637, - 641, 642, 644, 640, 643, 646, 653, 642, 644, 643, - 645, 639, 647, 645, 638, 648, 649, 647, 650, 641, - 648, 648, 651, 655, 654, 653, 652, 651, 655, 649, - 646, 650, 652, 654, 656, 657, 657, 658, 661, 660, + 613, 609, 620, 606, 614, 607, 613, 615, 616, 621, + 615, 610, 616, 614, 611, 617, 618, 619, 620, 618, + 617, 622, 619, 623, 624, 625, 627, 621, 622, 624, + 626, 626, 628, 629, 616, 627, 623, 630, 631, 80, + 632, 635, 633, 634, 635, 625, 642, 631, 633, 634, + 639, 628, 632, 630, 629, 636, 636, 637, 636, 638, + 637, 640, 641, 643, 638, 642, 644, 641, 639, 643, + 645, 644, 647, 648, 646, 640, 645, 646, 648, 649, + 650, 651, 652, 653, 649, 649, 654, 652, 657, 653, + 655, 656, 660, 650, 651, 660, 656, 647, 666, 655, - 659, 651, 651, 659, 658, 660, 662, 663, 664, 664, - 661, 662, 663, 663, 656, 665, 667, 666, 659, 666, - 668, 662, 668, 669, 670, 671, 672, 673, 674, 675, - 676, 677, 679, 675, 674, 667, 678, 680, 682, 676, - 665, 669, 670, 671, 684, 672, 677, 673, 681, 683, - 679, 678, 685, 682, 686, 683, 680, 687, 684, 689, - 681, 688, 694, 689, 685, 690, 691, 692, 693, 695, - 696, 697, 697, 686, 695, 698, 699, 700, 687, 698, - 688, 694, 691, 690, 696, 692, 693, 693, 701, 702, - 699, 704, 703, 705, 707, 706, 700, 703, 712, 701, + 659, 652, 652, 658, 658, 654, 661, 659, 657, 662, + 660, 663, 661, 664, 665, 665, 663, 668, 664, 664, + 667, 662, 667, 666, 670, 669, 663, 669, 671, 672, + 673, 674, 675, 676, 677, 678, 668, 676, 675, 679, + 680, 681, 670, 677, 682, 685, 671, 672, 683, 673, + 678, 674, 686, 684, 679, 687, 682, 688, 680, 684, + 681, 689, 690, 683, 691, 685, 686, 687, 691, 692, + 693, 694, 695, 696, 697, 75, 688, 699, 699, 697, + 698, 690, 689, 701, 700, 702, 693, 692, 700, 694, + 695, 695, 696, 704, 698, 703, 705, 701, 706, 707, - 708, 707, 709, 702, 715, 708, 710, 704, 706, 709, - 711, 710, 705, 713, 714, 711, 712, 716, 715, 717, - 713, 718, 720, 714, 719, 720, 716, 718, 721, 719, - 722, 717, 721, 723, 724, 726, 725, 727, 727, 728, - 728, 735, 723, 733, 722, 729, 729, 730, 728, 724, - 725, 731, 730, 734, 736, 737, 726, 738, 736, 734, - 731, 735, 733, 739, 740, 741, 743, 737, 742, 744, - 740, 745, 748, 741, 754, 742, 751, 761, 761, 755, - 757, 739, 738, 754, 743, 755, 757, 748, 760, 758, - 759, 745, 760, 751, 744, 746, 766, 746, 758, 763, + 708, 705, 709, 710, 702, 711, 703, 704, 710, 709, + 712, 713, 711, 708, 706, 712, 713, 714, 707, 715, + 716, 718, 717, 721, 728, 719, 715, 720, 721, 716, + 718, 722, 724, 720, 722, 714, 717, 719, 723, 725, + 726, 736, 723, 727, 735, 728, 724, 736, 725, 729, + 729, 730, 730, 731, 731, 726, 732, 727, 733, 737, + 730, 732, 738, 735, 739, 740, 738, 733, 741, 742, + 743, 745, 746, 744, 747, 742, 739, 750, 743, 737, + 744, 757, 753, 74, 756, 759, 741, 757, 766, 745, + 740, 759, 750, 756, 747, 760, 761, 746, 748, 753, - 746, 762, 762, 764, 746, 765, 759, 746, 769, 770, - 763, 773, 767, 769, 746, 746, 766, 746, 767, 765, - 771, 764, 768, 768, 768, 776, 768, 772, 774, 768, - 770, 772, 774, 778, 768, 773, 777, 775, 771, 1088, - 768, 768, 775, 779, 776, 783, 779, 780, 774, 781, - 1088, 777, 780, 780, 782, 782, 781, 784, 778, 792, - 783, 786, 784, 785, 785, 787, 786, 788, 787, 789, - 789, 790, 788, 790, 791, 793, 794, 796, 792, 793, - 795, 797, 797, 798, 801, 796, 791, 799, 800, 800, - 803, 802, 805, 854, 804, 854, 794, 805, 798, 795, + 748, 762, 767, 748, 760, 762, 766, 748, 763, 763, + 748, 765, 761, 764, 764, 768, 767, 748, 748, 769, + 748, 771, 765, 772, 773, 769, 771, 774, 775, 776, + 779, 774, 778, 776, 777, 768, 770, 770, 770, 777, + 770, 780, 773, 770, 772, 779, 68, 781, 770, 776, + 781, 778, 775, 782, 770, 770, 783, 785, 782, 782, + 784, 784, 786, 783, 787, 787, 780, 786, 788, 793, + 790, 789, 785, 788, 789, 790, 791, 791, 792, 794, + 792, 793, 795, 796, 798, 797, 795, 799, 799, 804, + 800, 803, 798, 801, 802, 802, 805, 807, 794, 63, - 804, 799, 801, 802, 806, 806, 809, 811, 807, 810, - 812, 809, 803, 807, 807, 810, 812, 813, 814, 816, - 815, 817, 813, 815, 814, 816, 811, 818, 818, 817, - 819, 819, 820, 821, 822, 823, 824, 825, 826, 822, - 820, 828, 823, 827, 827, 830, 830, 829, 832, 836, - 828, 821, 831, 825, 824, 829, 834, 826, 831, 835, - 838, 837, 841, 842, 844, 834, 837, 832, 835, 838, - 840, 839, 843, 836, 839, 840, 841, 844, 845, 846, - 846, 843, 847, 845, 845, 848, 849, 850, 842, 851, - 852, 855, 855, 852, 856, 849, 858, 847, 857, 859, + 806, 804, 807, 796, 797, 800, 806, 801, 809, 803, + 808, 808, 811, 809, 809, 812, 813, 811, 805, 814, + 816, 812, 815, 818, 819, 814, 816, 815, 817, 818, + 822, 817, 819, 820, 820, 813, 821, 821, 822, 823, + 824, 825, 826, 827, 828, 824, 829, 829, 825, 830, + 832, 832, 834, 831, 838, 836, 833, 823, 830, 827, + 826, 831, 833, 828, 836, 837, 840, 839, 843, 844, + 841, 834, 839, 841, 837, 840, 842, 845, 838, 846, + 849, 842, 843, 847, 848, 848, 845, 850, 847, 847, + 851, 852, 846, 853, 844, 849, 856, 854, 856, 851, - 860, 852, 861, 857, 848, 862, 864, 851, 865, 863, - 866, 850, 865, 867, 869, 856, 868, 858, 863, 859, - 860, 870, 868, 869, 861, 862, 871, 872, 866, 864, - 873, 877, 867, 870, 874, 875, 873, 876, 876, 878, - 875, 872, 879, 880, 881, 871, 882, 883, 874, 884, - 877, 879, 881, 885, 886, 887, 888, 890, 889, 878, - 886, 887, 891, 880, 889, 895, 882, 75, 884, 883, - 888, 890, 892, 885, 893, 894, 896, 898, 892, 894, - 893, 897, 891, 902, 895, 900, 897, 903, 896, 899, - 899, 900, 901, 904, 905, 901, 896, 907, 898, 904, + 854, 857, 857, 858, 859, 860, 850, 861, 854, 859, + 862, 853, 863, 864, 865, 852, 866, 867, 868, 869, + 871, 867, 870, 865, 858, 872, 860, 861, 870, 871, + 862, 873, 874, 864, 863, 875, 868, 872, 869, 866, + 876, 875, 877, 880, 878, 881, 874, 883, 876, 878, + 873, 879, 879, 884, 882, 885, 877, 886, 887, 891, + 888, 884, 880, 882, 889, 881, 890, 883, 892, 893, + 889, 894, 890, 891, 892, 885, 895, 887, 896, 886, + 888, 897, 895, 893, 896, 897, 898, 899, 900, 901, + 903, 894, 908, 900, 902, 902, 903, 904, 905, 899, - 903, 902, 906, 906, 908, 909, 910, 911, 914, 908, - 917, 910, 910, 912, 905, 907, 915, 912, 913, 913, - 916, 909, 911, 909, 919, 916, 920, 923, 922, 917, - 914, 924, 926, 926, 927, 928, 915, 74, 927, 932, - 920, 922, 929, 929, 934, 930, 933, 923, 919, 934, - 928, 931, 924, 925, 932, 931, 925, 935, 925, 937, - 933, 936, 925, 938, 925, 940, 936, 936, 937, 925, - 930, 935, 939, 942, 925, 944, 939, 938, 941, 943, - 940, 945, 946, 941, 943, 942, 947, 949, 939, 944, - 955, 948, 949, 941, 950, 947, 946, 948, 951, 956, + 904, 906, 907, 909, 909, 898, 910, 899, 907, 912, + 901, 914, 908, 911, 906, 913, 905, 917, 911, 915, + 913, 913, 918, 915, 910, 912, 914, 912, 916, 916, + 919, 920, 922, 923, 926, 919, 925, 927, 931, 917, + 929, 929, 918, 58, 930, 932, 932, 923, 930, 925, + 920, 933, 935, 931, 926, 936, 922, 934, 927, 928, + 937, 934, 928, 938, 928, 937, 939, 935, 928, 936, + 928, 939, 939, 940, 941, 928, 933, 938, 943, 942, + 928, 944, 940, 942, 946, 945, 944, 947, 941, 946, + 948, 949, 951, 943, 950, 942, 944, 945, 951, 952, - 950, 954, 945, 953, 951, 952, 952, 954, 953, 957, - 959, 960, 955, 962, 963, 963, 960, 961, 956, 964, - 967, 966, 959, 68, 964, 962, 968, 957, 958, 958, - 965, 961, 972, 969, 958, 966, 958, 970, 965, 967, - 973, 971, 958, 970, 972, 968, 971, 958, 958, 969, - 974, 975, 976, 976, 958, 977, 978, 980, 973, 977, - 982, 981, 983, 980, 981, 984, 974, 983, 985, 975, - 986, 987, 989, 990, 985, 986, 978, 991, 984, 982, - 992, 989, 990, 993, 994, 996, 992, 997, 998, 995, - 987, 1000, 993, 991, 995, 999, 1002, 1001, 1003, 1008, + 953, 947, 954, 950, 952, 949, 953, 956, 954, 955, + 955, 948, 956, 957, 958, 959, 962, 960, 963, 957, + 965, 966, 966, 963, 967, 964, 969, 970, 962, 967, + 971, 972, 965, 968, 959, 960, 958, 961, 961, 964, + 969, 968, 973, 961, 976, 961, 970, 972, 973, 971, + 974, 961, 975, 977, 978, 974, 961, 961, 979, 979, + 981, 980, 976, 961, 975, 980, 985, 983, 984, 977, + 986, 984, 978, 983, 987, 986, 988, 990, 989, 992, + 981, 993, 988, 989, 994, 985, 995, 987, 992, 996, + 993, 997, 995, 999, 998, 1000, 990, 1001, 996, 998, - 1000, 997, 1002, 994, 1004, 996, 1001, 999, 998, 1006, - 1004, 1009, 1010, 1008, 1011, 1003, 1012, 1010, 1013, 1014, - 1020, 1015, 1016, 1019, 63, 1006, 1015, 1016, 1019, 1020, - 1012, 1009, 1024, 1011, 1014, 1022, 1013, 1021, 1021, 1023, - 1025, 1022, 1027, 1031, 1028, 1032, 1031, 1024, 1023, 1028, - 1028, 1030, 1030, 1025, 1033, 1030, 1034, 1035, 1027, 1032, - 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1038, 1046, - 1040, 1042, 1034, 1036, 1033, 1035, 1037, 1049, 1050, 1045, - 1041, 1043, 1045, 1039, 1047, 1061, 1048, 1050, 1053, 1047, - 1046, 1048, 1051, 1049, 1052, 1055, 1056, 1051, 1057, 1052, + 994, 1005, 1002, 1003, 1006, 1007, 1004, 1005, 1009, 1000, + 997, 1007, 1003, 999, 1002, 1004, 1011, 1001, 1012, 1015, + 1013, 1006, 1014, 1018, 1009, 1013, 1016, 1017, 1018, 1019, + 1011, 1022, 1027, 1015, 1019, 1028, 1022, 1023, 1012, 1024, + 1024, 1014, 1017, 1025, 1016, 1026, 1023, 1027, 1028, 1025, + 1030, 1031, 1034, 1035, 1026, 1034, 1031, 1031, 1033, 1033, + 1036, 1037, 1033, 1038, 1040, 1039, 1030, 1035, 1041, 1042, + 1043, 1044, 1048, 1049, 1041, 1048, 1043, 1037, 1039, 1040, + 1036, 1038, 1045, 1046, 1052, 1050, 1044, 1045, 1051, 1042, + 1050, 1054, 1053, 1051, 1049, 1056, 1054, 1046, 1055, 1058, - 1053, 1055, 1058, 1061, 1057, 1059, 1059, 1060, 1058, 1064, - 1062, 1065, 1056, 1062, 1063, 1063, 1060, 1066, 1067, 1068, - 1069, 1067, 1070, 1077, 1071, 1078, 1069, 1064, 1070, 1071, - 1065, 1072, 1068, 1073, 1074, 1084, 1072, 1066, 1073, 1076, - 1074, 1077, 1079, 1082, 1076, 1078, 1080, 1083, 1079, 1081, - 1081, 1080, 1082, 1084, 1085, 1086, 1083, 1087, 1086, 1089, - 1087, 1090, 1091, 1092, 1089, 1093, 1094, 1098, 1095, 1100, - 1096, 1093, 1094, 1085, 1091, 1096, 1097, 1097, 1099, 1090, - 1101, 1100, 1092, 1095, 1101, 1102, 1098, 1103, 1104, 1105, - 1107, 1111, 1099, 1108, 1108, 1109, 1103, 1110, 1113, 1116, + 1052, 1053, 1059, 1055, 1060, 1058, 1061, 1056, 1062, 1062, + 1060, 1063, 1061, 1064, 1065, 1066, 1066, 1065, 1059, 1067, + 1063, 1068, 1069, 1070, 1072, 1071, 1070, 1073, 57, 1074, + 1072, 1064, 1082, 1073, 1074, 1081, 1075, 1067, 1071, 1076, + 1068, 1075, 1069, 1077, 1078, 1076, 1080, 1088, 1077, 1083, + 1078, 1080, 1082, 1081, 1084, 1083, 1085, 1085, 1086, 1084, + 1087, 1089, 1092, 1090, 1094, 1088, 1090, 1086, 1091, 1087, + 1093, 1091, 1095, 1092, 1096, 1093, 1099, 1097, 1102, 1098, + 1089, 1100, 1094, 1097, 1095, 1098, 1100, 1101, 1101, 1103, + 1104, 1099, 1105, 1096, 1106, 1107, 1105, 1102, 1108, 1109, - 1109, 1114, 1110, 1102, 1116, 1115, 1117, 1104, 1119, 1107, - 58, 1111, 1113, 1122, 1105, 1117, 1114, 1115, 1118, 1118, - 1120, 1121, 1124, 1126, 1124, 1123, 1120, 1121, 1119, 1122, - 1123, 1125, 1127, 1128, 1129, 1130, 1125, 1126, 1128, 1133, - 1131, 1132, 1135, 1135, 1137, 1136, 1127, 1131, 1138, 1129, - 1140, 1139, 1144, 1144, 1130, 1141, 1132, 1139, 1133, 1136, - 1141, 1143, 1137, 1138, 1148, 1143, 1147, 1145, 1150, 1141, - 1140, 1141, 1145, 1147, 1141, 1146, 1146, 1149, 1148, 1151, - 1149, 1152, 1154, 1153, 1155, 1157, 1156, 1150, 1153, 1158, - 1152, 1156, 1159, 1161, 1161, 1164, 1155, 1151, 1162, 1157, + 1111, 1115, 1104, 1103, 1107, 1112, 1112, 1118, 1113, 1114, + 52, 1117, 1106, 1113, 1114, 1119, 1123, 1108, 1120, 1111, + 1121, 1115, 1118, 1120, 1109, 1117, 1124, 1119, 1125, 1121, + 1122, 1122, 1124, 1126, 1125, 1127, 1123, 1128, 1129, 1128, + 1127, 1130, 1131, 1129, 1133, 1132, 1134, 1135, 1136, 1126, + 1132, 1137, 1139, 1139, 1135, 1130, 1131, 1140, 1141, 1133, + 1142, 1143, 1144, 1136, 1145, 1134, 47, 1143, 1147, 1145, + 1137, 1140, 1147, 1148, 1148, 1142, 1141, 1152, 1145, 1149, + 1145, 1151, 1144, 1145, 1149, 1150, 1150, 1153, 1151, 1154, + 1153, 1152, 1155, 1156, 1157, 1158, 1160, 1159, 1161, 1157, - 1158, 1154, 1163, 1162, 1165, 1167, 1166, 1163, 1168, 1165, - 1166, 1159, 1169, 1170, 1167, 1164, 1171, 1173, 1172, 1174, - 1175, 1176, 1177, 1168, 1173, 1180, 1179, 1169, 1171, 1178, - 1181, 1174, 1170, 1172, 1182, 1178, 1183, 1184, 1186, 1175, - 1177, 1179, 1176, 1182, 1187, 1180, 1185, 1188, 1189, 1191, - 1181, 1183, 1192, 1194, 1195, 1191, 1184, 1186, 1185, 1193, - 1196, 1194, 1188, 1198, 1200, 1197, 1199, 1192, 1189, 1187, - 1197, 1199, 1199, 1193, 1195, 1198, 1196, 1201, 1206, 1202, - 1203, 1203, 1205, 1200, 1207, 1208, 1208, 1206, 1210, 57, - 1207, 1201, 1202, 1204, 1204, 1205, 1215, 1210, 1204, 1209, + 1162, 1160, 1156, 1163, 1165, 1165, 1168, 18, 1154, 1159, + 1155, 1162, 1161, 1166, 1158, 1167, 1169, 1172, 1166, 1170, + 1167, 1169, 1163, 1170, 1171, 1173, 1168, 1174, 1176, 1175, + 1177, 1179, 1172, 1171, 1180, 1178, 1181, 1177, 1182, 1184, + 1173, 1175, 1183, 1176, 1182, 1185, 1174, 1178, 1187, 1186, + 1179, 1188, 1189, 1190, 1181, 1180, 1191, 1183, 1186, 1184, + 1192, 1195, 1193, 1187, 1189, 1185, 1197, 1195, 1196, 1198, + 1188, 1199, 1190, 1200, 1201, 1192, 1202, 1198, 1204, 1201, + 1197, 1191, 1193, 1196, 1205, 1239, 1206, 1203, 1202, 1200, + 1209, 1199, 1203, 1203, 1207, 1207, 1239, 1204, 1205, 1206, - 1212, 1204, 1204, 1211, 1209, 1212, 1204, 1218, 1213, 1211, - 1214, 1214, 1204, 1213, 1216, 1216, 1204, 1215, 1217, 1219, - 1220, 1217, 1221, 1217, 1222, 1223, 1220, 1218, 1224, 1225, - 1223, 1221, 1226, 1227, 1230, 1228, 52, 1219, 1226, 1227, - 1228, 1229, 1224, 1230, 1222, 1229, 1231, 1225, 1230, 1232, - 1230, 1231, 1230, 1235, 1230, 1233, 1233, 1234, 1234, 1238, - 1234, 1237, 1239, 1232, 1235, 1237, 1240, 1241, 1242, 1243, - 1245, 1244, 1241, 1241, 1238, 1240, 1244, 1242, 1246, 1247, - 1239, 1248, 1249, 1250, 1245, 1251, 1251, 1246, 1253, 1250, - 1254, 1243, 1255, 1252, 1256, 1254, 1249, 1257, 1247, 1258, + 1208, 1208, 1210, 1209, 1211, 1208, 1212, 1212, 1208, 1208, + 1211, 1210, 1213, 1208, 1215, 1214, 1216, 1213, 1219, 1208, + 1215, 1216, 1217, 1208, 1214, 1218, 1218, 1217, 1220, 1220, + 1221, 1222, 1223, 1221, 1224, 1221, 1225, 1226, 1227, 1219, + 1224, 1228, 1229, 1227, 1232, 1225, 1230, 1231, 1236, 1232, + 1223, 1222, 1230, 1231, 1233, 1228, 1234, 1226, 1233, 1235, + 1229, 1243, 1236, 1242, 1235, 1234, 1237, 1237, 1238, 1238, + 1234, 1238, 1234, 1241, 1234, 1244, 1234, 1241, 1242, 1243, + 1245, 1246, 1247, 1248, 1244, 1245, 1245, 1249, 1248, 1250, + 1246, 1251, 1252, 1253, 1254, 1255, 1255, 1256, 1250, 1257, - 1248, 1252, 1253, 1256, 1257, 1259, 1255, 1260, 1261, 1261, - 1262, 1271, 1260, 1263, 1263, 1267, 1264, 1258, 1264, 1266, - 1267, 1268, 1266, 1269, 1275, 1262, 1270, 1270, 1272, 1272, - 1259, 1271, 1269, 1273, 1273, 1276, 1274, 1277, 1277, 1278, - 1268, 1274, 1280, 1279, 1281, 1275, 1279, 1282, 1283, 1284, - 1281, 1284, 1282, 1285, 1288, 1287, 1276, 1283, 1287, 1278, - 1289, 1290, 1280, 1291, 1292, 1289, 1298, 1294, 1291, 1288, - 1294, 1285, 1292, 1293, 1295, 1290, 1296, 1296, 1293, 1295, - 1297, 1299, 1300, 1301, 1298, 1297, 1303, 1299, 1304, 1300, - 1305, 1306, 1303, 1307, 1304, 1305, 1301, 1306, 1308, 1309, + 1254, 1249, 1259, 1258, 1247, 1256, 1260, 1253, 1258, 1262, + 1251, 1252, 1261, 1257, 1263, 1260, 1259, 1264, 1266, 1261, + 1265, 1265, 1264, 1267, 1267, 1271, 1268, 1262, 1268, 1270, + 1271, 1272, 1270, 1266, 1273, 1274, 1274, 1275, 1279, 1263, + 1276, 1276, 1278, 1273, 1277, 1277, 1280, 1278, 1281, 1281, + 1272, 1282, 1283, 1284, 1285, 1286, 1284, 1275, 1287, 1279, + 1289, 1286, 1289, 1287, 1288, 1290, 1293, 1280, 1297, 1283, + 1295, 1282, 1292, 1288, 1285, 1292, 1297, 1294, 1301, 1301, + 1296, 1293, 1294, 1290, 1295, 1296, 1298, 1299, 1300, 1302, + 1299, 1298, 1303, 1300, 1302, 1304, 1305, 1310, 1306, 1308, - 1310, 1310, 1307, 1311, 1313, 1314, 1315, 1316, 1317, 1324, - 1309, 47, 1318, 1319, 1320, 1314, 1325, 1308, 1318, 1319, - 1320, 1315, 1313, 1311, 1322, 1323, 1326, 1316, 1327, 1324, - 1322, 1317, 1328, 1329, 1329, 1330, 1325, 1331, 1326, 1323, - 1332, 1333, 1327, 1334, 1334, 1323, 1333, 1335, 1336, 1338, - 1328, 1339, 1341, 1336, 1340, 1330, 1339, 1339, 1332, 1342, - 1343, 1341, 1331, 1344, 1345, 1356, 18, 1342, 1338, 1348, - 1335, 1348, 1340, 1349, 1343, 1346, 1347, 1352, 1344, 1345, - 1346, 1352, 1345, 1346, 1351, 1347, 1353, 1349, 1354, 1355, - 1351, 1356, 1357, 1354, 1354, 1358, 1359, 1353, 1360, 1361, + 1309, 1304, 1310, 1305, 1313, 1308, 1309, 1311, 1312, 1314, + 1303, 1306, 1316, 1311, 1315, 1315, 1318, 1312, 1319, 1321, + 1314, 1320, 1322, 1313, 1323, 1324, 1328, 1325, 1319, 1327, + 1323, 1324, 1316, 1325, 1318, 1327, 1320, 1329, 1330, 1321, + 1328, 1331, 1332, 1333, 1335, 1322, 1328, 1334, 1334, 1336, + 1337, 1339, 1339, 1331, 1338, 1340, 1332, 1329, 1330, 1338, + 1341, 1333, 1343, 17, 1335, 1341, 1344, 1345, 1337, 1347, + 1346, 1344, 1344, 1348, 1336, 1349, 1350, 1347, 1340, 1346, + 1353, 1343, 1353, 1354, 1351, 1345, 1352, 1348, 1361, 1351, + 1349, 1350, 1351, 1356, 1350, 1352, 1357, 1354, 1358, 1356, - 1358, 1359, 1362, 1363, 1365, 17, 1366, 1362, 1355, 1367, - 1357, 1368, 1368, 1369, 1370, 1371, 1360, 1369, 1365, 1361, - 1372, 1373, 1374, 1363, 1366, 1375, 1372, 1367, 1376, 1377, - 1378, 1379, 1370, 1373, 1371, 1380, 1379, 1382, 1383, 1375, - 1381, 1374, 1380, 1376, 1377, 1381, 1385, 1383, 1386, 1378, - 1384, 1384, 1387, 1388, 1388, 1382, 1389, 1386, 1390, 1391, - 1394, 1385, 1389, 1393, 1390, 1392, 1392, 1395, 1397, 1393, - 1396, 1398, 1387, 1391, 1397, 1396, 1394, 1398, 1399, 1400, - 1400, 1401, 1401, 1404, 1399, 1403, 1403, 1404, 1395, 1405, - 1406, 1407, 1408, 1410, 1409, 1411, 1411, 1412, 1405, 1413, + 1357, 1359, 1360, 1363, 1362, 1364, 1359, 1359, 1363, 1358, + 1364, 1365, 1366, 1367, 1361, 1368, 1370, 1376, 1367, 1371, + 1372, 1360, 1362, 1373, 1373, 1375, 1380, 1374, 1377, 1365, + 1370, 1374, 1366, 1378, 1377, 1368, 1376, 1371, 1372, 1379, + 1380, 1381, 1382, 1375, 1383, 1378, 1384, 1385, 1386, 1387, + 1388, 1384, 1392, 1386, 1385, 1390, 1381, 1382, 1379, 1388, + 1389, 1389, 1391, 1383, 1393, 1393, 1396, 1387, 1394, 1395, + 1390, 1391, 1392, 1398, 1394, 1395, 1397, 1397, 1399, 1398, + 1396, 1400, 1401, 1402, 1403, 1404, 1411, 1401, 1417, 1402, + 1403, 1404, 1405, 1405, 1399, 1406, 1406, 1408, 1408, 1409, - 1410, 1415, 1416, 1407, 1419, 1414, 1408, 1413, 1406, 1409, - 1414, 1420, 1420, 1417, 1421, 1415, 1422, 1412, 1417, 1417, - 1418, 1416, 1423, 1424, 1419, 1418, 1418, 1425, 1424, 1426, - 1427, 1423, 1428, 1421, 1429, 1422, 1430, 1431, 1428, 1429, - 1433, 1432, 1436, 1437, 1434, 1435, 1425, 1432, 1427, 1426, - 1434, 1435, 1438, 1439, 1440, 1441, 1430, 1444, 1442, 1433, - 1444, 1436, 1437, 1431, 1443, 1443, 1445, 1446, 1440, 1447, - 0, 1438, 1439, 1442, 1448, 1448, 1441, 1449, 1449, 1450, - 1452, 1447, 1453, 1451, 1450, 1445, 1446, 1451, 1454, 1457, - 1455, 1453, 1455, 1452, 1458, 1459, 1455, 1460, 1461, 1458, + 1410, 1412, 1400, 1409, 1411, 1413, 1414, 1415, 1417, 1410, + 1416, 1416, 1418, 1412, 1415, 1420, 1421, 1419, 1422, 1413, + 1418, 1414, 1419, 1422, 1422, 1423, 1424, 1425, 1425, 1420, + 1423, 1423, 1426, 1427, 1428, 1421, 1429, 1430, 1431, 1432, + 1434, 1429, 1433, 1428, 1435, 1434, 1424, 1436, 1433, 1437, + 1438, 1426, 1427, 1439, 1440, 1437, 1430, 1432, 1431, 1439, + 1440, 1441, 1442, 1443, 1435, 1444, 1446, 1449, 1447, 1438, + 1449, 1445, 1450, 1436, 1448, 1448, 1451, 1452, 1453, 1453, + 1441, 1442, 1443, 1447, 1444, 1445, 1456, 1446, 1457, 1452, + 1456, 1450, 1454, 1454, 1455, 1451, 1458, 1459, 1460, 1455, - 1463, 1454, 1462, 1462, 1465, 1463, 1464, 1457, 1466, 1455, - 1459, 1467, 1464, 1470, 1461, 1473, 1467, 1460, 1468, 1465, - 1469, 1466, 1468, 1471, 1469, 1472, 1474, 1475, 1475, 1477, - 1479, 1480, 1474, 1470, 1472, 1473, 1480, 1481, 1481, 1482, - 1483, 1471, 1485, 1485, 1497, 1482, 1487, 1477, 1489, 1487, - 1490, 1479, 1488, 1488, 1492, 1493, 1494, 1492, 1495, 1497, - 1483, 1496, 1496, 1498, 1489, 1494, 1490, 1499, 1500, 1501, - 1502, 1502, 1503, 1500, 1504, 1493, 1505, 1506, 1495, 1507, - 1509, 1503, 1510, 1501, 1498, 1511, 1499, 1508, 1508, 1512, - 1511, 1505, 1504, 1514, 1509, 1513, 1513, 1514, 1515, 1507, + 1460, 1457, 1462, 1463, 1460, 1458, 1464, 1465, 1463, 1466, + 1459, 1467, 1467, 1468, 1470, 1471, 1469, 1460, 1468, 1472, + 1462, 1464, 1469, 1475, 1472, 1466, 1473, 1465, 1471, 1470, + 1473, 1474, 1476, 1477, 1478, 1474, 1480, 1480, 1479, 1482, + 1484, 1485, 1477, 1475, 1479, 1487, 1485, 1486, 1486, 1488, + 1476, 1487, 1490, 1490, 1478, 1492, 1494, 1482, 1492, 1493, + 1493, 1484, 1495, 1497, 1498, 1500, 1497, 1499, 1501, 1488, + 1502, 1502, 1494, 1504, 1500, 1503, 1505, 1506, 1495, 1507, + 1508, 1508, 1506, 1509, 1510, 1498, 1511, 1499, 1501, 1512, + 1503, 1513, 1509, 1507, 1504, 1505, 1514, 1514, 1515, 1516, - 1510, 1517, 1506, 1518, 1512, 1516, 1516, 1519, 1520, 1524, - 1521, 1519, 1523, 1523, 1518, 1521, 1525, 1526, 1515, 1527, - 1528, 1525, 1524, 1517, 1529, 1530, 1531, 1520, 1532, 1532, - 1533, 0, 1534, 1526, 1528, 1533, 1535, 1527, 1537, 1530, - 1536, 1536, 1539, 1529, 1529, 1538, 1540, 1537, 1540, 1541, - 1538, 1531, 1534, 1542, 1541, 1543, 1535, 1544, 1546, 1542, - 1547, 1547, 1539, 1544, 1548, 1549, 1552, 1555, 1551, 1553, - 1553, 1549, 1546, 1551, 1556, 1543, 1554, 1554, 1557, 1558, - 1560, 1555, 1558, 1548, 1559, 1559, 1562, 1561, 1570, 1564, - 1552, 1563, 1556, 1557, 1563, 1564, 1565, 1563, 1560, 1561, + 1517, 1511, 1510, 1518, 1520, 1517, 1519, 1519, 1520, 1521, + 1523, 1513, 1515, 1524, 1512, 1522, 1522, 1516, 1518, 1525, + 1526, 1527, 1530, 1525, 1524, 1531, 1527, 1529, 1529, 1521, + 1531, 1532, 1523, 1533, 1534, 1530, 1535, 1537, 1536, 1526, + 1538, 1538, 1607, 1540, 1539, 1541, 1607, 1532, 1534, 1539, + 1543, 1533, 1536, 1542, 1542, 1535, 1535, 1545, 1546, 1543, + 1546, 1544, 1537, 1540, 1547, 1541, 1544, 1548, 1549, 1547, + 1550, 1552, 1554, 1548, 1553, 1553, 1550, 1545, 1555, 1558, + 1561, 1557, 1559, 1559, 1555, 1552, 1557, 1562, 1549, 1560, + 1560, 1554, 1563, 1564, 1561, 1566, 1564, 1565, 1565, 1567, - 1566, 1565, 1568, 1566, 1571, 1569, 1562, 1571, 1580, 1563, - 1569, 1568, 1573, 1570, 1572, 1572, 1574, 1582, 1573, 1566, - 1575, 1580, 1574, 1576, 1576, 1575, 1577, 1577, 1578, 1581, - 1579, 1583, 1585, 1586, 1578, 1579, 1582, 1584, 1585, 1586, - 1584, 1587, 1588, 1589, 1590, 1592, 1587, 1581, 1588, 1590, - 1592, 1583, 1591, 1591, 1593, 1594, 1595, 1596, 1600, 1597, - 1598, 1599, 1602, 1601, 1602, 1603, 1589, 1601, 1605, 1606, - 1610, 1596, 1593, 1597, 1598, 1594, 1595, 1607, 1609, 1599, - 1605, 1606, 1608, 1600, 1603, 1611, 1610, 1612, 1608, 1613, - 1607, 1615, 1615, 1616, 1617, 1618, 1619, 1619, 1609, 1617, + 1568, 1576, 1570, 1558, 0, 1562, 1569, 1563, 1570, 1569, + 1571, 1567, 1569, 1566, 1572, 1571, 1574, 1572, 1575, 1577, + 1568, 1586, 1577, 1575, 1569, 1574, 1576, 1578, 1578, 1579, + 1580, 1588, 1581, 1572, 1586, 1579, 1580, 1581, 1582, 1582, + 1583, 1583, 1584, 1587, 1585, 1589, 1591, 1592, 1584, 1585, + 1588, 1590, 1591, 1592, 1590, 1593, 1594, 1595, 1596, 1598, + 1593, 1587, 1594, 1596, 1598, 1589, 1597, 1597, 1599, 1600, + 1601, 1602, 1606, 1603, 1604, 1605, 1608, 1609, 1608, 1611, + 1595, 1619, 1612, 1615, 1616, 1602, 1599, 1603, 1604, 1600, + 1601, 1611, 1613, 1605, 1612, 1614, 1609, 1606, 1617, 1618, - 1620, 1612, 1621, 1622, 1623, 1611, 1625, 1618, 1624, 1628, - 1613, 1626, 1632, 1616, 1627, 1620, 1621, 1624, 1626, 1630, - 1637, 1625, 1623, 1627, 1636, 1628, 1627, 1622, 1633, 1634, - 1634, 1633, 1635, 1635, 1630, 1640, 1636, 1632, 1637, 1630, - 1638, 1639, 1639, 1638, 1641, 1642, 1643, 1644, 1640, 1643, - 1642, 1645, 1644, 1646, 1648, 1647, 1649, 1650, 1652, 1652, - 1653, 1651, 1654, 1641, 1647, 1649, 1650, 1651, 1649, 1646, - 1645, 1655, 1656, 1648, 1657, 1654, 1658, 1663, 1659, 1660, - 1653, 1658, 1658, 1659, 1666, 1664, 1656, 1665, 1665, 1655, - 1657, 1660, 1667, 1668, 1669, 1669, 1670, 1672, 1668, 1671, + 1616, 1614, 1619, 1615, 1622, 1613, 1621, 1621, 1624, 1623, + 1625, 1625, 1626, 1618, 1623, 1627, 1628, 1629, 1617, 1630, + 1624, 1631, 1633, 1632, 1622, 1634, 1638, 1626, 1630, 1627, + 1632, 1633, 1636, 1642, 1633, 1629, 1631, 1640, 1640, 1639, + 1628, 1634, 1639, 1641, 1641, 1642, 1643, 1636, 1645, 1645, + 1644, 1638, 1636, 1644, 1646, 1647, 1648, 1649, 1650, 1651, + 1649, 1648, 1653, 1650, 1643, 1652, 1654, 1646, 1655, 1657, + 1656, 1653, 1658, 1658, 1647, 1657, 1659, 1655, 1651, 1656, + 1655, 1652, 1660, 1661, 1662, 1654, 1663, 1664, 1666, 1665, + 1669, 1670, 1664, 1664, 1665, 1660, 1659, 1672, 1662, 1673, - 1666, 1667, 1663, 1664, 1671, 1670, 1673, 1674, 1670, 1669, - 1677, 1675, 1679, 1678, 1680, 1672, 1675, 1675, 1682, 1680, - 1681, 1683, 1683, 1684, 1677, 1674, 1681, 1673, 1678, 1684, - 1685, 1686, 1687, 1688, 1679, 1685, 1682, 1690, 1687, 1688, - 1691, 1692, 1693, 1694, 1695, 1686, 1694, 1692, 1697, 1699, - 1695, 1700, 1694, 1701, 1691, 1693, 1697, 1690, 1702, 1703, - 1704, 1701, 1705, 1706, 1707, 1708, 1708, 1702, 1699, 1704, - 1700, 1711, 1703, 1709, 1710, 1705, 1713, 1706, 1707, 1709, - 1710, 1712, 1712, 1714, 1711, 1715, 1717, 1708, 1716, 1716, - 1719, 1718, 1720, 1721, 1723, 1723, 1713, 1718, 1724, 1717, + 1666, 1661, 1663, 1671, 1671, 1674, 1675, 1675, 1673, 1670, + 1674, 1676, 1677, 1672, 1678, 1669, 1679, 1677, 1680, 1681, + 1676, 1675, 1685, 1676, 1681, 1681, 1683, 1684, 1686, 1687, + 1688, 1696, 1678, 1686, 0, 1687, 1680, 1679, 1689, 1689, + 1683, 1690, 1684, 1692, 1685, 1691, 1693, 1690, 1688, 1694, + 1691, 1696, 1693, 1697, 1698, 1694, 1699, 1692, 1701, 1700, + 1698, 1705, 1700, 1703, 1701, 1706, 1707, 1697, 1700, 1699, + 1708, 1703, 1709, 1710, 1707, 1708, 1711, 1712, 1713, 1714, + 1705, 1709, 1715, 1715, 1706, 1711, 1710, 1718, 1716, 1717, + 1712, 1720, 1713, 1714, 1716, 1717, 1719, 1719, 1721, 1722, - 1726, 1714, 1725, 1730, 1715, 1726, 1725, 1729, 1720, 1727, - 1728, 1721, 1719, 1732, 1727, 1728, 1729, 1733, 1724, 1734, - 1733, 1735, 1732, 1736, 1736, 1737, 1730, 1738, 1739, 1740, - 1740, 1734, 1741, 1742, 1746, 1747, 1735, 1743, 1744, 1738, - 1742, 1750, 1748, 0, 1737, 1749, 1741, 1739, 1748, 1743, - 1744, 1753, 1751, 1746, 1753, 1747, 1757, 1749, 1751, 1750, - 1752, 1752, 1754, 1754, 1756, 1757, 1758, 1759, 1759, 1756, - 1760, 1761, 1758, 1761, 1762, 1763, 1764, 1762, 1765, 1766, - 1767, 1768, 1760, 1769, 1772, 1767, 1768, 1770, 1771, 1772, - 1774, 1773, 1769, 1777, 0, 1763, 1765, 1766, 1764, 1770, + 1718, 1723, 1723, 1725, 1715, 1726, 1724, 1727, 1728, 1725, + 1731, 1720, 1730, 1730, 1737, 1733, 1721, 1732, 1722, 1724, + 1733, 1732, 1736, 1727, 1734, 1739, 1728, 1726, 1735, 1734, + 1731, 1736, 1740, 1735, 1739, 1740, 1741, 1737, 1742, 1743, + 1743, 1744, 1745, 1746, 1747, 1747, 1750, 1748, 1741, 1749, + 1753, 1751, 1754, 1742, 1745, 1756, 1749, 1757, 1750, 1755, + 1744, 1748, 1746, 1751, 1758, 1755, 0, 1756, 1760, 1753, + 1758, 1760, 1754, 1759, 1759, 1757, 1761, 1761, 1763, 1764, + 1765, 1766, 1766, 1763, 1767, 1768, 1765, 1768, 1764, 1769, + 1770, 1771, 1769, 1772, 1773, 1774, 1767, 1775, 1776, 1778, - 1773, 1776, 1775, 1771, 1778, 1778, 1776, 1775, 1777, 1779, - 1774, 1780, 1782, 1773, 1775, 1779, 1783, 1784, 1785, 1786, - 1787, 1786, 1788, 1788, 1789, 1789, 1790, 1790, 1791, 1792, - 1792, 1782, 1780, 1784, 1787, 1783, 1787, 1794, 1785, 1793, - 1793, 1795, 1796, 1796, 1798, 1797, 1801, 1802, 1791, 1797, - 1798, 1799, 1801, 1803, 1799, 1804, 1807, 1805, 1794, 1803, - 1805, 1808, 1795, 1806, 1806, 1802, 1808, 1809, 1809, 1810, - 1811, 1818, 1812, 1813, 1813, 1815, 1807, 1812, 1814, 1817, - 1804, 1815, 1816, 1814, 1810, 1819, 1820, 1821, 0, 1818, - 1824, 1811, 1820, 1825, 1816, 1816, 1816, 1823, 1826, 1817, + 1774, 1779, 1775, 1777, 1781, 1784, 1779, 1776, 1780, 0, + 1770, 1772, 1773, 1771, 1778, 1777, 1782, 1780, 1783, 1787, + 1784, 1782, 1789, 1783, 1781, 1785, 1785, 1786, 1782, 1790, + 1780, 1791, 1792, 1786, 1793, 1794, 1793, 1795, 1795, 1798, + 1787, 1789, 1796, 1796, 1797, 1797, 1801, 1791, 1790, 1794, + 1802, 1794, 1792, 1799, 1799, 1800, 1800, 1803, 1803, 1798, + 1804, 1809, 1805, 1806, 1804, 1811, 1806, 1801, 1805, 1808, + 1810, 1802, 1813, 1813, 1812, 1808, 1810, 1812, 1814, 1809, + 1815, 1816, 1816, 1818, 1817, 1815, 1819, 1820, 1820, 1821, + 1811, 1819, 1825, 1823, 1821, 1822, 1824, 1826, 1814, 1817, - 1826, 1816, 1823, 1823, 1824, 1819, 1827, 1821, 1825, 1828, - 1829, 1830, 1831, 1832, 1833, 1833, 1829, 1827, 1834, 1836, - 1830, 1835, 1835, 1837, 1828, 1838, 1838, 1839, 1839, 1840, - 1843, 1843, 1831, 1844, 1832, 1848, 1849, 1845, 1847, 1836, - 1852, 1850, 1849, 1856, 1834, 1837, 1845, 1847, 1853, 1840, - 1851, 1851, 1854, 1855, 1857, 1857, 1848, 1850, 1844, 1854, - 1858, 1852, 1855, 1853, 1859, 1861, 1862, 1863, 1864, 1856, - 1861, 1865, 1862, 1868, 1866, 1864, 1866, 1865, 1869, 1873, - 1859, 1870, 1870, 1871, 1869, 1872, 1858, 1863, 1871, 1874, - 1875, 1877, 1868, 1876, 1872, 1878, 1876, 1879, 1879, 1873, + 1828, 1822, 1827, 1832, 1818, 1823, 1823, 1823, 1827, 1830, + 1825, 1831, 1823, 1834, 1830, 1830, 1824, 1826, 1832, 1833, + 1828, 1833, 1835, 1836, 1834, 1831, 1837, 1838, 1839, 1836, + 1840, 1840, 1841, 1842, 1842, 1837, 1843, 1835, 1844, 1845, + 1845, 1846, 1846, 1847, 1850, 1850, 1851, 1838, 1852, 1839, + 1854, 1855, 1857, 1858, 1858, 1856, 1843, 1852, 1841, 1854, + 1844, 1856, 1859, 1847, 1860, 1862, 1861, 1863, 1857, 1864, + 1864, 1851, 1855, 1861, 1862, 1865, 1866, 1868, 1869, 1860, + 1870, 1871, 1868, 1859, 1869, 1872, 1875, 1873, 1871, 1873, + 1876, 1872, 1866, 1863, 1877, 1877, 1876, 1878, 1879, 1880, - 1880, 1881, 1875, 1882, 1883, 1886, 1880, 1881, 1874, 1877, - 1884, 1887, 1888, 1890, 1884, 1889, 1889, 1888, 1893, 1883, - 1891, 1878, 1894, 1882, 0, 1886, 1894, 1895, 1895, 1897, - 1884, 1904, 1890, 1887, 1896, 1891, 1900, 1893, 1897, 1899, - 1896, 1898, 1898, 1899, 1901, 1901, 1902, 1900, 1903, 1905, - 1904, 1906, 1900, 1907, 1905, 1908, 1911, 1909, 1910, 1912, - 1912, 1908, 1903, 1910, 1913, 1913, 1914, 1902, 1916, 1911, - 1914, 1906, 1909, 1907, 1917, 1918, 1926, 1916, 1919, 1919, - 1921, 1921, 1922, 1923, 0, 1917, 1925, 1922, 1922, 1923, - 1917, 1927, 1925, 1928, 1929, 1918, 1927, 1931, 1933, 1932, + 1870, 1865, 1878, 1881, 1882, 1875, 1883, 1879, 1884, 1883, + 1885, 1886, 1886, 1889, 1887, 1888, 1882, 1890, 1893, 1880, + 1887, 1888, 1881, 1891, 1894, 1895, 1884, 1891, 1896, 1896, + 1895, 1897, 1890, 1889, 1898, 1900, 1885, 1901, 1893, 1902, + 1902, 1901, 1903, 1891, 1904, 1907, 1894, 1909, 1903, 1898, + 1897, 1905, 1905, 1904, 1900, 1906, 1907, 1908, 1908, 1906, + 1910, 1907, 1911, 1913, 1912, 1914, 1915, 1917, 1909, 1912, + 1916, 1918, 1915, 1919, 1910, 1924, 1918, 1920, 1920, 1921, + 1921, 1911, 1917, 1913, 1924, 1914, 1919, 1922, 1916, 1925, + 1926, 1922, 1927, 1927, 1929, 1929, 1930, 1931, 1933, 1934, - 1929, 1934, 1926, 1932, 1938, 1928, 1935, 1936, 1937, 1931, - 1933, 1939, 1935, 1940, 1937, 1941, 1943, 1944, 1940, 1945, - 1948, 1948, 1947, 1938, 1945, 1947, 1934, 1941, 1943, 1936, - 1951, 1939, 1949, 1949, 1950, 1950, 1944, 1952, 1953, 1956, - 1954, 1955, 1961, 1952, 1953, 1954, 1958, 1955, 1956, 1960, - 1951, 1958, 1960, 1964, 1961, 1962, 1962, 1965, 1966, 1967, - 1967, 1968, 1969, 1966, 1973, 1964, 1970, 1969, 1974, 1965, - 1968, 1970, 1971, 1972, 1972, 1971, 1975, 1974, 1976, 1977, - 1978, 1979, 1980, 1977, 1973, 1978, 1981, 1979, 1982, 1983, - 1985, 1985, 1986, 1988, 1975, 1981, 1987, 1976, 1989, 1989, + 1925, 1930, 1930, 1931, 1933, 1925, 1935, 1936, 1937, 1939, + 1926, 1935, 1940, 1942, 1937, 1941, 1940, 1943, 1944, 1936, + 1945, 1939, 1946, 1943, 1947, 1934, 1945, 1941, 1948, 1952, + 1949, 1951, 1953, 1948, 1956, 1956, 1955, 1953, 1942, 1955, + 1944, 1946, 1949, 1951, 1947, 1957, 1957, 1959, 1952, 1958, + 1958, 1960, 1961, 1964, 1962, 1963, 1969, 1960, 1961, 1962, + 1966, 1963, 1964, 1968, 1972, 1966, 1968, 1959, 1969, 1970, + 1970, 1973, 1974, 1975, 1975, 1976, 1972, 1974, 1981, 1979, + 1977, 1978, 1979, 1973, 1976, 1977, 1978, 1980, 1980, 1983, + 1982, 1984, 1985, 1988, 1990, 1986, 1985, 1987, 1981, 1982, - 1980, 1992, 1985, 1983, 1993, 1987, 1982, 1990, 1991, 1993, - 1986, 1994, 2000, 1988, 1997, 1997, 1990, 2001, 1999, 2003, - 1991, 1999, 1992, 2004, 1994, 2005, 2006, 2010, 2000, 2007, - 2007, 2005, 2015, 2001, 2003, 2010, 2008, 2004, 2008, 2009, - 2009, 2012, 2012, 2006, 2013, 2013, 2016, 2017, 2019, 2018, - 2022, 2020, 2016, 2017, 2023, 2015, 2018, 2021, 2021, 2022, - 2024, 2025, 2026, 2028, 2027, 2029, 2032, 2033, 2030, 2034, - 2019, 2020, 2024, 2025, 2030, 2023, 2027, 2026, 2035, 2035, - 2029, 2034, 2036, 2037, 2040, 2038, 2032, 2030, 2038, 2028, - 2033, 2039, 2042, 2043, 2044, 2043, 2039, 2042, 2046, 2048, + 1986, 1991, 1994, 1987, 1989, 1993, 1993, 1983, 1996, 1995, + 1984, 1988, 1990, 1989, 1998, 1991, 2000, 1993, 1995, 1999, + 1994, 1997, 1997, 1998, 2001, 2002, 2005, 2005, 1996, 2001, + 2007, 1999, 2008, 2007, 2009, 2012, 2011, 2000, 2002, 2013, + 2014, 2015, 2015, 2023, 2016, 2013, 2016, 2018, 2008, 2012, + 2009, 2011, 2017, 2017, 2027, 2018, 2024, 2014, 2020, 2020, + 2021, 2021, 2024, 2025, 2026, 2028, 2023, 2029, 2029, 2025, + 2030, 2026, 2031, 2034, 2032, 2033, 2027, 2035, 2036, 2030, + 2037, 2040, 2041, 2251, 2038, 2028, 2032, 2033, 2034, 2035, + 2038, 2043, 2043, 2031, 2042, 2037, 2044, 2045, 2048, 2046, - 2036, 2045, 2050, 2037, 2040, 2046, 2045, 2051, 2048, 2052, - 2054, 2053, 2044, 2053, 2058, 2060, 2051, 2055, 2059, 2059, - 2050, 2052, 2057, 2055, 2057, 2061, 2065, 2063, 2058, 2054, - 2061, 2062, 2063, 2062, 2064, 2066, 2067, 2069, 2068, 2064, - 2070, 2060, 2067, 2068, 2065, 2074, 2075, 2079, 2071, 2072, - 2069, 2078, 2070, 2071, 2071, 2066, 2083, 2072, 2076, 2076, - 2075, 2077, 2077, 2080, 2074, 2081, 2078, 2079, 2084, 2080, - 2081, 2082, 2095, 2082, 2083, 2086, 2084, 2085, 2085, 2087, - 2087, 2088, 2088, 2089, 2084, 2090, 2091, 2086, 2093, 2094, - 2090, 2094, 2089, 2095, 2097, 0, 2096, 2093, 2098, 2099, + 2251, 2040, 2046, 2038, 2036, 2041, 2042, 2047, 2050, 2051, + 2052, 2051, 2047, 2050, 2044, 2053, 2054, 2045, 2048, 2058, + 2053, 2056, 2059, 2054, 2060, 2061, 2062, 2061, 2052, 2063, + 2056, 2059, 2065, 2066, 2065, 2063, 2060, 2058, 2067, 2067, + 2068, 2069, 2070, 2071, 2070, 2062, 2069, 2066, 2071, 2072, + 2073, 2074, 2075, 2078, 2072, 2076, 2077, 2079, 2075, 2080, + 2076, 2082, 2079, 2079, 2083, 2078, 2068, 2080, 2073, 2077, + 2086, 2074, 2084, 2084, 2085, 2085, 2087, 2088, 2083, 2089, + 2082, 2091, 2092, 2088, 2089, 2086, 2090, 0, 2090, 2094, + 2092, 2093, 2093, 2095, 2095, 2097, 2087, 2099, 2092, 2091, - 2093, 2096, 2096, 2101, 2091, 2102, 2097, 2098, 2103, 2105, - 2102, 2099, 2106, 2103, 2107, 2101, 2108, 2108, 2109, 2110, - 2112, 2116, 2105, 2107, 2111, 2114, 2113, 2117, 2118, 0, - 2114, 2127, 2106, 2116, 2112, 2121, 2109, 2110, 2119, 2117, - 2111, 2113, 2120, 2119, 2121, 2124, 2126, 2120, 2118, 2129, - 2128, 2124, 2126, 2130, 2127, 2132, 2132, 2131, 2135, 2133, - 2134, 2134, 2139, 2138, 2124, 2128, 2131, 2129, 2133, 2136, - 2137, 2141, 2147, 2136, 2140, 2137, 2138, 2135, 2130, 2142, - 2140, 2139, 2143, 2144, 2142, 2142, 2146, 2145, 2143, 2144, - 2145, 2152, 2147, 2141, 2146, 2150, 2150, 2151, 2151, 2155, + 2098, 2094, 2096, 2096, 2097, 2098, 2102, 2101, 2102, 2103, + 2105, 2106, 2104, 2107, 2109, 2099, 2101, 2104, 2104, 2101, + 2106, 2113, 2105, 2110, 2111, 2107, 2109, 2114, 2110, 2111, + 2103, 2115, 2116, 2116, 2113, 2117, 2118, 2120, 2121, 2119, + 2115, 2122, 2130, 2123, 2127, 2125, 2126, 2114, 2123, 2136, + 2138, 2130, 2121, 2117, 2118, 2119, 2122, 2125, 2126, 2137, + 2128, 2129, 2120, 2133, 2127, 2128, 2129, 2135, 2138, 2133, + 2139, 2140, 2136, 2135, 2137, 2141, 2141, 2142, 2143, 2143, + 2140, 2144, 2133, 2145, 2146, 2147, 2142, 2145, 2148, 2146, + 2149, 2150, 2156, 2152, 2164, 2139, 2149, 2151, 2147, 2152, - 2152, 2153, 2153, 2154, 2154, 2158, 2156, 2157, 2159, 2159, - 2158, 2155, 2151, 2157, 2160, 2160, 2161, 2165, 2164, 2162, - 2167, 2161, 2164, 2151, 2156, 2162, 2166, 2169, 2170, 2172, - 2166, 2171, 2174, 2170, 2173, 2175, 2176, 2165, 2177, 2173, - 2167, 2178, 2181, 2177, 2172, 2179, 2179, 2183, 2184, 2180, - 2174, 2175, 2169, 2180, 2171, 2182, 2176, 2181, 2185, 2186, - 2182, 2188, 2187, 2178, 2189, 2193, 2184, 2187, 2190, 2190, - 2185, 2192, 2194, 2183, 2188, 2195, 2196, 2197, 2186, 2192, - 2198, 2199, 2189, 2200, 2193, 0, 2204, 2202, 2206, 2205, - 2207, 2194, 2207, 2199, 2206, 2212, 2197, 2211, 2195, 2204, + 2144, 2155, 2151, 2151, 2153, 2154, 2164, 2148, 2154, 2155, + 2153, 2161, 2156, 2150, 2159, 2159, 2160, 2160, 2162, 2162, + 2161, 2163, 2163, 2165, 2166, 2168, 2168, 2167, 2169, 2169, + 2166, 2160, 2167, 2170, 2171, 2173, 2174, 2176, 2170, 2173, + 2171, 2165, 2160, 2175, 2178, 2179, 2181, 2175, 2180, 2182, + 2179, 2184, 2183, 2185, 2182, 2186, 2174, 2176, 2187, 2190, + 2186, 2181, 2188, 2188, 2189, 2192, 2193, 2184, 2189, 2178, + 2183, 2180, 2191, 2185, 2190, 2194, 2195, 2191, 2196, 2197, + 2187, 2198, 2201, 2196, 2193, 2199, 2199, 2194, 2202, 2203, + 2201, 2192, 2197, 2204, 2205, 2195, 2206, 2208, 2207, 2198, - 2196, 2198, 2202, 2205, 2200, 2208, 2208, 2209, 2210, 2212, - 2211, 2210, 2209, 2213, 2214, 2214, 2215, 2215, 2216, 2218, - 2216, 2217, 2217, 2219, 2220, 2220, 2213, 2227, 2221, 2222, - 2222, 2223, 2223, 2224, 2218, 2228, 2219, 2221, 2224, 2226, - 2221, 2229, 2230, 2230, 2226, 2231, 2231, 2227, 2232, 2233, - 2233, 2234, 2240, 2229, 2237, 2228, 2235, 2235, 2236, 2237, - 2238, 2238, 2239, 2239, 2242, 2241, 2240, 2232, 2243, 2234, - 2244, 2246, 2248, 2236, 2241, 2250, 2246, 2247, 2247, 2249, - 2249, 2242, 2243, 2252, 2251, 2255, 2252, 2253, 2253, 2244, - 2251, 2248, 2256, 2250, 2254, 2254, 2257, 2259, 2257, 2260, + 2209, 2213, 2211, 2216, 2215, 2216, 2214, 2202, 2203, 2208, + 2215, 2217, 2217, 2273, 2213, 2206, 2204, 2211, 2205, 2207, + 2214, 2209, 2218, 2219, 2220, 2221, 2219, 2218, 2222, 2223, + 2223, 2224, 2224, 2225, 2227, 2225, 2273, 2220, 2228, 2221, + 2236, 2222, 2226, 2226, 2229, 2229, 2230, 2231, 2231, 2227, + 2237, 2228, 2232, 2232, 2233, 2230, 2235, 2238, 2230, 2233, + 2236, 2235, 2239, 2239, 2240, 2240, 2241, 2242, 2242, 2238, + 2237, 2243, 2244, 2244, 2246, 2245, 2247, 2247, 2249, 2246, + 2248, 2248, 2250, 2252, 2253, 2241, 2256, 2256, 2255, 2243, + 2245, 2250, 2249, 2255, 2257, 2258, 2258, 2252, 2259, 2260, - 2261, 2261, 2263, 2253, 2255, 2264, 2265, 2256, 2268, 2266, - 2267, 2267, 2259, 2266, 2269, 2270, 2271, 2274, 2260, 2269, - 2276, 2265, 2263, 2273, 2273, 2275, 2277, 2268, 2264, 2278, - 2270, 2271, 2275, 2279, 2276, 2280, 2280, 2274, 2282, 2281, - 2282, 2286, 2283, 2285, 2277, 2283, 2287, 2278, 2281, 2285, - 2288, 2287, 2289, 2286, 2290, 2288, 2292, 2291, 2293, 2279, - 2283, 2292, 2283, 2295, 2296, 2297, 2298, 2290, 2295, 2296, - 2299, 2300, 2298, 2301, 2304, 2305, 2302, 2289, 2291, 2301, - 2297, 2302, 2303, 2311, 2293, 2307, 2300, 2303, 2305, 2306, - 2316, 2299, 2306, 2308, 2307, 2309, 2310, 2311, 2324, 2304, + 2264, 2261, 2265, 2253, 2261, 2260, 2262, 2262, 2263, 2263, + 2266, 2268, 2266, 2257, 2269, 2272, 2259, 2265, 2277, 2264, + 2270, 2270, 2262, 2274, 2275, 2279, 2268, 2278, 2275, 2276, + 2276, 2280, 2278, 2269, 2283, 2272, 2284, 2277, 2274, 2285, + 2279, 2282, 2282, 2284, 2286, 2287, 2280, 2288, 2289, 2289, + 2290, 2296, 2295, 2285, 2283, 2291, 2296, 2291, 2292, 2290, + 2294, 2292, 2286, 2287, 2295, 2297, 2294, 2298, 2299, 2300, + 2297, 2302, 2301, 2288, 2304, 2305, 2292, 2301, 2292, 2304, + 2305, 2299, 2307, 2306, 2309, 2308, 2310, 2311, 2307, 2312, + 2300, 2308, 2298, 2311, 2312, 2313, 2314, 2302, 2306, 2315, - 2312, 2313, 2308, 2324, 2309, 2310, 2312, 2313, 2314, 2318, - 2316, 2320, 2314, 2319, 2319, 2321, 2321, 2320, 2318, 2322, - 2323, 2323, 2325, 2327, 2321, 2328, 2329, 2329, 2322, 2331, - 2330, 2333, 2334, 2338, 2335, 2336, 2338, 2340, 2331, 2327, - 2341, 2328, 2325, 2333, 2325, 2330, 2339, 2336, 2334, 2335, - 0, 2339, 2341, 2342, 2342, 2343, 2343, 2340, 2345, 2345, - 2346, 2347, 2348, 2346, 2349, 2350, 2347, 2352, 2348, 2355, - 2349, 2351, 2351, 2354, 2350, 2353, 2353, 2356, 2357, 2357, - 2358, 2352, 2360, 2355, 2359, 2354, 2358, 2360, 2362, 2368, - 2363, 2366, 2362, 2363, 2364, 2364, 2356, 2365, 2359, 2367, + 2313, 2310, 2317, 2316, 2318, 2309, 2316, 2319, 2320, 2321, + 2326, 2317, 2315, 2318, 2322, 2324, 2319, 2320, 2323, 2324, + 2322, 2314, 2328, 2321, 2323, 2329, 2329, 2330, 2331, 2331, + 2326, 2328, 2332, 2330, 2333, 2333, 2335, 2331, 2334, 2337, + 2341, 2332, 2340, 2334, 2338, 2339, 2339, 2343, 2344, 2341, + 2345, 2346, 2350, 2352, 2352, 2337, 2335, 2340, 2335, 2343, + 2338, 2351, 2349, 2346, 2344, 2345, 2348, 2349, 0, 2348, + 2353, 2353, 2350, 2351, 2355, 2355, 2356, 2357, 2358, 2356, + 2359, 2360, 2357, 2362, 2358, 2365, 2359, 2361, 2361, 2364, + 2360, 2363, 2363, 2366, 2367, 2367, 2368, 2362, 2370, 2365, - 2366, 2369, 2365, 2370, 2370, 2369, 2371, 2373, 2367, 2368, - 2374, 2375, 2373, 2376, 2377, 2378, 2379, 2380, 2377, 2371, - 2381, 2379, 2382, 2380, 2383, 2384, 2381, 2376, 2385, 2386, - 2374, 2375, 2389, 2385, 2388, 2378, 2390, 2398, 2398, 2391, - 2382, 2390, 2397, 2383, 2384, 2391, 2388, 2392, 2389, 2393, - 2386, 2393, 2395, 2400, 2399, 2392, 2397, 2399, 2401, 2401, - 2404, 2395, 2405, 2406, 2404, 2407, 2407, 2408, 2405, 2411, - 2411, 2413, 2415, 2419, 2416, 2406, 2408, 2420, 2419, 2400, - 2421, 2430, 2422, 2423, 2424, 2424, 2415, 2422, 2423, 2413, - 2416, 2426, 2426, 2428, 2429, 2429, 2431, 2430, 2434, 2428, + 2369, 2364, 2368, 2370, 2372, 2378, 2373, 2376, 2372, 2373, + 2374, 2374, 2366, 2375, 2369, 2377, 2376, 2379, 2375, 2380, + 2380, 2379, 2381, 2383, 2377, 2378, 2384, 2385, 2383, 2386, + 2387, 2388, 2389, 2390, 2387, 2381, 2391, 2389, 2392, 2390, + 2393, 2394, 2391, 2386, 2395, 2396, 2384, 2385, 2399, 2395, + 2398, 2388, 2400, 2408, 2408, 2401, 2392, 2400, 2407, 2393, + 2394, 2401, 2398, 2402, 2399, 2403, 2396, 2403, 2405, 2410, + 2409, 2402, 2407, 2409, 2411, 2411, 2414, 2405, 2415, 2416, + 2414, 2417, 2417, 2418, 2415, 2421, 2421, 2423, 2425, 2429, + 2426, 2416, 2418, 2430, 2429, 2410, 2431, 2440, 2432, 2433, - 2432, 2421, 2436, 2420, 2435, 2432, 2440, 2435, 2437, 2438, - 2438, 2442, 2443, 2441, 2436, 2440, 2447, 2434, 2431, 2441, - 2437, 2445, 2445, 2446, 2448, 2453, 2446, 2443, 2454, 2442, - 2450, 2450, 2451, 2451, 2452, 2447, 2455, 2454, 2456, 2452, - 2456, 2455, 2448, 2453, 2457, 2458, 2460, 2461, 2459, 2462, - 2463, 2460, 2464, 2464, 2468, 2463, 2465, 2465, 2457, 2458, - 2459, 2466, 2466, 2467, 2467, 2469, 2468, 2461, 2470, 2462, - 2471, 2471, 2473, 2470, 2472, 2472, 2474, 2475, 2476, 2477, - 2478, 2478, 2479, 2469, 2473, 2480, 2480, 2482, 2474, 2481, - 2481, 2483, 2485, 2484, 2486, 2477, 2488, 2475, 2482, 2476, + 2434, 2434, 2425, 2432, 2433, 2423, 2426, 2436, 2436, 2438, + 2439, 2439, 2441, 2440, 2444, 2438, 2442, 2431, 2446, 2430, + 2445, 2442, 2450, 2445, 2447, 2448, 2448, 2452, 2453, 2451, + 2446, 2450, 2457, 2444, 2441, 2451, 2447, 2455, 2455, 2456, + 2458, 2463, 2456, 2453, 2464, 2452, 2460, 2460, 2461, 2461, + 2462, 2457, 2465, 2464, 2466, 2462, 2466, 2465, 2458, 2463, + 2467, 2468, 2470, 2471, 2469, 2472, 2473, 2470, 2474, 2474, + 2478, 2473, 2475, 2475, 2467, 2468, 2469, 2476, 2476, 2477, + 2477, 2479, 2478, 2471, 2480, 2472, 2481, 2481, 2483, 2480, + 2482, 2482, 2484, 2485, 2486, 2487, 2490, 2488, 2493, 2479, - 2484, 2479, 2487, 2483, 2485, 2489, 2491, 2487, 2490, 2490, - 2492, 2493, 2497, 2494, 2486, 2491, 2488, 2495, 2496, 2498, - 2501, 2498, 2502, 2499, 2503, 2489, 2494, 2500, 2500, 2501, - 2505, 2493, 2496, 2506, 2497, 2499, 2492, 2502, 2507, 2503, - 2508, 2495, 2509, 2508, 2510, 2511, 2512, 2512, 2505, 2510, - 2511, 2513, 2513, 2514, 2514, 2506, 2509, 2516, 2516, 2518, - 2518, 2507, 2519, 2520, 2521, 2524, 2522, 2526, 2525, 2528, - 2527, 2529, 2531, 2530, 2520, 2530, 2532, 2533, 2528, 2537, - 2519, 2522, 2538, 2521, 0, 2524, 2525, 2534, 2534, 2526, - 2527, 2529, 2531, 2537, 2532, 2533, 2536, 2536, 2539, 2540, + 2483, 2489, 2489, 2491, 2491, 2485, 2492, 2492, 2494, 2493, + 2495, 2496, 2484, 2488, 2486, 2490, 2487, 2495, 2497, 2498, + 2494, 2499, 2500, 2496, 2498, 2501, 2501, 2502, 2503, 2504, + 2505, 2506, 2507, 2509, 2508, 2509, 2502, 2513, 2497, 2510, + 2516, 2499, 2500, 2505, 2511, 2511, 2507, 2514, 2512, 2504, + 2517, 2510, 2513, 2518, 2503, 2506, 2508, 2512, 2516, 2520, + 2519, 2521, 2514, 2519, 2522, 2530, 2521, 2523, 2523, 2522, + 2524, 2524, 2517, 2520, 2525, 2525, 2518, 2527, 2527, 2529, + 2529, 2531, 2532, 2530, 2533, 2535, 2536, 2537, 2538, 2539, + 2540, 2541, 2531, 2541, 2542, 2543, 2549, 2544, 2539, 2533, - 2540, 2542, 2543, 2543, 2538, 2544, 2545, 2539, 2546, 2548, - 2542, 2547, 2549, 2550, 2551, 2546, 2552, 2552, 2553, 2553, - 2554, 2555, 2556, 2544, 2545, 2560, 2547, 2548, 2556, 2550, - 2549, 2557, 2557, 2551, 2558, 2558, 2559, 2561, 2562, 2555, - 2554, 2563, 2559, 2560, 2564, 2565, 2566, 0, 2567, 2564, - 2569, 2569, 2561, 2567, 2568, 2563, 2568, 2562, 2570, 2573, - 2570, 2571, 2571, 2575, 2576, 2565, 2566, 2577, 2578, 2579, - 2580, 2581, 2575, 2582, 2579, 2580, 2585, 2586, 2573, 2577, - 2586, 2587, 2587, 2576, 2588, 2589, 2590, 2590, 2578, 2591, - 2592, 2581, 2582, 2593, 2595, 2598, 2585, 2593, 2596, 2588, + 0, 2532, 2545, 2545, 2536, 2535, 2547, 2547, 2538, 2537, + 2540, 2548, 2550, 2543, 2542, 2544, 2551, 2551, 2549, 2553, + 2555, 2550, 2554, 2554, 2556, 2548, 2557, 2559, 2553, 2558, + 2560, 2561, 2562, 2557, 2563, 2563, 2564, 2564, 2555, 2565, + 2566, 2573, 2556, 2567, 2558, 2559, 2571, 2561, 2560, 2567, + 2570, 2562, 2568, 2568, 2569, 2569, 2570, 2572, 2566, 2565, + 2573, 2574, 2575, 2576, 2571, 2577, 2578, 2575, 2579, 2584, + 2579, 2578, 2572, 2580, 2580, 2574, 2581, 2586, 2581, 2582, + 2582, 2587, 2588, 2576, 2589, 2577, 2586, 2590, 2584, 2592, + 2591, 2593, 2590, 2596, 2588, 2591, 2597, 2598, 2598, 2597, - 2591, 2600, 2596, 2589, 2601, 2592, 2597, 2597, 2598, 2595, - 2602, 2603, 2603, 2605, 2606, 2607, 2600, 2608, 2608, 2607, - 2609, 2610, 2610, 2606, 2601, 2605, 2611, 2612, 2613, 2614, - 2602, 2611, 2615, 2616, 2616, 2622, 2612, 2621, 2621, 2609, - 2624, 2614, 2623, 2623, 2613, 2625, 2626, 2627, 2628, 2628, - 2629, 2630, 2615, 2624, 0, 2626, 2627, 2622, 2625, 2632, - 2632, 2637, 2635, 2636, 2638, 2639, 2630, 2635, 2636, 2638, - 2629, 2640, 2641, 2639, 2642, 2637, 2644, 2647, 2645, 2646, - 2651, 2641, 2642, 2645, 2646, 2648, 2648, 2649, 2649, 2650, - 2640, 2644, 2647, 2653, 2650, 2652, 2652, 2654, 2655, 2651, + 2587, 2599, 2600, 2602, 2589, 2601, 2601, 2603, 2604, 2592, + 2593, 2606, 2604, 2596, 2602, 2607, 2599, 2608, 2608, 2607, + 2600, 2609, 2603, 2611, 2612, 2613, 2606, 2614, 2614, 2616, + 2617, 2618, 2619, 2619, 2609, 2618, 2620, 2624, 2611, 2617, + 2623, 2616, 2621, 2621, 2612, 2613, 2622, 2625, 2626, 2623, + 2633, 2622, 2635, 2624, 2636, 2620, 2627, 2627, 0, 2625, + 2632, 2632, 2634, 2634, 2637, 2635, 2638, 2636, 2626, 2639, + 2640, 2640, 2633, 2637, 2641, 2638, 2642, 2647, 2639, 2644, + 2644, 2648, 2647, 2649, 2650, 2651, 2648, 2652, 2654, 2650, + 2653, 2642, 2656, 2651, 2641, 2657, 2654, 2649, 2658, 2653, - 2653, 2656, 2654, 2657, 0, 2658, 2659, 2659, 2660, 2657, - 2658, 2666, 2661, 2662, 2662, 2668, 2655, 2661, 2668, 2656, - 2663, 2663, 2669, 2660, 2666, 2667, 2667, 2669, 2669, 2670, - 2671, 2672, 2673, 2674, 2670, 2671, 2675, 2674, 2673, 2676, - 2677, 2675, 2678, 2679, 2682, 2672, 2680, 2681, 2676, 2682, - 2678, 2683, 2680, 2681, 2685, 2677, 2687, 2686, 2689, 2687, - 2691, 2685, 2686, 2683, 2679, 2691, 2692, 2693, 2694, 2695, - 2689, 2692, 2701, 2696, 2697, 2697, 2706, 2698, 2695, 2707, - 0, 2694, 2696, 2702, 2708, 2693, 2698, 2703, 2711, 2702, - 2701, 2709, 2709, 2703, 2710, 2706, 2712, 2713, 2715, 2707, + 2657, 2659, 2663, 2658, 2660, 2660, 2652, 2656, 2661, 2661, + 2662, 2664, 2664, 2665, 2666, 2662, 2659, 2667, 2668, 2666, + 2665, 2663, 2669, 2672, 2670, 2671, 2671, 2673, 2669, 2670, + 2674, 2674, 2673, 2675, 2675, 2667, 2668, 2678, 2672, 2679, + 2679, 2680, 2681, 2684, 2680, 2689, 2682, 2681, 2681, 2683, + 2678, 2682, 2685, 2688, 2683, 2686, 2687, 2684, 2685, 2686, + 2689, 2687, 2688, 2690, 2691, 2694, 2692, 2693, 2695, 2697, + 2694, 2690, 2692, 2693, 2698, 2699, 2697, 2701, 2699, 2698, + 2695, 2703, 2704, 2705, 2706, 2691, 2703, 2704, 2713, 2701, + 2707, 2708, 2709, 2709, 2710, 2718, 2714, 2706, 2715, 2707, - 2717, 2710, 2719, 2708, 2722, 2712, 2720, 2711, 2714, 2714, - 2720, 0, 2713, 2721, 2721, 2717, 2725, 2715, 2723, 2724, - 2726, 0, 2719, 2728, 2723, 2724, 2726, 2727, 2727, 2722, - 2729, 2728, 2731, 2732, 2725, 2729, 2734, 2735, 2737, 2736, - 2735, 2731, 2734, 2736, 2738, 2741, 2732, 2740, 2740, 2742, - 2742, 2751, 2737, 2743, 2743, 2745, 2745, 2746, 2753, 2738, - 2747, 2746, 2757, 2741, 2752, 2747, 2749, 2749, 2754, 2752, - 2753, 2751, 2755, 2754, 2754, 2758, 2758, 2760, 2760, 2761, - 2761, 2763, 2757, 2762, 2755, 2766, 2762, 2765, 2765, 2768, - 2769, 2769, 2770, 2770, 2763, 2771, 2771, 2772, 2773, 2773, + 2708, 2705, 2714, 2710, 2715, 2719, 2713, 2720, 2721, 2721, + 2722, 2723, 2724, 2725, 2718, 2726, 2726, 2722, 2727, 2729, + 2731, 2724, 2734, 2732, 2737, 2719, 2720, 2732, 2725, 2735, + 2723, 2733, 2733, 2736, 2729, 2735, 0, 2727, 2738, 2736, + 2731, 2740, 2737, 2741, 2738, 2739, 2739, 2734, 2741, 2740, + 2743, 2744, 2746, 2747, 2749, 2750, 2747, 2748, 2746, 2743, + 2753, 2748, 2752, 2752, 2744, 2754, 2754, 2763, 2749, 0, + 2750, 2755, 2755, 2757, 2757, 2758, 2759, 2765, 2753, 2758, + 2764, 2759, 2761, 2761, 2767, 2764, 2766, 2763, 2769, 2765, + 2775, 2766, 2766, 2770, 2770, 2779, 2767, 2772, 2772, 2773, - 2774, 2775, 2776, 2766, 2777, 2778, 2778, 2779, 2782, 2768, - 2777, 2779, 2772, 2774, 2782, 2783, 2776, 2785, 2786, 2775, - 2783, 2789, 2785, 2785, 2787, 2788, 2790, 2789, 2791, 2792, - 2793, 2793, 2790, 2792, 2796, 2798, 2801, 2799, 2804, 2796, - 2799, 2786, 2806, 2798, 2787, 2788, 2802, 2803, 2803, 2802, - 2807, 2808, 2805, 2791, 2810, 2804, 2804, 2805, 2809, 2809, - 2806, 2801, 2812, 2811, 2813, 2808, 2811, 2814, 2810, 2817, - 2807, 2826, 2815, 0, 2811, 2814, 2812, 2815, 2815, 2816, - 2818, 2818, 2823, 2813, 2816, 2816, 2819, 2819, 2817, 2820, - 2820, 2821, 2821, 2822, 2822, 2824, 2825, 2826, 2823, 2827, + 2773, 2774, 2776, 2775, 2774, 2778, 2778, 2781, 2769, 2782, + 2782, 2783, 2783, 2779, 2785, 2776, 2784, 2784, 2786, 2786, + 2787, 2788, 2789, 2799, 2790, 2791, 2791, 2781, 2792, 2785, + 2790, 2795, 2792, 2787, 2800, 2796, 2789, 2795, 2798, 2788, + 2796, 2801, 2802, 2798, 2798, 2803, 2799, 2804, 2802, 2805, + 2811, 2803, 2809, 2805, 2800, 2806, 2806, 2809, 2811, 2812, + 2814, 2801, 2812, 2815, 2816, 2816, 2815, 2821, 2818, 2817, + 2819, 2820, 2804, 2818, 2822, 2822, 2823, 2826, 2828, 2825, + 2830, 2821, 2869, 2828, 2828, 2814, 2817, 2817, 2819, 2824, + 2823, 2820, 2824, 2825, 2827, 2839, 2826, 2869, 2829, 2830, - 2824, 2828, 2829, 2830, 2827, 2831, 2832, 2829, 2834, 2834, - 2835, 2835, 2830, 2837, 2836, 2840, 2825, 2836, 2839, 2839, - 2828, 2845, 2840, 2841, 2841, 2831, 2832, 2842, 2844, 2844, - 2845, 2837, 2842, 2846, 2847, 2848, 2850, 2851, 2851, 2853, - 2854, 2852, 2846, 2847, 2848, 2852, 2855, 2856, 2853, 2859, - 2857, 2858, 2865, 2865, 2850, 2857, 2857, 2855, 2859, 2854, - 2868, 2860, 2856, 2864, 2858, 2860, 2867, 2867, 2864, 2869, - 2870, 2872, 2872, 2873, 2868, 2874, 2877, 2878, 2880, 2881, - 2883, 2885, 2873, 0, 2887, 2881, 2878, 2874, 2870, 2887, - 2888, 2890, 2883, 2893, 2869, 2888, 2889, 2889, 2880, 2892, + 2824, 2836, 2827, 2829, 2829, 2831, 2831, 2832, 2832, 2833, + 2833, 2834, 2834, 2835, 2835, 2837, 2838, 2836, 2840, 2841, + 2837, 2839, 2842, 2840, 2843, 2844, 2845, 2842, 2847, 2847, + 2848, 2848, 2849, 2843, 2850, 2849, 2838, 2853, 2841, 2852, + 2852, 2854, 2854, 2855, 2853, 2844, 2845, 2858, 2855, 2857, + 2857, 2859, 2850, 2860, 2861, 2863, 2858, 2864, 2864, 2866, + 2859, 2865, 2860, 2861, 2867, 2865, 2868, 2871, 2866, 2870, + 2872, 2882, 2873, 2863, 2870, 2870, 2873, 2868, 2881, 2872, + 2871, 2877, 2883, 2867, 2878, 2878, 2877, 2880, 2880, 2885, + 2885, 2887, 2881, 2886, 2890, 2894, 2882, 2892, 2897, 2891, - 2890, 2877, 2885, 2894, 2892, 2902, 2893, 2895, 2895, 2897, - 2897, 2895, 2898, 2898, 2899, 2899, 2900, 2894, 2901, 2908, - 2908, 2903, 2905, 2909, 2902, 2900, 2903, 2906, 2905, 2907, - 2910, 2911, 2906, 2913, 2907, 2912, 2915, 2914, 2901, 2922, - 2912, 2909, 2910, 2914, 2916, 2916, 2918, 2923, 2919, 2920, - 2918, 2913, 2911, 2919, 2920, 2921, 2921, 2924, 2922, 2926, - 2930, 2915, 2923, 2928, 2928, 2931, 2932, 2933, 2934, 2935, - 2932, 2940, 2924, 2930, 2936, 2937, 2933, 2941, 2931, 2926, - 2937, 2939, 2936, 2943, 2934, 2938, 2938, 2949, 2935, 2940, - 2939, 2942, 2942, 2946, 2946, 2947, 2947, 2951, 2951, 2953, + 2883, 2895, 2886, 2887, 2891, 2899, 2892, 2895, 2901, 2902, + 2897, 2903, 2903, 2901, 2902, 2894, 2904, 2906, 2907, 2890, + 2908, 2914, 2906, 2909, 2909, 2904, 2899, 2909, 2911, 2911, + 2914, 2907, 2912, 2912, 2908, 2913, 2913, 2915, 2917, 2916, + 2919, 2923, 2920, 2917, 2921, 2925, 2919, 2920, 2924, 2921, + 2922, 2922, 2927, 2929, 2930, 2930, 2926, 2915, 2916, 2923, + 2924, 2926, 2928, 2932, 2933, 2936, 2925, 2932, 2928, 2933, + 2927, 2934, 2935, 2935, 2937, 2938, 2934, 2940, 2929, 2942, + 2942, 2944, 2945, 2946, 2936, 2948, 2949, 2946, 2950, 2937, + 2938, 2947, 2954, 2951, 2944, 2945, 2950, 2940, 2951, 2953, - 2954, 2955, 2943, 2941, 2956, 2957, 2955, 2960, 2949, 2961, - 2957, 2959, 2959, 2962, 2963, 2953, 2954, 2964, 2961, 2962, - 2956, 2966, 2966, 2968, 2967, 2969, 2969, 2960, 2972, 2973, - 2976, 2977, 2977, 2979, 2974, 2973, 2964, 2963, 2967, 2974, - 2978, 2978, 2968, 2980, 2980, 2981, 2982, 2983, 2972, 2985, - 2986, 2984, 2976, 2979, 2987, 2982, 2981, 2984, 2988, 2988, - 2989, 2990, 2986, 2980, 2990, 2996, 2991, 2983, 2985, 2991, - 2992, 2992, 2997, 2998, 2987, 2989, 3002, 2996, 3001, 2998, - 2999, 2999, 3000, 3004, 3001, 3000, 3005, 3005, 3004, 3007, - 3006, 3008, 2997, 3009, 3002, 3006, 3013, 3008, 3010, 3010, + 2947, 2948, 2952, 2952, 2955, 2949, 2956, 2956, 2953, 2957, + 2954, 2960, 2960, 2961, 2961, 2963, 2965, 2965, 2967, 2968, + 2969, 2970, 2971, 2973, 2973, 2969, 2974, 2971, 2957, 2975, + 2955, 2977, 2978, 2976, 2967, 2968, 2963, 2970, 2975, 2976, + 2980, 2980, 2981, 2982, 2983, 2983, 2974, 2986, 2988, 2987, + 2990, 2978, 3000, 2988, 2977, 2987, 2981, 2991, 2991, 2992, + 2992, 2993, 2982, 2994, 2995, 2995, 2996, 2986, 2998, 2997, + 3001, 3000, 2990, 2999, 3002, 3004, 2993, 2996, 2997, 2999, + 3003, 3003, 3001, 2994, 2995, 3012, 3005, 3011, 2998, 3005, + 3004, 3017, 3006, 0, 3002, 3006, 3007, 3007, 3013, 3011, - 3012, 3014, 3015, 3016, 3016, 3017, 3018, 3019, 3007, 0, - 3009, 3009, 3012, 3024, 3013, 3015, 3019, 3021, 3021, 3022, - 3022, 3030, 3018, 3023, 3017, 3025, 3014, 3024, 3023, 3029, - 3025, 3026, 3026, 3027, 3027, 3028, 3028, 3031, 3037, 3032, - 3034, 3034, 3029, 3031, 3032, 3039, 3040, 3030, 3042, 3046, - 3041, 3043, 3043, 3045, 3045, 3047, 3049, 3037, 3048, 3051, - 3051, 3055, 3050, 3052, 3052, 3056, 3064, 3039, 3040, 3041, - 3042, 3050, 3048, 3054, 3047, 3046, 3049, 3057, 3063, 3054, - 3064, 3055, 3057, 3063, 3056, 3060, 3060, 3062, 3062, 3065, - 3066, 3067, 3068, 3068, 3071, 3065, 3069, 3073, 3071, 3067, + 3014, 3014, 3016, 3015, 3013, 3012, 3015, 3019, 3016, 3017, + 3020, 3020, 3019, 3021, 3022, 3023, 3027, 3024, 3021, 3025, + 3025, 3023, 3028, 3029, 3030, 3031, 3031, 3032, 3027, 3033, + 3034, 3036, 3036, 3022, 3024, 3024, 3039, 3030, 3038, 3034, + 3028, 3037, 3037, 3038, 3040, 3033, 3032, 3044, 3029, 3040, + 3039, 3041, 3041, 3042, 3042, 3043, 3043, 3045, 3046, 3052, + 3044, 3047, 3049, 3049, 3046, 3054, 3047, 3055, 3057, 3056, + 3058, 3058, 3060, 3060, 3061, 3062, 3064, 3063, 3052, 3066, + 3066, 3067, 3067, 3045, 3065, 3070, 3069, 3054, 3056, 3055, + 3057, 3063, 3069, 3065, 3062, 3071, 3064, 3072, 3075, 3082, - 3072, 3069, 3066, 3074, 3075, 3072, 3076, 3077, 3079, 3075, - 3080, 3081, 3082, 3077, 3085, 3084, 3079, 3073, 3076, 3086, - 3087, 3088, 3090, 3074, 3091, 3095, 3088, 3090, 3092, 3080, - 3085, 3081, 3082, 3084, 3092, 3093, 3086, 3086, 3097, 3096, - 3093, 3087, 3096, 3108, 3091, 3095, 3100, 3100, 3101, 3101, - 3102, 3097, 3106, 3106, 3102, 3107, 3109, 3109, 3111, 3111, - 3107, 3116, 3108, 3112, 3112, 3116, 3112, 3113, 3113, 3119, - 3113, 3114, 3114, 3115, 3115, 3118, 3115, 3121, 3119, 3122, - 3118, 3120, 3120, 3125, 3126, 3127, 3128, 3128, 3131, 3132, - 3127, 3134, 3135, 3122, 3133, 3121, 3132, 3137, 3133, 3144, + 3061, 3080, 3072, 3076, 3076, 3070, 3078, 3078, 3079, 3083, + 3081, 3082, 3089, 3079, 3071, 3080, 3081, 3083, 3085, 3075, + 3084, 3084, 3087, 3085, 3088, 3090, 3087, 3092, 3091, 3088, + 3093, 3096, 3089, 3091, 3095, 3097, 3093, 3098, 3100, 3092, + 3107, 0, 3095, 3101, 3102, 3090, 3103, 3104, 3106, 3109, + 3096, 3111, 3104, 3106, 3109, 3097, 3100, 3098, 3108, 3101, + 3107, 3102, 3102, 3112, 3108, 3113, 3112, 3103, 3116, 3116, + 3118, 3111, 3117, 3117, 3118, 3122, 3122, 3123, 3113, 3124, + 3125, 3125, 3123, 3127, 3127, 3128, 3128, 3132, 3128, 3129, + 3129, 3132, 3129, 3130, 3130, 3134, 3131, 3131, 3124, 3131, - 3134, 3138, 3140, 3125, 3126, 3145, 3138, 3135, 3139, 3139, - 3145, 3140, 3149, 3131, 3144, 3137, 3141, 3141, 3142, 3142, - 3143, 3143, 3146, 3147, 3148, 3150, 3151, 3152, 3147, 3147, - 3148, 3146, 3152, 3153, 3146, 3154, 3184, 3149, 3153, 3156, - 3150, 3155, 3155, 3157, 3160, 3156, 0, 3151, 3184, 3157, - 3158, 3158, 3159, 3159, 3154, 3161, 3164, 3164, 3167, 3160, - 3161, 3166, 3166, 3170, 3170, 3171, 3171, 3167, 3172, 3172, - 3173, 3173, 3175, 3175, 3176, 3176, 3177, 3177, 3178, 3178, - 3179, 3181, 3182, 3182, 3183, 3185, 3188, 3188, 3187, 3189, - 3181, 3191, 3199, 3183, 3195, 3190, 3192, 3192, 3193, 3193, + 3134, 3135, 3136, 3136, 3137, 3138, 3141, 3142, 3143, 3145, + 3135, 3144, 3144, 3143, 3148, 3151, 3149, 3150, 3152, 3138, + 3154, 3150, 3137, 3149, 3151, 3155, 3141, 3142, 3157, 3145, + 3155, 3156, 3156, 3152, 3158, 3158, 3161, 3157, 3154, 3148, + 3159, 3159, 3160, 3160, 3162, 3163, 3166, 3164, 3167, 3162, + 3165, 3161, 3164, 3164, 3163, 3168, 3165, 3163, 3171, 3169, + 3170, 3172, 3172, 3167, 3169, 3170, 3173, 3174, 3175, 3175, + 3177, 3166, 3173, 3174, 3176, 3176, 3168, 3171, 3178, 3181, + 3181, 3183, 3183, 3178, 3184, 3177, 3187, 3187, 3188, 3188, + 3189, 3189, 3196, 3184, 3190, 3190, 3192, 3192, 3193, 3193, - 3196, 3196, 3201, 3191, 3189, 3185, 3179, 3187, 3190, 3195, - 3199, 3200, 3202, 3202, 3200, 3203, 3205, 3206, 3207, 3205, - 3208, 3209, 3211, 3206, 3210, 3208, 3217, 3214, 3201, 3213, - 3217, 3218, 3207, 3203, 3221, 3213, 3214, 3233, 3211, 3230, - 3209, 3238, 3210, 3240, 3230, 3231, 3218, 3240, 3231, 3239, - 3233, 3234, 3234, 3235, 3235, 3236, 3236, 3241, 3239, 3243, - 3221, 3245, 3247, 3246, 3238, 3249, 3248, 3247, 3248, 3250, - 3250, 3252, 3251, 3243, 3246, 3253, 3254, 3241, 3255, 3256, - 3249, 3259, 3257, 3258, 3245, 3251, 3259, 3260, 3262, 3262, - 3252, 3257, 3254, 3253, 3256, 3258, 3261, 3263, 3268, 3264, + 3194, 3194, 3195, 3195, 3198, 3199, 3199, 3200, 3201, 3202, + 3204, 3204, 3205, 3198, 3206, 3206, 3200, 3207, 3196, 3219, + 3201, 3208, 3213, 3209, 3210, 3210, 3211, 3211, 3217, 3202, + 3218, 3205, 3207, 3218, 3208, 3209, 3221, 3213, 3214, 3214, + 3220, 3220, 3224, 3225, 3223, 3219, 3217, 3223, 3224, 3227, + 3226, 3228, 3231, 3232, 3221, 3226, 3229, 3225, 3231, 3235, + 3236, 3239, 3232, 3235, 3249, 3248, 3251, 3249, 3227, 3228, + 3248, 3257, 3229, 3252, 3252, 3236, 3253, 3253, 3260, 3251, + 3255, 3255, 3258, 3262, 3259, 3264, 3271, 3239, 3259, 3265, + 3266, 3258, 3268, 3270, 3257, 3266, 3272, 3262, 3260, 3267, - 3269, 3261, 3271, 3255, 3264, 3270, 3270, 3276, 3260, 3272, - 3272, 3271, 3268, 3273, 3273, 3274, 3274, 3263, 3275, 3275, - 3269, 3277, 3278, 3279, 3280, 3278, 3276, 3281, 3279, 3280, - 3282, 3283, 3284, 3286, 3288, 3285, 3292, 3283, 3286, 3287, - 3287, 3277, 3289, 3289, 3293, 3282, 3284, 3285, 3291, 3291, - 3296, 3292, 3281, 3298, 3288, 3294, 3294, 3301, 3301, 3302, - 3302, 3303, 3304, 3293, 3305, 3296, 3306, 3308, 3307, 3303, - 3305, 3298, 3306, 3309, 3310, 3311, 3311, 3313, 3313, 3310, - 3308, 3304, 3307, 3316, 3319, 3317, 3320, 3322, 3323, 3324, - 3320, 3333, 3309, 3323, 3327, 3328, 3325, 3326, 3319, 3334, + 3265, 3267, 3269, 3269, 3273, 3271, 3270, 3268, 3264, 3274, + 3275, 3277, 3276, 3278, 3272, 3279, 3287, 3280, 3278, 3282, + 3273, 3276, 3280, 3277, 3283, 3275, 3281, 3281, 3288, 3283, + 3287, 3289, 3289, 3290, 3274, 3295, 3279, 3291, 3291, 3282, + 3292, 3292, 3290, 3293, 3293, 3294, 3294, 3296, 3288, 3297, + 3298, 3299, 3297, 3300, 3295, 3298, 3299, 3301, 3302, 3303, + 3305, 3307, 3304, 3312, 3302, 3305, 3317, 3296, 3306, 3306, + 3308, 3308, 3301, 3303, 3304, 3310, 3310, 3311, 3300, 3313, + 3313, 3307, 3312, 3315, 3317, 3320, 3320, 3321, 3321, 3322, + 3323, 3326, 3311, 3324, 3325, 3327, 3328, 3322, 3315, 3324, - 3328, 3329, 3330, 3330, 3316, 3317, 3329, 3322, 3324, 3325, - 3326, 3333, 3335, 3327, 3336, 3336, 3337, 3334, 3338, 3339, - 3339, 3337, 3340, 3341, 3338, 3342, 3343, 3340, 3341, 3344, - 3342, 3335, 3346, 3346, 3347, 3344, 3348, 3348, 3350, 3347, - 3351, 3352, 3350, 3353, 3354, 3343, 3355, 3356, 3352, 3359, - 3359, 3357, 3355, 3361, 3361, 3363, 3362, 3364, 3365, 3351, - 3363, 3366, 3353, 3354, 3357, 3362, 3356, 3368, 3362, 3367, - 3367, 3369, 3368, 3371, 3366, 3373, 3364, 3365, 3372, 3372, - 3374, 3374, 3375, 3375, 3369, 3376, 3377, 3378, 3379, 3379, - 3376, 3380, 3385, 3377, 3373, 3381, 3380, 3381, 3383, 3371, + 3325, 3329, 3330, 3330, 3335, 3326, 3329, 3336, 3327, 3323, + 3332, 3332, 3338, 3339, 3341, 3328, 3342, 3339, 3343, 3344, + 3345, 3342, 3346, 3347, 3348, 3335, 3338, 3336, 3347, 3348, + 3349, 3349, 3344, 3345, 3341, 3352, 3353, 3343, 3354, 3355, + 3355, 3346, 3356, 3357, 3358, 3358, 3359, 3356, 3360, 3357, + 3362, 3359, 3363, 3360, 3353, 3352, 3361, 3354, 3363, 3365, + 3365, 3361, 3366, 3367, 3367, 3370, 3369, 3366, 3371, 3362, + 3369, 3372, 3373, 3374, 3375, 3371, 3376, 3378, 3378, 3374, + 3380, 3380, 3382, 3381, 3370, 3383, 3384, 3382, 3385, 3376, + 3372, 3373, 3381, 3375, 3387, 3381, 3386, 3386, 3388, 3387, - 3382, 3382, 3384, 3386, 3387, 3383, 3378, 3390, 3386, 3384, - 3392, 3385, 3389, 3389, 3393, 3392, 3394, 3395, 3399, 3393, - 3396, 3396, 3400, 3387, 3398, 3398, 3390, 3401, 3401, 3402, - 3402, 3403, 3405, 3405, 3413, 3394, 3395, 3399, 3403, 3406, - 3406, 3400, 3407, 3409, 3414, 3412, 3415, 3415, 3409, 3407, - 3412, 3416, 3416, 3413, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3414, 3420, 3420, 3420, 3420, 3420, 3420, - 3420, 3421, 3421, 3421, 3421, 3421, 3421, 3421, 3422, 3422, - 3422, 3422, 3422, 3422, 3422, 3423, 3423, 3423, 3423, 3423, - 3423, 3423, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3425, + 3390, 3385, 3391, 3391, 3383, 3384, 3392, 3393, 3393, 3394, + 3394, 3388, 3395, 3396, 3397, 3398, 3398, 3395, 3399, 3400, + 3396, 3400, 3402, 3399, 3403, 3392, 3390, 3401, 3401, 3402, + 3404, 3403, 3405, 3397, 3406, 3408, 3408, 3405, 3409, 3411, + 3412, 3413, 3414, 3418, 3411, 3412, 3415, 3415, 3419, 3404, + 3417, 3417, 0, 3406, 3420, 3420, 3422, 3409, 3421, 3421, + 3413, 3414, 3418, 3422, 3424, 3424, 3426, 3419, 3425, 3425, + 3428, 3431, 3432, 3426, 3433, 3428, 3431, 3434, 3434, 3435, + 3435, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3432, 0, 3433, 3439, 3439, 3439, 3439, 3439, 3439, - 3425, 3425, 3425, 3425, 3425, 3425, 3426, 3426, 3426, 3426, - 3426, 3426, 3426, 3428, 3428, 0, 3428, 3428, 3428, 3428, - 3429, 3429, 0, 0, 0, 3429, 3429, 3430, 3430, 0, - 0, 3430, 0, 3430, 3431, 0, 0, 0, 0, 0, - 3431, 3432, 3432, 0, 0, 0, 3432, 3432, 3433, 0, - 0, 0, 0, 0, 3433, 3434, 3434, 0, 3434, 3434, - 3434, 3434, 3435, 0, 0, 0, 0, 0, 3435, 3436, - 3436, 0, 0, 0, 3436, 3436, 3437, 3437, 0, 3437, - 3437, 3437, 3437, 3419, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, + 3439, 3440, 3440, 3440, 3440, 3440, 3440, 3440, 3441, 3441, + 3441, 3441, 3441, 3441, 3441, 3442, 3442, 3442, 3442, 3442, + 3442, 3442, 3443, 3443, 3443, 3443, 3443, 3443, 3443, 3444, + 3444, 3444, 3444, 3444, 3444, 3444, 3445, 3445, 3445, 3445, + 3445, 3445, 3445, 3447, 3447, 0, 3447, 3447, 3447, 3447, + 3448, 3448, 0, 0, 0, 3448, 3448, 3449, 3449, 0, + 0, 3449, 0, 3449, 3450, 0, 0, 0, 0, 0, + 3450, 3451, 3451, 0, 0, 0, 3451, 3451, 3452, 0, + 0, 0, 0, 0, 3452, 3453, 3453, 0, 3453, 3453, + 3453, 3453, 3454, 0, 0, 0, 0, 0, 3454, 3455, - 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, - 3419, 3419, 3419, 3419 + 3455, 0, 0, 0, 3455, 3455, 3456, 3456, 0, 3456, + 3456, 3456, 3456, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, + 3438, 3438, 3438, 3438 } ; static yy_state_type yy_last_accepting_state; @@ -3238,7 +3250,7 @@ static void config_end_include(void) } #endif -#line 3239 "" +#line 3251 "" #define YY_NO_INPUT 1 #line 191 "./util/configlexer.lex" #ifndef YY_NO_UNPUT @@ -3247,9 +3259,9 @@ static void config_end_include(void) #ifndef YY_NO_INPUT #define YY_NO_INPUT 1 #endif -#line 3248 "" +#line 3260 "" -#line 3250 "" +#line 3262 "" #define INITIAL 0 #define quotedstring 1 @@ -3473,7 +3485,7 @@ YY_DECL { #line 211 "./util/configlexer.lex" -#line 3474 "" +#line 3486 "" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -3506,13 +3518,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 >= 3420 ) + if ( yy_current_state >= 3439 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 6684 ); + while ( yy_base[yy_current_state] != 6714 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3667,17 +3679,17 @@ YY_RULE_SETUP case 26: YY_RULE_SETUP #line 240 "./util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } +{ YDVAR(1, VAR_TCP_AUTH_QUERY_TIMEOUT) } YY_BREAK case 27: YY_RULE_SETUP #line 241 "./util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } +{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } YY_BREAK case 28: YY_RULE_SETUP #line 242 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_UPSTREAM) } +{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } YY_BREAK case 29: YY_RULE_SETUP @@ -3687,7 +3699,7 @@ YY_RULE_SETUP case 30: YY_RULE_SETUP #line 244 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_KEY) } +{ YDVAR(1, VAR_SSL_UPSTREAM) } YY_BREAK case 31: YY_RULE_SETUP @@ -3697,7 +3709,7 @@ YY_RULE_SETUP case 32: YY_RULE_SETUP #line 246 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_PEM) } +{ YDVAR(1, VAR_SSL_SERVICE_KEY) } YY_BREAK case 33: YY_RULE_SETUP @@ -3707,7 +3719,7 @@ YY_RULE_SETUP case 34: YY_RULE_SETUP #line 248 "./util/configlexer.lex" -{ YDVAR(1, VAR_SSL_PORT) } +{ YDVAR(1, VAR_SSL_SERVICE_PEM) } YY_BREAK case 35: YY_RULE_SETUP @@ -3717,7 +3729,7 @@ YY_RULE_SETUP case 36: YY_RULE_SETUP #line 250 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CERT_BUNDLE) } +{ YDVAR(1, VAR_SSL_PORT) } YY_BREAK case 37: YY_RULE_SETUP @@ -3727,12 +3739,12 @@ YY_RULE_SETUP case 38: YY_RULE_SETUP #line 252 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_WIN_CERT) } +{ YDVAR(1, VAR_TLS_CERT_BUNDLE) } YY_BREAK case 39: YY_RULE_SETUP #line 253 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } +{ YDVAR(1, VAR_TLS_WIN_CERT) } YY_BREAK case 40: YY_RULE_SETUP @@ -3752,72 +3764,72 @@ YY_RULE_SETUP case 43: YY_RULE_SETUP #line 257 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } +{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } YY_BREAK case 44: YY_RULE_SETUP #line 258 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CIPHERS) } +{ YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } YY_BREAK case 45: YY_RULE_SETUP #line 259 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CIPHERSUITES) } +{ YDVAR(1, VAR_TLS_CIPHERS) } YY_BREAK case 46: YY_RULE_SETUP #line 260 "./util/configlexer.lex" -{ YDVAR(1, VAR_TLS_USE_SNI) } +{ YDVAR(1, VAR_TLS_CIPHERSUITES) } YY_BREAK case 47: YY_RULE_SETUP #line 261 "./util/configlexer.lex" -{ YDVAR(1, VAR_HTTPS_PORT) } +{ YDVAR(1, VAR_TLS_USE_SNI) } YY_BREAK case 48: YY_RULE_SETUP #line 262 "./util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_ENDPOINT) } +{ YDVAR(1, VAR_HTTPS_PORT) } YY_BREAK case 49: YY_RULE_SETUP #line 263 "./util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_MAX_STREAMS) } +{ YDVAR(1, VAR_HTTP_ENDPOINT) } YY_BREAK case 50: YY_RULE_SETUP #line 264 "./util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_QUERY_BUFFER_SIZE) } +{ YDVAR(1, VAR_HTTP_MAX_STREAMS) } YY_BREAK case 51: YY_RULE_SETUP #line 265 "./util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_RESPONSE_BUFFER_SIZE) } +{ YDVAR(1, VAR_HTTP_QUERY_BUFFER_SIZE) } YY_BREAK case 52: YY_RULE_SETUP #line 266 "./util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_NODELAY) } +{ YDVAR(1, VAR_HTTP_RESPONSE_BUFFER_SIZE) } YY_BREAK case 53: YY_RULE_SETUP #line 267 "./util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_NOTLS_DOWNSTREAM) } +{ YDVAR(1, VAR_HTTP_NODELAY) } YY_BREAK case 54: YY_RULE_SETUP #line 268 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSTEMD) } +{ YDVAR(1, VAR_HTTP_NOTLS_DOWNSTREAM) } YY_BREAK case 55: YY_RULE_SETUP #line 269 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_DAEMONIZE) } +{ YDVAR(1, VAR_USE_SYSTEMD) } YY_BREAK case 56: YY_RULE_SETUP #line 270 "./util/configlexer.lex" -{ YDVAR(1, VAR_INTERFACE) } +{ YDVAR(1, VAR_DO_DAEMONIZE) } YY_BREAK case 57: YY_RULE_SETUP @@ -3827,227 +3839,227 @@ YY_RULE_SETUP case 58: YY_RULE_SETUP #line 272 "./util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_INTERFACE) } +{ YDVAR(1, VAR_INTERFACE) } YY_BREAK case 59: YY_RULE_SETUP #line 273 "./util/configlexer.lex" -{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) } +{ YDVAR(1, VAR_OUTGOING_INTERFACE) } YY_BREAK case 60: YY_RULE_SETUP #line 274 "./util/configlexer.lex" -{ YDVAR(1, VAR_SO_RCVBUF) } +{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) } YY_BREAK case 61: YY_RULE_SETUP #line 275 "./util/configlexer.lex" -{ YDVAR(1, VAR_SO_SNDBUF) } +{ YDVAR(1, VAR_SO_RCVBUF) } YY_BREAK case 62: YY_RULE_SETUP #line 276 "./util/configlexer.lex" -{ YDVAR(1, VAR_SO_REUSEPORT) } +{ YDVAR(1, VAR_SO_SNDBUF) } YY_BREAK case 63: YY_RULE_SETUP #line 277 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_TRANSPARENT) } +{ YDVAR(1, VAR_SO_REUSEPORT) } YY_BREAK case 64: YY_RULE_SETUP #line 278 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_FREEBIND) } +{ YDVAR(1, VAR_IP_TRANSPARENT) } YY_BREAK case 65: YY_RULE_SETUP #line 279 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_DSCP) } +{ YDVAR(1, VAR_IP_FREEBIND) } YY_BREAK case 66: YY_RULE_SETUP #line 280 "./util/configlexer.lex" -{ YDVAR(1, VAR_CHROOT) } +{ YDVAR(1, VAR_IP_DSCP) } YY_BREAK case 67: YY_RULE_SETUP #line 281 "./util/configlexer.lex" -{ YDVAR(1, VAR_USERNAME) } +{ YDVAR(1, VAR_CHROOT) } YY_BREAK case 68: YY_RULE_SETUP #line 282 "./util/configlexer.lex" -{ YDVAR(1, VAR_DIRECTORY) } +{ YDVAR(1, VAR_USERNAME) } YY_BREAK case 69: YY_RULE_SETUP #line 283 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOGFILE) } +{ YDVAR(1, VAR_DIRECTORY) } YY_BREAK case 70: YY_RULE_SETUP #line 284 "./util/configlexer.lex" -{ YDVAR(1, VAR_PIDFILE) } +{ YDVAR(1, VAR_LOGFILE) } YY_BREAK case 71: YY_RULE_SETUP #line 285 "./util/configlexer.lex" -{ YDVAR(1, VAR_ROOT_HINTS) } +{ YDVAR(1, VAR_PIDFILE) } YY_BREAK case 72: YY_RULE_SETUP #line 286 "./util/configlexer.lex" -{ YDVAR(1, VAR_STREAM_WAIT_SIZE) } +{ YDVAR(1, VAR_ROOT_HINTS) } YY_BREAK case 73: YY_RULE_SETUP #line 287 "./util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) } +{ YDVAR(1, VAR_STREAM_WAIT_SIZE) } YY_BREAK case 74: YY_RULE_SETUP #line 288 "./util/configlexer.lex" -{ YDVAR(1, VAR_MSG_BUFFER_SIZE) } +{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) } YY_BREAK case 75: YY_RULE_SETUP #line 289 "./util/configlexer.lex" -{ YDVAR(1, VAR_MSG_CACHE_SIZE) } +{ YDVAR(1, VAR_MSG_BUFFER_SIZE) } YY_BREAK case 76: YY_RULE_SETUP #line 290 "./util/configlexer.lex" -{ YDVAR(1, VAR_MSG_CACHE_SLABS) } +{ YDVAR(1, VAR_MSG_CACHE_SIZE) } YY_BREAK case 77: YY_RULE_SETUP #line 291 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_CACHE_SIZE) } +{ YDVAR(1, VAR_MSG_CACHE_SLABS) } YY_BREAK case 78: YY_RULE_SETUP #line 292 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_CACHE_SLABS) } +{ YDVAR(1, VAR_RRSET_CACHE_SIZE) } YY_BREAK case 79: YY_RULE_SETUP #line 293 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MAX_TTL) } +{ YDVAR(1, VAR_RRSET_CACHE_SLABS) } YY_BREAK case 80: YY_RULE_SETUP #line 294 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } +{ YDVAR(1, VAR_CACHE_MAX_TTL) } YY_BREAK case 81: YY_RULE_SETUP #line 295 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MIN_TTL) } +{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } YY_BREAK case 82: YY_RULE_SETUP #line 296 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_HOST_TTL) } +{ YDVAR(1, VAR_CACHE_MIN_TTL) } YY_BREAK case 83: YY_RULE_SETUP #line 297 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_LAME_TTL) } +{ YDVAR(1, VAR_INFRA_HOST_TTL) } YY_BREAK case 84: YY_RULE_SETUP #line 298 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_SLABS) } +{ YDVAR(1, VAR_INFRA_LAME_TTL) } YY_BREAK case 85: YY_RULE_SETUP #line 299 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } +{ YDVAR(1, VAR_INFRA_CACHE_SLABS) } YY_BREAK case 86: YY_RULE_SETUP #line 300 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } +{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } YY_BREAK case 87: YY_RULE_SETUP #line 301 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } +{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } YY_BREAK case 88: YY_RULE_SETUP #line 302 "./util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_KEEP_PROBING) } +{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } YY_BREAK case 89: YY_RULE_SETUP #line 303 "./util/configlexer.lex" -{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } +{ YDVAR(1, VAR_INFRA_KEEP_PROBING) } YY_BREAK case 90: YY_RULE_SETUP #line 304 "./util/configlexer.lex" -{ YDVAR(1, VAR_JOSTLE_TIMEOUT) } +{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } YY_BREAK case 91: YY_RULE_SETUP #line 305 "./util/configlexer.lex" -{ YDVAR(1, VAR_DELAY_CLOSE) } +{ YDVAR(1, VAR_JOSTLE_TIMEOUT) } YY_BREAK case 92: YY_RULE_SETUP #line 306 "./util/configlexer.lex" -{ YDVAR(1, VAR_UDP_CONNECT) } +{ YDVAR(1, VAR_DELAY_CLOSE) } YY_BREAK case 93: YY_RULE_SETUP #line 307 "./util/configlexer.lex" -{ YDVAR(1, VAR_TARGET_FETCH_POLICY) } +{ YDVAR(1, VAR_UDP_CONNECT) } YY_BREAK case 94: YY_RULE_SETUP #line 308 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } +{ YDVAR(1, VAR_TARGET_FETCH_POLICY) } YY_BREAK case 95: YY_RULE_SETUP #line 309 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } +{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } YY_BREAK case 96: YY_RULE_SETUP #line 310 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_GLUE) } +{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } YY_BREAK case 97: YY_RULE_SETUP #line 311 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } +{ YDVAR(1, VAR_HARDEN_GLUE) } YY_BREAK case 98: YY_RULE_SETUP #line 312 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } +{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } YY_BREAK case 99: YY_RULE_SETUP #line 313 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } +{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } YY_BREAK case 100: YY_RULE_SETUP #line 314 "./util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } +{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } YY_BREAK case 101: YY_RULE_SETUP #line 315 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_CAPS_FOR_ID) } +{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } YY_BREAK case 102: YY_RULE_SETUP #line 316 "./util/configlexer.lex" -{ YDVAR(1, VAR_CAPS_WHITELIST) } +{ YDVAR(1, VAR_USE_CAPS_FOR_ID) } YY_BREAK case 103: YY_RULE_SETUP @@ -4057,72 +4069,72 @@ YY_RULE_SETUP case 104: YY_RULE_SETUP #line 318 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } +{ YDVAR(1, VAR_CAPS_WHITELIST) } YY_BREAK case 105: YY_RULE_SETUP #line 319 "./util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_ADDRESS) } +{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } YY_BREAK case 106: YY_RULE_SETUP #line 320 "./util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_DOMAIN) } +{ YDVAR(1, VAR_PRIVATE_ADDRESS) } YY_BREAK case 107: YY_RULE_SETUP #line 321 "./util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH_KEY) } +{ YDVAR(1, VAR_PRIVATE_DOMAIN) } YY_BREAK case 108: YY_RULE_SETUP #line 322 "./util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH) } +{ YDVAR(1, VAR_PREFETCH_KEY) } YY_BREAK case 109: YY_RULE_SETUP #line 323 "./util/configlexer.lex" -{ YDVAR(1, VAR_DENY_ANY) } +{ YDVAR(1, VAR_PREFETCH) } YY_BREAK case 110: YY_RULE_SETUP #line 324 "./util/configlexer.lex" -{ YDVAR(0, VAR_STUB_ZONE) } +{ YDVAR(1, VAR_DENY_ANY) } YY_BREAK case 111: YY_RULE_SETUP #line 325 "./util/configlexer.lex" -{ YDVAR(1, VAR_NAME) } +{ YDVAR(0, VAR_STUB_ZONE) } YY_BREAK case 112: YY_RULE_SETUP #line 326 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_ADDR) } +{ YDVAR(1, VAR_NAME) } YY_BREAK case 113: YY_RULE_SETUP #line 327 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_HOST) } +{ YDVAR(1, VAR_STUB_ADDR) } YY_BREAK case 114: YY_RULE_SETUP #line 328 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_PRIME) } +{ YDVAR(1, VAR_STUB_HOST) } YY_BREAK case 115: YY_RULE_SETUP #line 329 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_FIRST) } +{ YDVAR(1, VAR_STUB_PRIME) } YY_BREAK case 116: YY_RULE_SETUP #line 330 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_NO_CACHE) } +{ YDVAR(1, VAR_STUB_FIRST) } YY_BREAK case 117: YY_RULE_SETUP #line 331 "./util/configlexer.lex" -{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } +{ YDVAR(1, VAR_STUB_NO_CACHE) } YY_BREAK case 118: YY_RULE_SETUP @@ -4132,32 +4144,32 @@ YY_RULE_SETUP case 119: YY_RULE_SETUP #line 333 "./util/configlexer.lex" -{ YDVAR(0, VAR_FORWARD_ZONE) } +{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } YY_BREAK case 120: YY_RULE_SETUP #line 334 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_ADDR) } +{ YDVAR(0, VAR_FORWARD_ZONE) } YY_BREAK case 121: YY_RULE_SETUP #line 335 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_HOST) } +{ YDVAR(1, VAR_FORWARD_ADDR) } YY_BREAK case 122: YY_RULE_SETUP #line 336 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_FIRST) } +{ YDVAR(1, VAR_FORWARD_HOST) } YY_BREAK case 123: YY_RULE_SETUP #line 337 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_NO_CACHE) } +{ YDVAR(1, VAR_FORWARD_FIRST) } YY_BREAK case 124: YY_RULE_SETUP #line 338 "./util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } +{ YDVAR(1, VAR_FORWARD_NO_CACHE) } YY_BREAK case 125: YY_RULE_SETUP @@ -4167,47 +4179,47 @@ YY_RULE_SETUP case 126: YY_RULE_SETUP #line 340 "./util/configlexer.lex" -{ YDVAR(0, VAR_AUTH_ZONE) } +{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } YY_BREAK case 127: YY_RULE_SETUP #line 341 "./util/configlexer.lex" -{ YDVAR(0, VAR_RPZ) } +{ YDVAR(0, VAR_AUTH_ZONE) } YY_BREAK case 128: YY_RULE_SETUP #line 342 "./util/configlexer.lex" -{ YDVAR(1, VAR_TAGS) } +{ YDVAR(0, VAR_RPZ) } YY_BREAK case 129: YY_RULE_SETUP #line 343 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } +{ YDVAR(1, VAR_TAGS) } YY_BREAK case 130: YY_RULE_SETUP #line 344 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } +{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } YY_BREAK case 131: YY_RULE_SETUP #line 345 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG) } +{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } YY_BREAK case 132: YY_RULE_SETUP #line 346 "./util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG_NAME) } +{ YDVAR(1, VAR_RPZ_LOG) } YY_BREAK case 133: YY_RULE_SETUP #line 347 "./util/configlexer.lex" -{ YDVAR(1, VAR_ZONEFILE) } +{ YDVAR(1, VAR_RPZ_LOG_NAME) } YY_BREAK case 134: YY_RULE_SETUP #line 348 "./util/configlexer.lex" -{ YDVAR(1, VAR_MASTER) } +{ YDVAR(1, VAR_ZONEFILE) } YY_BREAK case 135: YY_RULE_SETUP @@ -4217,716 +4229,716 @@ YY_RULE_SETUP case 136: YY_RULE_SETUP #line 350 "./util/configlexer.lex" -{ YDVAR(1, VAR_URL) } +{ YDVAR(1, VAR_MASTER) } YY_BREAK case 137: YY_RULE_SETUP #line 351 "./util/configlexer.lex" -{ YDVAR(1, VAR_ALLOW_NOTIFY) } +{ YDVAR(1, VAR_URL) } YY_BREAK case 138: YY_RULE_SETUP #line 352 "./util/configlexer.lex" -{ YDVAR(1, VAR_FOR_DOWNSTREAM) } +{ YDVAR(1, VAR_ALLOW_NOTIFY) } YY_BREAK case 139: YY_RULE_SETUP #line 353 "./util/configlexer.lex" -{ YDVAR(1, VAR_FOR_UPSTREAM) } +{ YDVAR(1, VAR_FOR_DOWNSTREAM) } YY_BREAK case 140: YY_RULE_SETUP #line 354 "./util/configlexer.lex" -{ YDVAR(1, VAR_FALLBACK_ENABLED) } +{ YDVAR(1, VAR_FOR_UPSTREAM) } YY_BREAK case 141: YY_RULE_SETUP #line 355 "./util/configlexer.lex" -{ YDVAR(0, VAR_VIEW) } +{ YDVAR(1, VAR_FALLBACK_ENABLED) } YY_BREAK case 142: YY_RULE_SETUP #line 356 "./util/configlexer.lex" -{ YDVAR(1, VAR_VIEW_FIRST) } +{ YDVAR(0, VAR_VIEW) } YY_BREAK case 143: YY_RULE_SETUP #line 357 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } +{ YDVAR(1, VAR_VIEW_FIRST) } YY_BREAK case 144: YY_RULE_SETUP #line 358 "./util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } +{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } YY_BREAK case 145: YY_RULE_SETUP #line 359 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL) } +{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } YY_BREAK case 146: YY_RULE_SETUP #line 360 "./util/configlexer.lex" -{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) } +{ YDVAR(2, VAR_ACCESS_CONTROL) } YY_BREAK case 147: YY_RULE_SETUP #line 361 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } +{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) } YY_BREAK case 148: YY_RULE_SETUP #line 362 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } +{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } YY_BREAK case 149: YY_RULE_SETUP #line 363 "./util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } +{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } YY_BREAK case 150: YY_RULE_SETUP #line 364 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } +{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } YY_BREAK case 151: YY_RULE_SETUP #line 365 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } +{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } YY_BREAK case 152: YY_RULE_SETUP #line 366 "./util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } +{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } YY_BREAK case 153: YY_RULE_SETUP #line 367 "./util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } +{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } YY_BREAK case 154: YY_RULE_SETUP #line 368 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } +{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } YY_BREAK case 155: YY_RULE_SETUP #line 369 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } +{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } YY_BREAK case 156: YY_RULE_SETUP #line 370 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_IDENTITY) } +{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } YY_BREAK case 157: YY_RULE_SETUP #line 371 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_VERSION) } +{ YDVAR(1, VAR_HIDE_IDENTITY) } YY_BREAK case 158: YY_RULE_SETUP #line 372 "./util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) } +{ YDVAR(1, VAR_HIDE_VERSION) } YY_BREAK case 159: YY_RULE_SETUP #line 373 "./util/configlexer.lex" -{ YDVAR(1, VAR_IDENTITY) } +{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) } YY_BREAK case 160: YY_RULE_SETUP #line 374 "./util/configlexer.lex" -{ YDVAR(1, VAR_VERSION) } +{ YDVAR(1, VAR_IDENTITY) } YY_BREAK case 161: YY_RULE_SETUP #line 375 "./util/configlexer.lex" -{ YDVAR(1, VAR_MODULE_CONF) } +{ YDVAR(1, VAR_VERSION) } YY_BREAK case 162: YY_RULE_SETUP #line 376 "./util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR) } +{ YDVAR(1, VAR_MODULE_CONF) } YY_BREAK case 163: YY_RULE_SETUP #line 377 "./util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR_FILE) } +{ YDVAR(1, VAR_DLV_ANCHOR) } YY_BREAK case 164: YY_RULE_SETUP #line 378 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) } +{ YDVAR(1, VAR_DLV_ANCHOR_FILE) } YY_BREAK case 165: YY_RULE_SETUP #line 379 "./util/configlexer.lex" -{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } +{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) } YY_BREAK case 166: YY_RULE_SETUP #line 380 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) } +{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } YY_BREAK case 167: YY_RULE_SETUP #line 381 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR) } +{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) } YY_BREAK case 168: YY_RULE_SETUP #line 382 "./util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } +{ YDVAR(1, VAR_TRUST_ANCHOR) } YY_BREAK case 169: YY_RULE_SETUP #line 383 "./util/configlexer.lex" -{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) } +{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } YY_BREAK case 170: YY_RULE_SETUP #line 384 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) } +{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) } YY_BREAK case 171: YY_RULE_SETUP #line 385 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } +{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) } YY_BREAK case 172: YY_RULE_SETUP #line 386 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } +{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } YY_BREAK case 173: YY_RULE_SETUP #line 387 "./util/configlexer.lex" -{ YDVAR(1, VAR_BOGUS_TTL) } +{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } YY_BREAK case 174: YY_RULE_SETUP #line 388 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } +{ YDVAR(1, VAR_BOGUS_TTL) } YY_BREAK case 175: YY_RULE_SETUP #line 389 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } +{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } YY_BREAK case 176: YY_RULE_SETUP #line 390 "./util/configlexer.lex" -{ YDVAR(1, VAR_AGGRESSIVE_NSEC) } +{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } YY_BREAK case 177: YY_RULE_SETUP #line 391 "./util/configlexer.lex" -{ YDVAR(1, VAR_IGNORE_CD_FLAG) } +{ YDVAR(1, VAR_AGGRESSIVE_NSEC) } YY_BREAK case 178: YY_RULE_SETUP #line 392 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED) } +{ YDVAR(1, VAR_IGNORE_CD_FLAG) } YY_BREAK case 179: YY_RULE_SETUP #line 393 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) } +{ YDVAR(1, VAR_SERVE_EXPIRED) } YY_BREAK case 180: YY_RULE_SETUP #line 394 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } +{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) } YY_BREAK case 181: YY_RULE_SETUP #line 395 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } +{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } YY_BREAK case 182: YY_RULE_SETUP #line 396 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } +{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } YY_BREAK case 183: YY_RULE_SETUP #line 397 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) } +{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } YY_BREAK case 184: YY_RULE_SETUP #line 398 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_DSA) } +{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) } YY_BREAK case 185: YY_RULE_SETUP #line 399 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_SHA1) } +{ YDVAR(1, VAR_FAKE_DSA) } YY_BREAK case 186: YY_RULE_SETUP #line 400 "./util/configlexer.lex" -{ YDVAR(1, VAR_VAL_LOG_LEVEL) } +{ YDVAR(1, VAR_FAKE_SHA1) } YY_BREAK case 187: YY_RULE_SETUP #line 401 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SIZE) } +{ YDVAR(1, VAR_VAL_LOG_LEVEL) } YY_BREAK case 188: YY_RULE_SETUP #line 402 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SLABS) } +{ YDVAR(1, VAR_KEY_CACHE_SIZE) } YY_BREAK case 189: YY_RULE_SETUP #line 403 "./util/configlexer.lex" -{ YDVAR(1, VAR_NEG_CACHE_SIZE) } +{ YDVAR(1, VAR_KEY_CACHE_SLABS) } YY_BREAK case 190: YY_RULE_SETUP #line 404 "./util/configlexer.lex" -{ - YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } +{ YDVAR(1, VAR_NEG_CACHE_SIZE) } YY_BREAK case 191: YY_RULE_SETUP -#line 406 "./util/configlexer.lex" -{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) } +#line 405 "./util/configlexer.lex" +{ + YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } YY_BREAK case 192: YY_RULE_SETUP #line 407 "./util/configlexer.lex" -{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) } +{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) } YY_BREAK case 193: YY_RULE_SETUP #line 408 "./util/configlexer.lex" -{ YDVAR(1, VAR_ADD_HOLDDOWN) } +{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) } YY_BREAK case 194: YY_RULE_SETUP #line 409 "./util/configlexer.lex" -{ YDVAR(1, VAR_DEL_HOLDDOWN) } +{ YDVAR(1, VAR_ADD_HOLDDOWN) } YY_BREAK case 195: YY_RULE_SETUP #line 410 "./util/configlexer.lex" -{ YDVAR(1, VAR_KEEP_MISSING) } +{ YDVAR(1, VAR_DEL_HOLDDOWN) } YY_BREAK case 196: YY_RULE_SETUP #line 411 "./util/configlexer.lex" -{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } +{ YDVAR(1, VAR_KEEP_MISSING) } YY_BREAK case 197: YY_RULE_SETUP #line 412 "./util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSLOG) } +{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } YY_BREAK case 198: YY_RULE_SETUP #line 413 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_IDENTITY) } +{ YDVAR(1, VAR_USE_SYSLOG) } YY_BREAK case 199: YY_RULE_SETUP #line 414 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TIME_ASCII) } +{ YDVAR(1, VAR_LOG_IDENTITY) } YY_BREAK case 200: YY_RULE_SETUP #line 415 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_QUERIES) } +{ YDVAR(1, VAR_LOG_TIME_ASCII) } YY_BREAK case 201: YY_RULE_SETUP #line 416 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_REPLIES) } +{ YDVAR(1, VAR_LOG_QUERIES) } YY_BREAK case 202: YY_RULE_SETUP #line 417 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } +{ YDVAR(1, VAR_LOG_REPLIES) } YY_BREAK case 203: YY_RULE_SETUP #line 418 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } +{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } YY_BREAK case 204: YY_RULE_SETUP #line 419 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOG_SERVFAIL) } +{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } YY_BREAK case 205: YY_RULE_SETUP #line 420 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE) } +{ YDVAR(1, VAR_LOG_SERVFAIL) } YY_BREAK case 206: YY_RULE_SETUP #line 421 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA) } +{ YDVAR(2, VAR_LOCAL_ZONE) } YY_BREAK case 207: YY_RULE_SETUP #line 422 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA_PTR) } +{ YDVAR(1, VAR_LOCAL_DATA) } YY_BREAK case 208: YY_RULE_SETUP #line 423 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } +{ YDVAR(1, VAR_LOCAL_DATA_PTR) } YY_BREAK case 209: YY_RULE_SETUP #line 424 "./util/configlexer.lex" -{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } +{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } YY_BREAK case 210: YY_RULE_SETUP #line 425 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_INTERVAL) } +{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } YY_BREAK case 211: YY_RULE_SETUP #line 426 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } +{ YDVAR(1, VAR_STATISTICS_INTERVAL) } YY_BREAK case 212: YY_RULE_SETUP #line 427 "./util/configlexer.lex" -{ YDVAR(1, VAR_EXTENDED_STATISTICS) } +{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } YY_BREAK case 213: YY_RULE_SETUP #line 428 "./util/configlexer.lex" -{ YDVAR(1, VAR_SHM_ENABLE) } +{ YDVAR(1, VAR_EXTENDED_STATISTICS) } YY_BREAK case 214: YY_RULE_SETUP #line 429 "./util/configlexer.lex" -{ YDVAR(1, VAR_SHM_KEY) } +{ YDVAR(1, VAR_SHM_ENABLE) } YY_BREAK case 215: YY_RULE_SETUP #line 430 "./util/configlexer.lex" -{ YDVAR(0, VAR_REMOTE_CONTROL) } +{ YDVAR(1, VAR_SHM_KEY) } YY_BREAK case 216: YY_RULE_SETUP #line 431 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_ENABLE) } +{ YDVAR(0, VAR_REMOTE_CONTROL) } YY_BREAK case 217: YY_RULE_SETUP #line 432 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_INTERFACE) } +{ YDVAR(1, VAR_CONTROL_ENABLE) } YY_BREAK case 218: YY_RULE_SETUP #line 433 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_PORT) } +{ YDVAR(1, VAR_CONTROL_INTERFACE) } YY_BREAK case 219: YY_RULE_SETUP #line 434 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_USE_CERT) } +{ YDVAR(1, VAR_CONTROL_PORT) } YY_BREAK case 220: YY_RULE_SETUP #line 435 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_KEY_FILE) } +{ YDVAR(1, VAR_CONTROL_USE_CERT) } YY_BREAK case 221: YY_RULE_SETUP #line 436 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_CERT_FILE) } +{ YDVAR(1, VAR_SERVER_KEY_FILE) } YY_BREAK case 222: YY_RULE_SETUP #line 437 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_KEY_FILE) } +{ YDVAR(1, VAR_SERVER_CERT_FILE) } YY_BREAK case 223: YY_RULE_SETUP #line 438 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_CERT_FILE) } +{ YDVAR(1, VAR_CONTROL_KEY_FILE) } YY_BREAK case 224: YY_RULE_SETUP #line 439 "./util/configlexer.lex" -{ YDVAR(1, VAR_PYTHON_SCRIPT) } +{ YDVAR(1, VAR_CONTROL_CERT_FILE) } YY_BREAK case 225: YY_RULE_SETUP #line 440 "./util/configlexer.lex" -{ YDVAR(0, VAR_PYTHON) } +{ YDVAR(1, VAR_PYTHON_SCRIPT) } YY_BREAK case 226: YY_RULE_SETUP #line 441 "./util/configlexer.lex" -{ YDVAR(1, VAR_DYNLIB_FILE) } +{ YDVAR(0, VAR_PYTHON) } YY_BREAK case 227: YY_RULE_SETUP #line 442 "./util/configlexer.lex" -{ YDVAR(0, VAR_DYNLIB) } +{ YDVAR(1, VAR_DYNLIB_FILE) } YY_BREAK case 228: YY_RULE_SETUP #line 443 "./util/configlexer.lex" -{ YDVAR(1, VAR_DOMAIN_INSECURE) } +{ YDVAR(0, VAR_DYNLIB) } YY_BREAK case 229: YY_RULE_SETUP #line 444 "./util/configlexer.lex" -{ YDVAR(1, VAR_MINIMAL_RESPONSES) } +{ YDVAR(1, VAR_DOMAIN_INSECURE) } YY_BREAK case 230: YY_RULE_SETUP #line 445 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } +{ YDVAR(1, VAR_MINIMAL_RESPONSES) } YY_BREAK case 231: YY_RULE_SETUP #line 446 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } +{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } YY_BREAK case 232: YY_RULE_SETUP #line 447 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_UDP_SIZE) } +{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } YY_BREAK case 233: YY_RULE_SETUP #line 448 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_PREFIX) } +{ YDVAR(1, VAR_MAX_UDP_SIZE) } YY_BREAK case 234: YY_RULE_SETUP #line 449 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_SYNTHALL) } +{ YDVAR(1, VAR_DNS64_PREFIX) } YY_BREAK case 235: YY_RULE_SETUP #line 450 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) } +{ YDVAR(1, VAR_DNS64_SYNTHALL) } YY_BREAK case 236: YY_RULE_SETUP #line 451 "./util/configlexer.lex" -{ YDVAR(1, VAR_DEFINE_TAG) } +{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) } YY_BREAK case 237: YY_RULE_SETUP #line 452 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } +{ YDVAR(1, VAR_DEFINE_TAG) } YY_BREAK case 238: YY_RULE_SETUP #line 453 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } +{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } YY_BREAK case 239: YY_RULE_SETUP #line 454 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } +{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } YY_BREAK case 240: YY_RULE_SETUP #line 455 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } YY_BREAK case 241: YY_RULE_SETUP #line 456 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } YY_BREAK case 242: YY_RULE_SETUP #line 457 "./util/configlexer.lex" -{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } +{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } YY_BREAK case 243: YY_RULE_SETUP #line 458 "./util/configlexer.lex" -{ YDVAR(0, VAR_DNSTAP) } +{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } YY_BREAK case 244: YY_RULE_SETUP #line 459 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_ENABLE) } +{ YDVAR(0, VAR_DNSTAP) } YY_BREAK case 245: YY_RULE_SETUP #line 460 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) } +{ YDVAR(1, VAR_DNSTAP_ENABLE) } YY_BREAK case 246: YY_RULE_SETUP #line 461 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } +{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) } YY_BREAK case 247: YY_RULE_SETUP #line 462 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IP) } +{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } YY_BREAK case 248: YY_RULE_SETUP #line 463 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS) } +{ YDVAR(1, VAR_DNSTAP_IP) } YY_BREAK case 249: YY_RULE_SETUP #line 464 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) } +{ YDVAR(1, VAR_DNSTAP_TLS) } YY_BREAK case 250: YY_RULE_SETUP #line 465 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) } +{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) } YY_BREAK case 251: YY_RULE_SETUP #line 466 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) } +{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) } YY_BREAK case 252: YY_RULE_SETUP -#line 468 "./util/configlexer.lex" +#line 467 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) } + YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) } YY_BREAK case 253: YY_RULE_SETUP -#line 470 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } +#line 469 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) } YY_BREAK case 254: YY_RULE_SETUP #line 471 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } +{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } YY_BREAK case 255: YY_RULE_SETUP #line 472 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IDENTITY) } +{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } YY_BREAK case 256: YY_RULE_SETUP #line 473 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_VERSION) } +{ YDVAR(1, VAR_DNSTAP_IDENTITY) } YY_BREAK case 257: YY_RULE_SETUP #line 474 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } +{ YDVAR(1, VAR_DNSTAP_VERSION) } YY_BREAK case 258: YY_RULE_SETUP -#line 476 "./util/configlexer.lex" +#line 475 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } YY_BREAK case 259: YY_RULE_SETUP -#line 478 "./util/configlexer.lex" +#line 477 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } YY_BREAK case 260: YY_RULE_SETUP -#line 480 "./util/configlexer.lex" +#line 479 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } YY_BREAK case 261: YY_RULE_SETUP -#line 482 "./util/configlexer.lex" +#line 481 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } YY_BREAK case 262: YY_RULE_SETUP -#line 484 "./util/configlexer.lex" +#line 483 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } YY_BREAK case 263: YY_RULE_SETUP -#line 486 "./util/configlexer.lex" -{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } +#line 485 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } YY_BREAK case 264: YY_RULE_SETUP #line 487 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT) } +{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } YY_BREAK case 265: YY_RULE_SETUP #line 488 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT) } +{ YDVAR(1, VAR_IP_RATELIMIT) } YY_BREAK case 266: YY_RULE_SETUP #line 489 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) } +{ YDVAR(1, VAR_RATELIMIT) } YY_BREAK case 267: YY_RULE_SETUP #line 490 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SLABS) } +{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) } YY_BREAK case 268: YY_RULE_SETUP #line 491 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) } +{ YDVAR(1, VAR_RATELIMIT_SLABS) } YY_BREAK case 269: YY_RULE_SETUP #line 492 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SIZE) } +{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) } YY_BREAK case 270: YY_RULE_SETUP #line 493 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } +{ YDVAR(1, VAR_RATELIMIT_SIZE) } YY_BREAK case 271: YY_RULE_SETUP #line 494 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } +{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } YY_BREAK case 272: YY_RULE_SETUP #line 495 "./util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } +{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } YY_BREAK case 273: YY_RULE_SETUP #line 496 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_FACTOR) } +{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } YY_BREAK case 274: YY_RULE_SETUP #line 497 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOW_RTT) } +{ YDVAR(1, VAR_RATELIMIT_FACTOR) } YY_BREAK case 275: YY_RULE_SETUP #line 498 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_NUM) } +{ YDVAR(1, VAR_LOW_RTT) } YY_BREAK case 276: YY_RULE_SETUP #line 499 "./util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } +{ YDVAR(1, VAR_FAST_SERVER_NUM) } YY_BREAK case 277: YY_RULE_SETUP @@ -4941,119 +4953,119 @@ YY_RULE_SETUP case 279: YY_RULE_SETUP #line 502 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_TAG) } +{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } YY_BREAK case 280: YY_RULE_SETUP #line 503 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP) } +{ YDVAR(2, VAR_RESPONSE_IP_TAG) } YY_BREAK case 281: YY_RULE_SETUP #line 504 "./util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_DATA) } +{ YDVAR(2, VAR_RESPONSE_IP) } YY_BREAK case 282: YY_RULE_SETUP #line 505 "./util/configlexer.lex" -{ YDVAR(0, VAR_DNSCRYPT) } +{ YDVAR(2, VAR_RESPONSE_IP_DATA) } YY_BREAK case 283: YY_RULE_SETUP #line 506 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_ENABLE) } +{ YDVAR(0, VAR_DNSCRYPT) } YY_BREAK case 284: YY_RULE_SETUP #line 507 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PORT) } +{ YDVAR(1, VAR_DNSCRYPT_ENABLE) } YY_BREAK case 285: YY_RULE_SETUP #line 508 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) } +{ YDVAR(1, VAR_DNSCRYPT_PORT) } YY_BREAK case 286: YY_RULE_SETUP #line 509 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) } YY_BREAK case 287: YY_RULE_SETUP #line 510 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } +{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } YY_BREAK case 288: YY_RULE_SETUP #line 511 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } YY_BREAK case 289: YY_RULE_SETUP #line 512 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } +{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } YY_BREAK case 290: YY_RULE_SETUP -#line 514 "./util/configlexer.lex" +#line 513 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } + YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } YY_BREAK case 291: YY_RULE_SETUP -#line 516 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } +#line 515 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } YY_BREAK case 292: YY_RULE_SETUP #line 517 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } +{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } YY_BREAK case 293: YY_RULE_SETUP #line 518 "./util/configlexer.lex" -{ YDVAR(1, VAR_PAD_RESPONSES) } +{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } YY_BREAK case 294: YY_RULE_SETUP #line 519 "./util/configlexer.lex" -{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) } +{ YDVAR(1, VAR_PAD_RESPONSES) } YY_BREAK case 295: YY_RULE_SETUP #line 520 "./util/configlexer.lex" -{ YDVAR(1, VAR_PAD_QUERIES) } +{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) } YY_BREAK case 296: YY_RULE_SETUP #line 521 "./util/configlexer.lex" -{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) } +{ YDVAR(1, VAR_PAD_QUERIES) } YY_BREAK case 297: YY_RULE_SETUP #line 522 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_ENABLED) } +{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) } YY_BREAK case 298: YY_RULE_SETUP #line 523 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } +{ YDVAR(1, VAR_IPSECMOD_ENABLED) } YY_BREAK case 299: YY_RULE_SETUP #line 524 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_HOOK) } +{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } YY_BREAK case 300: YY_RULE_SETUP #line 525 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) } +{ YDVAR(1, VAR_IPSECMOD_HOOK) } YY_BREAK case 301: YY_RULE_SETUP #line 526 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } +{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) } YY_BREAK case 302: YY_RULE_SETUP @@ -5063,118 +5075,123 @@ YY_RULE_SETUP case 303: YY_RULE_SETUP #line 528 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_STRICT) } +{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } YY_BREAK case 304: YY_RULE_SETUP #line 529 "./util/configlexer.lex" -{ YDVAR(0, VAR_CACHEDB) } +{ YDVAR(1, VAR_IPSECMOD_STRICT) } YY_BREAK case 305: YY_RULE_SETUP #line 530 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_BACKEND) } +{ YDVAR(0, VAR_CACHEDB) } YY_BREAK case 306: YY_RULE_SETUP #line 531 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_SECRETSEED) } +{ YDVAR(1, VAR_CACHEDB_BACKEND) } YY_BREAK case 307: YY_RULE_SETUP #line 532 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISHOST) } +{ YDVAR(1, VAR_CACHEDB_SECRETSEED) } YY_BREAK case 308: YY_RULE_SETUP #line 533 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISPORT) } +{ YDVAR(1, VAR_CACHEDB_REDISHOST) } YY_BREAK case 309: YY_RULE_SETUP #line 534 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } +{ YDVAR(1, VAR_CACHEDB_REDISPORT) } YY_BREAK case 310: YY_RULE_SETUP #line 535 "./util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) } +{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } YY_BREAK case 311: YY_RULE_SETUP #line 536 "./util/configlexer.lex" -{ YDVAR(0, VAR_IPSET) } +{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) } YY_BREAK case 312: YY_RULE_SETUP #line 537 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V4) } +{ YDVAR(0, VAR_IPSET) } YY_BREAK case 313: YY_RULE_SETUP #line 538 "./util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V6) } +{ YDVAR(1, VAR_IPSET_NAME_V4) } YY_BREAK case 314: YY_RULE_SETUP #line 539 "./util/configlexer.lex" -{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } +{ YDVAR(1, VAR_IPSET_NAME_V6) } YY_BREAK case 315: YY_RULE_SETUP #line 540 "./util/configlexer.lex" -{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } +{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } YY_BREAK case 316: YY_RULE_SETUP #line 541 "./util/configlexer.lex" -{ YDVAR(2, VAR_EDNS_CLIENT_STRING) } +{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } YY_BREAK case 317: YY_RULE_SETUP #line 542 "./util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) } +{ YDVAR(2, VAR_EDNS_CLIENT_STRING) } YY_BREAK case 318: YY_RULE_SETUP #line 543 "./util/configlexer.lex" -{ YDVAR(1, VAR_NSID ) } +{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) } YY_BREAK case 319: -/* rule 319 can match eol */ YY_RULE_SETUP #line 544 "./util/configlexer.lex" +{ YDVAR(1, VAR_NSID ) } + YY_BREAK +case 320: +/* rule 320 can match eol */ +YY_RULE_SETUP +#line 545 "./util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 320: +case 321: YY_RULE_SETUP -#line 547 "./util/configlexer.lex" +#line 548 "./util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 548 "./util/configlexer.lex" +#line 549 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 321: -YY_RULE_SETUP -#line 553 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 322: -/* rule 322 can match eol */ YY_RULE_SETUP #line 554 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 323: +/* rule 323 can match eol */ +YY_RULE_SETUP +#line 555 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 323: +case 324: YY_RULE_SETUP -#line 556 "./util/configlexer.lex" +#line 557 "./util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -5187,34 +5204,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 324: +case 325: YY_RULE_SETUP -#line 568 "./util/configlexer.lex" +#line 569 "./util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 569 "./util/configlexer.lex" +#line 570 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 325: -YY_RULE_SETUP -#line 574 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 326: -/* rule 326 can match eol */ YY_RULE_SETUP #line 575 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 327: +/* rule 327 can match eol */ +YY_RULE_SETUP +#line 576 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 327: +case 328: YY_RULE_SETUP -#line 577 "./util/configlexer.lex" +#line 578 "./util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -5227,38 +5244,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 328: +case 329: YY_RULE_SETUP -#line 589 "./util/configlexer.lex" +#line 590 "./util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 591 "./util/configlexer.lex" +#line 592 "./util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 329: -YY_RULE_SETUP -#line 595 "./util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK case 330: -/* rule 330 can match eol */ YY_RULE_SETUP #line 596 "./util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} +{ LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 331: +/* rule 331 can match eol */ YY_RULE_SETUP #line 597 "./util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } +{ LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK case 332: YY_RULE_SETUP #line 598 "./util/configlexer.lex" +{ LEXOUT(("IQS ")); BEGIN(include_quoted); } + YY_BREAK +case 333: +YY_RULE_SETUP +#line 599 "./util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include_glob(yytext, 0); @@ -5266,27 +5283,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 603 "./util/configlexer.lex" +#line 604 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 333: -YY_RULE_SETUP -#line 607 "./util/configlexer.lex" -{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } - YY_BREAK case 334: -/* rule 334 can match eol */ YY_RULE_SETUP #line 608 "./util/configlexer.lex" +{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } + YY_BREAK +case 335: +/* rule 335 can match eol */ +YY_RULE_SETUP +#line 609 "./util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 335: +case 336: YY_RULE_SETUP -#line 610 "./util/configlexer.lex" +#line 611 "./util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -5296,7 +5313,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 616 "./util/configlexer.lex" +#line 617 "./util/configlexer.lex" { LEXOUT(("LEXEOF ")); yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ @@ -5311,39 +5328,39 @@ case YY_STATE_EOF(val): } YY_BREAK /* include-toplevel: directive */ -case 336: +case 337: YY_RULE_SETUP -#line 630 "./util/configlexer.lex" +#line 631 "./util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel); } YY_BREAK case YY_STATE_EOF(include_toplevel): -#line 633 "./util/configlexer.lex" +#line 634 "./util/configlexer.lex" { yyerror("EOF inside include_toplevel directive"); BEGIN(inc_prev); } YY_BREAK -case 337: -YY_RULE_SETUP -#line 637 "./util/configlexer.lex" -{ LEXOUT(("ITSP ")); /* ignore */ } - YY_BREAK case 338: -/* rule 338 can match eol */ YY_RULE_SETUP #line 638 "./util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++; } +{ LEXOUT(("ITSP ")); /* ignore */ } YY_BREAK case 339: +/* rule 339 can match eol */ YY_RULE_SETUP #line 639 "./util/configlexer.lex" -{ LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); } +{ LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK case 340: YY_RULE_SETUP #line 640 "./util/configlexer.lex" +{ LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); } + YY_BREAK +case 341: +YY_RULE_SETUP +#line 641 "./util/configlexer.lex" { LEXOUT(("ITunquotedstr(%s) ", yytext)); config_start_include_glob(yytext, 1); @@ -5352,29 +5369,29 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_toplevel_quoted): -#line 646 "./util/configlexer.lex" +#line 647 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 341: -YY_RULE_SETUP -#line 650 "./util/configlexer.lex" -{ LEXOUT(("ITSTR(%s) ", yytext)); yymore(); } - YY_BREAK case 342: -/* rule 342 can match eol */ YY_RULE_SETUP #line 651 "./util/configlexer.lex" +{ LEXOUT(("ITSTR(%s) ", yytext)); yymore(); } + YY_BREAK +case 343: +/* rule 343 can match eol */ +YY_RULE_SETUP +#line 652 "./util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 343: +case 344: YY_RULE_SETUP -#line 655 "./util/configlexer.lex" +#line 656 "./util/configlexer.lex" { LEXOUT(("ITQE ")); yytext[yyleng - 1] = '\0'; @@ -5383,33 +5400,33 @@ YY_RULE_SETUP return (VAR_FORCE_TOPLEVEL); } YY_BREAK -case 344: +case 345: YY_RULE_SETUP -#line 663 "./util/configlexer.lex" +#line 664 "./util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 345: +case 346: YY_RULE_SETUP -#line 667 "./util/configlexer.lex" +#line 668 "./util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 346: +case 347: YY_RULE_SETUP -#line 671 "./util/configlexer.lex" +#line 672 "./util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 347: +case 348: YY_RULE_SETUP -#line 675 "./util/configlexer.lex" +#line 676 "./util/configlexer.lex" ECHO; YY_BREAK -#line 5410 "" +#line 5427 "" case YY_END_OF_BUFFER: { @@ -5704,7 +5721,7 @@ 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 >= 3420 ) + if ( yy_current_state >= 3439 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -5732,11 +5749,11 @@ 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 >= 3420 ) + if ( yy_current_state >= 3439 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 3419); + yy_is_jam = (yy_current_state == 3438); return yy_is_jam ? 0 : yy_current_state; } @@ -6375,7087 +6392,6 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 675 "./util/configlexer.lex" - - - -#line 3 "" - -#define YY_INT_ALIGNED short int - -/* A lexical scanner generated by flex */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 -#if YY_FLEX_SUBMINOR_VERSION > 0 -#define FLEX_BETA -#endif - -/* First, we deal with platform-specific or compiler-specific issues. */ - -/* begin standard C headers. */ -#include -#include -#include -#include - -/* end standard C headers. */ - -/* flex integer type definitions */ - -#ifndef FLEXINT_H -#define FLEXINT_H - -/* C99 systems have . Non-C99 systems may or may not. */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - -/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. - */ -#ifndef __STDC_LIMIT_MACROS -#define __STDC_LIMIT_MACROS 1 -#endif - -#include -typedef int8_t flex_int8_t; -typedef uint8_t flex_uint8_t; -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; -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 -#define INT8_MIN (-128) -#endif -#ifndef INT16_MIN -#define INT16_MIN (-32767-1) -#endif -#ifndef INT32_MIN -#define INT32_MIN (-2147483647-1) -#endif -#ifndef INT8_MAX -#define INT8_MAX (127) -#endif -#ifndef INT16_MAX -#define INT16_MAX (32767) -#endif -#ifndef INT32_MAX -#define INT32_MAX (2147483647) -#endif -#ifndef UINT8_MAX -#define UINT8_MAX (255U) -#endif -#ifndef UINT16_MAX -#define UINT16_MAX (65535U) -#endif -#ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) -#endif - -#endif /* ! FLEXINT_H */ - -#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__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* 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) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * 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_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#ifndef YY_BUF_SIZE -#define YY_BUF_SIZE 16384 -#endif - -/* The state buf must be large enough to hold one state per character in the main buffer. - */ -#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) - -#ifndef YY_TYPEDEF_YY_BUFFER_STATE -#define YY_TYPEDEF_YY_BUFFER_STATE -typedef struct yy_buffer_state *YY_BUFFER_STATE; -#endif - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -extern yy_size_t yyleng; - -extern FILE *yyin, *yyout; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - - #define YY_LESS_LINENO(n) - -/* Return all but the first "n" matched characters back to the input stream. */ -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - 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 */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, (yytext_ptr) ) - -#ifndef YY_STRUCT_YY_BUFFER_STATE -#define YY_STRUCT_YY_BUFFER_STATE -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - 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 - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - 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. - */ - int yy_fill_buffer; - - int yy_buffer_status; - -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * 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. - */ -#define YY_BUFFER_EOF_PENDING 2 - - }; -#endif /* !YY_STRUCT_YY_BUFFER_STATE */ - -/* 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 = 0; /**< Stack as an array. */ - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - * - * Returns the top of the stack, or NULL. - */ -#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. - */ -#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] - -/* yy_hold_char holds the character lost when yytext is formed. */ -static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; - -/* Points to current character in buffer. */ -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 ... - */ -static int yy_did_buffer_switch_on_eof; - -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 ); - -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 ) - -YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); - -void *yyalloc (yy_size_t ); -void *yyrealloc (void *,yy_size_t ); -void yyfree (void * ); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! YY_CURRENT_BUFFER ){ \ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,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 (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) - -/* Begin user sect3 */ - -typedef unsigned char YY_CHAR; - -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; - -typedef int yy_state_type; - -extern int yylineno; - -int yylineno = 1; - -extern char *yytext; -#define yytext_ptr yytext - -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[] ); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - (yytext_ptr) = yy_bp; \ - (yytext_ptr) -= (yy_more_len); \ - yyleng = (yy_size_t) (yy_cp - (yytext_ptr)); \ - (yy_hold_char) = *yy_cp; \ - *yy_cp = '\0'; \ - (yy_c_buf_p) = yy_cp; - -#define YY_NUM_RULES 348 -#define YY_END_OF_BUFFER 349 -/* This struct is not used in this scanner, - but its presence is necessary. */ -struct yy_trans_info - { - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; -static yyconst flex_int16_t yy_accept[3439] = - { 0, - 1, 1, 322, 322, 326, 326, 330, 330, 334, 334, - 1, 1, 338, 338, 342, 342, 349, 346, 1, 320, - 320, 347, 2, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 347, 322, 323, 323, 324, - 347, 326, 327, 327, 328, 347, 333, 330, 331, 331, - 332, 347, 334, 335, 335, 336, 347, 345, 321, 2, - 325, 345, 347, 341, 338, 339, 339, 340, 347, 342, - 343, 343, 344, 347, 346, 0, 1, 2, 2, 2, - 2, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 322, - 0, 326, 0, 333, 0, 330, 334, 0, 345, 0, - 2, 2, 345, 341, 0, 338, 342, 0, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 345, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 128, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 137, - 346, 346, 346, 346, 346, 346, 346, 345, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 112, 346, 319, - 346, 346, 346, 346, 346, 346, 346, 8, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 129, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 142, 346, 346, 345, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 312, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 345, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 67, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 244, 346, - 14, 15, 346, 19, 18, 346, 346, 228, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 135, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 226, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 3, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 345, 346, 346, 346, 346, 346, 346, 346, - 306, 346, 346, 305, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 329, 346, 346, 346, 346, 346, 346, 346, 346, - 66, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 70, 346, 275, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 313, - 314, 346, 346, 346, 346, 346, 346, 346, 71, 346, - 346, 136, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 132, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 215, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 21, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 161, - 346, 346, 346, 346, 345, 329, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 110, 346, 346, - 346, 346, 346, 346, 346, 283, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 185, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 160, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 109, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 35, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 36, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 68, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 134, 346, 346, 345, - 346, 346, 346, 346, 346, 127, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 69, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 248, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 186, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 57, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 266, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 61, 346, 62, 346, 346, 346, 346, 346, 113, 346, - 114, 346, 346, 346, 346, 111, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 7, 346, 346, - 346, 345, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 237, 346, 346, 346, 346, 163, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 249, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 48, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 58, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 207, 346, 206, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 16, 17, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 72, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 214, 346, 346, 346, 346, 346, - - 346, 116, 346, 115, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 198, 346, - 346, 346, 346, 346, 346, 346, 346, 143, 346, 346, - 345, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 104, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 92, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 227, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 97, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 65, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 201, 202, 346, - 346, 346, 277, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 6, 346, 346, 346, - 346, 346, 346, 296, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 281, 346, 346, 346, 346, 346, 346, 307, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 45, 346, 346, 346, 346, 47, 346, 346, - 346, 93, 346, 346, 346, 346, 346, 55, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 345, 346, 194, - 346, 346, 346, 138, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 219, 346, 195, 346, 346, 346, - 234, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 56, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 140, 121, 346, 122, 346, 346, 346, 120, - 346, 346, 346, 346, 346, 346, 346, 346, 158, 346, - 346, 53, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 265, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 196, 346, - 346, 346, 346, 346, 199, 346, 205, 346, 346, 346, - 346, 346, 346, 233, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 108, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 133, - - 346, 346, 346, 346, 346, 346, 346, 63, 346, 346, - 346, 29, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 20, 346, 346, 346, 346, 346, 346, - 30, 39, 346, 168, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 345, - 346, 346, 346, 346, 346, 346, 80, 82, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 285, 346, 346, 346, 346, 245, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 123, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 157, - 346, 49, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 300, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 162, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 294, 346, 346, 346, - 225, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 310, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 179, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 117, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 174, 346, 187, 346, 346, 346, - 346, 346, 346, 345, 346, 146, 346, 346, 346, 346, - 346, 103, 346, 346, 346, 346, 217, 346, 346, 346, - 346, 346, 346, 235, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 257, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 139, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 178, 346, 346, 346, - - 346, 346, 346, 83, 346, 84, 346, 346, 346, 346, - 346, 64, 303, 346, 346, 346, 346, 346, 91, 188, - 346, 208, 346, 238, 346, 346, 200, 278, 346, 346, - 346, 346, 346, 346, 76, 346, 190, 346, 346, 346, - 346, 346, 9, 346, 346, 346, 346, 346, 107, 346, - 346, 346, 346, 270, 346, 346, 346, 346, 216, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 346, 345, - 346, 346, 346, 346, 177, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 164, 346, 284, 346, 346, - 346, 346, 346, 256, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 229, 346, 346, 346, 346, - 346, 276, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 304, 346, 189, 346, 346, 346, 346, 346, - 346, 346, 346, 75, 77, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 106, 346, 346, 346, 346, 268, - 346, 346, 346, 346, 280, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 221, 37, 31, - 33, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 38, 346, 32, 34, 346, 346, 346, 346, - 346, 346, 346, 346, 102, 346, 346, 346, 346, 346, - 346, 346, 346, 345, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 223, 220, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 74, 346, 346, 346, 141, - - 346, 124, 346, 346, 346, 346, 346, 346, 346, 346, - 159, 50, 346, 346, 346, 337, 13, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 298, 346, 301, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 12, 346, 346, 22, 346, 346, 346, 346, 346, - 274, 346, 346, 346, 346, 282, 346, 346, 346, 78, - 346, 231, 346, 346, 346, 346, 346, 222, 346, 346, - 73, 346, 346, 346, 346, 346, 23, 346, 346, 46, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 173, 172, 346, 346, 337, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 224, 218, 346, 236, - 346, 346, 286, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 85, 346, 346, 346, 346, - 269, 346, 346, 346, 346, 204, 346, 346, 346, 346, - 346, 230, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 308, 309, 170, 346, 346, 79, 346, - 346, 346, 346, 180, 346, 346, 346, 118, 119, 346, - 346, 346, 25, 346, 346, 165, 346, 167, 346, 209, - - 346, 346, 346, 346, 171, 346, 346, 346, 346, 239, - 346, 346, 346, 346, 346, 346, 346, 148, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 247, 346, 346, 346, 346, 346, 346, 346, 317, 346, - 27, 346, 279, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 89, 210, 346, - 346, 267, 346, 302, 346, 203, 346, 346, 346, 346, - 346, 59, 346, 346, 346, 346, 346, 346, 4, 346, - 346, 346, 346, 131, 147, 346, 346, 346, 184, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 242, 40, 41, - 346, 346, 346, 346, 346, 346, 346, 287, 346, 346, - 346, 346, 346, 346, 346, 255, 346, 346, 346, 346, - 346, 346, 346, 346, 213, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 88, 346, 60, - 273, 346, 243, 346, 346, 346, 346, 346, 11, 346, - 346, 346, 346, 346, 346, 346, 346, 130, 346, 346, - 346, 346, 211, 94, 346, 346, 43, 346, 346, 346, - 346, 346, 346, 346, 346, 176, 346, 346, 346, 346, - 346, 346, 346, 150, 346, 346, 346, 346, 246, 346, - - 346, 346, 346, 346, 254, 346, 346, 346, 346, 144, - 346, 346, 346, 125, 126, 346, 346, 346, 96, 100, - 95, 346, 346, 346, 346, 86, 346, 346, 346, 346, - 346, 346, 10, 346, 346, 346, 346, 346, 271, 311, - 346, 346, 346, 346, 346, 316, 42, 346, 346, 346, - 346, 346, 175, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 101, 99, - 346, 54, 346, 346, 87, 299, 346, 346, 346, 346, - 24, 346, 346, 346, 346, 346, 197, 346, 346, 346, - - 346, 346, 212, 346, 346, 346, 346, 346, 346, 346, - 346, 193, 346, 346, 166, 81, 346, 346, 346, 346, - 346, 288, 346, 346, 346, 346, 346, 346, 346, 251, - 346, 346, 250, 145, 346, 346, 98, 51, 346, 151, - 152, 155, 156, 153, 154, 90, 297, 346, 346, 272, - 346, 346, 346, 26, 346, 169, 346, 346, 346, 346, - 192, 346, 241, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 182, 181, 44, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 346, 346, 295, 346, - 346, 346, 346, 105, 346, 240, 346, 264, 292, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 318, 346, 52, 5, 346, 346, 232, 346, 346, 293, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 252, - 28, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 253, 346, 346, 346, 149, 346, 346, - 346, 346, 346, 346, 346, 346, 183, 346, 191, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 289, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - - 346, 346, 346, 346, 346, 346, 315, 346, 346, 260, - 346, 346, 346, 346, 346, 290, 346, 346, 346, 346, - 346, 346, 291, 346, 346, 346, 258, 346, 261, 262, - 346, 346, 346, 346, 346, 259, 263, 0 - } ; - -static yyconst flex_int32_t yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 5, 6, 1, 1, 1, 7, 1, - 1, 1, 1, 1, 8, 1, 1, 1, 9, 1, - 10, 11, 1, 12, 1, 1, 1, 13, 1, 1, - 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 1, 40, 1, 1, 1, 1, 41, 42, 43, 44, - - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 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, 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 yyconst flex_int32_t yy_meta[67] = - { 0, - 1, 2, 3, 4, 5, 1, 6, 1, 1, 1, - 1, 1, 7, 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 yyconst flex_int16_t yy_base[3457] = - { 0, - 0, 0, 64, 67, 70, 72, 78, 84, 89, 92, - 131, 137, 112, 118, 123, 142, 429, 383, 96, 9825, - 9825, 9825, 160, 185, 116, 183, 229, 132, 175, 173, - 232, 50, 66, 120, 263, 275, 151, 323, 134, 375, - 416, 286, 308, 283, 126, 237, 374, 9825, 9825, 9825, - 95, 372, 9825, 9825, 9825, 186, 361, 373, 9825, 9825, - 9825, 258, 309, 9825, 9825, 9825, 104, 293, 9825, 266, - 9825, 167, 351, 281, 311, 9825, 9825, 9825, 369, 268, - 9825, 9825, 9825, 146, 252, 378, 177, 0, 392, 0, - 0, 303, 270, 235, 317, 362, 344, 384, 178, 177, - - 226, 420, 377, 330, 379, 402, 414, 419, 410, 453, - 319, 367, 440, 429, 447, 454, 463, 459, 458, 489, - 495, 484, 474, 493, 499, 460, 500, 504, 510, 492, - 524, 520, 532, 525, 537, 529, 412, 533, 558, 539, - 531, 548, 565, 559, 250, 505, 587, 575, 574, 584, - 570, 580, 610, 601, 595, 604, 607, 614, 615, 208, - 294, 205, 236, 194, 670, 225, 180, 326, 158, 674, - 678, 0, 623, 152, 682, 176, 130, 653, 650, 680, - 661, 609, 675, 670, 676, 666, 671, 682, 672, 691, - 720, 697, 696, 703, 256, 726, 770, 731, 723, 714, - - 734, 737, 724, 718, 745, 740, 749, 759, 766, 728, - 773, 760, 772, 787, 819, 789, 762, 797, 339, 802, - 827, 378, 808, 443, 832, 805, 699, 829, 725, 838, - 836, 844, 843, 835, 852, 847, 866, 860, 849, 864, - 875, 874, 871, 865, 868, 911, 885, 878, 893, 892, - 894, 907, 908, 902, 913, 781, 909, 920, 921, 935, - 912, 937, 930, 919, 943, 950, 948, 956, 957, 938, - 958, 955, 953, 960, 954, 973, 969, 984, 994, 986, - 993, 1002, 989, 995, 988, 996, 999, 987, 1013, 1014, - 1022, 1026, 144, 1020, 1029, 1031, 1019, 1028, 1039, 1041, - - 1051, 1052, 1053, 1036, 1057, 1062, 1072, 1069, 1070, 1076, - 1079, 1088, 1055, 1067, 1065, 1082, 1092, 1098, 1087, 1100, - 1091, 1103, 1115, 1106, 1120, 1099, 1134, 1132, 1127, 1159, - 1136, 1128, 1148, 1189, 1154, 1143, 1162, 1185, 1169, 1155, - 1190, 1182, 1193, 1205, 1191, 1204, 1197, 1206, 1224, 1227, - 1215, 1231, 1229, 1220, 1226, 1233, 1249, 1258, 9825, 1242, - 1240, 1269, 1260, 1266, 1275, 1267, 1296, 1273, 1283, 1279, - 1291, 1298, 1344, 1392, 1293, 1311, 1301, 1304, 1307, 9825, - 1333, 1308, 1441, 1339, 1328, 1329, 1363, 1340, 1331, 1355, - 1364, 1356, 1300, 1359, 1367, 1390, 1403, 1400, 1379, 1389, - - 1406, 1419, 1410, 1306, 1438, 1427, 1437, 1431, 1383, 1434, - 1446, 1458, 1479, 1461, 1475, 1476, 1480, 1493, 1496, 1497, - 1508, 1503, 1486, 1502, 1518, 1515, 1522, 1528, 1573, 1484, - 1529, 1535, 1542, 1532, 1520, 1448, 1547, 1554, 1549, 1561, - 1562, 1556, 1579, 1401, 1567, 1583, 1570, 1575, 1597, 1580, - 1594, 1598, 1599, 1607, 1600, 1609, 1593, 1620, 1630, 1635, - 1637, 1634, 1643, 1645, 1627, 1651, 1631, 9825, 1654, 9825, - 1642, 1657, 1667, 1662, 1661, 1671, 1673, 9825, 1677, 1669, - 1679, 1688, 1706, 1696, 1712, 1681, 1703, 1708, 1718, 1711, - 1713, 1714, 1700, 1731, 1736, 1723, 1744, 1729, 1732, 1738, - - 1752, 1745, 1761, 1746, 1748, 1755, 1795, 9825, 1750, 1764, - 1771, 1779, 1773, 1797, 1789, 1800, 1828, 1793, 1812, 1824, - 1798, 1851, 1830, 1831, 1823, 1836, 1834, 1848, 1841, 1861, - 1850, 1857, 1858, 1852, 1860, 1875, 1881, 1872, 1879, 1889, - 9825, 1888, 1899, 1900, 1906, 1893, 1896, 1909, 1898, 1914, - 1892, 1930, 1922, 1938, 1918, 1936, 1943, 1919, 1939, 1952, - 1941, 1945, 1946, 1949, 1954, 1947, 1973, 1967, 1990, 1971, - 1988, 1993, 2000, 1996, 1997, 2004, 2006, 1981, 1991, 2009, - 2008, 1995, 1999, 2018, 2020, 2005, 2019, 2033, 2047, 2039, - 2026, 2045, 2035, 2053, 2036, 2040, 2052, 2042, 2048, 2064, - - 2077, 2059, 2086, 2065, 2092, 2069, 2074, 2100, 2101, 2085, - 2088, 9825, 2107, 2102, 2115, 2127, 2117, 2120, 2130, 2121, - 2125, 2129, 2128, 2134, 2140, 2146, 2142, 2152, 2138, 2156, - 2165, 2163, 2113, 2170, 2178, 2186, 2179, 2183, 2173, 2180, - 2184, 2177, 2198, 2190, 2217, 2211, 2199, 2215, 2232, 2206, - 2216, 2230, 2233, 2212, 2225, 2240, 2228, 2236, 2246, 2251, - 2241, 2258, 2274, 2271, 2264, 2257, 2281, 2267, 2285, 2272, - 2275, 2277, 2284, 2280, 2310, 2311, 2309, 2304, 2306, 2305, - 2307, 2312, 2313, 2330, 2327, 2329, 2332, 2322, 2331, 2342, - 2356, 2345, 2346, 2348, 2358, 2359, 2375, 2367, 2364, 2391, - - 2370, 2379, 2385, 2386, 2394, 2393, 2397, 2388, 2403, 2412, - 2407, 2424, 2426, 2415, 2425, 2436, 2421, 2437, 2428, 2340, - 2442, 2451, 2434, 2443, 2441, 2456, 2452, 2455, 2475, 2479, - 2485, 2481, 2478, 9825, 2470, 2495, 2472, 2490, 2484, 2493, - 2482, 2506, 2502, 2497, 2507, 2501, 2512, 2558, 9825, 2515, - 9825, 9825, 2521, 9825, 9825, 2535, 2541, 9825, 2548, 2537, - 2539, 2545, 2568, 2582, 2573, 2561, 2572, 2571, 2566, 2618, - 2596, 2581, 2594, 2611, 2565, 2613, 2621, 2605, 2616, 2629, - 2632, 2655, 2607, 2660, 2650, 2662, 2668, 2666, 2670, 2674, - 2672, 2676, 2663, 2664, 2680, 2688, 2685, 2701, 2712, 2699, - - 2702, 2717, 2703, 2707, 2698, 2690, 2722, 2723, 2737, 9825, - 2728, 2729, 2732, 2743, 2747, 2758, 2739, 2755, 2749, 2762, - 2763, 2759, 2750, 2760, 2764, 2754, 2777, 2756, 2773, 2787, - 2789, 2780, 2806, 2784, 9825, 2799, 2800, 2786, 2807, 2813, - 2802, 2814, 2801, 2818, 2829, 2804, 2852, 2847, 2835, 2832, - 2844, 2830, 2837, 2857, 9825, 2856, 2861, 2842, 2862, 2845, - 2871, 2872, 2874, 2877, 2893, 2880, 2882, 2887, 2881, 2911, - 2901, 2904, 2898, 2907, 2906, 2914, 2926, 2930, 2915, 2927, - 2925, 2938, 2931, 2928, 2939, 2934, 2941, 2944, 2955, 2974, - 2961, 2981, 2963, 2965, 2984, 2986, 2966, 2976, 2987, 2989, - - 2979, 2997, 3001, 3002, 2991, 3004, 3015, 3003, 3019, 3020, - 3028, 3021, 3040, 3026, 3045, 3042, 3029, 3032, 3053, 3035, - 9825, 3047, 3059, 9825, 3048, 3057, 3062, 3108, 3081, 3087, - 3078, 3063, 3069, 3095, 3088, 3098, 3096, 3118, 3107, 3122, - 3123, 3138, 3121, 3128, 3135, 3148, 3152, 3140, 3157, 3159, - 3167, 3172, 3100, 3162, 3176, 381, 3183, 3160, 3178, 3174, - 3224, 3179, 3180, 3188, 3184, 3189, 3208, 3206, 3207, 3201, - 3212, 3210, 3227, 3237, 3233, 3228, 3240, 3248, 3236, 3257, - 3254, 9825, 3267, 3265, 3259, 3271, 3269, 3284, 3275, 3270, - 9825, 3281, 3291, 3283, 3292, 3295, 3287, 3307, 3293, 3301, - - 3303, 3309, 3316, 3320, 3318, 3327, 3337, 9825, 3319, 9825, - 3339, 3338, 3336, 3330, 3345, 3342, 3340, 3356, 3365, 9825, - 9825, 3368, 3366, 3376, 3379, 3369, 3374, 3371, 9825, 3383, - 3412, 9825, 3390, 3405, 3395, 3393, 3398, 3397, 3406, 3416, - 3428, 3407, 3433, 3422, 3424, 3430, 9825, 3435, 3426, 3440, - 3443, 3434, 3454, 3461, 3464, 3456, 9825, 3446, 3460, 3453, - 3483, 3482, 3475, 3467, 3486, 3491, 3479, 3480, 3478, 3501, - 3487, 3506, 3513, 3510, 3512, 3525, 3516, 3527, 9825, 3518, - 3511, 3514, 3535, 3531, 3532, 3537, 3538, 3533, 3530, 3550, - 3552, 3556, 3561, 3554, 3557, 3568, 3573, 3575, 3570, 3581, - - 3571, 3582, 3576, 3577, 91, 3588, 3583, 3599, 3580, 9825, - 3602, 3611, 3615, 3617, 3603, 128, 3610, 3612, 3613, 3626, - 3632, 3634, 3616, 3640, 3651, 3639, 3652, 3654, 3659, 3646, - 3648, 3665, 3661, 3650, 3667, 3675, 3653, 9825, 3671, 3679, - 3677, 3685, 3699, 3687, 3714, 9825, 3704, 3709, 3711, 3713, - 3717, 3715, 3718, 3720, 3731, 3741, 3747, 3734, 3742, 3757, - 3745, 3756, 3744, 9825, 3764, 3760, 3768, 3755, 3780, 3766, - 3769, 3783, 3784, 3782, 3776, 3789, 3806, 3796, 3795, 3797, - 3802, 3811, 3812, 3810, 3816, 3823, 3819, 3829, 3837, 3833, - 3826, 3840, 3838, 9825, 3847, 3853, 3856, 3854, 3846, 3861, - - 3864, 3859, 3892, 3875, 3876, 3886, 3883, 3926, 3888, 3896, - 3911, 3913, 3915, 3916, 3917, 3919, 3928, 3929, 3938, 3936, - 3964, 3889, 3950, 3923, 3961, 3951, 3974, 3966, 3955, 3986, - 3988, 3982, 3981, 4007, 3997, 3976, 3947, 4006, 3999, 9825, - 4014, 4004, 3993, 4013, 4035, 4030, 4020, 4031, 4037, 4044, - 4040, 4041, 4047, 4049, 4054, 4048, 4058, 4065, 4063, 4064, - 4082, 4066, 4069, 4074, 4095, 4083, 4102, 4101, 9825, 4104, - 4100, 4093, 4099, 4113, 4097, 4114, 4118, 4110, 4122, 4126, - 4123, 4128, 4134, 4130, 4132, 4141, 4149, 4129, 4156, 4144, - 9825, 4160, 4157, 4159, 4153, 4161, 4165, 4177, 4192, 4191, - - 4197, 4200, 4183, 4202, 4199, 4190, 9825, 4207, 4212, 4209, - 4216, 4204, 4218, 4227, 4215, 4224, 9825, 4228, 4239, 4232, - 4230, 4225, 4226, 4261, 4252, 9825, 4265, 4264, 4242, 4243, - 4255, 4254, 4269, 4271, 4266, 4275, 4279, 4296, 4280, 4281, - 4298, 9825, 4290, 4315, 4294, 4307, 4310, 4305, 4311, 4329, - 4343, 4313, 4331, 4327, 9825, 4325, 4346, 4352, 4362, 4340, - 4338, 4354, 4356, 4371, 4366, 4360, 4377, 4365, 9825, 4381, - 4378, 4379, 4393, 4398, 4383, 4399, 4405, 4403, 4400, 4417, - 4420, 4421, 4414, 4411, 4427, 4432, 4422, 4430, 4449, 4438, - 4442, 4448, 4454, 4457, 4461, 4456, 4471, 4466, 4458, 4452, - - 4481, 4492, 4494, 4495, 4490, 4501, 9825, 4496, 4499, 4497, - 4487, 4498, 4493, 4489, 4508, 4511, 4516, 4519, 4535, 4530, - 4522, 4550, 4552, 4528, 4555, 4532, 4534, 4549, 4559, 4546, - 4554, 4542, 4571, 4567, 4568, 4563, 4575, 4577, 4578, 4598, - 4581, 4587, 4590, 4591, 4593, 4576, 4604, 4611, 4618, 4603, - 4613, 4614, 4628, 4629, 4630, 4638, 4631, 4634, 4637, 4661, - 9825, 4633, 4647, 4639, 4648, 4656, 4673, 4671, 4687, 4669, - 4678, 4681, 4685, 4688, 4677, 4675, 4700, 4690, 4706, 4721, - 9825, 4704, 9825, 4702, 4720, 4727, 4711, 4712, 9825, 4726, - 9825, 4731, 4730, 4719, 4724, 9825, 4738, 4739, 4736, 4755, - - 4749, 4743, 4757, 4752, 4758, 4770, 4766, 4785, 4765, 4763, - 4779, 4778, 4768, 4797, 4795, 4792, 4784, 4799, 4817, 4816, - 4807, 4822, 4806, 4818, 4831, 4813, 4833, 9825, 4839, 4840, - 4837, 4830, 4834, 4849, 4851, 4854, 4847, 4874, 4877, 4864, - 4865, 4883, 4878, 4881, 4869, 4891, 4895, 4899, 4897, 4908, - 9825, 4892, 4888, 4902, 4901, 9825, 4918, 4912, 4924, 4929, - 4926, 4914, 4916, 4934, 4941, 4920, 4943, 4946, 4968, 4951, - 4949, 4969, 9825, 4953, 4970, 4952, 4957, 4983, 4990, 4995, - 4987, 4993, 4999, 4996, 4998, 5005, 4989, 5009, 5004, 5008, - 5010, 5013, 5034, 5014, 5006, 5037, 5043, 5041, 5026, 5027, - - 5030, 5035, 5038, 5045, 5040, 5053, 5056, 5061, 5062, 9825, - 5070, 5072, 5079, 5080, 5071, 5077, 5074, 5086, 5075, 9825, - 5095, 5083, 5107, 5102, 5115, 5109, 5111, 5104, 5099, 5123, - 5118, 5130, 5144, 5119, 9825, 5134, 9825, 5138, 5145, 5140, - 5147, 5146, 5150, 5166, 5170, 5165, 5160, 5177, 5181, 5183, - 5167, 5173, 5190, 5193, 5209, 5192, 5171, 5202, 5187, 5210, - 5204, 5211, 5208, 5232, 5228, 5229, 9825, 9825, 5215, 5226, - 5242, 5230, 5238, 5249, 5257, 5252, 5270, 5259, 5262, 5260, - 5295, 9825, 5266, 5267, 5274, 5287, 5235, 5285, 5298, 5305, - 5301, 5294, 5316, 5307, 9825, 5297, 5304, 5320, 5314, 5333, - - 5321, 9825, 5329, 9825, 5319, 5330, 5331, 5345, 5343, 5340, - 5346, 5348, 5354, 5357, 5362, 5364, 5379, 5365, 5385, 5366, - 5369, 5375, 5390, 5384, 5404, 5381, 5391, 5382, 9825, 5401, - 5395, 5412, 5414, 5418, 5420, 5417, 5406, 9825, 5427, 5432, - 5428, 5422, 5438, 5439, 5445, 5441, 5448, 5447, 5444, 5464, - 5465, 9825, 5454, 5459, 5474, 5468, 5471, 5484, 5470, 5491, - 5482, 9825, 5478, 5487, 5498, 5499, 5500, 5506, 5510, 5495, - 5497, 5502, 5514, 5523, 5525, 5522, 5524, 5529, 5533, 5539, - 5542, 5565, 5540, 5549, 5553, 5507, 5547, 9825, 5554, 5559, - 5563, 5567, 5580, 5569, 5592, 5584, 5598, 5581, 5599, 5602, - - 5594, 5595, 5613, 5614, 5607, 5620, 9825, 5622, 5606, 5632, - 5610, 5628, 5636, 5619, 5633, 5644, 5637, 5627, 5651, 5660, - 5662, 5658, 5678, 5649, 5650, 5653, 5675, 5654, 9825, 5698, - 5672, 5688, 5655, 5693, 5694, 5711, 5699, 5687, 5689, 5712, - 5696, 5726, 5713, 5719, 5728, 5732, 5723, 9825, 9825, 5742, - 5720, 5735, 9825, 5739, 5730, 5757, 5747, 5758, 5740, 5749, - 5766, 5756, 5753, 5776, 5755, 5770, 9825, 5782, 5794, 5775, - 5789, 5799, 5803, 9825, 5788, 5804, 5798, 5806, 5792, 5790, - 5793, 5815, 5821, 5817, 5814, 5828, 5823, 5841, 5825, 5831, - 5839, 9825, 5833, 5842, 5844, 5847, 5838, 5848, 9825, 5858, - - 5874, 5860, 5873, 5872, 5882, 5885, 5886, 5883, 5871, 5880, - 5876, 5888, 5891, 5903, 5901, 5899, 5910, 5909, 5918, 5927, - 5932, 5930, 9825, 5926, 5940, 5919, 5942, 9825, 5943, 5968, - 5937, 9825, 5945, 5921, 5944, 5953, 5960, 9825, 5961, 5971, - 5967, 5957, 5986, 5963, 5991, 5970, 5976, 5972, 5981, 9825, - 5995, 5992, 6000, 9825, 5998, 6009, 6014, 6015, 5997, 6026, - 6023, 6025, 6027, 6022, 9825, 6034, 9825, 6032, 6028, 6042, - 9825, 6036, 6052, 6041, 6045, 6038, 6066, 6072, 6073, 6051, - 6060, 6074, 6063, 6065, 6078, 6089, 6090, 6068, 6079, 6096, - 6098, 9825, 6117, 6101, 6111, 6104, 6121, 6123, 6115, 6109, - - 6128, 6113, 9825, 9825, 6134, 9825, 6140, 6136, 6142, 9825, - 6147, 6150, 6170, 6149, 6167, 6169, 6172, 6165, 9825, 6175, - 6177, 9825, 6157, 6176, 6186, 6181, 6179, 6163, 6210, 6203, - 6193, 6204, 6205, 6206, 6207, 6196, 6209, 6223, 9825, 6198, - 6230, 6228, 6227, 6234, 6238, 6232, 6255, 6243, 9825, 6259, - 6245, 6248, 6268, 6269, 9825, 6262, 9825, 6265, 6272, 6282, - 6275, 6278, 6289, 9825, 6286, 6287, 6306, 6285, 6302, 6315, - 6313, 6314, 6304, 6300, 6328, 6321, 6312, 6323, 6337, 6343, - 9825, 6338, 6340, 6336, 6355, 6344, 6341, 6348, 6353, 6364, - 6342, 6381, 6372, 6365, 6373, 6375, 6385, 6390, 6378, 9825, - - 6398, 6404, 6388, 6418, 6399, 6405, 6408, 9825, 6415, 6423, - 6424, 9825, 6417, 6419, 6431, 6443, 6434, 6435, 6432, 6438, - 6446, 6449, 6466, 9825, 6456, 6457, 6454, 6467, 6473, 6476, - 9825, 9825, 6483, 9825, 6480, 6465, 6482, 6490, 6479, 6505, - 6511, 6509, 6519, 6501, 6517, 6522, 6510, 6506, 6531, 6512, - 6556, 6535, 6545, 6539, 6547, 6533, 9825, 9825, 6543, 6558, - 6554, 6564, 6566, 6565, 6560, 6562, 6570, 6587, 6568, 6571, - 6601, 9825, 6595, 6586, 6603, 6589, 9825, 6583, 6612, 6596, - 6605, 6613, 6611, 6615, 6621, 6622, 6628, 6624, 6633, 6638, - 6647, 6635, 6639, 6651, 6640, 6664, 6658, 6654, 6643, 9825, - - 6665, 6656, 6668, 6666, 6670, 6682, 6655, 6692, 6684, 9825, - 6691, 9825, 6695, 6693, 6709, 6710, 6713, 6718, 6714, 6711, - 6716, 6733, 6725, 6727, 6745, 6729, 6734, 6735, 6754, 6756, - 6758, 6759, 6761, 9825, 6762, 6743, 6744, 6757, 6777, 6778, - 6760, 6780, 6781, 6797, 6783, 6795, 6801, 6802, 6789, 6804, - 6792, 6806, 6796, 9825, 6807, 6811, 6816, 6814, 6819, 6826, - 6818, 6849, 6817, 6833, 6836, 6853, 9825, 6839, 6842, 6856, - 9825, 6847, 6845, 6843, 6869, 6857, 6870, 6866, 6860, 6876, - 9825, 6886, 6879, 6883, 6887, 6893, 6894, 6878, 6906, 6900, - 6913, 6905, 9825, 6924, 6910, 6936, 6938, 6919, 6932, 6926, - - 6949, 6903, 9825, 6950, 6952, 6933, 6963, 6966, 6946, 6965, - 6969, 6973, 6981, 6958, 6974, 6985, 6982, 6989, 6990, 6993, - 6992, 6994, 7000, 7007, 9825, 6977, 9825, 7013, 7027, 7008, - 7030, 7014, 7035, 7032, 7024, 9825, 7026, 7029, 7043, 7033, - 7038, 9825, 7040, 7060, 7053, 7065, 9825, 7058, 7073, 7062, - 7069, 7083, 7085, 9825, 7084, 7087, 7088, 7096, 7099, 7089, - 7097, 7092, 7100, 7095, 7104, 7102, 7129, 7137, 7122, 7133, - 9825, 7131, 7139, 7140, 7141, 7134, 7144, 7127, 7148, 7150, - 7159, 9825, 7171, 7158, 7161, 7168, 7179, 7164, 7185, 7160, - 7186, 7175, 7170, 7177, 7195, 7180, 9825, 7202, 7199, 7213, - - 7226, 7216, 7223, 9825, 7221, 9825, 7217, 7232, 7234, 7209, - 7238, 9825, 9825, 7242, 7243, 7244, 7247, 7240, 9825, 9825, - 7254, 9825, 7245, 9825, 7241, 7259, 9825, 9825, 7272, 7252, - 7264, 7279, 7282, 7280, 9825, 7288, 9825, 7294, 7291, 7281, - 7271, 7290, 9825, 7304, 7298, 7314, 7315, 7303, 9825, 7307, - 7305, 7311, 7318, 9825, 7310, 7332, 7317, 7321, 9825, 7345, - 7313, 7342, 7331, 7343, 7350, 7359, 7337, 7353, 7356, 7360, - 7364, 7369, 7366, 7375, 7381, 7385, 7390, 7387, 7379, 7395, - 7402, 7404, 7398, 7393, 7406, 7401, 7388, 7407, 7419, 7416, - 7438, 7439, 7430, 7432, 7440, 7437, 7431, 7448, 7434, 7436, - - 7442, 7443, 7446, 7457, 7469, 7461, 7473, 7464, 7488, 7480, - 7493, 7489, 7491, 7495, 9825, 7484, 7481, 7474, 7520, 7512, - 7500, 7529, 7528, 7531, 7535, 9825, 7537, 9825, 7539, 7524, - 7530, 7525, 7533, 9825, 7550, 7527, 7551, 7554, 7567, 7559, - 7578, 7562, 7565, 7566, 7586, 9825, 7585, 7577, 7568, 7589, - 7588, 9825, 7593, 7596, 7581, 7601, 7614, 7607, 7606, 7609, - 7615, 7611, 7632, 7635, 7617, 7625, 7633, 7640, 7645, 7652, - 7638, 7646, 7636, 7654, 7648, 7649, 7651, 7672, 7682, 7674, - 7683, 7686, 9825, 7670, 9825, 7678, 7673, 7679, 7688, 7697, - 7698, 7700, 7704, 9825, 9825, 7701, 7714, 7707, 7711, 7715, - - 7722, 7725, 7724, 7728, 9825, 7730, 7742, 7737, 7727, 9825, - 7741, 7738, 7750, 7761, 9825, 7759, 7753, 7772, 7774, 7760, - 7775, 7773, 7781, 7766, 7780, 7764, 7794, 9825, 9825, 9825, - 9825, 7795, 7788, 7804, 7799, 7800, 7805, 7807, 7809, 7820, - 7808, 7815, 9825, 7824, 9825, 9825, 7833, 7839, 7832, 7843, - 7841, 7806, 7845, 7842, 9825, 7847, 7851, 7853, 7852, 7861, - 7863, 7859, 7865, 7882, 7880, 7888, 7877, 7878, 7902, 7894, - 7897, 7885, 7901, 7903, 7908, 9825, 9825, 7904, 7910, 7913, - 7918, 7914, 7927, 7920, 7941, 7935, 7933, 7940, 7936, 7942, - 7931, 7947, 7953, 7959, 7943, 9825, 7965, 7966, 7954, 9825, - - 7961, 9825, 7970, 7978, 7967, 7974, 7980, 7981, 7994, 7997, - 9825, 9825, 7986, 8001, 8003, 9825, 9825, 7992, 7998, 7996, - 8020, 8019, 8008, 8023, 8014, 8034, 8021, 9825, 8022, 9825, - 8024, 8035, 8043, 8030, 8057, 8063, 8042, 8068, 8065, 8064, - 8069, 9825, 8066, 8067, 9825, 8073, 8076, 8077, 8071, 8082, - 9825, 8087, 8092, 8078, 8086, 9825, 8089, 8107, 8112, 9825, - 8118, 9825, 8100, 8116, 8113, 8128, 8114, 9825, 8102, 8129, - 9825, 8131, 8132, 8133, 8137, 8138, 9825, 8135, 8143, 9825, - 8146, 8142, 8153, 8167, 8156, 8168, 8159, 8157, 8160, 8181, - 8179, 8178, 9825, 9825, 8190, 8184, 73, 8196, 8177, 8183, - - 8187, 8186, 8195, 8193, 8208, 8197, 9825, 9825, 8210, 9825, - 8213, 8222, 9825, 8201, 8228, 8232, 8229, 8236, 8239, 8223, - 8224, 8244, 8240, 8258, 8248, 8245, 8268, 8282, 8283, 8260, - 8280, 8285, 8289, 8291, 8293, 8281, 8295, 8278, 8275, 8299, - 8296, 8306, 8305, 8309, 8310, 9825, 8334, 8335, 8336, 8322, - 9825, 8343, 8337, 8345, 8341, 9825, 8347, 8342, 8349, 8350, - 8356, 9825, 8357, 8352, 8376, 8372, 8363, 8377, 8374, 8360, - 8378, 8384, 8390, 9825, 9825, 9825, 8392, 8395, 9825, 8396, - 8386, 8385, 8407, 9825, 8406, 8405, 8416, 9825, 9825, 8404, - 8421, 8427, 9825, 8415, 8403, 9825, 8432, 9825, 8418, 9825, - - 8433, 8441, 8448, 8431, 9825, 8442, 8437, 8443, 8477, 9825, - 8461, 8472, 8479, 8471, 8462, 8464, 8485, 9825, 8491, 8487, - 8488, 8494, 8484, 8489, 8476, 8495, 8505, 8518, 8506, 8525, - 9825, 8522, 8529, 8530, 8536, 8519, 8524, 8527, 9825, 8520, - 9825, 8541, 9825, 8546, 8547, 8544, 8561, 8556, 8557, 8569, - 8573, 8554, 8571, 8567, 8563, 8579, 8574, 9825, 9825, 8591, - 8592, 9825, 8581, 9825, 8595, 9825, 8594, 8597, 8604, 8598, - 8606, 9825, 8615, 8603, 8608, 8631, 8605, 8620, 9825, 8626, - 8629, 8630, 8634, 9825, 9825, 8625, 8651, 8654, 9825, 8638, - 8648, 8662, 8652, 8644, 8663, 8657, 8665, 8653, 8656, 8650, - - 8676, 8677, 8685, 8678, 8695, 8696, 8701, 9825, 9825, 9825, - 8694, 8687, 8713, 8710, 8708, 8718, 8709, 9825, 8712, 8716, - 8714, 8723, 8735, 8730, 8731, 9825, 8737, 8733, 8728, 8739, - 8732, 8744, 8740, 8759, 9825, 8761, 8765, 8767, 8770, 8776, - 8773, 8777, 8782, 8774, 8779, 8775, 8780, 9825, 8789, 9825, - 9825, 8791, 9825, 8771, 8795, 8794, 8797, 8814, 9825, 8796, - 8799, 8808, 8816, 8809, 8822, 8828, 8833, 9825, 8839, 8818, - 8832, 8842, 9825, 9825, 8840, 8848, 9825, 8850, 8857, 8849, - 8844, 8841, 8856, 8870, 8867, 9825, 8869, 8874, 8865, 8866, - 8876, 8875, 8889, 9825, 8890, 8888, 8884, 8899, 9825, 8891, - - 8894, 8906, 8908, 8900, 9825, 8915, 8918, 8933, 8925, 9825, - 8921, 8936, 8927, 9825, 9825, 8943, 8944, 8945, 9825, 9825, - 9825, 8953, 8950, 8942, 8958, 9825, 8959, 8975, 8980, 8962, - 8985, 8960, 9825, 8976, 8983, 8990, 8977, 8979, 9825, 9825, - 8974, 8978, 8991, 8997, 8989, 9825, 9825, 8986, 9007, 9022, - 9006, 9012, 9825, 9010, 9024, 9030, 9023, 9034, 9031, 9040, - 9033, 9038, 9054, 9052, 9049, 9044, 9053, 9051, 9059, 9077, - 9065, 9046, 9050, 9079, 9074, 9083, 9073, 9089, 9825, 9825, - 9087, 9825, 9097, 9093, 9825, 9825, 9098, 9103, 9105, 9107, - 9825, 9108, 9113, 9117, 9118, 9096, 9825, 9110, 9126, 9124, - - 9115, 9111, 9825, 9128, 9120, 9136, 9135, 9130, 9129, 9147, - 9152, 9825, 9144, 9161, 9825, 9825, 9146, 9162, 9154, 9166, - 9151, 9825, 9173, 9177, 9168, 9178, 9171, 9179, 9185, 9825, - 9181, 9175, 9825, 9825, 9195, 9198, 9825, 9825, 9189, 9825, - 9825, 9825, 9825, 9825, 9825, 9825, 9825, 9214, 9217, 9825, - 9205, 9221, 9223, 9825, 9227, 9825, 9206, 9222, 9226, 9216, - 9825, 9224, 9825, 9212, 9241, 9232, 9253, 9245, 9265, 9248, - 9250, 9249, 9254, 9246, 9259, 9275, 9273, 9278, 9268, 9286, - 9290, 9279, 9298, 9825, 9825, 9825, 9293, 9288, 9304, 9300, - 9314, 9318, 9321, 9322, 9305, 9313, 9320, 9332, 9334, 9317, - - 9328, 9357, 9340, 9326, 9351, 9358, 9348, 9362, 9825, 9363, - 9359, 9352, 9372, 9825, 9361, 9825, 9355, 9825, 9825, 9377, - 9379, 9383, 9375, 9392, 9397, 9382, 9395, 9386, 9388, 9411, - 9825, 9412, 9825, 9825, 9404, 9406, 9825, 9400, 9413, 9825, - 9409, 9423, 9415, 9403, 9424, 9427, 9440, 9442, 9448, 9825, - 9825, 9438, 9439, 9441, 9449, 9454, 9467, 9462, 9465, 9466, - 9472, 9461, 9483, 9825, 9479, 9486, 9482, 9825, 9492, 9476, - 9493, 9489, 9498, 9488, 9502, 9499, 9825, 9504, 9825, 9501, - 9524, 9525, 9515, 9518, 9527, 9542, 9541, 9545, 9825, 9523, - 9552, 9528, 9555, 9561, 9554, 9564, 9565, 9511, 9570, 9576, - - 9514, 9580, 9583, 9574, 9572, 9581, 9825, 9594, 9596, 9825, - 9601, 9604, 9597, 9599, 9611, 9825, 9595, 9610, 9613, 9624, - 9619, 9623, 9825, 9634, 9635, 9637, 9825, 9636, 9825, 9825, - 9642, 9639, 9646, 9648, 9649, 9825, 9825, 9825, 9705, 9712, - 9719, 9726, 9733, 9740, 9747, 102, 9754, 9761, 9768, 9775, - 9782, 9789, 9796, 9803, 9810, 9817 - } ; - -static yyconst flex_int16_t yy_def[3457] = - { 0, - 3438, 1, 3439, 3439, 3440, 3440, 3441, 3441, 3442, 3442, - 3443, 3443, 3444, 3444, 3445, 3445, 3438, 3446, 3438, 3438, - 3438, 3438, 3447, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3448, 3438, 3438, 3438, - 3448, 3449, 3438, 3438, 3438, 3449, 3450, 3438, 3438, 3438, - 3438, 3450, 3451, 3438, 3438, 3438, 3451, 3452, 3438, 3453, - 3438, 3452, 3452, 3454, 3438, 3438, 3438, 3438, 3454, 3455, - 3438, 3438, 3438, 3455, 3446, 3446, 3438, 3456, 3447, 3456, - 3447, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3448, - 3448, 3449, 3449, 3450, 3450, 3438, 3451, 3451, 3452, 3452, - 3453, 3453, 3452, 3454, 3454, 3438, 3455, 3455, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3438, 3438, 3446, 3438, 3438, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3452, 3452, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3452, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - - 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3452, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, 3446, 3438, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3438, 3438, 3446, 3438, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3452, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - - 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3438, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3438, - 3446, 3438, 3446, 3438, 3446, 3446, 3438, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3452, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3438, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3438, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3452, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, - - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3438, 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3438, 3446, 3446, 3452, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3438, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3438, 3438, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, 3438, 3446, - 3446, 3446, 3438, 3446, 3446, 3438, 3446, 3438, 3446, 3438, - - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, - 3446, 3438, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, - 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3438, 3438, 3446, 3446, 3438, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, 3446, - - 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3438, 3438, - 3438, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3438, - 3446, 3446, 3446, 3446, 3446, 3438, 3438, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3438, - 3446, 3438, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3446, - 3438, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, - - 3446, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3438, 3438, 3446, 3446, 3446, 3446, - 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3446, 3446, 3438, 3438, 3446, 3446, 3438, 3438, 3446, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3446, 3446, 3438, - 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3446, 3446, 3446, - 3438, 3446, 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3438, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3438, 3446, 3438, 3446, 3438, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3438, 3446, 3438, 3438, 3446, 3446, 3438, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, - 3438, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3438, 3446, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, - 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, 3446, - - 3446, 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3438, - 3446, 3446, 3446, 3446, 3446, 3438, 3446, 3446, 3446, 3446, - 3446, 3446, 3438, 3446, 3446, 3446, 3438, 3446, 3438, 3438, - 3446, 3446, 3446, 3446, 3446, 3438, 3438, 0, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438 - } ; - -static yyconst flex_int16_t yy_nxt[9892] = - { 0, - 18, 19, 20, 21, 22, 23, 22, 18, 18, 18, - 18, 18, 22, 24, 25, 26, 27, 28, 29, 18, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 18, 18, 18, 45, 46, - 24, 25, 26, 27, 28, 29, 18, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 18, 18, 18, 45, 48, 49, 50, 48, - 49, 50, 53, 54, 53, 54, 55, 119, 55, 58, - 59, 60, 61, 120, 22, 58, 59, 60, 61, 86, - 22, 64, 65, 66, 64, 65, 66, 87, 160, 160, - - 1311, 88, 85, 51, 119, 86, 51, 167, 167, 56, - 120, 56, 170, 75, 76, 77, 78, 62, 22, 75, - 76, 77, 78, 62, 22, 81, 82, 83, 67, 97, - 86, 67, 19, 20, 21, 69, 70, 71, 19, 20, - 21, 69, 70, 71, 81, 82, 83, 121, 108, 177, - 177, 79, 72, 159, 409, 86, 97, 79, 72, 86, - 137, 90, 84, 90, 90, 86, 90, 170, 109, 178, - 73, 86, 90, 86, 121, 108, 73, 176, 87, 72, - 159, 84, 88, 86, 130, 72, 112, 137, 110, 162, - 86, 175, 162, 173, 113, 109, 98, 170, 188, 91, - - 92, 93, 111, 99, 94, 114, 170, 100, 187, 95, - 101, 130, 86, 112, 86, 110, 86, 86, 96, 168, - 173, 113, 86, 98, 86, 188, 166, 92, 93, 111, - 99, 94, 114, 165, 100, 187, 95, 101, 85, 162, - 85, 85, 162, 85, 163, 96, 102, 161, 115, 85, - 103, 116, 189, 104, 181, 105, 106, 252, 117, 164, - 118, 164, 164, 292, 164, 86, 107, 90, 86, 90, - 90, 86, 90, 102, 86, 115, 122, 103, 116, 189, - 104, 181, 105, 106, 123, 117, 180, 118, 126, 86, - 124, 86, 127, 107, 125, 86, 156, 160, 160, 148, - - 157, 149, 86, 122, 158, 172, 128, 178, 129, 86, - 150, 123, 176, 180, 86, 126, 151, 124, 179, 127, - 175, 125, 86, 156, 152, 86, 148, 157, 149, 167, - 167, 158, 170, 128, 153, 129, 131, 150, 154, 155, - 132, 182, 86, 151, 133, 179, 328, 86, 168, 205, - 134, 152, 169, 135, 169, 169, 86, 169, 86, 184, - 136, 153, 86, 131, 195, 154, 155, 132, 182, 86, - 174, 133, 174, 174, 166, 174, 205, 134, 86, 85, - 135, 85, 85, 86, 85, 332, 184, 136, 138, 1165, - 85, 195, 139, 90, 183, 90, 90, 206, 90, 185, - - 165, 86, 140, 141, 90, 142, 86, 193, 194, 197, - 196, 163, 186, 161, 86, 138, 86, 86, 86, 139, - 86, 183, 86, 86, 206, 240, 185, 198, 3438, 140, - 141, 91, 142, 143, 193, 194, 144, 196, 190, 186, - 199, 86, 201, 145, 191, 200, 192, 146, 147, 86, - 334, 86, 240, 86, 198, 86, 207, 3438, 86, 86, - 143, 208, 3438, 144, 209, 190, 215, 199, 86, 201, - 145, 191, 200, 192, 146, 147, 202, 203, 211, 86, - 210, 212, 86, 207, 204, 228, 86, 3438, 208, 217, - 216, 209, 86, 86, 213, 214, 3438, 86, 86, 86, - - 225, 3438, 86, 202, 203, 211, 218, 210, 212, 226, - 220, 204, 228, 86, 221, 223, 217, 216, 227, 229, - 224, 213, 214, 86, 232, 230, 219, 225, 86, 253, - 222, 86, 86, 218, 86, 231, 226, 220, 86, 86, - 233, 221, 223, 86, 86, 227, 229, 224, 235, 86, - 234, 232, 230, 219, 237, 236, 253, 222, 238, 86, - 3438, 239, 231, 86, 86, 241, 245, 233, 86, 246, - 86, 86, 86, 3438, 242, 235, 86, 234, 86, 247, - 248, 237, 236, 243, 251, 238, 3438, 86, 239, 244, - 3438, 249, 241, 245, 257, 250, 246, 86, 86, 3438, - - 254, 242, 259, 261, 86, 258, 247, 248, 262, 86, - 243, 251, 267, 86, 86, 260, 244, 255, 249, 86, - 256, 257, 250, 86, 263, 266, 86, 254, 268, 259, - 261, 270, 258, 264, 86, 262, 277, 269, 272, 267, - 86, 271, 260, 86, 255, 265, 86, 256, 86, 86, - 3438, 263, 266, 86, 86, 268, 177, 177, 270, 3438, - 264, 3438, 170, 277, 269, 272, 3438, 273, 271, 3438, - 3438, 164, 265, 164, 164, 169, 164, 169, 169, 90, - 169, 90, 90, 174, 90, 174, 174, 274, 174, 86, - 3438, 276, 3438, 280, 273, 278, 281, 282, 283, 284, - - 86, 275, 279, 3438, 285, 86, 338, 3438, 3438, 86, - 86, 86, 286, 290, 86, 86, 291, 172, 276, 86, - 280, 86, 278, 281, 282, 283, 284, 287, 275, 279, - 86, 285, 340, 288, 289, 86, 86, 293, 86, 286, - 290, 294, 86, 291, 301, 303, 3438, 302, 306, 3438, - 307, 304, 308, 86, 305, 314, 310, 86, 295, 86, - 288, 289, 86, 86, 86, 86, 311, 86, 294, 3438, - 86, 301, 303, 86, 302, 306, 86, 307, 304, 86, - 309, 305, 314, 310, 86, 295, 296, 312, 86, 318, - 317, 297, 313, 311, 326, 370, 298, 315, 86, 86, - - 316, 86, 299, 300, 319, 86, 325, 309, 3438, 86, - 3438, 86, 86, 296, 312, 329, 318, 317, 297, 313, - 86, 326, 370, 298, 315, 327, 86, 316, 86, 299, - 300, 319, 320, 325, 330, 321, 86, 322, 337, 335, - 333, 86, 329, 342, 86, 331, 339, 86, 3438, 323, - 344, 324, 327, 336, 341, 3438, 3438, 3438, 86, 320, - 345, 3438, 321, 343, 322, 337, 86, 333, 86, 351, - 346, 86, 331, 339, 86, 86, 323, 86, 324, 347, - 336, 341, 86, 86, 348, 349, 86, 345, 86, 352, - 343, 86, 353, 356, 350, 354, 351, 346, 355, 86, - - 357, 364, 360, 86, 86, 86, 347, 86, 361, 362, - 86, 348, 349, 86, 86, 367, 352, 86, 358, 353, - 356, 350, 354, 359, 86, 355, 363, 357, 373, 360, - 369, 86, 86, 86, 368, 361, 362, 365, 366, 372, - 371, 86, 374, 375, 376, 378, 86, 86, 86, 3438, - 86, 86, 86, 363, 377, 381, 379, 369, 86, 86, - 86, 368, 380, 383, 365, 366, 372, 371, 3438, 86, - 375, 384, 378, 386, 86, 387, 86, 86, 382, 388, - 390, 377, 86, 379, 389, 3438, 391, 86, 385, 86, - 392, 394, 86, 86, 170, 86, 86, 86, 384, 86, - - 386, 395, 387, 396, 393, 382, 388, 390, 86, 398, - 397, 389, 86, 391, 3438, 385, 399, 392, 401, 403, - 405, 400, 402, 86, 404, 86, 86, 86, 86, 406, - 396, 393, 86, 86, 86, 86, 407, 397, 86, 408, - 3438, 86, 411, 399, 412, 401, 403, 413, 400, 402, - 410, 404, 86, 86, 415, 414, 406, 416, 86, 86, - 419, 86, 420, 407, 421, 86, 408, 86, 86, 411, - 86, 412, 417, 418, 413, 86, 422, 410, 86, 423, - 86, 415, 414, 426, 416, 424, 428, 431, 3438, 420, - 86, 86, 86, 427, 86, 429, 86, 432, 433, 417, - - 418, 86, 425, 422, 86, 435, 86, 434, 86, 86, - 426, 86, 424, 436, 431, 86, 438, 437, 86, 430, - 427, 86, 439, 445, 432, 433, 86, 86, 441, 425, - 86, 86, 435, 440, 434, 443, 442, 86, 86, 86, - 436, 446, 86, 438, 437, 86, 430, 447, 3438, 439, - 445, 448, 444, 3438, 86, 441, 3438, 455, 456, 86, - 440, 3438, 443, 442, 3438, 457, 86, 86, 463, 462, - 469, 86, 3438, 86, 447, 86, 467, 3438, 448, 444, - 449, 468, 86, 450, 455, 456, 464, 86, 451, 452, - 453, 454, 457, 86, 86, 463, 462, 469, 86, 465, - - 466, 86, 470, 3438, 458, 3438, 459, 449, 86, 478, - 450, 471, 476, 464, 472, 451, 452, 453, 454, 460, - 473, 86, 461, 479, 86, 477, 465, 466, 86, 86, - 86, 458, 86, 459, 474, 475, 86, 480, 471, 476, - 481, 472, 482, 86, 86, 86, 460, 473, 483, 461, - 479, 485, 477, 484, 86, 3438, 488, 493, 486, 86, - 487, 474, 475, 86, 480, 86, 86, 481, 86, 482, - 86, 489, 86, 490, 492, 483, 494, 495, 485, 86, - 484, 86, 491, 496, 493, 486, 507, 487, 86, 497, - 498, 3438, 499, 500, 505, 3438, 506, 86, 489, 86, - - 490, 492, 3438, 508, 495, 86, 86, 549, 86, 491, - 496, 501, 86, 562, 86, 509, 497, 498, 86, 499, - 500, 505, 86, 506, 502, 522, 523, 503, 525, 504, - 86, 526, 86, 527, 530, 86, 540, 86, 501, 86, - 86, 541, 509, 86, 524, 86, 86, 86, 528, 539, - 86, 502, 522, 523, 503, 525, 504, 510, 526, 511, - 527, 530, 545, 3438, 529, 512, 538, 86, 86, 513, - 86, 524, 86, 544, 514, 528, 539, 515, 86, 170, - 3438, 542, 546, 86, 510, 547, 511, 548, 543, 545, - 567, 529, 512, 538, 86, 86, 513, 550, 86, 551, - - 544, 514, 86, 86, 515, 516, 86, 517, 542, 546, - 553, 557, 547, 612, 548, 543, 552, 555, 86, 554, - 518, 558, 86, 519, 550, 520, 551, 521, 86, 86, - 3438, 86, 516, 559, 517, 556, 560, 561, 557, 86, - 86, 3438, 86, 552, 555, 86, 554, 518, 558, 86, - 519, 563, 520, 3438, 521, 531, 532, 566, 86, 564, - 559, 565, 556, 560, 561, 533, 86, 534, 535, 536, - 86, 568, 537, 86, 569, 570, 86, 86, 563, 3438, - 86, 604, 531, 532, 566, 86, 564, 86, 565, 571, - 572, 598, 533, 573, 534, 535, 536, 86, 568, 537, - - 86, 569, 570, 574, 575, 3438, 576, 577, 604, 3438, - 578, 579, 3438, 581, 86, 86, 584, 585, 86, 86, - 573, 3438, 3438, 86, 582, 86, 3438, 603, 580, 586, - 574, 575, 86, 576, 577, 86, 86, 578, 579, 583, - 581, 86, 86, 584, 585, 588, 587, 86, 589, 590, - 599, 582, 600, 602, 86, 580, 586, 86, 601, 86, - 591, 86, 592, 3438, 607, 605, 583, 86, 86, 610, - 606, 86, 588, 587, 86, 589, 590, 599, 608, 600, - 602, 86, 616, 615, 613, 601, 86, 591, 86, 592, - 593, 607, 605, 86, 609, 86, 610, 606, 594, 595, - - 86, 86, 596, 597, 611, 608, 86, 618, 614, 86, - 615, 613, 86, 617, 86, 620, 621, 593, 86, 86, - 622, 609, 86, 626, 624, 594, 595, 619, 623, 596, - 597, 611, 86, 86, 618, 614, 86, 86, 86, 86, - 617, 625, 620, 621, 627, 628, 86, 622, 86, 3438, - 626, 624, 629, 630, 619, 623, 632, 3438, 631, 86, - 634, 3438, 633, 3438, 635, 636, 86, 637, 625, 86, - 86, 627, 628, 86, 86, 638, 86, 639, 642, 629, - 630, 86, 86, 632, 86, 631, 3438, 634, 640, 633, - 86, 635, 636, 86, 637, 641, 86, 644, 653, 647, - - 86, 86, 638, 643, 639, 642, 86, 645, 86, 646, - 86, 648, 86, 650, 649, 640, 86, 651, 86, 652, - 86, 660, 641, 3438, 644, 653, 647, 86, 655, 654, - 643, 656, 661, 657, 645, 86, 646, 658, 648, 86, - 659, 649, 86, 663, 651, 86, 662, 86, 3438, 665, - 86, 86, 86, 86, 669, 655, 654, 86, 656, 661, - 657, 666, 86, 667, 658, 668, 664, 659, 86, 670, - 86, 86, 671, 662, 673, 86, 665, 86, 672, 674, - 675, 669, 684, 86, 86, 86, 3438, 86, 666, 86, - 667, 86, 668, 664, 86, 687, 670, 685, 686, 671, - - 86, 673, 3438, 86, 688, 672, 674, 675, 676, 684, - 86, 3438, 86, 677, 689, 678, 691, 690, 86, 698, - 694, 679, 687, 680, 685, 686, 681, 682, 86, 695, - 3438, 688, 86, 683, 86, 676, 86, 86, 703, 86, - 677, 689, 678, 691, 690, 692, 698, 694, 679, 693, - 680, 86, 696, 681, 682, 697, 695, 701, 699, 702, - 683, 706, 86, 86, 3438, 703, 705, 86, 700, 86, - 86, 704, 692, 86, 708, 86, 693, 709, 707, 696, - 86, 710, 697, 712, 701, 711, 702, 86, 706, 86, - 86, 86, 714, 705, 713, 700, 86, 86, 704, 86, - - 86, 708, 715, 716, 709, 707, 717, 718, 710, 719, - 712, 86, 711, 722, 86, 720, 721, 723, 86, 714, - 86, 713, 728, 724, 726, 3438, 735, 86, 86, 715, - 716, 86, 86, 717, 718, 86, 719, 86, 86, 170, - 725, 727, 720, 721, 723, 86, 729, 730, 86, 728, - 724, 726, 731, 86, 732, 734, 733, 86, 86, 737, - 739, 86, 743, 736, 3438, 738, 3438, 725, 727, 86, - 3438, 742, 740, 729, 730, 86, 741, 86, 86, 731, - 86, 732, 86, 733, 86, 86, 86, 739, 86, 743, - 736, 86, 738, 86, 744, 747, 750, 748, 742, 740, - - 751, 745, 749, 741, 746, 752, 86, 753, 754, 755, - 86, 756, 86, 757, 759, 760, 3438, 3438, 758, 764, - 86, 744, 747, 750, 761, 762, 763, 86, 745, 86, - 86, 746, 86, 765, 86, 86, 86, 766, 86, 86, - 767, 759, 760, 86, 86, 86, 764, 86, 86, 769, - 768, 761, 762, 763, 770, 771, 772, 86, 86, 86, - 765, 774, 773, 776, 766, 86, 775, 767, 3438, 778, - 779, 781, 86, 777, 86, 86, 769, 768, 86, 86, - 780, 86, 771, 772, 86, 783, 86, 86, 774, 773, - 776, 86, 86, 775, 782, 788, 778, 779, 86, 790, - - 777, 784, 791, 86, 86, 789, 785, 780, 86, 786, - 787, 794, 783, 86, 796, 795, 86, 792, 793, 3438, - 817, 782, 788, 797, 86, 86, 790, 86, 784, 791, - 798, 86, 789, 785, 801, 802, 786, 787, 794, 86, - 86, 86, 795, 799, 792, 793, 86, 803, 806, 804, - 797, 808, 86, 807, 86, 805, 86, 798, 810, 86, - 86, 801, 802, 811, 86, 800, 86, 86, 86, 86, - 799, 813, 809, 86, 803, 806, 804, 86, 808, 86, - 807, 86, 805, 812, 814, 86, 815, 816, 818, 3438, - 811, 86, 800, 819, 822, 86, 820, 821, 813, 809, - - 823, 826, 86, 824, 86, 828, 825, 829, 827, 86, - 812, 814, 86, 815, 816, 818, 86, 86, 86, 86, - 819, 822, 86, 86, 830, 86, 831, 823, 826, 86, - 824, 836, 833, 825, 829, 827, 832, 86, 86, 834, - 841, 837, 3438, 842, 835, 86, 843, 838, 850, 846, - 86, 86, 3438, 831, 86, 86, 86, 844, 836, 833, - 845, 839, 840, 832, 86, 847, 848, 86, 837, 86, - 842, 86, 86, 843, 838, 86, 846, 856, 854, 86, - 86, 849, 851, 855, 844, 86, 3438, 845, 839, 840, - 86, 852, 847, 848, 857, 858, 86, 86, 859, 860, - - 3438, 853, 861, 86, 856, 862, 86, 863, 849, 851, - 86, 86, 865, 86, 86, 864, 86, 866, 852, 86, - 86, 857, 858, 86, 86, 859, 860, 867, 853, 861, - 868, 869, 862, 870, 863, 871, 873, 875, 872, 865, - 874, 3438, 864, 86, 86, 86, 86, 912, 86, 86, - 86, 86, 86, 879, 867, 877, 878, 868, 869, 876, - 870, 86, 871, 873, 880, 872, 86, 874, 86, 86, - 86, 86, 882, 881, 884, 883, 3438, 891, 885, 86, - 879, 86, 877, 878, 86, 86, 876, 86, 886, 887, - 888, 880, 889, 890, 3438, 86, 893, 86, 86, 882, - - 881, 884, 883, 86, 891, 885, 86, 892, 895, 86, - 894, 897, 896, 900, 86, 886, 887, 888, 86, 889, - 890, 898, 901, 893, 86, 86, 903, 86, 899, 902, - 86, 3438, 86, 86, 892, 895, 86, 894, 897, 896, - 900, 904, 86, 905, 907, 906, 86, 909, 898, 901, - 915, 86, 911, 903, 86, 899, 902, 908, 910, 913, - 86, 3438, 917, 86, 86, 86, 914, 86, 904, 916, - 905, 907, 906, 86, 909, 86, 86, 915, 919, 911, - 86, 170, 86, 918, 908, 910, 913, 921, 920, 917, - 86, 86, 922, 914, 86, 86, 916, 924, 925, 926, - - 923, 927, 928, 3438, 929, 919, 930, 3438, 931, 86, - 918, 86, 933, 934, 86, 920, 936, 86, 86, 922, - 86, 86, 935, 86, 86, 925, 926, 923, 927, 86, - 932, 929, 86, 930, 86, 931, 86, 937, 938, 933, - 86, 86, 947, 936, 939, 86, 86, 3438, 3438, 935, - 948, 86, 3438, 3438, 86, 3438, 949, 932, 952, 950, - 86, 954, 3438, 3438, 937, 938, 951, 953, 3438, 947, - 3438, 939, 940, 961, 86, 941, 86, 948, 86, 942, - 86, 955, 943, 949, 86, 952, 950, 86, 954, 944, - 945, 958, 946, 951, 953, 956, 957, 86, 959, 940, - - 86, 973, 941, 960, 86, 86, 942, 86, 955, 943, - 86, 86, 86, 969, 970, 3438, 944, 945, 958, 946, - 86, 86, 956, 957, 971, 959, 983, 972, 973, 974, - 960, 962, 963, 86, 964, 86, 977, 965, 976, 3438, - 969, 970, 966, 978, 86, 975, 86, 980, 967, 968, - 86, 971, 86, 983, 972, 86, 974, 86, 962, 963, - 86, 964, 981, 977, 965, 976, 979, 982, 86, 966, - 978, 86, 975, 984, 980, 967, 968, 985, 3438, 986, - 3438, 987, 3438, 988, 991, 989, 3438, 993, 3438, 86, - 992, 990, 3438, 979, 86, 994, 995, 1006, 3438, 86, - - 984, 86, 86, 86, 985, 86, 986, 86, 987, 86, - 988, 86, 989, 86, 993, 86, 997, 992, 990, 86, - 996, 998, 994, 995, 86, 999, 1000, 86, 1001, 86, - 1002, 1004, 1005, 1003, 3438, 1008, 1012, 86, 86, 1007, - 86, 86, 86, 997, 1009, 1011, 86, 996, 998, 1010, - 1014, 86, 999, 1000, 1017, 1001, 86, 1002, 1004, 1005, - 1003, 86, 86, 1013, 1015, 1016, 1007, 86, 86, 1019, - 3438, 86, 1011, 1018, 1020, 1021, 86, 1024, 86, 1022, - 1023, 1017, 86, 1025, 1026, 1029, 86, 1028, 86, 86, - 1013, 1015, 1032, 86, 86, 86, 1019, 86, 86, 86, - - 1018, 86, 86, 86, 1024, 1027, 1022, 1023, 1030, 1031, - 1025, 1026, 86, 1033, 1028, 1034, 86, 1040, 3438, 86, - 1035, 1036, 1037, 86, 1038, 86, 86, 1042, 86, 1045, - 3438, 1041, 1027, 3438, 1039, 1030, 1031, 3438, 86, 86, - 86, 86, 1034, 86, 1040, 86, 86, 1035, 1036, 1037, - 1044, 1038, 86, 86, 1042, 1043, 1045, 86, 1041, 1046, - 1048, 1039, 1049, 1050, 1047, 1051, 1052, 1053, 86, 86, - 1056, 86, 1054, 1057, 86, 1058, 86, 1044, 1060, 1059, - 1055, 86, 1043, 86, 86, 3438, 86, 1048, 3438, 1049, - 1050, 86, 1051, 1052, 1053, 86, 86, 1056, 1067, 1054, - - 86, 86, 1058, 1061, 1062, 1060, 1059, 1055, 1063, 1064, - 86, 86, 1069, 86, 1065, 1066, 86, 1068, 1070, 86, - 86, 86, 1071, 3438, 1075, 1067, 86, 1079, 1072, 1073, - 1061, 1062, 86, 1074, 1076, 1063, 1064, 86, 3438, 1069, - 86, 1065, 1066, 86, 1068, 86, 86, 1078, 1084, 1071, - 86, 1075, 1077, 86, 86, 1072, 1073, 1081, 1080, 1082, - 1074, 1076, 1089, 1083, 86, 86, 86, 86, 1086, 86, - 86, 1085, 1087, 86, 1078, 1084, 1088, 86, 86, 1077, - 86, 1090, 1097, 86, 1081, 1080, 1082, 1091, 1092, 1093, - 1083, 1095, 3438, 1096, 86, 1086, 3438, 1094, 1085, 1087, - - 86, 3438, 86, 1088, 86, 86, 1101, 1098, 1104, 1097, - 1103, 1099, 1102, 86, 1091, 86, 1093, 1105, 86, 1100, - 86, 1106, 1108, 86, 1094, 86, 86, 3438, 86, 1107, - 86, 1110, 3438, 1101, 1098, 1109, 86, 1103, 1099, 1102, - 86, 86, 86, 86, 1105, 1112, 1100, 1115, 1106, 1113, - 1111, 1114, 1116, 1117, 86, 1119, 1107, 3438, 86, 86, - 86, 1118, 1109, 1120, 1121, 86, 1123, 86, 86, 3438, - 1122, 86, 1112, 1126, 86, 1138, 1113, 1111, 1114, 170, - 1117, 86, 1119, 1124, 86, 1125, 86, 86, 1118, 1127, - 1120, 1121, 86, 1123, 1135, 1128, 86, 1122, 86, 3438, - - 1126, 86, 86, 1136, 3438, 1137, 1139, 1162, 86, 3438, - 1124, 1140, 1125, 1143, 1145, 1141, 1127, 86, 3438, 1146, - 86, 1135, 1128, 1129, 1142, 1130, 86, 86, 3438, 1131, - 1136, 1132, 1137, 1139, 86, 86, 1133, 86, 1140, 86, - 1143, 1134, 1141, 1147, 1144, 1152, 86, 86, 1151, 1148, - 1129, 1142, 1130, 3438, 1149, 1153, 1131, 86, 1132, 1154, - 86, 86, 86, 1133, 3438, 1155, 1150, 86, 1134, 1163, - 1147, 1144, 1152, 1157, 86, 1151, 1148, 86, 1156, 86, - 1159, 1149, 1153, 1158, 3438, 1160, 1154, 86, 1164, 1161, - 1166, 86, 1155, 1150, 1167, 3438, 86, 1178, 86, 86, - - 1157, 86, 1181, 1177, 1169, 1156, 86, 1159, 1180, 1168, - 1158, 86, 1160, 86, 1179, 86, 1161, 86, 86, 86, - 3438, 1167, 86, 86, 1178, 1182, 1183, 86, 86, 1181, - 1177, 1169, 1185, 1184, 1188, 1180, 1168, 1170, 1187, 3438, - 86, 1179, 1171, 1186, 1172, 86, 86, 86, 1194, 86, - 1173, 86, 1182, 1183, 1189, 1174, 1175, 1190, 1191, 1185, - 1184, 3438, 1176, 86, 1170, 1187, 86, 86, 1192, 1171, - 1186, 1172, 86, 1195, 1197, 86, 86, 1173, 1193, 86, - 1198, 1189, 1174, 1175, 1190, 1191, 1196, 86, 1200, 1176, - 1199, 1202, 1203, 86, 1201, 1192, 86, 3438, 86, 1208, - - 1195, 1204, 1205, 3438, 86, 1193, 86, 1198, 86, 86, - 86, 1207, 1206, 1196, 86, 1200, 1209, 1199, 1210, 1203, - 86, 1201, 86, 86, 1211, 1212, 86, 1213, 1204, 1205, - 86, 86, 86, 1215, 86, 1214, 1218, 1216, 1207, 1206, - 86, 1217, 86, 1209, 1220, 1210, 86, 1221, 86, 3438, - 3438, 1211, 1212, 1224, 1213, 86, 1219, 86, 86, 86, - 1215, 1225, 1214, 1218, 1216, 1222, 86, 1228, 1217, 86, - 1223, 1226, 1227, 1229, 1221, 86, 86, 86, 86, 86, - 1224, 86, 1230, 1219, 86, 1231, 1234, 1232, 1225, 1233, - 1235, 3438, 1222, 3438, 1228, 86, 1237, 1223, 1226, 1227, - - 1229, 1236, 3438, 1241, 86, 86, 1242, 86, 86, 1230, - 86, 1238, 1231, 86, 1232, 86, 1233, 1235, 86, 1239, - 1243, 1244, 86, 1237, 1240, 1245, 1246, 1247, 1236, 86, - 1241, 1248, 86, 1242, 86, 1250, 86, 86, 1238, 1251, - 1252, 1254, 3438, 1249, 86, 86, 86, 1243, 1244, 1253, - 1256, 86, 1245, 1246, 1247, 86, 1255, 1258, 1248, 1257, - 1259, 86, 1260, 86, 1265, 86, 1251, 86, 1254, 86, - 1249, 1267, 86, 86, 86, 1261, 1253, 1256, 1262, 86, - 1264, 1263, 86, 1255, 1258, 86, 1257, 1259, 1266, 1260, - 1268, 1265, 86, 86, 1269, 86, 1270, 1271, 1267, 86, - - 86, 1272, 1261, 86, 1273, 1262, 86, 1264, 1263, 1274, - 1276, 1275, 1278, 1279, 86, 1266, 1277, 86, 86, 86, - 1280, 86, 86, 1270, 1271, 86, 86, 1281, 1272, 1282, - 86, 1273, 1283, 1284, 1285, 1286, 1274, 1276, 1275, 1278, - 86, 1287, 1289, 1277, 1291, 86, 1288, 3438, 1290, 86, - 86, 86, 86, 86, 1281, 86, 1282, 86, 1292, 1293, - 1284, 1295, 1286, 1294, 86, 1296, 86, 1297, 1287, 86, - 86, 86, 86, 1288, 86, 1290, 86, 86, 1299, 1298, - 1303, 1301, 1304, 1307, 1300, 1292, 1293, 3438, 1295, 86, - 1294, 86, 1296, 86, 1297, 86, 86, 1305, 1306, 1302, - - 86, 1310, 1309, 3438, 1313, 1299, 1298, 86, 1301, 86, - 86, 1300, 86, 1308, 86, 86, 86, 1315, 1312, 86, - 86, 86, 86, 1317, 1305, 1306, 1302, 86, 1310, 1309, - 1314, 1313, 1318, 1316, 1319, 1320, 1321, 1323, 86, 1322, - 1308, 86, 170, 1324, 1315, 1312, 1326, 1328, 1327, 86, - 86, 86, 86, 1325, 86, 86, 86, 1314, 1329, 1318, - 1316, 1319, 1320, 1321, 1323, 86, 1322, 1330, 1332, 1331, - 1324, 86, 1334, 86, 1335, 1327, 1333, 3438, 86, 86, - 1325, 1338, 1336, 1342, 1341, 86, 1339, 86, 1337, 86, - 86, 86, 86, 86, 1330, 1332, 1331, 3438, 86, 1334, - - 86, 1335, 1340, 1333, 86, 1343, 86, 1344, 1338, 1336, - 86, 1341, 1345, 1339, 86, 1337, 86, 1346, 86, 1347, - 1352, 3438, 1353, 3438, 86, 1355, 86, 3438, 1354, 1340, - 3438, 1348, 1343, 1358, 1344, 3438, 1356, 3438, 86, 1345, - 1349, 1357, 1350, 86, 1346, 1351, 1347, 1352, 86, 1353, - 86, 1359, 86, 86, 86, 1354, 86, 86, 1348, 86, - 1358, 1360, 1361, 1356, 1362, 1363, 1364, 1349, 1357, 1350, - 86, 1366, 1351, 86, 1365, 1368, 1369, 1370, 1359, 1367, - 86, 86, 1374, 86, 86, 1371, 86, 1372, 1360, 1361, - 1375, 1362, 1363, 1364, 86, 86, 86, 1373, 1366, 86, - - 1379, 1365, 1368, 86, 1370, 86, 1367, 86, 86, 1374, - 1376, 1377, 1371, 1378, 1372, 86, 1380, 1375, 3438, 86, - 1382, 86, 86, 86, 1373, 1381, 1383, 1379, 86, 1386, - 1384, 3438, 1385, 3438, 86, 86, 86, 1376, 1377, 1387, - 1378, 86, 1388, 1380, 1390, 86, 1391, 1382, 1389, 86, - 86, 86, 1381, 1383, 1398, 86, 1386, 1384, 86, 1385, - 1392, 1393, 86, 1395, 1394, 86, 1387, 1396, 86, 1388, - 1397, 1390, 86, 1391, 1401, 1389, 86, 86, 1402, 86, - 1399, 1404, 1400, 1405, 3438, 86, 86, 1392, 1393, 1403, - 1395, 1394, 86, 86, 1396, 86, 1411, 1397, 86, 1406, - - 86, 1401, 1409, 86, 1407, 1402, 1408, 1399, 1404, 1400, - 1405, 1410, 3438, 1419, 86, 86, 1403, 1420, 1421, 3438, - 3438, 1433, 86, 1411, 1425, 86, 1422, 86, 86, 1409, - 1435, 86, 1423, 1408, 3438, 86, 1426, 1424, 1410, 1412, - 1419, 3438, 1428, 1413, 1420, 1427, 1414, 1415, 1433, 1430, - 86, 1416, 86, 1422, 86, 86, 86, 1417, 86, 1423, - 1452, 1418, 86, 1426, 1424, 86, 1412, 86, 86, 1428, - 1413, 1429, 1427, 1414, 1415, 86, 1430, 86, 1416, 1431, - 1434, 1432, 1436, 1437, 1417, 1440, 86, 1452, 1418, 86, - 86, 1438, 1439, 1441, 86, 1442, 3438, 1444, 1429, 1443, - - 86, 3438, 1451, 86, 3438, 86, 1431, 1434, 1432, 1436, - 1437, 3438, 1440, 86, 1450, 86, 1453, 1454, 1438, 1439, - 86, 86, 1455, 1458, 1444, 86, 1443, 86, 1445, 1451, - 1456, 1457, 86, 1446, 1459, 1447, 86, 1448, 86, 1449, - 3438, 1450, 1460, 86, 3438, 86, 86, 1461, 1464, 1455, - 1458, 1462, 86, 86, 1463, 1445, 1470, 1456, 1457, 86, - 1446, 1459, 1447, 1465, 1448, 1466, 1449, 1471, 1472, 86, - 86, 1467, 1468, 1469, 86, 1464, 86, 3438, 1462, 86, - 86, 1463, 1474, 86, 1473, 1476, 86, 86, 86, 1475, - 1465, 1480, 1466, 86, 1471, 1472, 1478, 86, 1467, 1468, - - 1469, 1477, 86, 86, 86, 86, 1479, 1481, 86, 1474, - 1482, 1473, 1476, 86, 1483, 1484, 1475, 1486, 1480, 1485, - 1488, 86, 86, 1478, 1487, 1489, 1491, 1493, 1477, 1490, - 3438, 1492, 86, 1479, 86, 1496, 86, 1482, 86, 86, - 86, 86, 1484, 86, 1486, 1499, 1485, 1488, 1501, 86, - 1503, 1487, 86, 86, 1493, 1494, 1490, 86, 1492, 1495, - 1497, 86, 86, 1498, 1500, 86, 1502, 86, 86, 86, - 1504, 86, 1499, 86, 1505, 1506, 1508, 1503, 1510, 1509, - 86, 3438, 1494, 86, 1507, 1511, 1495, 1497, 86, 3438, - 1498, 1500, 86, 1502, 1512, 86, 86, 1504, 86, 86, - - 86, 1505, 1506, 1508, 86, 1510, 1509, 1513, 1514, 3438, - 1515, 1507, 1511, 1517, 1521, 1520, 86, 1516, 1519, 1522, - 1518, 1512, 86, 1524, 3438, 1525, 1523, 1528, 3438, 86, - 86, 86, 3438, 1535, 1513, 1514, 86, 1515, 86, 86, - 1517, 86, 1520, 86, 1516, 1519, 86, 1518, 86, 1526, - 1527, 86, 1525, 1523, 86, 86, 1529, 86, 1530, 1532, - 1534, 1531, 1533, 86, 86, 86, 86, 86, 1536, 86, - 1537, 170, 1538, 3438, 1541, 1542, 1526, 1527, 86, 1543, - 1544, 86, 86, 1529, 1546, 1530, 1532, 1534, 1531, 1533, - 1539, 86, 1551, 86, 86, 3438, 1540, 1537, 1547, 1545, - - 86, 1541, 1542, 86, 86, 86, 1543, 1544, 86, 1549, - 86, 1546, 1548, 1550, 86, 1553, 1552, 1539, 86, 86, - 86, 1554, 1555, 1540, 1557, 1547, 1545, 1556, 1558, 86, - 1559, 1560, 1569, 86, 1566, 86, 1549, 86, 1561, 1548, - 1550, 3438, 1553, 1552, 86, 1567, 86, 3438, 1554, 86, - 86, 1557, 86, 1568, 86, 1558, 1562, 1559, 1560, 1563, - 1564, 1566, 1570, 1565, 86, 1561, 86, 3438, 86, 1572, - 86, 1574, 1567, 1577, 1573, 1571, 1575, 86, 3438, 86, - 1568, 3438, 86, 1562, 1576, 86, 1563, 1564, 1578, 1570, - 1565, 86, 1580, 86, 1581, 86, 1579, 1582, 1574, 86, - - 1577, 86, 1571, 1575, 86, 86, 1586, 1583, 1584, 1585, - 86, 1576, 1590, 1588, 1587, 1578, 86, 86, 86, 1580, - 86, 1581, 86, 1579, 1582, 3438, 3438, 1591, 1597, 3438, - 1589, 1592, 86, 1586, 1583, 1584, 1585, 86, 86, 86, - 1588, 1587, 86, 1593, 86, 1596, 1598, 1594, 1595, 1599, - 86, 1601, 1600, 86, 1591, 1597, 86, 1589, 1592, 86, - 86, 86, 1602, 1604, 1607, 1603, 86, 1606, 1608, 86, - 1593, 86, 1596, 1598, 1594, 1595, 1599, 86, 1601, 1600, - 1605, 86, 1609, 1610, 1611, 1613, 1612, 86, 86, 1602, - 1604, 86, 1603, 86, 1606, 86, 86, 86, 1614, 1615, - - 86, 1616, 1617, 1618, 3438, 86, 3438, 1605, 1620, 1609, - 86, 1611, 1613, 1612, 1619, 1621, 1626, 1623, 1622, 1625, - 86, 3438, 1624, 3438, 1628, 1614, 86, 1627, 86, 86, - 1618, 86, 86, 86, 86, 86, 86, 86, 86, 1630, - 86, 1619, 1621, 1626, 1623, 1622, 1625, 86, 1629, 1624, - 86, 1628, 1631, 1633, 1627, 86, 1632, 1634, 86, 1636, - 1638, 86, 1635, 1640, 1637, 1641, 1630, 86, 1639, 86, - 1642, 86, 1646, 86, 86, 1629, 1643, 1644, 1647, 1631, - 1633, 86, 1651, 1632, 1648, 86, 1645, 1638, 86, 86, - 1640, 86, 1641, 86, 86, 1639, 1653, 1642, 86, 1646, - - 1649, 1650, 86, 1643, 1644, 1654, 86, 86, 1652, 1660, - 86, 1648, 1655, 1645, 86, 86, 86, 86, 1656, 1659, - 86, 1657, 1658, 1653, 1662, 3438, 86, 1649, 1650, 86, - 86, 1661, 86, 1663, 1664, 1652, 1660, 86, 1666, 1655, - 1667, 1668, 86, 86, 1665, 1656, 1659, 1669, 1657, 1658, - 86, 1662, 86, 86, 1670, 1672, 1671, 86, 1661, 3438, - 1663, 1664, 1673, 1677, 1678, 1666, 1679, 86, 86, 86, - 86, 1665, 86, 86, 1669, 1674, 86, 86, 86, 1675, - 1680, 1670, 1672, 1671, 1681, 1682, 86, 86, 1683, 1673, - 1677, 1678, 1676, 1679, 1684, 86, 1685, 3438, 1687, 3438, - - 86, 1688, 1674, 1686, 1689, 1691, 1675, 1680, 86, 1690, - 86, 1681, 86, 1694, 86, 1683, 86, 86, 1700, 1676, - 86, 1692, 1693, 1685, 86, 1687, 86, 86, 1688, 86, - 1686, 1689, 1691, 1695, 1696, 1697, 1690, 1698, 1702, 86, - 1699, 86, 1704, 86, 1701, 86, 1703, 1705, 1692, 1693, - 86, 86, 1706, 1707, 3438, 3438, 1712, 3438, 86, 86, - 86, 1696, 1697, 86, 1698, 86, 86, 1699, 1709, 86, - 86, 1701, 1708, 1703, 1705, 86, 1710, 86, 86, 1706, - 1707, 1711, 86, 1712, 1713, 1714, 1719, 1716, 86, 1715, - 3438, 86, 1717, 1720, 86, 1709, 86, 86, 1718, 1708, - - 1723, 1727, 86, 1710, 86, 86, 1721, 86, 1711, 86, - 1724, 1713, 1714, 1719, 1716, 1722, 1715, 86, 86, 1717, - 1720, 1725, 1726, 86, 86, 1718, 1728, 1723, 1727, 1729, - 3438, 86, 1730, 1721, 86, 1732, 86, 1724, 86, 1731, - 1733, 1734, 1722, 3438, 1736, 86, 86, 1735, 1725, 1726, - 1737, 1738, 86, 1728, 1740, 86, 86, 86, 1741, 1730, - 3438, 86, 1732, 3438, 1742, 1739, 1731, 1733, 1734, 170, - 86, 1736, 86, 86, 1735, 1743, 86, 1737, 86, 86, - 1746, 1740, 1744, 1745, 1747, 1741, 86, 1748, 86, 3438, - 86, 1742, 1739, 86, 1749, 1752, 1750, 1751, 1754, 1753, - - 1762, 1755, 1743, 86, 86, 1756, 1758, 1746, 86, 1744, - 1745, 1747, 1757, 86, 1748, 1760, 86, 86, 1761, 1764, - 86, 1749, 86, 1750, 1751, 1754, 1753, 86, 1755, 1759, - 86, 86, 1756, 1763, 86, 1765, 86, 1767, 86, 1757, - 86, 86, 1768, 1771, 1770, 1761, 1764, 86, 1766, 1772, - 1774, 86, 1769, 86, 1773, 86, 1759, 86, 1780, 86, - 1763, 3438, 1765, 86, 1767, 86, 1781, 1775, 86, 1768, - 1771, 1770, 1787, 86, 1784, 1766, 1772, 1774, 1776, 1769, - 86, 1773, 86, 1777, 1782, 86, 1778, 1785, 86, 1786, - 86, 86, 86, 1781, 1775, 1788, 86, 1789, 1779, 1787, - - 1783, 1784, 1790, 1794, 1791, 1776, 1792, 86, 86, 86, - 1777, 1782, 1793, 1778, 1785, 1795, 1786, 1801, 3438, 1797, - 1802, 1804, 86, 1800, 3438, 1779, 86, 1783, 86, 86, - 1796, 1791, 86, 1792, 86, 86, 1799, 86, 86, 1793, - 1798, 1805, 1795, 86, 86, 86, 1797, 86, 86, 86, - 1800, 1803, 86, 86, 1806, 1807, 1809, 1796, 1808, 1810, - 3438, 1812, 1811, 1799, 1813, 86, 86, 1798, 1805, 86, - 1815, 1814, 1817, 86, 86, 1818, 86, 86, 1803, 86, - 86, 1806, 86, 1809, 86, 1808, 1810, 1823, 1812, 1811, - 1816, 1813, 86, 1819, 1820, 86, 1821, 1815, 1814, 1817, - - 86, 86, 1818, 1824, 1822, 1825, 1826, 1829, 1828, 86, - 86, 86, 1827, 86, 86, 1830, 86, 1816, 86, 86, - 1819, 1820, 86, 1821, 1831, 86, 1832, 3438, 1833, 1837, - 1824, 1822, 1825, 1826, 86, 1828, 1834, 1835, 86, 1827, - 1836, 86, 1830, 86, 1838, 1839, 86, 1843, 86, 1840, - 86, 1831, 1848, 1832, 86, 1833, 1837, 86, 86, 1849, - 1847, 1844, 86, 1834, 1835, 1841, 1845, 1836, 1842, 86, - 1850, 1838, 1839, 86, 1843, 1846, 1840, 86, 1866, 86, - 1851, 1852, 1853, 86, 86, 86, 86, 1847, 1844, 86, - 1854, 1855, 1841, 1845, 1856, 1842, 1857, 1850, 1859, 86, - - 1858, 1860, 1846, 3438, 86, 86, 86, 1851, 1852, 86, - 86, 1861, 86, 1865, 1867, 3438, 86, 1854, 1855, 1868, - 86, 1856, 86, 1857, 1862, 1859, 86, 1858, 1860, 86, - 1863, 86, 86, 1864, 1870, 1869, 1872, 1871, 1861, 1873, - 1865, 86, 1897, 86, 1874, 1875, 1868, 86, 86, 86, - 86, 1862, 1877, 1876, 86, 1879, 1878, 1863, 1880, 1881, - 1864, 1870, 1869, 1872, 1871, 86, 1882, 86, 86, 86, - 1883, 86, 1875, 1885, 86, 3438, 1886, 86, 3438, 1877, - 1876, 86, 1879, 1878, 1884, 1880, 1881, 1887, 86, 1888, - 1890, 86, 1893, 1882, 1894, 1889, 86, 1883, 86, 86, - - 1885, 86, 1891, 1886, 1896, 86, 86, 1892, 1895, 86, - 1899, 1884, 1900, 86, 1887, 1898, 1888, 1890, 1901, 1893, - 1902, 1894, 1889, 1903, 86, 1904, 86, 1907, 1911, 1905, - 1906, 1896, 3438, 86, 86, 1895, 86, 86, 3438, 1908, - 86, 3438, 1898, 86, 86, 1901, 86, 1902, 1909, 1912, - 1913, 1915, 1904, 86, 1910, 86, 1905, 1906, 86, 86, - 86, 1914, 1916, 3438, 1917, 1918, 1908, 1919, 86, 86, - 86, 1925, 86, 1920, 1923, 1909, 1912, 1913, 1915, 86, - 1921, 1910, 86, 1922, 86, 86, 1926, 86, 1914, 1916, - 1927, 1917, 1918, 86, 1919, 1924, 86, 1928, 1929, 1930, - - 1920, 86, 1932, 86, 86, 86, 1931, 1921, 86, 1933, - 1922, 1934, 1937, 1938, 86, 1935, 3438, 1927, 86, 1936, - 86, 86, 1924, 86, 86, 1929, 1930, 1939, 1940, 86, - 86, 1941, 3438, 1931, 86, 1942, 1933, 1943, 1944, 1937, - 86, 1945, 1935, 86, 3438, 86, 1936, 1947, 1946, 1949, - 1950, 86, 1948, 86, 1939, 1940, 86, 86, 1941, 86, - 1954, 86, 1942, 1956, 1943, 1944, 86, 170, 1945, 1952, - 1951, 86, 1953, 1955, 1947, 1946, 1949, 86, 86, 1948, - 86, 1961, 1965, 86, 86, 1959, 86, 86, 1957, 1958, - 1956, 1960, 1962, 86, 1967, 1968, 1952, 1951, 86, 1953, - - 1955, 1963, 1964, 86, 86, 1970, 1966, 86, 1969, 86, - 86, 1971, 1959, 86, 1993, 1957, 1958, 86, 1960, 1962, - 1973, 86, 1968, 86, 1972, 1974, 86, 1975, 1963, 1964, - 86, 1976, 1977, 1966, 86, 1969, 86, 86, 86, 86, - 1979, 86, 1980, 1981, 1978, 86, 86, 1973, 1982, 86, - 1984, 1972, 1974, 86, 1975, 3438, 1983, 1990, 1976, 1977, - 1985, 86, 86, 86, 86, 1992, 3438, 1979, 86, 1980, - 1981, 1978, 86, 1986, 1987, 1982, 1991, 1984, 86, 86, - 1994, 86, 1988, 1983, 1990, 1995, 86, 1985, 86, 1989, - 1996, 1997, 86, 86, 1999, 2000, 2003, 2001, 86, 1998, - - 1986, 1987, 86, 1991, 86, 2002, 86, 1994, 86, 1988, - 2004, 2006, 1995, 2005, 2012, 2007, 1989, 1996, 1997, 86, - 86, 1999, 2000, 86, 2001, 2010, 1998, 2008, 2009, 2014, - 2011, 86, 2002, 86, 86, 2013, 2015, 86, 86, 2016, - 2005, 86, 2007, 2018, 3438, 86, 86, 2017, 2019, 86, - 2021, 2020, 86, 86, 2008, 2009, 2022, 2011, 86, 86, - 2024, 86, 2013, 2015, 2023, 2028, 86, 86, 2025, 2042, - 2018, 86, 86, 2026, 2017, 86, 86, 2021, 2020, 2027, - 2034, 2033, 2036, 86, 3438, 2035, 2037, 2024, 86, 86, - 86, 2023, 86, 86, 86, 2025, 2042, 86, 2040, 86, - - 2026, 86, 2029, 2030, 2031, 2038, 2027, 2034, 2033, 2032, - 2039, 86, 2035, 2037, 86, 2041, 2043, 86, 2045, 2047, - 2046, 2044, 2048, 3438, 2049, 2040, 86, 86, 86, 2029, - 2030, 2031, 86, 86, 2050, 86, 2032, 86, 86, 2051, - 3438, 2054, 2041, 2043, 2055, 2052, 2047, 2046, 2044, 2048, - 86, 86, 86, 2053, 2057, 2056, 2059, 2058, 86, 86, - 2060, 2050, 86, 2061, 2062, 86, 2051, 86, 2054, 86, - 2064, 86, 2052, 2065, 86, 2063, 2066, 2068, 86, 86, - 2053, 86, 2056, 2059, 2058, 2067, 86, 2060, 86, 2070, - 2061, 2069, 86, 2071, 86, 86, 86, 86, 2072, 2073, - - 2065, 2074, 2063, 2066, 2068, 86, 2077, 2075, 2076, 86, - 2081, 2080, 2067, 2083, 86, 86, 2070, 2078, 2069, 2079, - 2071, 86, 2084, 2082, 2085, 2072, 2073, 86, 86, 86, - 2091, 86, 86, 86, 2075, 2076, 2087, 86, 86, 2086, - 2083, 2090, 86, 86, 2078, 86, 2079, 2088, 2092, 2084, - 2082, 2085, 2089, 86, 86, 2095, 86, 2093, 2094, 2100, - 86, 2099, 86, 2087, 86, 2097, 2086, 86, 2090, 2101, - 86, 2096, 86, 2105, 2088, 2102, 2098, 86, 86, 2089, - 86, 86, 2095, 86, 2093, 2094, 86, 86, 2099, 2103, - 2104, 2106, 2097, 2107, 2108, 2112, 2101, 86, 2096, 86, - - 2105, 2109, 2102, 2098, 2113, 2116, 2114, 2115, 2119, 2110, - 86, 86, 86, 86, 2111, 86, 2103, 2104, 2106, 86, - 2107, 86, 86, 2117, 86, 86, 2122, 86, 2109, 2120, - 86, 2113, 2116, 2114, 2115, 2118, 2110, 2121, 86, 2124, - 86, 2111, 86, 2123, 2135, 2125, 2126, 2127, 86, 86, - 2117, 2130, 2136, 2122, 2131, 2132, 2120, 86, 86, 2137, - 86, 2138, 2118, 2128, 2121, 86, 86, 2140, 2129, 86, - 2123, 86, 2125, 2126, 2127, 2133, 86, 2139, 2130, 86, - 2134, 86, 86, 86, 86, 2141, 2137, 2142, 2138, 2150, - 2128, 2143, 86, 2145, 2144, 2129, 86, 2146, 2147, 86, - - 86, 2148, 86, 3438, 2139, 2151, 86, 86, 2149, 86, - 86, 170, 2141, 2155, 2142, 86, 2150, 2154, 2143, 2152, - 86, 2144, 2156, 2153, 2146, 86, 2157, 2158, 2148, 2159, - 86, 86, 2151, 2160, 86, 2149, 86, 86, 3438, 86, - 2155, 2161, 2162, 2164, 2154, 2163, 2152, 2166, 86, 2156, - 2153, 2165, 2167, 86, 86, 2168, 2159, 2172, 2171, 2173, - 2169, 86, 86, 2177, 86, 86, 86, 86, 2161, 2162, - 2164, 86, 2163, 86, 2166, 86, 2170, 86, 2165, 2167, - 86, 86, 2168, 2174, 86, 2171, 2173, 2169, 2176, 2175, - 86, 86, 2178, 2180, 2182, 2179, 2181, 2184, 2185, 86, - - 2186, 3438, 86, 2170, 86, 86, 2183, 86, 3438, 3438, - 2174, 86, 86, 86, 3438, 2176, 2175, 86, 86, 2178, - 2180, 2182, 2179, 2181, 2188, 2185, 2187, 2186, 86, 86, - 2189, 2191, 2192, 2183, 2194, 86, 2193, 86, 2199, 2196, - 86, 2190, 2197, 86, 2195, 2198, 2200, 3438, 86, 3438, - 86, 2188, 86, 2187, 86, 2201, 86, 2189, 2191, 2192, - 86, 2194, 86, 2193, 2202, 2199, 2196, 86, 2190, 2197, - 2203, 2195, 2198, 86, 2204, 86, 2205, 2206, 2207, 86, - 2208, 86, 2201, 2209, 2210, 2211, 86, 2212, 86, 86, - 2213, 2202, 2214, 2216, 2215, 2219, 86, 2203, 3438, 3438, - - 2217, 2204, 86, 2205, 86, 2207, 86, 2208, 86, 86, - 2209, 86, 2211, 2218, 86, 86, 86, 2213, 86, 2214, - 86, 2215, 2219, 2220, 2221, 86, 2222, 2217, 2223, 2224, - 2231, 2226, 86, 2225, 2227, 86, 2228, 86, 3438, 2234, - 2218, 2229, 86, 86, 86, 86, 86, 2237, 86, 86, - 2220, 2221, 2233, 2222, 2230, 2223, 2224, 2231, 2226, 2241, - 2225, 2227, 86, 2228, 2235, 2232, 86, 86, 2229, 86, - 2236, 86, 2238, 86, 2237, 2239, 2240, 86, 2242, 2233, - 3438, 2230, 86, 2245, 86, 2243, 2241, 86, 2244, 2249, - 3438, 2235, 2232, 2247, 86, 2246, 2251, 2236, 86, 2238, - - 2252, 86, 2239, 2240, 86, 2242, 2248, 86, 86, 2250, - 2245, 86, 2243, 2253, 86, 2244, 2249, 86, 2254, 2256, - 2247, 86, 2246, 2255, 86, 86, 86, 2252, 86, 2257, - 2258, 2259, 2261, 2248, 2260, 2262, 2250, 2264, 2263, 86, - 2253, 86, 3438, 86, 2266, 86, 2256, 2265, 2271, 2267, - 2255, 86, 86, 86, 86, 2275, 2257, 2258, 2259, 2261, - 86, 2260, 86, 2268, 2264, 2263, 2270, 86, 2272, 2269, - 2276, 2273, 2278, 2274, 2265, 86, 86, 86, 2277, 86, - 86, 86, 86, 86, 2281, 3438, 2283, 86, 2284, 2282, - 2268, 3438, 86, 2270, 86, 2272, 2269, 2276, 2273, 2278, - - 2274, 2279, 3438, 86, 86, 2277, 2285, 2286, 2287, 2280, - 3438, 86, 86, 2283, 86, 2284, 2282, 86, 2290, 2288, - 86, 2291, 2289, 2294, 86, 2292, 2295, 86, 2279, 86, - 2293, 3438, 2296, 2285, 2286, 2287, 2280, 86, 86, 2297, - 2298, 2299, 2300, 86, 86, 2290, 2288, 86, 2291, 2289, - 2294, 2301, 2302, 2295, 86, 2303, 86, 86, 86, 2296, - 2306, 3438, 86, 86, 2304, 2305, 2297, 2298, 2299, 2300, - 86, 86, 2308, 86, 86, 2307, 2309, 86, 2301, 2302, - 2311, 2312, 86, 2310, 2314, 86, 2313, 2306, 86, 3438, - 2315, 2304, 2305, 86, 3438, 86, 86, 2316, 2319, 2308, - - 2320, 2317, 2307, 2309, 86, 86, 86, 2311, 2312, 2321, - 2310, 2314, 86, 2313, 2318, 86, 2323, 2315, 86, 86, - 2322, 86, 86, 2325, 2316, 2319, 2324, 2320, 2317, 86, - 2326, 2327, 2328, 2329, 3438, 2331, 2321, 2332, 2333, 2330, - 86, 2318, 2337, 2323, 86, 86, 2334, 2322, 86, 86, - 86, 170, 2338, 2324, 2339, 2342, 86, 2326, 86, 2328, - 2329, 86, 2331, 2335, 2332, 2341, 2330, 2340, 2336, 2351, - 86, 2343, 86, 2334, 86, 2346, 2347, 3438, 86, 2348, - 2354, 2339, 86, 3438, 86, 2344, 86, 2352, 2355, 2349, - 2350, 3438, 2341, 86, 2340, 86, 2345, 86, 2343, 86, - - 2353, 86, 2346, 86, 86, 86, 2348, 86, 2356, 86, - 86, 2357, 2344, 3438, 2352, 2355, 2349, 2350, 2358, 2359, - 2361, 2360, 86, 2345, 3438, 86, 86, 2353, 86, 2362, - 2365, 2363, 2364, 3438, 86, 86, 2371, 3438, 2357, 2369, - 86, 2366, 86, 2367, 86, 2358, 2359, 2361, 2360, 2372, - 86, 86, 86, 2368, 86, 2382, 2362, 2365, 2363, 2364, - 86, 86, 2370, 86, 2374, 2373, 2369, 86, 2366, 2376, - 2367, 2378, 86, 2375, 86, 2377, 2372, 86, 86, 86, - 2368, 2379, 86, 2380, 2381, 2383, 86, 2384, 2389, 2370, - 86, 2374, 2373, 86, 86, 86, 2376, 86, 2378, 2385, - - 2375, 2386, 2377, 86, 86, 86, 2387, 86, 2379, 86, - 2380, 2381, 2383, 2388, 2384, 2389, 2390, 2391, 2392, 2394, - 2393, 86, 3438, 86, 2396, 2397, 2385, 2395, 2386, 2399, - 86, 86, 86, 2387, 86, 2398, 2400, 3438, 2403, 2404, - 2388, 2406, 2401, 2390, 2391, 2392, 2394, 2393, 86, 86, - 86, 2396, 86, 86, 2395, 86, 2399, 86, 2402, 2405, - 2408, 2407, 2398, 2400, 86, 2403, 86, 2409, 86, 2401, - 2412, 2413, 86, 86, 86, 2416, 2417, 2410, 2414, 2415, - 2411, 2418, 86, 86, 86, 2402, 2405, 2408, 2407, 2419, - 2420, 2421, 2422, 86, 2409, 86, 86, 86, 86, 86, - - 86, 86, 2416, 2417, 2410, 2414, 2415, 2411, 2418, 2424, - 2425, 2423, 2426, 2427, 2428, 2429, 86, 86, 2421, 86, - 86, 2431, 86, 2435, 2434, 2430, 2437, 2433, 86, 2443, - 3438, 86, 2432, 2440, 86, 86, 86, 2425, 2423, 2426, - 86, 86, 2429, 86, 2439, 86, 86, 2436, 2431, 2438, - 86, 2434, 2430, 86, 2433, 86, 86, 86, 86, 2432, - 2440, 3438, 2441, 2445, 2444, 86, 2447, 2446, 2449, 2454, - 2452, 2439, 86, 2448, 2436, 86, 2438, 2442, 86, 2450, - 2451, 86, 86, 2456, 86, 2453, 86, 2457, 86, 2441, - 2445, 2444, 86, 2447, 2446, 86, 86, 2452, 2459, 86, - - 2448, 2455, 2461, 2458, 2442, 86, 2450, 2451, 86, 86, - 2456, 2460, 2453, 2462, 2457, 86, 2465, 86, 86, 2466, - 2469, 2467, 86, 2463, 2464, 86, 86, 2468, 2455, 2461, - 2458, 2472, 86, 86, 2473, 2470, 3438, 2471, 2460, 86, - 2462, 2480, 86, 2465, 86, 86, 2466, 2469, 2467, 86, - 2463, 2464, 86, 2474, 2468, 2475, 2476, 2477, 86, 2478, - 2483, 2473, 2470, 86, 2471, 86, 2479, 2481, 2480, 2482, - 2484, 86, 86, 2485, 3438, 86, 2488, 86, 3438, 2486, - 2474, 3438, 2475, 2476, 2477, 86, 2478, 2483, 86, 86, - 2489, 86, 2487, 2479, 2481, 2491, 2482, 86, 2490, 2492, - - 2493, 2499, 86, 2494, 86, 86, 2486, 2500, 86, 2502, - 2495, 2496, 86, 86, 2497, 2505, 86, 2489, 2498, 2487, - 86, 86, 2491, 2501, 86, 2490, 2492, 2493, 86, 86, - 2494, 86, 86, 86, 2503, 2508, 2502, 2495, 2496, 86, - 2504, 2497, 3438, 2506, 3438, 2498, 86, 86, 2509, 2510, - 2501, 2507, 86, 86, 2513, 2515, 2511, 2514, 2512, 2517, - 2516, 2503, 2508, 86, 2518, 86, 86, 2504, 86, 86, - 2506, 170, 86, 2522, 86, 2509, 2510, 86, 2507, 86, - 2520, 2513, 86, 2511, 2514, 2512, 2517, 2516, 2519, 2521, - 2523, 2518, 86, 2525, 2524, 2526, 2528, 86, 2527, 86, - - 2522, 86, 2529, 2531, 86, 2530, 2532, 2520, 86, 2534, - 2533, 3438, 86, 2536, 3438, 2519, 2521, 2523, 2535, 2537, - 2525, 2524, 86, 86, 86, 2527, 86, 86, 86, 2529, - 2538, 86, 2530, 2539, 86, 86, 86, 2533, 86, 86, - 2536, 86, 2540, 86, 2541, 2535, 2537, 2544, 2542, 3438, - 2543, 3438, 2546, 3438, 2545, 2548, 3438, 2538, 2547, 2550, - 2539, 86, 2552, 3438, 2551, 2549, 86, 2561, 86, 2540, - 86, 3438, 86, 86, 2544, 2542, 86, 2543, 86, 86, - 86, 2545, 2548, 86, 2553, 2547, 2550, 86, 2554, 86, - 2555, 2551, 2549, 2556, 2557, 2558, 2559, 86, 86, 86, - - 86, 2564, 2560, 86, 2562, 2563, 3438, 86, 2565, 86, - 86, 2553, 2566, 2567, 86, 2554, 86, 2555, 86, 86, - 2556, 2557, 2558, 2559, 86, 86, 2568, 2569, 2564, 2560, - 2570, 2562, 2563, 2571, 86, 2565, 2572, 2573, 86, 2566, - 2567, 86, 2574, 2575, 3438, 2576, 3438, 2578, 86, 2577, - 2581, 2579, 86, 2568, 2569, 86, 86, 2570, 2580, 2583, - 86, 2584, 86, 2572, 2573, 86, 2585, 2587, 2582, 2574, - 2575, 86, 2576, 86, 2578, 2586, 2577, 86, 2579, 86, - 86, 86, 86, 86, 86, 2580, 86, 2588, 2584, 2589, - 2590, 86, 2594, 86, 2587, 2582, 2592, 2591, 86, 2593, - - 2595, 2596, 2586, 86, 2597, 2599, 3438, 2600, 3438, 2598, - 86, 86, 2607, 2602, 2588, 2605, 2589, 2590, 86, 86, - 86, 86, 2610, 2592, 2591, 2615, 2593, 86, 2606, 86, - 86, 2597, 2599, 86, 2600, 2601, 2598, 86, 2603, 2604, - 2602, 2608, 86, 86, 86, 2609, 86, 2611, 2612, 86, - 86, 2613, 86, 86, 86, 2606, 86, 86, 2614, 2616, - 86, 2617, 2601, 2621, 2618, 2603, 2604, 2619, 2608, 3438, - 86, 86, 2609, 2620, 2611, 2612, 86, 2624, 2613, 2622, - 2623, 86, 86, 2627, 86, 2614, 2616, 2628, 2617, 86, - 2621, 2618, 86, 2629, 2619, 86, 2625, 2630, 86, 86, - - 2620, 2626, 2631, 86, 2624, 86, 2622, 2623, 86, 2633, - 2627, 2632, 2634, 3438, 86, 2635, 3438, 2636, 86, 3438, - 86, 2641, 2637, 2625, 86, 2638, 86, 86, 2626, 86, - 2639, 2643, 86, 2640, 86, 2642, 2633, 86, 2632, 2634, - 86, 86, 2635, 86, 2636, 86, 86, 2644, 2641, 2637, - 2645, 2646, 2638, 2647, 2655, 86, 2648, 2639, 86, 2649, - 2640, 2650, 2642, 2651, 2656, 2652, 2653, 3438, 2654, 86, - 86, 86, 3438, 86, 2644, 86, 86, 86, 86, 86, - 2647, 86, 86, 2648, 2657, 86, 2649, 86, 2650, 2658, - 2651, 2656, 2652, 2653, 2659, 2654, 86, 2660, 2662, 2661, - - 86, 3438, 2663, 86, 2664, 3438, 2665, 3438, 86, 2671, - 2666, 2657, 86, 86, 2669, 2670, 2658, 2674, 2667, 170, - 86, 2659, 2668, 86, 2660, 2662, 2661, 86, 86, 2663, - 86, 2664, 86, 2665, 86, 2672, 2671, 2666, 2673, 86, - 2676, 2669, 2670, 2677, 2674, 2667, 2675, 3438, 2678, 2668, - 2679, 86, 2680, 2682, 2681, 3438, 2683, 2686, 3438, 86, - 2684, 3438, 2672, 86, 86, 2673, 86, 86, 86, 86, - 86, 3438, 86, 2675, 86, 2678, 86, 2679, 86, 2680, - 2682, 2681, 2685, 2683, 2686, 2687, 2688, 2684, 2689, 86, - 86, 2690, 2691, 86, 2692, 2693, 2694, 2696, 86, 2695, - - 2700, 86, 2698, 2697, 86, 86, 86, 86, 2702, 2685, - 2699, 2703, 2687, 2688, 2701, 2689, 86, 86, 2690, 2691, - 86, 2692, 2693, 2694, 86, 86, 2695, 86, 86, 2698, - 2697, 2704, 86, 2705, 2706, 86, 2707, 2699, 2703, 2708, - 86, 2701, 2710, 2709, 2711, 86, 86, 2712, 86, 2713, - 86, 2715, 2716, 86, 86, 2714, 86, 2717, 2704, 2718, - 2705, 2706, 3438, 2707, 86, 2723, 2708, 2721, 2719, 2710, - 2709, 86, 86, 2720, 86, 86, 2713, 86, 2715, 86, - 2722, 2724, 2714, 2725, 86, 86, 2728, 86, 86, 2726, - 86, 86, 2723, 86, 2721, 2719, 2727, 2729, 2730, 2732, - - 2720, 2731, 3438, 2734, 2733, 3438, 3438, 2722, 2724, 86, - 2725, 86, 86, 86, 2736, 2737, 2726, 86, 86, 2742, - 2735, 86, 86, 2727, 2729, 86, 2732, 86, 2731, 2741, - 2734, 2733, 2738, 2740, 2745, 2739, 86, 86, 2743, 86, - 86, 2736, 2737, 86, 2748, 2744, 86, 2735, 2746, 2751, - 86, 2747, 2752, 86, 86, 3438, 2741, 2749, 2750, 2738, - 2740, 86, 2739, 86, 86, 2743, 86, 86, 2753, 86, - 2754, 2748, 2744, 2756, 2758, 2746, 86, 86, 2747, 2752, - 86, 86, 2755, 2757, 2749, 2750, 2760, 2762, 2759, 86, - 2763, 2761, 86, 3438, 2765, 2753, 2767, 2754, 86, 86, - - 86, 2758, 2764, 86, 2766, 86, 2768, 3438, 2769, 2755, - 2757, 86, 86, 86, 86, 2759, 2771, 2763, 2761, 86, - 86, 2765, 2770, 2767, 2772, 2773, 2774, 86, 2775, 2764, - 2776, 2766, 2777, 86, 86, 2769, 2780, 2786, 86, 86, - 2778, 3438, 2779, 86, 86, 86, 86, 86, 86, 2770, - 2781, 2772, 2773, 2774, 86, 2775, 2782, 2776, 2783, 86, - 2784, 2785, 2788, 86, 2786, 3438, 2787, 2778, 2790, 2779, - 2791, 86, 86, 2793, 2789, 2794, 2795, 2781, 86, 2792, - 86, 86, 86, 2782, 86, 2783, 86, 2784, 2785, 2788, - 86, 86, 86, 2787, 2797, 2790, 2796, 2791, 86, 2798, - - 86, 2789, 86, 2795, 86, 2799, 2792, 2800, 2801, 2802, - 2804, 2803, 2805, 3438, 3438, 2807, 86, 86, 2806, 86, - 2808, 170, 2810, 2796, 86, 2812, 2798, 86, 2811, 2809, - 2813, 2814, 2799, 86, 2800, 2801, 86, 2804, 2803, 2805, - 86, 86, 86, 86, 2815, 2806, 2816, 86, 2817, 86, - 2819, 2818, 86, 86, 2824, 2811, 2809, 86, 2814, 86, - 2825, 2820, 2822, 2821, 2823, 3438, 86, 2827, 3438, 2830, - 86, 2815, 86, 2816, 86, 86, 2826, 2819, 2818, 86, - 86, 86, 86, 2829, 2828, 2831, 86, 2832, 2820, 2822, - 2821, 2823, 86, 86, 2827, 2833, 2830, 2834, 86, 2835, - - 86, 2836, 2837, 2826, 86, 86, 86, 2838, 2841, 86, - 2829, 2828, 2831, 86, 2832, 3438, 2840, 86, 2839, 86, - 86, 2842, 2833, 2843, 2834, 86, 2835, 2845, 2836, 2837, - 2844, 86, 2846, 86, 2838, 86, 86, 86, 2847, 2848, - 86, 2850, 86, 2840, 2849, 2839, 2851, 86, 2842, 2853, - 2843, 2855, 2852, 86, 2845, 2856, 2854, 2844, 86, 86, - 86, 86, 86, 86, 2858, 2847, 2848, 2857, 2850, 86, - 2859, 2849, 2860, 86, 86, 2861, 2853, 2862, 2855, 2852, - 2867, 86, 86, 2854, 2863, 3438, 2864, 2865, 3438, 3438, - 2874, 2868, 2866, 2869, 2857, 3438, 86, 2870, 2875, 2860, - - 2872, 2876, 86, 86, 86, 86, 86, 86, 86, 2871, - 86, 2863, 86, 2864, 2865, 86, 86, 86, 2868, 2866, - 2869, 86, 2873, 2877, 2870, 86, 86, 2872, 86, 2878, - 2879, 86, 2880, 2881, 2886, 2883, 2871, 2882, 2885, 86, - 2884, 86, 2887, 2888, 2889, 3438, 86, 2893, 2890, 2873, - 2877, 86, 86, 86, 2896, 86, 2878, 86, 3438, 2880, - 2881, 2886, 2891, 2892, 2882, 2885, 2897, 86, 86, 2887, - 86, 86, 86, 2894, 86, 2890, 86, 86, 2895, 2898, - 2900, 86, 86, 2899, 2901, 86, 2903, 2902, 2904, 2891, - 2892, 2905, 86, 2897, 2906, 86, 86, 2907, 86, 86, - - 2894, 2908, 2915, 2909, 2914, 2895, 86, 86, 2910, 2918, - 2899, 2901, 2911, 2903, 2902, 2912, 86, 86, 86, 2913, - 86, 2906, 86, 86, 2917, 86, 86, 2919, 2908, 86, - 2916, 2914, 86, 2920, 86, 86, 86, 2921, 2922, 2911, - 86, 3438, 2912, 2923, 3438, 2924, 2913, 86, 3438, 86, - 2930, 2917, 86, 2927, 2919, 2929, 2931, 2916, 2925, 2926, - 2920, 86, 86, 86, 2921, 2922, 2932, 86, 86, 2928, - 2923, 86, 2924, 2933, 2935, 86, 2936, 2930, 86, 86, - 2927, 2934, 2929, 86, 86, 2925, 2926, 86, 2937, 2938, - 2940, 2942, 2943, 2932, 2939, 2941, 2928, 86, 2944, 86, - - 2933, 2935, 2945, 2936, 2946, 3438, 2947, 86, 2934, 2948, - 2950, 3438, 2949, 2951, 86, 2937, 2952, 86, 2942, 86, - 86, 86, 86, 2954, 86, 2944, 2955, 2953, 86, 2945, - 86, 2946, 86, 2947, 86, 86, 2948, 2950, 86, 2949, - 2951, 2956, 2957, 2952, 86, 86, 2958, 2959, 86, 86, - 2954, 2960, 2961, 2955, 2953, 2962, 2963, 2964, 2965, 2966, - 3438, 86, 3438, 2967, 2972, 3438, 3438, 2978, 2956, 2957, - 2968, 2969, 2979, 86, 86, 86, 86, 2970, 2960, 2961, - 86, 86, 86, 2963, 86, 2965, 86, 2971, 86, 86, - 2967, 86, 2973, 2974, 2975, 86, 86, 2968, 2969, 86, - - 2976, 2977, 86, 2980, 2970, 2981, 2982, 2984, 2985, 2983, - 2996, 86, 2986, 86, 2971, 86, 86, 86, 2989, 2973, - 2974, 2975, 2987, 86, 86, 86, 2990, 2976, 2977, 86, - 2980, 86, 2981, 2982, 86, 86, 2983, 2988, 2993, 2986, - 2991, 2992, 86, 86, 86, 86, 86, 2995, 2994, 2987, - 2999, 2998, 3002, 2990, 86, 86, 2997, 86, 3000, 3003, - 86, 3001, 3004, 3438, 2988, 2993, 86, 2991, 2992, 3005, - 86, 86, 86, 3008, 2995, 2994, 86, 2999, 2998, 3002, - 86, 86, 86, 2997, 3009, 3000, 3003, 86, 3001, 3004, - 3006, 3010, 3011, 3007, 3012, 3013, 3005, 3438, 3015, 3438, - - 86, 86, 3014, 86, 3016, 3017, 3018, 3438, 3438, 3021, - 86, 86, 3022, 3020, 3019, 86, 86, 3006, 86, 3011, - 3007, 3012, 3013, 86, 86, 3024, 86, 86, 86, 3014, - 86, 3016, 3017, 86, 86, 3023, 3021, 3026, 3027, 3022, - 3020, 3019, 3438, 3025, 86, 86, 3028, 3029, 3438, 3030, - 3031, 3032, 3034, 3035, 3033, 3438, 3438, 86, 86, 86, - 3038, 86, 3023, 86, 86, 3027, 86, 3044, 86, 86, - 3025, 3036, 3037, 3028, 3029, 86, 3030, 3031, 3032, 3034, - 86, 3033, 3039, 86, 3040, 86, 86, 3038, 3041, 3042, - 3043, 3048, 3045, 86, 3044, 86, 86, 3046, 3036, 3037, - - 86, 3047, 86, 3050, 3051, 3049, 86, 3053, 86, 3039, - 86, 3040, 86, 86, 3052, 3041, 3042, 3043, 86, 3045, - 86, 3056, 3054, 3058, 3046, 3055, 3057, 3059, 3047, 3061, - 86, 86, 3049, 86, 86, 3060, 86, 86, 3062, 3065, - 3063, 3052, 86, 86, 86, 86, 3068, 86, 3056, 3054, - 3058, 3064, 3055, 3057, 86, 3066, 3061, 3069, 3070, 86, - 3073, 3067, 3060, 3082, 86, 86, 3065, 3063, 86, 86, - 86, 3071, 3072, 86, 3074, 3077, 3076, 86, 3064, 3075, - 3079, 3083, 3066, 86, 3069, 3081, 3080, 86, 3067, 86, - 86, 86, 86, 86, 3078, 86, 86, 3086, 3071, 3072, - - 3084, 86, 86, 3076, 86, 3087, 3075, 3079, 3083, 3085, - 3088, 3089, 3081, 3080, 3090, 86, 86, 86, 3091, 3092, - 3093, 3078, 3094, 3095, 86, 3096, 86, 3084, 3099, 3098, - 3438, 3100, 3087, 86, 86, 86, 3085, 3088, 3089, 3097, - 86, 3090, 3102, 3105, 3110, 3091, 3092, 86, 86, 86, - 3095, 86, 86, 86, 3101, 86, 3098, 86, 3100, 3103, - 3104, 3106, 86, 3107, 3109, 3108, 3097, 86, 3112, 86, - 86, 86, 86, 3114, 86, 3111, 86, 3115, 86, 86, - 3113, 3101, 3124, 86, 3116, 3119, 3103, 3104, 3106, 3120, - 3107, 3109, 3108, 3118, 3121, 3112, 3117, 3125, 86, 3122, - - 86, 3126, 3111, 3438, 86, 3128, 86, 3113, 3133, 86, - 86, 3116, 86, 86, 86, 86, 86, 3123, 86, 86, - 3118, 86, 3127, 3117, 3125, 3130, 3122, 3132, 86, 3129, - 86, 3131, 3128, 86, 86, 86, 86, 3134, 86, 3135, - 3139, 3137, 3136, 3138, 3123, 3140, 3141, 86, 86, 3127, - 3142, 3150, 3130, 86, 3132, 86, 3129, 86, 3131, 3144, - 3146, 86, 3147, 3143, 3134, 3151, 3135, 86, 3137, 3136, - 3138, 86, 86, 3145, 3148, 3149, 3152, 3142, 86, 86, - 86, 86, 3153, 86, 3154, 3155, 3144, 86, 86, 86, - 3143, 3156, 3151, 3159, 3438, 86, 86, 3157, 3158, 3160, - - 3145, 3148, 3149, 3152, 86, 86, 86, 3161, 86, 86, - 3162, 3154, 3155, 86, 86, 86, 3164, 3171, 3156, 3163, - 3159, 3166, 3167, 86, 3157, 3158, 3160, 86, 86, 86, - 86, 3165, 3172, 86, 3161, 3168, 3169, 3162, 86, 86, - 3174, 3170, 3175, 3164, 3171, 86, 3163, 86, 3166, 3167, - 3173, 3177, 3178, 3176, 86, 3179, 3180, 86, 3165, 3172, - 86, 3181, 3168, 3169, 86, 3182, 86, 3183, 3170, 3175, - 3185, 3186, 86, 3184, 3191, 86, 3194, 3173, 3177, 3178, - 3176, 86, 86, 86, 86, 3187, 3188, 3438, 3181, 86, - 3189, 3190, 86, 3195, 3183, 3192, 3193, 86, 86, 86, - - 3184, 86, 3197, 3194, 3196, 3199, 3200, 3198, 3202, 3203, - 3201, 3438, 3438, 86, 86, 86, 86, 86, 86, 86, - 3195, 3204, 86, 3205, 86, 86, 3206, 3208, 86, 86, - 86, 3196, 3199, 3200, 3198, 3202, 86, 3201, 3207, 3209, - 3210, 3211, 3212, 3215, 3213, 86, 86, 3214, 3204, 86, - 3205, 86, 3216, 3206, 3208, 3218, 3223, 3231, 3230, 3221, - 3217, 86, 86, 86, 3222, 3207, 3209, 3210, 3211, 86, - 86, 3213, 86, 86, 3214, 3219, 3227, 86, 3220, 86, - 3225, 3224, 3218, 86, 3226, 86, 3233, 3217, 86, 86, - 86, 86, 86, 86, 3228, 3234, 3229, 3232, 86, 3237, - - 3235, 3438, 3219, 3227, 86, 3220, 3236, 3225, 3224, 3238, - 3240, 3226, 86, 86, 3239, 3241, 86, 3242, 86, 3243, - 3244, 3228, 86, 3229, 3232, 3245, 86, 3235, 86, 3246, - 3247, 3249, 86, 3236, 3248, 86, 86, 86, 3250, 3252, - 3254, 3239, 86, 3253, 86, 3251, 86, 86, 3256, 86, - 86, 3255, 86, 3259, 86, 3258, 86, 86, 3249, 86, - 3260, 3248, 3257, 86, 3261, 86, 3252, 86, 86, 86, - 3253, 3262, 3251, 3263, 86, 86, 3264, 3265, 3255, 3267, - 3259, 3268, 3258, 86, 3270, 86, 86, 3260, 3269, 3257, - 86, 86, 3266, 86, 3271, 3272, 3277, 3438, 3262, 3276, - - 86, 86, 3273, 3264, 3265, 86, 3267, 86, 3268, 3274, - 86, 3278, 86, 3275, 86, 3269, 86, 86, 86, 3266, - 86, 3271, 3272, 3277, 86, 3279, 3276, 3280, 86, 3273, - 3283, 3281, 3282, 3284, 86, 3285, 3274, 86, 3278, 3286, - 3275, 3287, 3289, 3288, 86, 86, 3438, 3292, 3290, 3294, - 3291, 86, 3279, 86, 3280, 86, 86, 3283, 3281, 3282, - 86, 86, 86, 86, 3293, 86, 86, 3295, 3287, 3289, - 3288, 86, 3296, 3298, 3292, 3290, 3294, 3291, 3297, 3300, - 86, 3299, 3301, 3302, 86, 86, 3303, 86, 86, 86, - 3438, 3293, 86, 86, 3295, 3306, 3304, 3305, 86, 3296, - - 3298, 3307, 3309, 3308, 86, 3297, 3300, 86, 3299, 3301, - 3302, 3310, 86, 3303, 86, 3311, 3314, 86, 86, 3312, - 3313, 3315, 3306, 3304, 3305, 86, 3316, 86, 3307, 86, - 3308, 3317, 86, 3318, 3319, 3322, 3320, 86, 3310, 86, - 3438, 3438, 3311, 86, 86, 3321, 3312, 3313, 3315, 3323, - 3329, 3324, 86, 86, 3325, 3326, 86, 86, 3317, 86, - 86, 86, 3322, 3320, 3327, 86, 3328, 86, 3330, 3438, - 3331, 86, 3321, 86, 3333, 3334, 3323, 3329, 3324, 86, - 3332, 3325, 3326, 3336, 3337, 3339, 3335, 86, 3338, 3340, - 86, 86, 3341, 3328, 86, 3330, 86, 86, 86, 3344, - - 86, 86, 86, 3342, 3345, 3349, 3343, 3332, 3346, 3438, - 3336, 86, 3339, 3335, 86, 3338, 86, 3348, 86, 3341, - 3347, 86, 86, 3350, 3351, 86, 3354, 86, 3359, 3355, - 3342, 86, 3349, 3343, 86, 3346, 86, 3352, 3353, 86, - 3357, 3356, 86, 86, 3348, 86, 3358, 3347, 86, 3360, - 86, 86, 86, 3354, 86, 3359, 3355, 3362, 3361, 3363, - 3364, 3368, 86, 86, 3352, 3353, 86, 3357, 3356, 3366, - 3365, 3369, 3367, 3358, 3370, 3371, 3360, 86, 86, 86, - 86, 86, 3372, 3373, 3362, 3361, 3363, 86, 86, 3374, - 3376, 3377, 3375, 86, 3379, 3385, 3366, 3365, 3369, 3367, - - 86, 86, 3371, 3378, 86, 86, 86, 3381, 3380, 3372, - 3373, 86, 3382, 3389, 3438, 86, 3374, 3388, 86, 3375, - 3383, 86, 86, 3407, 3387, 86, 3410, 86, 86, 3384, - 3378, 86, 86, 3386, 3381, 3380, 3438, 86, 86, 3382, - 86, 86, 3392, 86, 3388, 3390, 3393, 3383, 3391, 3394, - 86, 3387, 3395, 86, 86, 3396, 3384, 86, 3397, 3401, - 3386, 3399, 86, 86, 86, 3400, 86, 86, 3402, 3392, - 3398, 3404, 3390, 3393, 3403, 3391, 3394, 3438, 3438, 3395, - 86, 86, 3396, 3405, 86, 3397, 3401, 3408, 3399, 3414, - 3409, 86, 3400, 86, 86, 3402, 3406, 3398, 3404, 3411, - - 86, 3403, 3412, 86, 86, 3413, 3416, 3423, 3438, 86, - 3405, 86, 3415, 86, 3408, 86, 3414, 3409, 3418, 86, - 86, 3419, 86, 3406, 3422, 3438, 3411, 3417, 3420, 3412, - 3421, 3427, 3413, 86, 86, 86, 86, 3426, 86, 3415, - 86, 3424, 3428, 86, 3425, 3418, 3429, 3430, 3419, 86, - 86, 3422, 86, 3432, 3417, 3420, 3431, 3421, 86, 3433, - 3436, 3437, 86, 86, 3426, 3438, 3438, 3438, 3424, 3428, - 3434, 3425, 3438, 86, 86, 86, 86, 3435, 86, 3438, - 3432, 86, 3438, 3431, 3438, 86, 3433, 86, 86, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3434, 3438, 3438, - - 3438, 3438, 3438, 3438, 3435, 47, 47, 47, 47, 47, - 47, 47, 52, 52, 52, 52, 52, 52, 52, 57, - 57, 57, 57, 57, 57, 57, 63, 63, 63, 63, - 63, 63, 63, 68, 68, 68, 68, 68, 68, 68, - 74, 74, 74, 74, 74, 74, 74, 80, 80, 80, - 80, 80, 80, 80, 89, 89, 3438, 89, 89, 89, - 89, 160, 160, 3438, 3438, 3438, 160, 160, 162, 162, - 3438, 3438, 162, 3438, 162, 164, 3438, 3438, 3438, 3438, - 3438, 164, 167, 167, 3438, 3438, 3438, 167, 167, 169, - 3438, 3438, 3438, 3438, 3438, 169, 171, 171, 3438, 171, - - 171, 171, 171, 174, 3438, 3438, 3438, 3438, 3438, 174, - 177, 177, 3438, 3438, 3438, 177, 177, 90, 90, 3438, - 90, 90, 90, 90, 17, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438 - - } ; - -static yyconst flex_int16_t yy_chk[9892] = - { 0, - 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, 3, 3, 3, 4, - 4, 4, 5, 5, 6, 6, 5, 32, 6, 7, - 7, 7, 7, 33, 7, 8, 8, 8, 8, 32, - 8, 9, 9, 9, 10, 10, 10, 19, 51, 51, - - 1105, 19, 3446, 3, 32, 33, 4, 67, 67, 5, - 33, 6, 2797, 13, 13, 13, 13, 7, 13, 14, - 14, 14, 14, 8, 14, 15, 15, 15, 9, 25, - 1105, 10, 11, 11, 11, 11, 11, 11, 12, 12, - 12, 12, 12, 12, 16, 16, 16, 34, 28, 84, - 84, 13, 11, 45, 293, 25, 25, 14, 12, 34, - 39, 23, 15, 23, 23, 45, 23, 1116, 28, 177, - 11, 28, 23, 39, 34, 28, 12, 176, 87, 11, - 45, 16, 87, 293, 37, 12, 30, 39, 29, 56, - 37, 174, 56, 72, 30, 28, 26, 169, 100, 23, - - 24, 24, 29, 26, 24, 30, 72, 26, 99, 24, - 26, 37, 30, 30, 29, 29, 100, 99, 24, 167, - 72, 30, 26, 26, 24, 100, 166, 24, 24, 29, - 26, 24, 30, 164, 26, 99, 24, 26, 46, 163, - 46, 46, 163, 46, 162, 24, 27, 160, 31, 46, - 27, 31, 101, 27, 94, 27, 27, 145, 31, 62, - 31, 62, 62, 195, 62, 101, 27, 70, 27, 70, - 70, 31, 70, 27, 94, 31, 35, 27, 31, 101, - 27, 94, 27, 27, 35, 31, 93, 31, 36, 145, - 35, 85, 36, 27, 35, 195, 44, 161, 161, 42, - - 44, 42, 35, 35, 44, 70, 36, 80, 36, 93, - 42, 35, 75, 93, 36, 36, 42, 35, 92, 36, - 74, 35, 44, 44, 43, 42, 42, 44, 42, 168, - 168, 44, 68, 36, 43, 36, 38, 42, 43, 43, - 38, 95, 92, 42, 38, 92, 219, 43, 63, 111, - 38, 43, 73, 38, 73, 73, 95, 73, 111, 97, - 38, 43, 38, 38, 104, 43, 43, 38, 95, 104, - 79, 38, 79, 79, 58, 79, 111, 38, 219, 86, - 38, 86, 86, 97, 86, 222, 97, 38, 40, 956, - 86, 104, 40, 89, 96, 89, 89, 112, 89, 98, - - 57, 96, 40, 40, 89, 40, 112, 103, 103, 106, - 105, 52, 98, 47, 40, 40, 103, 222, 105, 40, - 956, 96, 18, 98, 112, 137, 98, 106, 17, 40, - 40, 89, 40, 41, 103, 103, 41, 105, 102, 98, - 107, 106, 109, 41, 102, 108, 102, 41, 41, 109, - 224, 137, 137, 107, 106, 41, 113, 0, 108, 102, - 41, 114, 0, 41, 115, 102, 118, 107, 114, 109, - 41, 102, 108, 102, 41, 41, 110, 110, 117, 113, - 116, 117, 224, 113, 110, 126, 115, 0, 114, 119, - 118, 115, 110, 116, 117, 117, 0, 119, 118, 126, - - 123, 0, 117, 110, 110, 117, 120, 116, 117, 124, - 121, 110, 126, 123, 121, 122, 119, 118, 125, 127, - 122, 117, 117, 122, 130, 128, 120, 123, 120, 146, - 121, 130, 124, 120, 121, 129, 124, 121, 125, 127, - 131, 121, 122, 128, 146, 125, 127, 122, 133, 129, - 132, 130, 128, 120, 135, 134, 146, 121, 135, 132, - 0, 136, 129, 131, 134, 138, 140, 131, 136, 141, - 141, 133, 138, 0, 139, 133, 135, 132, 140, 142, - 143, 135, 134, 139, 144, 135, 0, 142, 136, 139, - 0, 143, 138, 140, 148, 143, 141, 139, 144, 0, - - 147, 139, 149, 151, 143, 148, 142, 143, 152, 151, - 139, 144, 155, 149, 148, 150, 139, 147, 143, 152, - 147, 148, 143, 150, 153, 154, 147, 147, 156, 149, - 151, 158, 148, 153, 155, 152, 182, 157, 173, 155, - 154, 159, 150, 156, 147, 153, 157, 147, 182, 153, - 0, 153, 154, 158, 159, 156, 178, 178, 158, 0, - 153, 0, 173, 182, 157, 173, 0, 179, 159, 0, - 0, 165, 153, 165, 165, 170, 165, 170, 170, 171, - 170, 171, 171, 175, 171, 175, 175, 180, 175, 179, - 0, 181, 0, 184, 179, 183, 185, 186, 187, 188, - - 181, 180, 183, 0, 189, 186, 227, 0, 0, 184, - 187, 189, 190, 193, 183, 185, 194, 171, 181, 180, - 184, 188, 183, 185, 186, 187, 188, 191, 180, 183, - 190, 189, 229, 191, 192, 193, 192, 196, 227, 190, - 193, 196, 194, 194, 198, 200, 0, 199, 203, 0, - 204, 201, 205, 200, 202, 210, 206, 204, 196, 191, - 191, 192, 199, 203, 229, 196, 207, 210, 196, 0, - 198, 198, 200, 201, 199, 203, 202, 204, 201, 206, - 205, 202, 210, 206, 205, 196, 197, 208, 207, 213, - 212, 197, 209, 207, 217, 256, 197, 211, 208, 212, - - 211, 217, 197, 197, 214, 209, 216, 205, 0, 197, - 0, 213, 211, 197, 208, 220, 213, 212, 197, 209, - 256, 217, 256, 197, 211, 218, 214, 211, 216, 197, - 197, 214, 215, 216, 221, 215, 218, 215, 226, 225, - 223, 220, 220, 231, 226, 221, 228, 223, 0, 215, - 233, 215, 218, 225, 230, 0, 0, 0, 215, 215, - 234, 0, 215, 232, 215, 226, 221, 223, 228, 239, - 235, 225, 221, 228, 234, 231, 215, 230, 215, 236, - 225, 230, 233, 232, 237, 238, 236, 234, 239, 240, - 232, 235, 241, 244, 238, 242, 239, 235, 243, 238, - - 245, 251, 247, 240, 244, 237, 236, 245, 248, 249, - 243, 237, 238, 242, 241, 253, 240, 248, 246, 241, - 244, 238, 242, 246, 247, 243, 250, 245, 259, 247, - 255, 250, 249, 251, 254, 248, 249, 252, 252, 258, - 257, 254, 260, 261, 262, 264, 252, 253, 257, 0, - 246, 261, 255, 250, 263, 267, 265, 255, 264, 258, - 259, 254, 266, 268, 252, 252, 258, 257, 0, 263, - 261, 269, 264, 270, 260, 271, 262, 270, 267, 272, - 274, 263, 265, 265, 273, 0, 275, 267, 269, 266, - 276, 278, 273, 275, 272, 268, 269, 271, 269, 274, - - 270, 279, 271, 280, 277, 267, 272, 274, 277, 282, - 281, 273, 276, 275, 0, 269, 283, 276, 285, 287, - 289, 284, 286, 278, 288, 280, 288, 285, 283, 290, - 280, 277, 281, 279, 284, 286, 291, 281, 287, 292, - 0, 282, 295, 283, 296, 285, 287, 297, 284, 286, - 294, 288, 289, 290, 299, 298, 290, 300, 297, 294, - 303, 291, 304, 291, 305, 292, 292, 298, 295, 295, - 296, 296, 301, 302, 297, 304, 306, 294, 299, 307, - 300, 299, 298, 309, 300, 308, 311, 313, 0, 304, - 301, 302, 303, 310, 313, 312, 305, 314, 315, 301, - - 302, 306, 308, 306, 315, 317, 314, 316, 308, 309, - 309, 307, 308, 318, 313, 310, 320, 319, 311, 312, - 310, 316, 321, 326, 314, 315, 319, 312, 323, 308, - 321, 317, 317, 322, 316, 325, 324, 318, 326, 320, - 318, 327, 322, 320, 319, 324, 312, 328, 0, 321, - 326, 329, 325, 0, 323, 323, 0, 331, 332, 325, - 322, 0, 325, 324, 0, 333, 329, 332, 336, 335, - 340, 328, 0, 327, 328, 331, 339, 0, 329, 325, - 330, 339, 336, 330, 331, 332, 337, 333, 330, 330, - 330, 330, 333, 335, 340, 336, 335, 340, 330, 338, - - 338, 337, 341, 0, 334, 0, 334, 330, 339, 347, - 330, 342, 345, 337, 342, 330, 330, 330, 330, 334, - 343, 342, 334, 348, 338, 346, 338, 338, 334, 341, - 345, 334, 343, 334, 344, 344, 347, 349, 342, 345, - 350, 342, 351, 346, 344, 348, 334, 343, 352, 334, - 348, 354, 346, 353, 351, 0, 357, 361, 355, 354, - 356, 344, 344, 349, 349, 355, 350, 350, 353, 351, - 352, 358, 356, 358, 360, 352, 362, 363, 354, 361, - 353, 360, 358, 364, 361, 355, 370, 356, 357, 364, - 365, 0, 365, 366, 368, 0, 369, 358, 358, 363, - - 358, 360, 0, 371, 363, 364, 366, 393, 362, 358, - 364, 367, 368, 404, 365, 372, 364, 365, 370, 365, - 366, 368, 369, 369, 367, 375, 376, 367, 377, 367, - 371, 378, 375, 379, 382, 367, 386, 372, 367, 393, - 377, 386, 372, 378, 376, 404, 379, 382, 381, 385, - 376, 367, 375, 376, 367, 377, 367, 373, 378, 373, - 379, 382, 389, 0, 381, 373, 384, 385, 386, 373, - 389, 376, 381, 388, 373, 381, 385, 373, 384, 388, - 0, 387, 390, 373, 373, 391, 373, 392, 387, 389, - 409, 381, 373, 384, 390, 392, 373, 394, 394, 395, - - 388, 373, 387, 391, 373, 374, 395, 374, 387, 390, - 397, 399, 391, 444, 392, 387, 396, 398, 399, 397, - 374, 400, 409, 374, 394, 374, 395, 374, 400, 396, - 0, 374, 374, 401, 374, 398, 402, 403, 399, 398, - 444, 0, 397, 396, 398, 401, 397, 374, 400, 403, - 374, 405, 374, 0, 374, 383, 383, 408, 402, 406, - 401, 407, 398, 402, 403, 383, 406, 383, 383, 383, - 408, 410, 383, 410, 411, 412, 407, 405, 405, 0, - 383, 436, 383, 383, 408, 411, 406, 436, 407, 413, - 413, 430, 383, 414, 383, 383, 383, 412, 410, 383, - - 414, 411, 412, 415, 416, 0, 417, 418, 436, 0, - 419, 419, 0, 420, 415, 416, 422, 423, 413, 417, - 414, 0, 0, 430, 421, 423, 0, 435, 419, 424, - 415, 416, 418, 417, 418, 419, 420, 419, 419, 421, - 420, 424, 422, 422, 423, 426, 425, 421, 427, 428, - 431, 421, 432, 434, 426, 419, 424, 425, 433, 435, - 428, 427, 428, 0, 439, 437, 421, 428, 431, 442, - 438, 434, 426, 425, 432, 427, 428, 431, 440, 432, - 434, 433, 448, 447, 445, 433, 437, 428, 439, 428, - 429, 439, 437, 438, 441, 442, 442, 438, 429, 429, - - 440, 441, 429, 429, 443, 440, 445, 450, 446, 447, - 447, 445, 429, 449, 448, 452, 453, 429, 443, 450, - 454, 441, 446, 457, 455, 429, 429, 451, 454, 429, - 429, 443, 457, 451, 450, 446, 449, 452, 453, 455, - 449, 456, 452, 453, 458, 459, 454, 454, 456, 0, - 457, 455, 460, 461, 451, 454, 463, 0, 462, 458, - 465, 0, 464, 0, 466, 467, 465, 469, 456, 459, - 467, 458, 459, 462, 460, 471, 461, 472, 475, 460, - 461, 471, 463, 463, 464, 462, 0, 465, 473, 464, - 466, 466, 467, 469, 469, 474, 472, 477, 486, 480, - - 475, 474, 471, 476, 472, 475, 473, 479, 480, 479, - 476, 481, 477, 483, 482, 473, 479, 484, 481, 485, - 486, 492, 474, 0, 477, 486, 480, 482, 488, 487, - 476, 488, 493, 489, 479, 484, 479, 490, 481, 493, - 491, 482, 487, 495, 484, 483, 494, 488, 0, 496, - 490, 485, 491, 492, 500, 488, 487, 489, 488, 493, - 489, 497, 496, 498, 490, 499, 495, 491, 498, 501, - 494, 499, 502, 494, 504, 495, 496, 500, 503, 505, - 506, 500, 509, 497, 502, 504, 0, 505, 497, 509, - 498, 501, 499, 495, 506, 512, 501, 510, 511, 502, - - 503, 504, 0, 510, 513, 503, 505, 506, 507, 509, - 511, 0, 513, 507, 514, 507, 516, 515, 512, 521, - 518, 507, 512, 507, 510, 511, 507, 507, 515, 519, - 0, 513, 518, 507, 507, 507, 514, 521, 525, 516, - 507, 514, 507, 516, 515, 517, 521, 518, 507, 517, - 507, 519, 520, 507, 507, 520, 519, 523, 522, 524, - 507, 528, 525, 520, 0, 525, 527, 517, 522, 523, - 524, 526, 517, 527, 530, 526, 517, 531, 529, 520, - 529, 532, 520, 534, 523, 533, 524, 528, 528, 531, - 522, 534, 536, 527, 535, 522, 532, 533, 526, 535, - - 530, 530, 537, 538, 531, 529, 539, 540, 532, 542, - 534, 538, 533, 545, 536, 543, 544, 546, 539, 536, - 537, 535, 551, 547, 549, 0, 558, 542, 540, 537, - 538, 551, 546, 539, 540, 547, 542, 549, 543, 544, - 548, 550, 543, 544, 546, 545, 552, 553, 548, 551, - 547, 549, 554, 550, 555, 557, 556, 555, 558, 560, - 562, 553, 566, 559, 0, 561, 0, 548, 550, 552, - 0, 565, 563, 552, 553, 556, 564, 554, 559, 554, - 561, 555, 557, 556, 562, 563, 566, 562, 564, 566, - 559, 560, 561, 565, 567, 568, 570, 569, 565, 563, - - 571, 567, 569, 564, 567, 572, 568, 573, 574, 575, - 570, 576, 567, 577, 578, 579, 0, 0, 577, 583, - 578, 567, 568, 570, 580, 581, 582, 571, 567, 569, - 579, 567, 572, 584, 582, 574, 575, 585, 583, 573, - 586, 578, 579, 576, 586, 577, 583, 581, 580, 588, - 587, 580, 581, 582, 589, 590, 591, 584, 587, 585, - 584, 593, 592, 595, 585, 591, 594, 586, 0, 597, - 598, 600, 588, 596, 593, 595, 588, 587, 590, 596, - 599, 598, 590, 591, 592, 602, 589, 599, 593, 592, - 595, 597, 594, 594, 601, 604, 597, 598, 602, 606, - - 596, 603, 607, 600, 604, 605, 603, 599, 606, 603, - 603, 610, 602, 607, 613, 611, 601, 608, 609, 0, - 633, 601, 604, 614, 610, 603, 606, 611, 603, 607, - 615, 605, 605, 603, 617, 618, 603, 603, 610, 608, - 609, 614, 611, 616, 608, 609, 613, 619, 622, 620, - 614, 624, 633, 623, 615, 621, 617, 615, 626, 618, - 620, 617, 618, 627, 621, 616, 616, 623, 622, 619, - 616, 629, 625, 624, 619, 622, 620, 629, 624, 625, - 623, 627, 621, 628, 630, 626, 631, 632, 634, 0, - 627, 628, 616, 635, 637, 630, 636, 636, 629, 625, - - 638, 641, 632, 639, 631, 643, 640, 644, 642, 634, - 628, 630, 639, 631, 632, 634, 642, 635, 637, 640, - 635, 637, 638, 641, 645, 636, 646, 638, 641, 644, - 639, 650, 648, 640, 644, 642, 647, 643, 647, 649, - 653, 651, 0, 654, 649, 650, 655, 652, 661, 658, - 646, 654, 0, 646, 648, 651, 645, 656, 650, 648, - 657, 652, 652, 647, 655, 659, 660, 657, 651, 652, - 654, 649, 653, 655, 652, 658, 658, 665, 664, 656, - 661, 660, 662, 664, 656, 659, 0, 657, 652, 652, - 660, 663, 659, 660, 666, 667, 666, 662, 668, 669, - - 0, 663, 670, 665, 665, 671, 668, 672, 660, 662, - 664, 670, 674, 663, 671, 673, 672, 675, 663, 674, - 667, 666, 667, 673, 669, 668, 669, 676, 663, 670, - 677, 678, 671, 679, 672, 680, 682, 684, 681, 674, - 683, 0, 673, 678, 680, 679, 681, 720, 677, 675, - 676, 682, 683, 688, 676, 686, 687, 677, 678, 685, - 679, 688, 680, 682, 689, 681, 685, 683, 686, 684, - 689, 687, 691, 690, 693, 692, 0, 699, 694, 720, - 688, 690, 686, 687, 692, 693, 685, 694, 695, 695, - 696, 689, 697, 698, 0, 691, 701, 695, 696, 691, - - 690, 693, 692, 699, 699, 694, 698, 700, 703, 701, - 702, 705, 704, 708, 697, 695, 695, 696, 702, 697, - 698, 706, 709, 701, 703, 704, 711, 708, 707, 710, - 700, 0, 706, 705, 700, 703, 707, 702, 705, 704, - 708, 712, 709, 713, 715, 714, 711, 717, 706, 709, - 723, 710, 719, 711, 714, 707, 710, 716, 718, 721, - 717, 0, 725, 712, 715, 713, 722, 719, 712, 724, - 713, 715, 714, 723, 717, 716, 718, 723, 727, 719, - 725, 721, 724, 726, 716, 718, 721, 729, 728, 725, - 722, 727, 730, 722, 728, 726, 724, 731, 732, 733, - - 730, 735, 736, 0, 737, 727, 738, 0, 739, 735, - 726, 737, 741, 742, 729, 728, 744, 733, 730, 730, - 732, 741, 743, 739, 731, 732, 733, 730, 735, 738, - 740, 737, 740, 738, 736, 739, 744, 745, 746, 741, - 746, 743, 750, 744, 747, 742, 745, 0, 0, 743, - 753, 747, 0, 0, 750, 0, 756, 740, 760, 757, - 753, 762, 0, 0, 745, 746, 759, 761, 0, 750, - 0, 747, 748, 769, 756, 748, 760, 753, 761, 748, - 757, 763, 748, 756, 762, 760, 757, 759, 762, 748, - 748, 766, 748, 759, 761, 764, 765, 748, 767, 748, - - 766, 775, 748, 768, 775, 769, 748, 763, 763, 748, - 768, 767, 765, 771, 772, 0, 748, 748, 766, 748, - 772, 764, 764, 765, 773, 767, 783, 774, 775, 776, - 768, 770, 770, 773, 770, 771, 778, 770, 777, 0, - 771, 772, 770, 779, 778, 776, 783, 781, 770, 770, - 774, 773, 776, 783, 774, 779, 776, 770, 770, 770, - 777, 770, 782, 778, 770, 777, 780, 782, 780, 770, - 779, 781, 776, 784, 781, 770, 770, 785, 0, 786, - 0, 787, 0, 788, 791, 789, 0, 793, 0, 785, - 792, 790, 0, 780, 782, 794, 795, 806, 0, 784, - - 784, 786, 793, 794, 785, 788, 786, 787, 787, 789, - 788, 791, 789, 790, 793, 792, 797, 792, 790, 795, - 796, 798, 794, 795, 797, 799, 800, 796, 801, 806, - 802, 804, 805, 803, 0, 808, 812, 805, 800, 807, - 798, 801, 803, 797, 809, 811, 804, 796, 798, 809, - 814, 799, 799, 800, 817, 801, 802, 802, 804, 805, - 803, 807, 808, 813, 815, 816, 807, 811, 812, 819, - 0, 813, 811, 818, 820, 821, 809, 824, 817, 822, - 823, 817, 814, 825, 826, 829, 815, 828, 819, 823, - 813, 815, 832, 826, 818, 828, 819, 816, 822, 824, - - 818, 820, 821, 825, 824, 827, 822, 823, 830, 831, - 825, 826, 829, 833, 828, 834, 827, 841, 0, 832, - 836, 837, 838, 834, 839, 838, 830, 843, 831, 846, - 0, 842, 827, 0, 840, 830, 831, 0, 836, 837, - 843, 841, 834, 846, 841, 833, 839, 836, 837, 838, - 845, 839, 840, 842, 843, 844, 846, 844, 842, 847, - 848, 840, 849, 850, 847, 851, 852, 853, 845, 852, - 856, 850, 854, 857, 849, 858, 853, 845, 860, 859, - 854, 858, 844, 851, 860, 0, 848, 848, 0, 849, - 850, 847, 851, 852, 853, 856, 854, 856, 867, 854, - - 857, 859, 858, 861, 862, 860, 859, 854, 863, 864, - 861, 862, 869, 863, 865, 866, 864, 868, 870, 866, - 869, 867, 871, 0, 875, 867, 868, 879, 872, 873, - 861, 862, 865, 874, 876, 863, 864, 873, 0, 869, - 871, 865, 866, 872, 868, 875, 874, 878, 884, 871, - 870, 875, 877, 876, 879, 872, 873, 881, 880, 882, - 874, 876, 889, 883, 881, 877, 880, 884, 886, 878, - 883, 885, 887, 886, 878, 884, 888, 882, 885, 877, - 887, 890, 897, 888, 881, 880, 882, 891, 892, 893, - 883, 895, 0, 896, 889, 886, 0, 894, 885, 887, - - 891, 0, 893, 888, 894, 897, 900, 898, 903, 897, - 902, 899, 901, 890, 891, 898, 893, 904, 901, 899, - 892, 905, 907, 895, 894, 896, 899, 0, 900, 906, - 905, 909, 0, 900, 898, 908, 902, 902, 899, 901, - 903, 904, 908, 906, 904, 911, 899, 913, 905, 912, - 910, 912, 913, 914, 907, 916, 906, 0, 909, 910, - 912, 915, 908, 917, 918, 914, 920, 911, 917, 0, - 919, 918, 911, 925, 920, 932, 912, 910, 912, 913, - 914, 916, 916, 922, 915, 923, 922, 925, 915, 926, - 917, 918, 919, 920, 929, 927, 926, 919, 923, 0, - - 925, 927, 932, 930, 0, 931, 933, 953, 933, 0, - 922, 934, 923, 937, 939, 935, 926, 931, 0, 939, - 929, 929, 927, 928, 936, 928, 930, 935, 0, 928, - 930, 928, 931, 933, 934, 937, 928, 936, 934, 953, - 937, 928, 935, 940, 938, 944, 939, 928, 943, 941, - 928, 936, 928, 0, 942, 944, 928, 938, 928, 945, - 943, 940, 941, 928, 0, 946, 942, 944, 928, 954, - 940, 938, 944, 948, 945, 943, 941, 942, 947, 948, - 950, 942, 944, 949, 0, 951, 945, 946, 955, 952, - 957, 947, 946, 942, 958, 0, 949, 963, 950, 958, - - 948, 954, 966, 962, 960, 947, 951, 950, 965, 959, - 949, 952, 951, 960, 964, 955, 952, 959, 962, 963, - 0, 958, 957, 965, 963, 967, 968, 964, 966, 966, - 962, 960, 970, 969, 973, 965, 959, 961, 972, 0, - 970, 964, 961, 971, 961, 968, 969, 967, 979, 972, - 961, 971, 967, 968, 974, 961, 961, 975, 976, 970, - 969, 0, 961, 961, 961, 972, 973, 976, 977, 961, - 971, 961, 975, 980, 983, 979, 974, 961, 978, 977, - 984, 974, 961, 961, 975, 976, 981, 978, 986, 961, - 985, 988, 989, 981, 987, 977, 980, 0, 985, 995, - - 980, 990, 992, 0, 984, 978, 983, 984, 987, 990, - 986, 994, 993, 981, 989, 986, 996, 985, 997, 989, - 992, 987, 994, 988, 998, 999, 997, 1000, 990, 992, - 993, 995, 999, 1002, 996, 1001, 1005, 1003, 994, 993, - 1000, 1004, 1001, 996, 1007, 997, 998, 1009, 1002, 0, - 0, 998, 999, 1013, 1000, 1003, 1006, 1005, 1009, 1004, - 1002, 1014, 1001, 1005, 1003, 1011, 1006, 1017, 1004, 1014, - 1012, 1015, 1016, 1018, 1009, 1013, 1007, 1012, 1011, 1017, - 1013, 1016, 1019, 1006, 1015, 1022, 1025, 1023, 1014, 1024, - 1026, 0, 1011, 0, 1017, 1018, 1028, 1012, 1015, 1016, - - 1018, 1027, 0, 1033, 1019, 1023, 1033, 1022, 1026, 1019, - 1028, 1030, 1022, 1027, 1023, 1024, 1024, 1026, 1025, 1031, - 1034, 1035, 1030, 1028, 1031, 1036, 1037, 1038, 1027, 1033, - 1033, 1039, 1036, 1033, 1035, 1041, 1038, 1037, 1030, 1042, - 1043, 1045, 0, 1040, 1034, 1039, 1042, 1034, 1035, 1044, - 1048, 1031, 1036, 1037, 1038, 1040, 1046, 1050, 1039, 1049, - 1051, 1044, 1052, 1045, 1058, 1049, 1042, 1041, 1045, 1046, - 1040, 1060, 1043, 1052, 1048, 1053, 1044, 1048, 1054, 1050, - 1056, 1055, 1051, 1046, 1050, 1058, 1049, 1051, 1059, 1052, - 1061, 1058, 1060, 1053, 1062, 1056, 1063, 1064, 1060, 1059, - - 1054, 1065, 1053, 1055, 1066, 1054, 1064, 1056, 1055, 1067, - 1069, 1068, 1071, 1072, 1063, 1059, 1070, 1069, 1067, 1068, - 1073, 1062, 1061, 1063, 1064, 1065, 1071, 1074, 1065, 1075, - 1066, 1066, 1076, 1077, 1078, 1080, 1067, 1069, 1068, 1071, - 1070, 1081, 1083, 1070, 1085, 1072, 1082, 0, 1084, 1074, - 1081, 1075, 1073, 1082, 1074, 1077, 1075, 1080, 1086, 1087, - 1077, 1089, 1080, 1088, 1076, 1090, 1078, 1091, 1081, 1089, - 1084, 1085, 1088, 1082, 1083, 1084, 1086, 1087, 1093, 1092, - 1097, 1095, 1098, 1101, 1094, 1086, 1087, 0, 1089, 1090, - 1088, 1091, 1090, 1094, 1091, 1092, 1095, 1099, 1100, 1096, - - 1093, 1104, 1103, 0, 1107, 1093, 1092, 1096, 1095, 1099, - 1101, 1094, 1097, 1102, 1098, 1103, 1104, 1109, 1106, 1109, - 1100, 1102, 1107, 1112, 1099, 1100, 1096, 1106, 1104, 1103, - 1108, 1107, 1113, 1111, 1114, 1115, 1117, 1119, 1108, 1118, - 1102, 1111, 1115, 1120, 1109, 1106, 1122, 1124, 1123, 1117, - 1112, 1118, 1119, 1121, 1113, 1123, 1114, 1108, 1125, 1113, - 1111, 1114, 1115, 1117, 1119, 1120, 1118, 1126, 1128, 1127, - 1120, 1121, 1130, 1122, 1131, 1123, 1129, 0, 1126, 1124, - 1121, 1134, 1132, 1139, 1137, 1130, 1135, 1131, 1133, 1134, - 1125, 1127, 1137, 1128, 1126, 1128, 1127, 0, 1129, 1130, - - 1133, 1131, 1136, 1129, 1132, 1140, 1135, 1141, 1134, 1132, - 1139, 1137, 1142, 1135, 1136, 1133, 1141, 1143, 1140, 1144, - 1147, 0, 1148, 0, 1142, 1150, 1144, 0, 1149, 1136, - 0, 1145, 1140, 1153, 1141, 0, 1151, 0, 1143, 1142, - 1145, 1152, 1145, 1147, 1143, 1145, 1144, 1147, 1148, 1148, - 1149, 1154, 1150, 1145, 1152, 1149, 1151, 1153, 1145, 1154, - 1153, 1155, 1156, 1151, 1157, 1158, 1159, 1145, 1152, 1145, - 1155, 1161, 1145, 1158, 1160, 1163, 1165, 1166, 1154, 1162, - 1156, 1159, 1170, 1163, 1161, 1167, 1157, 1168, 1155, 1156, - 1171, 1157, 1158, 1159, 1168, 1162, 1160, 1169, 1161, 1166, - - 1175, 1160, 1163, 1165, 1166, 1170, 1162, 1167, 1171, 1170, - 1172, 1173, 1167, 1174, 1168, 1175, 1176, 1171, 0, 1169, - 1178, 1174, 1172, 1173, 1169, 1177, 1179, 1175, 1176, 1182, - 1180, 0, 1181, 0, 1179, 1178, 1180, 1172, 1173, 1183, - 1174, 1181, 1184, 1176, 1186, 1177, 1187, 1178, 1185, 1184, - 1182, 1183, 1177, 1179, 1195, 1185, 1182, 1180, 1187, 1181, - 1188, 1189, 1186, 1191, 1190, 1191, 1183, 1192, 1188, 1184, - 1193, 1186, 1190, 1187, 1198, 1185, 1189, 1193, 1199, 1192, - 1196, 1201, 1197, 1202, 0, 1199, 1195, 1188, 1189, 1200, - 1191, 1190, 1196, 1198, 1192, 1197, 1207, 1193, 1202, 1203, - - 1200, 1198, 1205, 1201, 1203, 1199, 1204, 1196, 1201, 1197, - 1202, 1206, 0, 1209, 1204, 1205, 1200, 1210, 1211, 0, - 0, 1222, 1207, 1207, 1215, 1206, 1212, 1209, 1222, 1205, - 1224, 1203, 1213, 1204, 0, 1210, 1216, 1214, 1206, 1208, - 1209, 0, 1218, 1208, 1210, 1217, 1208, 1208, 1222, 1220, - 1211, 1208, 1212, 1212, 1213, 1214, 1215, 1208, 1216, 1213, - 1237, 1208, 1224, 1216, 1214, 1208, 1208, 1217, 1218, 1218, - 1208, 1219, 1217, 1208, 1208, 1220, 1220, 1219, 1208, 1221, - 1223, 1221, 1225, 1226, 1208, 1229, 1237, 1237, 1208, 1223, - 1226, 1227, 1228, 1230, 1229, 1231, 0, 1233, 1219, 1232, - - 1225, 0, 1236, 1221, 0, 1228, 1221, 1223, 1221, 1225, - 1226, 0, 1229, 1227, 1235, 1236, 1238, 1238, 1227, 1228, - 1233, 1232, 1239, 1243, 1233, 1230, 1232, 1231, 1234, 1236, - 1241, 1242, 1243, 1234, 1244, 1234, 1235, 1234, 1239, 1234, - 0, 1235, 1245, 1242, 0, 1238, 1234, 1245, 1248, 1239, - 1243, 1246, 1244, 1241, 1247, 1234, 1254, 1241, 1242, 1247, - 1234, 1244, 1234, 1249, 1234, 1250, 1234, 1255, 1256, 1246, - 1248, 1251, 1252, 1253, 1245, 1248, 1249, 0, 1246, 1251, - 1252, 1247, 1258, 1250, 1257, 1260, 1253, 1256, 1254, 1259, - 1249, 1264, 1250, 1255, 1255, 1256, 1262, 1257, 1251, 1252, - - 1253, 1261, 1259, 1260, 1258, 1262, 1263, 1265, 1263, 1258, - 1266, 1257, 1260, 1264, 1267, 1268, 1259, 1271, 1264, 1270, - 1273, 1261, 1266, 1262, 1272, 1274, 1276, 1278, 1261, 1275, - 0, 1277, 1272, 1263, 1265, 1281, 1275, 1266, 1273, 1271, - 1268, 1267, 1268, 1270, 1271, 1284, 1270, 1273, 1286, 1278, - 1288, 1272, 1274, 1276, 1278, 1279, 1275, 1277, 1277, 1280, - 1282, 1279, 1281, 1283, 1285, 1280, 1287, 1282, 1288, 1284, - 1289, 1285, 1284, 1283, 1290, 1292, 1294, 1288, 1296, 1295, - 1286, 0, 1279, 1290, 1293, 1297, 1280, 1282, 1287, 0, - 1283, 1285, 1295, 1287, 1298, 1289, 1293, 1289, 1294, 1292, - - 1296, 1290, 1292, 1294, 1297, 1296, 1295, 1299, 1300, 0, - 1301, 1293, 1297, 1303, 1308, 1306, 1298, 1302, 1305, 1309, - 1304, 1298, 1303, 1311, 0, 1312, 1310, 1315, 0, 1306, - 1300, 1299, 0, 1323, 1299, 1300, 1301, 1301, 1305, 1302, - 1303, 1304, 1306, 1312, 1302, 1305, 1308, 1304, 1310, 1313, - 1314, 1309, 1312, 1310, 1315, 1311, 1316, 1313, 1318, 1320, - 1322, 1319, 1321, 1316, 1322, 1323, 1314, 1318, 1324, 1321, - 1325, 1320, 1327, 0, 1329, 1330, 1313, 1314, 1319, 1331, - 1332, 1329, 1330, 1316, 1334, 1318, 1320, 1322, 1319, 1321, - 1328, 1325, 1339, 1332, 1331, 0, 1328, 1325, 1335, 1333, - - 1324, 1329, 1330, 1328, 1327, 1335, 1331, 1332, 1333, 1337, - 1334, 1334, 1336, 1338, 1336, 1341, 1340, 1328, 1337, 1339, - 1340, 1343, 1344, 1328, 1345, 1335, 1333, 1344, 1346, 1343, - 1347, 1348, 1356, 1345, 1352, 1338, 1337, 1341, 1349, 1336, - 1338, 0, 1341, 1340, 1348, 1353, 1346, 0, 1343, 1347, - 1349, 1345, 1352, 1354, 1344, 1346, 1350, 1347, 1348, 1350, - 1351, 1352, 1357, 1351, 1356, 1349, 1354, 0, 1350, 1359, - 1353, 1360, 1353, 1363, 1359, 1358, 1361, 1361, 0, 1360, - 1354, 0, 1351, 1350, 1362, 1357, 1350, 1351, 1364, 1357, - 1351, 1358, 1366, 1362, 1367, 1363, 1365, 1368, 1360, 1366, - - 1363, 1359, 1358, 1361, 1368, 1365, 1373, 1370, 1371, 1372, - 1364, 1362, 1377, 1375, 1374, 1364, 1367, 1371, 1372, 1366, - 1370, 1367, 1375, 1365, 1368, 0, 0, 1378, 1384, 0, - 1376, 1379, 1373, 1373, 1370, 1371, 1372, 1374, 1376, 1379, - 1375, 1374, 1378, 1380, 1377, 1383, 1385, 1381, 1382, 1386, - 1384, 1388, 1387, 1383, 1378, 1384, 1380, 1376, 1379, 1381, - 1382, 1387, 1389, 1391, 1394, 1390, 1385, 1393, 1395, 1388, - 1380, 1386, 1383, 1385, 1381, 1382, 1386, 1390, 1388, 1387, - 1392, 1391, 1396, 1397, 1398, 1400, 1399, 1392, 1389, 1389, - 1391, 1400, 1390, 1393, 1393, 1396, 1394, 1399, 1401, 1402, - - 1395, 1403, 1404, 1405, 0, 1398, 0, 1392, 1408, 1396, - 1397, 1398, 1400, 1399, 1406, 1409, 1414, 1411, 1410, 1413, - 1401, 0, 1412, 0, 1416, 1401, 1411, 1415, 1414, 1405, - 1405, 1402, 1413, 1403, 1404, 1408, 1410, 1412, 1409, 1418, - 1406, 1406, 1409, 1414, 1411, 1410, 1413, 1415, 1417, 1412, - 1416, 1416, 1419, 1421, 1415, 1417, 1420, 1422, 1418, 1423, - 1424, 1421, 1422, 1426, 1423, 1427, 1418, 1424, 1425, 1420, - 1428, 1426, 1432, 1427, 1419, 1417, 1429, 1430, 1433, 1419, - 1421, 1432, 1437, 1420, 1434, 1430, 1431, 1424, 1428, 1422, - 1426, 1423, 1427, 1431, 1425, 1425, 1439, 1428, 1429, 1432, - - 1435, 1436, 1436, 1429, 1430, 1440, 1434, 1435, 1438, 1446, - 1433, 1434, 1441, 1431, 1437, 1446, 1438, 1439, 1442, 1445, - 1441, 1443, 1444, 1439, 1448, 0, 1442, 1435, 1436, 1443, - 1444, 1447, 1445, 1449, 1450, 1438, 1446, 1440, 1452, 1441, - 1453, 1454, 1450, 1447, 1451, 1442, 1445, 1455, 1443, 1444, - 1448, 1448, 1451, 1452, 1456, 1458, 1457, 1449, 1447, 0, - 1449, 1450, 1459, 1462, 1463, 1452, 1464, 1453, 1454, 1455, - 1457, 1451, 1462, 1458, 1455, 1460, 1459, 1456, 1464, 1460, - 1465, 1456, 1458, 1457, 1466, 1467, 1463, 1465, 1468, 1459, - 1462, 1463, 1460, 1464, 1469, 1466, 1470, 0, 1472, 0, - - 1460, 1473, 1460, 1471, 1474, 1476, 1460, 1465, 1470, 1475, - 1468, 1466, 1467, 1479, 1476, 1468, 1475, 1471, 1487, 1460, - 1472, 1477, 1478, 1470, 1473, 1472, 1469, 1474, 1473, 1478, - 1471, 1474, 1476, 1480, 1482, 1484, 1475, 1485, 1490, 1477, - 1486, 1484, 1493, 1482, 1488, 1479, 1492, 1494, 1477, 1478, - 1487, 1488, 1495, 1497, 0, 0, 1502, 0, 1494, 1485, - 1480, 1482, 1484, 1495, 1485, 1490, 1486, 1486, 1499, 1493, - 1492, 1488, 1498, 1492, 1494, 1499, 1500, 1497, 1498, 1495, - 1497, 1501, 1502, 1502, 1503, 1504, 1509, 1506, 1501, 1505, - 0, 1504, 1507, 1510, 1500, 1499, 1503, 1505, 1508, 1498, - - 1513, 1517, 1510, 1500, 1509, 1507, 1511, 1513, 1501, 1506, - 1514, 1503, 1504, 1509, 1506, 1512, 1505, 1512, 1511, 1507, - 1510, 1515, 1516, 1517, 1508, 1508, 1518, 1513, 1517, 1519, - 0, 1516, 1520, 1511, 1515, 1522, 1514, 1514, 1518, 1521, - 1523, 1524, 1512, 0, 1526, 1523, 1521, 1525, 1515, 1516, - 1527, 1529, 1526, 1518, 1531, 1520, 1519, 1524, 1532, 1520, - 0, 1522, 1522, 0, 1533, 1530, 1521, 1523, 1524, 1532, - 1525, 1526, 1527, 1533, 1525, 1534, 1531, 1527, 1529, 1530, - 1536, 1531, 1535, 1535, 1537, 1532, 1537, 1538, 1534, 0, - 1535, 1533, 1530, 1536, 1539, 1542, 1540, 1541, 1544, 1543, - - 1553, 1545, 1534, 1540, 1541, 1546, 1548, 1536, 1545, 1535, - 1535, 1537, 1547, 1538, 1538, 1550, 1539, 1543, 1552, 1555, - 1544, 1539, 1542, 1540, 1541, 1544, 1543, 1553, 1545, 1549, - 1546, 1552, 1546, 1554, 1547, 1557, 1549, 1559, 1548, 1547, - 1555, 1554, 1560, 1563, 1562, 1552, 1555, 1550, 1558, 1564, - 1566, 1558, 1561, 1562, 1565, 1563, 1549, 1557, 1570, 1566, - 1554, 0, 1557, 1559, 1559, 1561, 1571, 1567, 1560, 1560, - 1563, 1562, 1577, 1564, 1574, 1558, 1564, 1566, 1568, 1561, - 1565, 1565, 1567, 1569, 1572, 1568, 1569, 1575, 1571, 1576, - 1570, 1576, 1574, 1571, 1567, 1578, 1577, 1579, 1569, 1577, - - 1572, 1574, 1580, 1584, 1581, 1568, 1582, 1569, 1572, 1575, - 1569, 1572, 1583, 1569, 1575, 1585, 1576, 1591, 0, 1587, - 1592, 1594, 1578, 1590, 0, 1569, 1581, 1572, 1587, 1579, - 1586, 1581, 1582, 1582, 1580, 1584, 1589, 1585, 1583, 1583, - 1588, 1595, 1585, 1589, 1586, 1595, 1587, 1590, 1588, 1591, - 1590, 1593, 1592, 1594, 1596, 1597, 1599, 1586, 1598, 1600, - 0, 1602, 1601, 1589, 1603, 1599, 1600, 1588, 1595, 1601, - 1605, 1604, 1607, 1593, 1602, 1608, 1596, 1603, 1593, 1605, - 1598, 1596, 1597, 1599, 1604, 1598, 1600, 1614, 1602, 1601, - 1606, 1603, 1606, 1609, 1611, 1607, 1612, 1605, 1604, 1607, - - 1608, 1609, 1608, 1615, 1613, 1616, 1617, 1621, 1619, 1611, - 1615, 1612, 1618, 1617, 1619, 1622, 1616, 1606, 1613, 1614, - 1609, 1611, 1622, 1612, 1623, 1618, 1624, 0, 1625, 1629, - 1615, 1613, 1616, 1617, 1621, 1619, 1626, 1627, 1629, 1618, - 1628, 1624, 1622, 1628, 1630, 1631, 1623, 1634, 1626, 1632, - 1627, 1623, 1640, 1624, 1625, 1625, 1629, 1631, 1634, 1641, - 1639, 1636, 1630, 1626, 1627, 1633, 1636, 1628, 1633, 1632, - 1642, 1630, 1631, 1636, 1634, 1638, 1632, 1638, 1657, 1640, - 1643, 1644, 1645, 1633, 1639, 1642, 1641, 1639, 1636, 1643, - 1646, 1647, 1633, 1636, 1648, 1633, 1649, 1642, 1651, 1647, - - 1650, 1652, 1638, 0, 1646, 1644, 1651, 1643, 1644, 1645, - 1657, 1653, 1652, 1656, 1658, 0, 1648, 1646, 1647, 1659, - 1649, 1648, 1650, 1649, 1654, 1651, 1659, 1650, 1652, 1653, - 1655, 1656, 1654, 1655, 1661, 1660, 1663, 1662, 1653, 1664, - 1656, 1658, 1687, 1661, 1664, 1665, 1659, 1663, 1655, 1660, - 1662, 1654, 1669, 1666, 1669, 1671, 1670, 1655, 1672, 1673, - 1655, 1661, 1660, 1663, 1662, 1670, 1674, 1665, 1666, 1672, - 1675, 1664, 1665, 1676, 1687, 0, 1676, 1673, 0, 1669, - 1666, 1671, 1671, 1670, 1675, 1672, 1673, 1677, 1674, 1678, - 1680, 1676, 1683, 1674, 1684, 1679, 1675, 1675, 1678, 1680, - - 1676, 1679, 1681, 1676, 1686, 1683, 1684, 1681, 1685, 1677, - 1689, 1675, 1690, 1685, 1677, 1688, 1678, 1680, 1691, 1683, - 1692, 1684, 1679, 1693, 1688, 1694, 1686, 1698, 1701, 1696, - 1697, 1686, 0, 1692, 1681, 1685, 1696, 1689, 0, 1699, - 1691, 0, 1688, 1697, 1690, 1691, 1694, 1692, 1700, 1703, - 1705, 1707, 1694, 1699, 1700, 1693, 1696, 1697, 1705, 1698, - 1701, 1706, 1708, 0, 1709, 1710, 1699, 1711, 1703, 1706, - 1707, 1716, 1700, 1712, 1715, 1700, 1703, 1705, 1707, 1710, - 1713, 1700, 1709, 1714, 1708, 1711, 1717, 1712, 1706, 1708, - 1718, 1709, 1710, 1713, 1711, 1715, 1714, 1719, 1720, 1721, - - 1712, 1715, 1723, 1716, 1718, 1720, 1722, 1713, 1721, 1724, - 1714, 1725, 1728, 1730, 1722, 1726, 0, 1718, 1717, 1727, - 1726, 1728, 1715, 1724, 1719, 1720, 1721, 1731, 1732, 1723, - 1727, 1733, 0, 1722, 1731, 1734, 1724, 1735, 1736, 1728, - 1730, 1737, 1726, 1725, 0, 1737, 1727, 1740, 1739, 1742, - 1743, 1732, 1741, 1733, 1731, 1732, 1736, 1734, 1733, 1735, - 1747, 1742, 1734, 1749, 1735, 1736, 1739, 1741, 1737, 1745, - 1744, 1740, 1746, 1748, 1740, 1739, 1742, 1743, 1744, 1741, - 1746, 1755, 1759, 1749, 1745, 1753, 1748, 1747, 1750, 1751, - 1749, 1754, 1756, 1753, 1761, 1763, 1745, 1744, 1754, 1746, - - 1748, 1757, 1758, 1750, 1751, 1765, 1760, 1756, 1764, 1759, - 1757, 1766, 1753, 1755, 1786, 1750, 1751, 1763, 1754, 1756, - 1768, 1761, 1763, 1758, 1767, 1769, 1764, 1770, 1757, 1758, - 1760, 1771, 1772, 1760, 1770, 1764, 1771, 1765, 1766, 1767, - 1774, 1772, 1775, 1776, 1773, 1768, 1786, 1768, 1777, 1769, - 1779, 1767, 1769, 1773, 1770, 0, 1778, 1783, 1771, 1772, - 1780, 1776, 1774, 1777, 1775, 1785, 0, 1774, 1778, 1775, - 1776, 1773, 1779, 1780, 1781, 1777, 1784, 1779, 1780, 1783, - 1787, 1781, 1782, 1778, 1783, 1789, 1787, 1780, 1784, 1782, - 1790, 1791, 1785, 1789, 1793, 1794, 1796, 1794, 1790, 1792, - - 1780, 1781, 1791, 1784, 1782, 1795, 1792, 1787, 1794, 1782, - 1797, 1799, 1789, 1798, 1805, 1800, 1782, 1790, 1791, 1793, - 1798, 1793, 1794, 1796, 1794, 1803, 1792, 1801, 1802, 1808, - 1804, 1795, 1795, 1801, 1802, 1806, 1809, 1797, 1799, 1810, - 1798, 1800, 1800, 1812, 0, 1809, 1805, 1811, 1813, 1811, - 1815, 1814, 1803, 1804, 1801, 1802, 1816, 1804, 1814, 1806, - 1818, 1808, 1806, 1809, 1817, 1822, 1818, 1812, 1819, 1833, - 1812, 1810, 1815, 1820, 1811, 1813, 1817, 1815, 1814, 1821, - 1825, 1824, 1827, 1816, 0, 1826, 1828, 1818, 1824, 1825, - 1819, 1817, 1826, 1828, 1833, 1819, 1833, 1822, 1831, 1820, - - 1820, 1821, 1823, 1823, 1823, 1830, 1821, 1825, 1824, 1823, - 1830, 1831, 1826, 1828, 1827, 1832, 1834, 1823, 1836, 1838, - 1837, 1835, 1839, 0, 1840, 1831, 1838, 1832, 1839, 1823, - 1823, 1823, 1834, 1835, 1841, 1841, 1823, 1830, 1837, 1842, - 0, 1845, 1832, 1834, 1846, 1843, 1838, 1837, 1835, 1839, - 1836, 1840, 1843, 1844, 1850, 1847, 1852, 1851, 1844, 1851, - 1854, 1841, 1847, 1855, 1856, 1842, 1842, 1845, 1845, 1855, - 1858, 1846, 1843, 1859, 1852, 1857, 1860, 1862, 1854, 1859, - 1844, 1850, 1847, 1852, 1851, 1861, 1857, 1854, 1860, 1864, - 1855, 1863, 1863, 1865, 1865, 1862, 1856, 1858, 1866, 1868, - - 1859, 1869, 1857, 1860, 1862, 1861, 1872, 1870, 1871, 1866, - 1877, 1876, 1861, 1879, 1870, 1864, 1864, 1873, 1863, 1875, - 1865, 1868, 1880, 1878, 1881, 1866, 1868, 1875, 1871, 1880, - 1887, 1879, 1881, 1869, 1870, 1871, 1883, 1877, 1872, 1882, - 1879, 1886, 1873, 1876, 1873, 1878, 1875, 1884, 1888, 1880, - 1878, 1881, 1885, 1885, 1882, 1891, 1884, 1889, 1890, 1896, - 1883, 1895, 1887, 1883, 1889, 1893, 1882, 1886, 1886, 1897, - 1890, 1891, 1893, 1902, 1884, 1898, 1894, 1897, 1891, 1885, - 1888, 1894, 1891, 1895, 1889, 1890, 1896, 1898, 1895, 1900, - 1901, 1903, 1893, 1904, 1905, 1908, 1897, 1900, 1891, 1902, - - 1902, 1906, 1898, 1894, 1909, 1912, 1910, 1911, 1915, 1907, - 1909, 1904, 1903, 1901, 1907, 1911, 1900, 1901, 1903, 1910, - 1904, 1905, 1908, 1913, 1906, 1907, 1918, 1912, 1906, 1916, - 1913, 1909, 1912, 1910, 1911, 1914, 1907, 1917, 1916, 1920, - 1915, 1907, 1914, 1919, 1931, 1921, 1922, 1924, 1918, 1917, - 1913, 1926, 1933, 1918, 1927, 1929, 1916, 1919, 1926, 1934, - 1934, 1935, 1914, 1925, 1917, 1924, 1920, 1937, 1925, 1922, - 1919, 1921, 1921, 1922, 1924, 1930, 1931, 1936, 1926, 1925, - 1930, 1927, 1929, 1935, 1933, 1939, 1934, 1940, 1935, 1948, - 1925, 1941, 1936, 1943, 1942, 1925, 1942, 1944, 1945, 1937, - - 1939, 1946, 1944, 0, 1936, 1949, 1941, 1930, 1947, 1946, - 1940, 1948, 1939, 1955, 1940, 1947, 1948, 1953, 1941, 1951, - 1949, 1942, 1956, 1952, 1944, 1943, 1957, 1958, 1946, 1959, - 1945, 1952, 1949, 1960, 1951, 1947, 1959, 1955, 0, 1953, - 1955, 1961, 1962, 1964, 1953, 1963, 1951, 1968, 1956, 1956, - 1952, 1966, 1969, 1957, 1958, 1970, 1959, 1975, 1974, 1976, - 1972, 1964, 1961, 1980, 1962, 1960, 1963, 1969, 1961, 1962, - 1964, 1968, 1963, 1966, 1968, 1972, 1973, 1976, 1966, 1969, - 1974, 1970, 1970, 1977, 1975, 1974, 1976, 1972, 1979, 1978, - 1980, 1973, 1981, 1983, 1985, 1982, 1984, 1987, 1988, 1981, - - 1989, 0, 1983, 1973, 1984, 1977, 1986, 1988, 0, 0, - 1977, 1978, 1979, 1982, 0, 1979, 1978, 1985, 1989, 1981, - 1983, 1985, 1982, 1984, 1991, 1988, 1990, 1989, 1986, 1987, - 1993, 1994, 1995, 1986, 1997, 1990, 1996, 1991, 2002, 1999, - 1994, 1993, 2000, 1996, 1998, 2001, 2005, 0, 2000, 0, - 1995, 1991, 2002, 1990, 1999, 2007, 1993, 1993, 1994, 1995, - 1997, 1997, 1998, 1996, 2008, 2002, 1999, 2001, 1993, 2000, - 2009, 1998, 2001, 2005, 2011, 2008, 2012, 2013, 2014, 2007, - 2015, 2009, 2007, 2016, 2017, 2018, 2011, 2020, 2014, 2012, - 2021, 2008, 2023, 2025, 2024, 2028, 2023, 2009, 0, 0, - - 2026, 2011, 2028, 2012, 2018, 2014, 2015, 2015, 2016, 2013, - 2016, 2017, 2018, 2027, 2020, 2024, 2021, 2021, 2027, 2023, - 2026, 2024, 2028, 2029, 2030, 2025, 2031, 2026, 2032, 2033, - 2040, 2035, 2031, 2034, 2036, 2036, 2037, 2040, 0, 2043, - 2027, 2038, 2030, 2032, 2033, 2034, 2035, 2046, 2037, 2029, - 2029, 2030, 2042, 2031, 2038, 2032, 2033, 2040, 2035, 2051, - 2034, 2036, 2038, 2037, 2044, 2041, 2043, 2042, 2038, 2041, - 2045, 2046, 2047, 2044, 2046, 2048, 2050, 2045, 2052, 2042, - 0, 2038, 2048, 2056, 2051, 2053, 2051, 2052, 2054, 2061, - 0, 2044, 2041, 2059, 2047, 2058, 2063, 2045, 2050, 2047, - - 2065, 2056, 2048, 2050, 2058, 2052, 2060, 2053, 2054, 2062, - 2056, 2059, 2053, 2066, 2061, 2054, 2061, 2062, 2067, 2069, - 2059, 2060, 2058, 2068, 2068, 2065, 2066, 2065, 2063, 2070, - 2071, 2072, 2074, 2060, 2073, 2075, 2062, 2077, 2076, 2074, - 2066, 2069, 0, 2073, 2079, 2067, 2069, 2078, 2084, 2079, - 2068, 2077, 2071, 2072, 2070, 2088, 2070, 2071, 2072, 2074, - 2076, 2073, 2078, 2080, 2077, 2076, 2083, 2075, 2085, 2082, - 2089, 2086, 2091, 2087, 2078, 2084, 2079, 2082, 2090, 2083, - 2087, 2091, 2080, 2086, 2093, 0, 2095, 2088, 2096, 2094, - 2080, 0, 2089, 2083, 2085, 2085, 2082, 2089, 2086, 2091, - - 2087, 2092, 0, 2090, 2094, 2090, 2097, 2098, 2099, 2092, - 0, 2093, 2095, 2095, 2096, 2096, 2094, 2099, 2102, 2101, - 2092, 2103, 2101, 2105, 2097, 2104, 2106, 2103, 2092, 2098, - 2104, 0, 2107, 2097, 2098, 2099, 2092, 2101, 2105, 2109, - 2110, 2111, 2113, 2102, 2106, 2102, 2101, 2107, 2103, 2101, - 2105, 2114, 2115, 2106, 2109, 2116, 2113, 2104, 2114, 2107, - 2119, 0, 2110, 2111, 2117, 2118, 2109, 2110, 2111, 2113, - 2115, 2119, 2121, 2117, 2118, 2120, 2122, 2120, 2114, 2115, - 2125, 2126, 2116, 2123, 2128, 2121, 2127, 2119, 2122, 0, - 2129, 2117, 2118, 2127, 0, 2125, 2126, 2130, 2135, 2121, - - 2136, 2133, 2120, 2122, 2136, 2123, 2128, 2125, 2126, 2137, - 2123, 2128, 2129, 2127, 2133, 2130, 2139, 2129, 2139, 2135, - 2138, 2137, 2133, 2141, 2130, 2135, 2140, 2136, 2133, 2138, - 2142, 2143, 2144, 2145, 0, 2147, 2137, 2148, 2149, 2146, - 2144, 2133, 2152, 2139, 2140, 2148, 2150, 2138, 2142, 2147, - 2141, 2150, 2153, 2140, 2154, 2159, 2145, 2142, 2143, 2144, - 2145, 2146, 2147, 2151, 2148, 2156, 2146, 2155, 2151, 2166, - 2149, 2160, 2156, 2150, 2152, 2161, 2162, 0, 2154, 2163, - 2169, 2154, 2159, 0, 2153, 2160, 2155, 2167, 2170, 2164, - 2165, 0, 2156, 2161, 2155, 2151, 2160, 2160, 2160, 2165, - - 2168, 2166, 2161, 2162, 2164, 2163, 2163, 2169, 2171, 2167, - 2170, 2173, 2160, 0, 2167, 2170, 2164, 2165, 2174, 2175, - 2178, 2176, 2178, 2160, 0, 2174, 2168, 2168, 2176, 2179, - 2182, 2180, 2181, 0, 2173, 2180, 2188, 0, 2173, 2186, - 2171, 2183, 2175, 2184, 2181, 2174, 2175, 2178, 2176, 2189, - 2183, 2179, 2182, 2185, 2184, 2199, 2179, 2182, 2180, 2181, - 2185, 2186, 2187, 2188, 2191, 2190, 2186, 2187, 2183, 2193, - 2184, 2195, 2189, 2192, 2192, 2194, 2189, 2190, 2193, 2195, - 2185, 2196, 2199, 2197, 2198, 2201, 2191, 2202, 2207, 2187, - 2194, 2191, 2190, 2198, 2207, 2202, 2193, 2197, 2195, 2203, - - 2192, 2204, 2194, 2196, 2201, 2204, 2205, 2203, 2196, 2205, - 2197, 2198, 2201, 2206, 2202, 2207, 2208, 2209, 2211, 2214, - 2213, 2206, 0, 2209, 2216, 2217, 2203, 2215, 2204, 2219, - 2211, 2208, 2214, 2205, 2213, 2218, 2220, 0, 2223, 2224, - 2206, 2226, 2221, 2208, 2209, 2211, 2214, 2213, 2215, 2216, - 2220, 2216, 2217, 2219, 2215, 2221, 2219, 2218, 2222, 2225, - 2228, 2227, 2218, 2220, 2223, 2223, 2224, 2229, 2226, 2221, - 2231, 2232, 2222, 2227, 2228, 2236, 2237, 2230, 2233, 2235, - 2230, 2238, 2236, 2237, 2225, 2222, 2225, 2228, 2227, 2239, - 2240, 2241, 2242, 2229, 2229, 2230, 2238, 2231, 2232, 2241, - - 2233, 2235, 2236, 2237, 2230, 2233, 2235, 2230, 2238, 2244, - 2245, 2243, 2246, 2247, 2248, 2249, 2239, 2240, 2241, 2242, - 2243, 2251, 2245, 2256, 2255, 2250, 2258, 2253, 2249, 2263, - 0, 2251, 2252, 2261, 2246, 2253, 2244, 2245, 2243, 2246, - 2247, 2248, 2249, 2250, 2260, 2252, 2255, 2257, 2251, 2259, - 2256, 2255, 2250, 2258, 2253, 2257, 2263, 2261, 2259, 2252, - 2261, 0, 2262, 2265, 2264, 2260, 2268, 2266, 2270, 2276, - 2274, 2260, 2264, 2269, 2257, 2265, 2259, 2262, 2268, 2272, - 2273, 2269, 2274, 2278, 2273, 2275, 2272, 2279, 2262, 2262, - 2265, 2264, 2266, 2268, 2266, 2270, 2276, 2274, 2282, 2279, - - 2269, 2277, 2284, 2280, 2262, 2278, 2272, 2273, 2275, 2277, - 2278, 2283, 2275, 2285, 2279, 2280, 2288, 2288, 2283, 2289, - 2292, 2290, 2284, 2286, 2287, 2282, 2285, 2291, 2277, 2284, - 2280, 2294, 2286, 2287, 2295, 2292, 0, 2292, 2283, 2290, - 2285, 2302, 2302, 2288, 2292, 2289, 2289, 2292, 2290, 2295, - 2286, 2287, 2291, 2296, 2291, 2297, 2298, 2299, 2298, 2300, - 2306, 2295, 2292, 2294, 2292, 2300, 2301, 2304, 2302, 2305, - 2307, 2299, 2306, 2308, 0, 2296, 2311, 2297, 0, 2309, - 2296, 0, 2297, 2298, 2299, 2309, 2300, 2306, 2301, 2304, - 2312, 2305, 2310, 2301, 2304, 2314, 2305, 2314, 2313, 2315, - - 2316, 2322, 2307, 2317, 2310, 2308, 2309, 2323, 2311, 2326, - 2318, 2319, 2312, 2315, 2320, 2330, 2326, 2312, 2321, 2310, - 2313, 2317, 2314, 2324, 2316, 2313, 2315, 2316, 2318, 2319, - 2317, 2321, 2320, 2322, 2328, 2332, 2326, 2318, 2319, 2323, - 2329, 2320, 0, 2331, 0, 2321, 2324, 2330, 2333, 2334, - 2324, 2331, 2328, 2332, 2337, 2339, 2335, 2338, 2335, 2341, - 2340, 2328, 2332, 2335, 2343, 2337, 2329, 2329, 2338, 2331, - 2331, 2334, 2340, 2348, 2333, 2333, 2334, 2341, 2331, 2343, - 2345, 2337, 2339, 2335, 2338, 2335, 2341, 2340, 2344, 2346, - 2349, 2343, 2345, 2351, 2350, 2352, 2355, 2348, 2353, 2344, - - 2348, 2350, 2356, 2358, 2346, 2357, 2359, 2345, 2351, 2361, - 2360, 0, 2349, 2363, 0, 2344, 2346, 2349, 2362, 2364, - 2351, 2350, 2352, 2355, 2353, 2353, 2356, 2357, 2360, 2356, - 2365, 2362, 2357, 2366, 2364, 2358, 2361, 2360, 2359, 2363, - 2363, 2366, 2367, 2365, 2368, 2362, 2364, 2372, 2369, 0, - 2370, 0, 2374, 0, 2373, 2376, 0, 2365, 2375, 2378, - 2366, 2369, 2380, 0, 2379, 2377, 2378, 2390, 2367, 2367, - 2372, 0, 2370, 2376, 2372, 2369, 2368, 2370, 2373, 2374, - 2375, 2373, 2376, 2377, 2381, 2375, 2378, 2379, 2383, 2380, - 2384, 2379, 2377, 2385, 2386, 2387, 2388, 2384, 2381, 2390, - - 2385, 2393, 2389, 2388, 2391, 2392, 0, 2386, 2394, 2393, - 2383, 2381, 2395, 2396, 2392, 2383, 2394, 2384, 2387, 2396, - 2385, 2386, 2387, 2388, 2389, 2391, 2398, 2399, 2393, 2389, - 2400, 2391, 2392, 2401, 2395, 2394, 2402, 2403, 2399, 2395, - 2396, 2398, 2405, 2407, 0, 2408, 0, 2410, 2410, 2409, - 2415, 2411, 2400, 2398, 2399, 2402, 2407, 2400, 2414, 2417, - 2405, 2418, 2403, 2402, 2403, 2401, 2421, 2425, 2416, 2405, - 2407, 2408, 2408, 2409, 2410, 2423, 2409, 2411, 2411, 2418, - 2425, 2414, 2415, 2416, 2423, 2414, 2417, 2426, 2418, 2429, - 2430, 2430, 2434, 2421, 2425, 2416, 2432, 2431, 2426, 2433, - - 2436, 2438, 2423, 2431, 2439, 2441, 0, 2442, 0, 2440, - 2441, 2429, 2451, 2445, 2426, 2448, 2429, 2430, 2432, 2434, - 2440, 2433, 2455, 2432, 2431, 2461, 2433, 2436, 2450, 2442, - 2439, 2439, 2441, 2438, 2442, 2444, 2440, 2445, 2446, 2447, - 2445, 2452, 2448, 2444, 2451, 2453, 2450, 2456, 2457, 2455, - 2452, 2458, 2461, 2446, 2447, 2450, 2457, 2453, 2460, 2462, - 2458, 2463, 2444, 2467, 2464, 2446, 2447, 2465, 2452, 0, - 2463, 2456, 2453, 2466, 2456, 2457, 2467, 2470, 2458, 2468, - 2469, 2462, 2464, 2473, 2460, 2460, 2462, 2474, 2463, 2465, - 2467, 2464, 2468, 2475, 2465, 2469, 2471, 2476, 2466, 2470, - - 2466, 2472, 2477, 2471, 2470, 2473, 2468, 2469, 2472, 2479, - 2473, 2478, 2480, 0, 2474, 2481, 0, 2482, 2479, 0, - 2475, 2487, 2483, 2471, 2476, 2484, 2478, 2487, 2472, 2477, - 2485, 2489, 2484, 2486, 2480, 2488, 2479, 2483, 2478, 2480, - 2486, 2481, 2481, 2482, 2482, 2485, 2488, 2490, 2487, 2483, - 2491, 2492, 2484, 2493, 2501, 2490, 2494, 2485, 2489, 2495, - 2486, 2496, 2488, 2497, 2502, 2498, 2499, 0, 2500, 2493, - 2497, 2494, 0, 2499, 2490, 2500, 2496, 2491, 2492, 2495, - 2493, 2501, 2502, 2494, 2503, 2503, 2495, 2498, 2496, 2504, - 2497, 2502, 2498, 2499, 2505, 2500, 2504, 2506, 2508, 2507, - - 2506, 0, 2509, 2508, 2510, 0, 2511, 0, 2505, 2518, - 2512, 2503, 2507, 2518, 2516, 2517, 2504, 2521, 2513, 2510, - 2517, 2505, 2514, 2516, 2506, 2508, 2507, 2509, 2512, 2509, - 2513, 2510, 2511, 2511, 2514, 2519, 2518, 2512, 2520, 2521, - 2523, 2516, 2517, 2524, 2521, 2513, 2522, 0, 2525, 2514, - 2527, 2520, 2529, 2531, 2530, 0, 2532, 2536, 0, 2519, - 2533, 0, 2519, 2530, 2532, 2520, 2536, 2523, 2522, 2531, - 2524, 0, 2533, 2522, 2525, 2525, 2527, 2527, 2529, 2529, - 2531, 2530, 2535, 2532, 2536, 2537, 2538, 2533, 2539, 2535, - 2537, 2540, 2541, 2538, 2542, 2543, 2544, 2547, 2540, 2545, - - 2551, 2542, 2549, 2548, 2543, 2544, 2539, 2549, 2554, 2535, - 2550, 2555, 2537, 2538, 2553, 2539, 2548, 2541, 2540, 2541, - 2555, 2542, 2543, 2544, 2547, 2545, 2545, 2551, 2550, 2549, - 2548, 2556, 2553, 2557, 2558, 2554, 2559, 2550, 2555, 2560, - 2556, 2553, 2562, 2561, 2563, 2559, 2558, 2564, 2560, 2565, - 2562, 2567, 2568, 2557, 2561, 2566, 2565, 2569, 2556, 2570, - 2557, 2558, 0, 2559, 2566, 2575, 2560, 2573, 2571, 2562, - 2561, 2563, 2567, 2572, 2564, 2573, 2565, 2571, 2567, 2568, - 2574, 2576, 2566, 2577, 2569, 2572, 2580, 2575, 2576, 2578, - 2577, 2570, 2575, 2574, 2573, 2571, 2579, 2581, 2582, 2586, - - 2572, 2584, 0, 2588, 2587, 0, 0, 2574, 2576, 2584, - 2577, 2578, 2587, 2580, 2590, 2591, 2578, 2586, 2588, 2598, - 2589, 2579, 2581, 2579, 2581, 2582, 2586, 2589, 2584, 2597, - 2588, 2587, 2592, 2596, 2601, 2593, 2590, 2591, 2599, 2592, - 2596, 2590, 2591, 2593, 2604, 2600, 2598, 2589, 2602, 2608, - 2599, 2603, 2609, 2597, 2600, 0, 2597, 2606, 2607, 2592, - 2596, 2601, 2593, 2603, 2602, 2599, 2609, 2604, 2611, 2606, - 2612, 2604, 2600, 2614, 2617, 2602, 2608, 2612, 2603, 2609, - 2611, 2607, 2613, 2616, 2606, 2607, 2619, 2621, 2618, 2613, - 2622, 2620, 2617, 0, 2624, 2611, 2626, 2612, 2616, 2620, - - 2614, 2617, 2623, 2626, 2625, 2624, 2627, 0, 2632, 2613, - 2616, 2618, 2622, 2619, 2621, 2618, 2634, 2622, 2620, 2625, - 2623, 2624, 2633, 2626, 2635, 2636, 2637, 2633, 2638, 2623, - 2639, 2625, 2640, 2627, 2632, 2632, 2644, 2652, 2635, 2636, - 2641, 0, 2642, 2634, 2637, 2652, 2638, 2641, 2639, 2633, - 2647, 2635, 2636, 2637, 2642, 2638, 2648, 2639, 2649, 2640, - 2650, 2651, 2654, 2644, 2652, 0, 2653, 2641, 2657, 2642, - 2658, 2649, 2647, 2660, 2656, 2661, 2662, 2647, 2648, 2659, - 2651, 2654, 2650, 2648, 2653, 2649, 2656, 2650, 2651, 2654, - 2657, 2659, 2658, 2653, 2664, 2657, 2663, 2658, 2662, 2665, - - 2660, 2656, 2661, 2662, 2663, 2666, 2659, 2667, 2668, 2669, - 2671, 2670, 2672, 0, 0, 2674, 2667, 2668, 2673, 2665, - 2675, 2664, 2679, 2663, 2672, 2681, 2665, 2666, 2680, 2678, - 2681, 2682, 2666, 2670, 2667, 2668, 2671, 2671, 2670, 2672, - 2673, 2669, 2674, 2678, 2683, 2673, 2684, 2675, 2685, 2679, - 2687, 2686, 2680, 2682, 2692, 2680, 2678, 2681, 2682, 2684, - 2693, 2688, 2690, 2689, 2691, 0, 2683, 2695, 0, 2699, - 2691, 2683, 2687, 2684, 2686, 2689, 2694, 2687, 2686, 2688, - 2685, 2690, 2695, 2698, 2697, 2701, 2692, 2703, 2688, 2690, - 2689, 2691, 2693, 2699, 2695, 2704, 2699, 2705, 2694, 2706, - - 2701, 2707, 2708, 2694, 2697, 2698, 2705, 2709, 2714, 2703, - 2698, 2697, 2701, 2706, 2703, 0, 2713, 2704, 2710, 2707, - 2708, 2715, 2704, 2718, 2705, 2713, 2706, 2720, 2707, 2708, - 2719, 2718, 2721, 2709, 2709, 2720, 2710, 2719, 2722, 2723, - 2714, 2725, 2715, 2713, 2724, 2710, 2726, 2723, 2715, 2729, - 2718, 2732, 2727, 2725, 2720, 2733, 2731, 2719, 2722, 2721, - 2727, 2729, 2724, 2731, 2735, 2722, 2723, 2734, 2725, 2734, - 2736, 2724, 2737, 2726, 2732, 2738, 2729, 2739, 2732, 2727, - 2746, 2737, 2733, 2731, 2740, 0, 2741, 2743, 0, 0, - 2754, 2747, 2744, 2748, 2734, 0, 2735, 2749, 2755, 2737, - - 2752, 2757, 2736, 2740, 2739, 2743, 2744, 2738, 2741, 2750, - 2749, 2740, 2746, 2741, 2743, 2747, 2748, 2754, 2747, 2744, - 2748, 2750, 2753, 2758, 2749, 2755, 2752, 2752, 2757, 2759, - 2761, 2753, 2763, 2764, 2769, 2766, 2750, 2765, 2767, 2763, - 2766, 2769, 2770, 2772, 2773, 0, 2758, 2778, 2774, 2753, - 2758, 2759, 2765, 2767, 2782, 2764, 2759, 2761, 0, 2763, - 2764, 2769, 2775, 2776, 2765, 2767, 2783, 2766, 2770, 2770, - 2772, 2773, 2774, 2779, 2778, 2774, 2775, 2776, 2781, 2784, - 2786, 2782, 2779, 2785, 2787, 2781, 2789, 2788, 2790, 2775, - 2776, 2791, 2783, 2783, 2792, 2785, 2788, 2795, 2787, 2789, - - 2779, 2796, 2803, 2798, 2802, 2781, 2784, 2786, 2798, 2806, - 2785, 2787, 2799, 2789, 2788, 2800, 2799, 2792, 2791, 2801, - 2790, 2792, 2800, 2796, 2805, 2802, 2801, 2809, 2796, 2795, - 2804, 2802, 2804, 2811, 2803, 2798, 2806, 2812, 2814, 2799, - 2814, 0, 2800, 2815, 0, 2816, 2801, 2805, 0, 2809, - 2821, 2805, 2811, 2818, 2809, 2820, 2822, 2804, 2817, 2817, - 2811, 2812, 2820, 2821, 2812, 2814, 2823, 2815, 2817, 2819, - 2815, 2816, 2816, 2824, 2825, 2818, 2826, 2821, 2819, 2823, - 2818, 2824, 2820, 2822, 2826, 2817, 2817, 2825, 2827, 2828, - 2829, 2830, 2831, 2823, 2828, 2829, 2819, 2824, 2832, 2830, - - 2824, 2825, 2833, 2826, 2834, 0, 2835, 2827, 2824, 2836, - 2838, 0, 2837, 2839, 2839, 2827, 2840, 2838, 2830, 2831, - 2836, 2828, 2829, 2842, 2832, 2832, 2843, 2841, 2833, 2833, - 2834, 2834, 2835, 2835, 2837, 2841, 2836, 2838, 2840, 2837, - 2839, 2844, 2845, 2840, 2843, 2842, 2847, 2848, 2844, 2845, - 2842, 2849, 2850, 2843, 2841, 2852, 2853, 2854, 2855, 2857, - 0, 2850, 0, 2858, 2864, 0, 0, 2870, 2844, 2845, - 2859, 2860, 2870, 2847, 2848, 2849, 2853, 2861, 2849, 2850, - 2855, 2858, 2852, 2853, 2854, 2855, 2857, 2863, 2859, 2860, - 2858, 2864, 2865, 2866, 2867, 2861, 2863, 2859, 2860, 2870, - - 2868, 2869, 2867, 2871, 2861, 2872, 2873, 2878, 2880, 2877, - 2895, 2866, 2881, 2869, 2863, 2865, 2868, 2871, 2885, 2865, - 2866, 2867, 2882, 2872, 2882, 2881, 2886, 2868, 2869, 2873, - 2871, 2877, 2872, 2873, 2878, 2880, 2877, 2883, 2891, 2881, - 2887, 2890, 2895, 2890, 2886, 2885, 2883, 2894, 2892, 2882, - 2901, 2899, 2904, 2886, 2894, 2887, 2897, 2899, 2902, 2906, - 2891, 2903, 2907, 0, 2883, 2891, 2892, 2887, 2890, 2908, - 2904, 2897, 2901, 2911, 2894, 2892, 2907, 2901, 2899, 2904, - 2902, 2906, 2908, 2897, 2912, 2902, 2906, 2903, 2903, 2907, - 2909, 2913, 2914, 2909, 2915, 2916, 2908, 0, 2919, 0, - - 2911, 2915, 2917, 2916, 2920, 2921, 2922, 0, 0, 2925, - 2914, 2912, 2926, 2924, 2923, 2925, 2909, 2909, 2913, 2914, - 2909, 2915, 2916, 2923, 2917, 2928, 2920, 2921, 2924, 2917, - 2919, 2920, 2921, 2922, 2926, 2927, 2925, 2930, 2932, 2926, - 2924, 2923, 0, 2929, 2927, 2929, 2933, 2934, 0, 2935, - 2936, 2937, 2940, 2942, 2938, 0, 0, 2928, 2936, 2940, - 2946, 2932, 2927, 2937, 2930, 2932, 2938, 2952, 2933, 2934, - 2929, 2944, 2945, 2933, 2934, 2935, 2935, 2936, 2937, 2940, - 2942, 2938, 2947, 2946, 2948, 2944, 2945, 2946, 2949, 2950, - 2951, 2956, 2953, 2952, 2952, 2948, 2949, 2954, 2944, 2945, - - 2947, 2955, 2955, 2960, 2961, 2957, 2954, 2965, 2950, 2947, - 2953, 2948, 2951, 2957, 2963, 2949, 2950, 2951, 2956, 2953, - 2963, 2969, 2967, 2971, 2954, 2968, 2970, 2973, 2955, 2975, - 2960, 2961, 2957, 2967, 2965, 2974, 2968, 2970, 2976, 2980, - 2977, 2963, 2974, 2969, 2977, 2971, 2983, 2975, 2969, 2967, - 2971, 2978, 2968, 2970, 2973, 2981, 2975, 2986, 2987, 2978, - 2991, 2982, 2974, 2999, 2986, 2980, 2980, 2977, 2981, 2982, - 2976, 2988, 2990, 2983, 2992, 2995, 2994, 2990, 2978, 2993, - 2996, 3000, 2981, 2994, 2986, 2998, 2997, 2991, 2982, 3000, - 2987, 2993, 2998, 2988, 2995, 2999, 2996, 3003, 2988, 2990, - - 3001, 2992, 2995, 2994, 2997, 3004, 2993, 2996, 3000, 3002, - 3005, 3006, 2998, 2997, 3007, 3001, 3002, 3004, 3011, 3012, - 3013, 2995, 3014, 3015, 3003, 3016, 3012, 3001, 3020, 3019, - 0, 3021, 3004, 3011, 3005, 3006, 3002, 3005, 3006, 3017, - 3007, 3007, 3023, 3025, 3031, 3011, 3012, 3015, 3017, 3014, - 3015, 3019, 3013, 3021, 3022, 3020, 3019, 3016, 3021, 3024, - 3024, 3027, 3022, 3028, 3030, 3029, 3017, 3029, 3033, 3024, - 3025, 3031, 3028, 3036, 3023, 3032, 3027, 3037, 3030, 3033, - 3034, 3022, 3046, 3032, 3038, 3041, 3024, 3024, 3027, 3042, - 3028, 3030, 3029, 3040, 3043, 3033, 3039, 3047, 3034, 3044, - - 3036, 3049, 3032, 0, 3037, 3054, 3038, 3034, 3060, 3039, - 3054, 3038, 3041, 3044, 3046, 3040, 3042, 3045, 3045, 3047, - 3040, 3043, 3052, 3039, 3047, 3056, 3044, 3058, 3049, 3055, - 3052, 3057, 3054, 3056, 3055, 3060, 3057, 3061, 3061, 3062, - 3066, 3064, 3063, 3065, 3045, 3067, 3069, 3062, 3064, 3052, - 3070, 3081, 3056, 3058, 3058, 3063, 3055, 3070, 3057, 3072, - 3076, 3065, 3078, 3071, 3061, 3082, 3062, 3066, 3064, 3063, - 3065, 3071, 3067, 3075, 3079, 3080, 3083, 3070, 3069, 3075, - 3082, 3072, 3084, 3081, 3085, 3087, 3072, 3076, 3080, 3078, - 3071, 3088, 3082, 3091, 0, 3083, 3079, 3089, 3090, 3092, - - 3075, 3079, 3080, 3083, 3089, 3090, 3085, 3093, 3087, 3084, - 3095, 3085, 3087, 3088, 3092, 3091, 3097, 3104, 3088, 3096, - 3091, 3100, 3101, 3097, 3089, 3090, 3092, 3096, 3093, 3095, - 3100, 3098, 3106, 3101, 3093, 3102, 3102, 3095, 3098, 3104, - 3108, 3103, 3109, 3097, 3104, 3102, 3096, 3103, 3100, 3101, - 3107, 3112, 3113, 3111, 3106, 3116, 3117, 3107, 3098, 3106, - 3111, 3118, 3102, 3102, 3109, 3122, 3113, 3123, 3103, 3109, - 3125, 3127, 3108, 3124, 3130, 3112, 3132, 3107, 3112, 3113, - 3111, 3124, 3116, 3117, 3118, 3128, 3128, 0, 3118, 3123, - 3129, 3129, 3122, 3134, 3123, 3131, 3131, 3125, 3127, 3132, - - 3124, 3130, 3136, 3132, 3135, 3138, 3141, 3137, 3143, 3144, - 3142, 0, 0, 3141, 3128, 3134, 3137, 3142, 3138, 3129, - 3134, 3145, 3135, 3148, 3131, 3148, 3149, 3151, 3145, 3136, - 3143, 3135, 3138, 3141, 3137, 3143, 3144, 3142, 3150, 3152, - 3154, 3155, 3156, 3159, 3157, 3151, 3149, 3158, 3145, 3154, - 3148, 3152, 3160, 3149, 3151, 3162, 3165, 3173, 3172, 3164, - 3161, 3150, 3157, 3155, 3164, 3150, 3152, 3154, 3155, 3156, - 3159, 3157, 3161, 3158, 3158, 3163, 3169, 3162, 3163, 3160, - 3167, 3166, 3162, 3166, 3168, 3172, 3175, 3161, 3165, 3173, - 3168, 3164, 3167, 3163, 3170, 3176, 3171, 3174, 3169, 3181, - - 3177, 0, 3163, 3169, 3171, 3163, 3178, 3167, 3166, 3183, - 3187, 3168, 3177, 3175, 3184, 3188, 3170, 3189, 3174, 3190, - 3192, 3170, 3176, 3171, 3174, 3193, 3181, 3177, 3178, 3194, - 3195, 3198, 3184, 3178, 3196, 3196, 3183, 3187, 3199, 3201, - 3204, 3184, 3188, 3202, 3189, 3200, 3190, 3192, 3206, 3198, - 3202, 3205, 3193, 3209, 3201, 3208, 3194, 3195, 3198, 3205, - 3210, 3196, 3207, 3200, 3211, 3199, 3201, 3204, 3209, 3208, - 3202, 3213, 3200, 3214, 3207, 3206, 3217, 3218, 3205, 3220, - 3209, 3221, 3208, 3213, 3224, 3217, 3210, 3210, 3223, 3207, - 3221, 3211, 3219, 3219, 3225, 3226, 3232, 0, 3213, 3231, - - 3214, 3218, 3227, 3217, 3218, 3220, 3220, 3225, 3221, 3228, - 3227, 3235, 3223, 3229, 3232, 3223, 3224, 3226, 3228, 3219, - 3231, 3225, 3226, 3232, 3229, 3236, 3231, 3239, 3239, 3227, - 3251, 3248, 3249, 3252, 3235, 3253, 3228, 3236, 3235, 3255, - 3229, 3257, 3259, 3258, 3251, 3257, 0, 3264, 3260, 3266, - 3262, 3264, 3236, 3248, 3239, 3260, 3249, 3251, 3248, 3249, - 3252, 3258, 3253, 3262, 3265, 3259, 3255, 3267, 3257, 3259, - 3258, 3266, 3268, 3270, 3264, 3260, 3266, 3262, 3269, 3272, - 3265, 3271, 3273, 3274, 3268, 3274, 3275, 3270, 3272, 3271, - 0, 3265, 3267, 3273, 3267, 3278, 3276, 3277, 3275, 3268, - - 3270, 3279, 3281, 3280, 3269, 3269, 3272, 3279, 3271, 3273, - 3274, 3282, 3277, 3275, 3276, 3283, 3289, 3278, 3282, 3287, - 3288, 3290, 3278, 3276, 3277, 3280, 3291, 3288, 3279, 3281, - 3280, 3292, 3287, 3293, 3294, 3297, 3295, 3283, 3282, 3290, - 0, 0, 3283, 3289, 3295, 3296, 3287, 3288, 3290, 3298, - 3304, 3299, 3296, 3291, 3300, 3301, 3300, 3292, 3292, 3297, - 3293, 3294, 3297, 3295, 3302, 3304, 3303, 3301, 3305, 0, - 3306, 3298, 3296, 3299, 3308, 3310, 3298, 3304, 3299, 3303, - 3307, 3300, 3301, 3312, 3313, 3317, 3311, 3307, 3315, 3320, - 3305, 3312, 3321, 3303, 3317, 3305, 3302, 3306, 3311, 3324, - - 3315, 3308, 3310, 3322, 3325, 3329, 3323, 3307, 3326, 0, - 3312, 3313, 3317, 3311, 3323, 3315, 3320, 3328, 3321, 3321, - 3327, 3326, 3322, 3330, 3332, 3328, 3338, 3329, 3344, 3339, - 3322, 3324, 3329, 3323, 3327, 3326, 3325, 3335, 3336, 3338, - 3342, 3341, 3344, 3335, 3328, 3336, 3343, 3327, 3341, 3345, - 3330, 3332, 3339, 3338, 3343, 3344, 3339, 3347, 3346, 3348, - 3349, 3355, 3342, 3345, 3335, 3336, 3346, 3342, 3341, 3353, - 3352, 3356, 3354, 3343, 3357, 3358, 3345, 3352, 3353, 3347, - 3354, 3348, 3359, 3360, 3347, 3346, 3348, 3349, 3355, 3361, - 3363, 3365, 3362, 3356, 3367, 3374, 3353, 3352, 3356, 3354, - - 3362, 3358, 3358, 3366, 3359, 3360, 3357, 3370, 3369, 3359, - 3360, 3361, 3371, 3380, 0, 3370, 3361, 3378, 3365, 3362, - 3372, 3367, 3363, 3398, 3376, 3366, 3401, 3374, 3372, 3373, - 3366, 3369, 3371, 3375, 3370, 3369, 0, 3373, 3376, 3371, - 3380, 3375, 3382, 3378, 3378, 3381, 3383, 3372, 3381, 3384, - 3398, 3376, 3385, 3401, 3383, 3386, 3373, 3384, 3387, 3392, - 3375, 3390, 3390, 3381, 3382, 3391, 3385, 3392, 3393, 3382, - 3388, 3395, 3381, 3383, 3394, 3381, 3384, 0, 0, 3385, - 3387, 3386, 3386, 3396, 3388, 3387, 3392, 3399, 3390, 3405, - 3400, 3391, 3391, 3395, 3393, 3393, 3397, 3388, 3395, 3402, - - 3394, 3394, 3403, 3396, 3397, 3404, 3408, 3417, 0, 3399, - 3396, 3405, 3406, 3404, 3399, 3400, 3405, 3400, 3411, 3402, - 3406, 3412, 3403, 3397, 3415, 0, 3402, 3409, 3413, 3403, - 3414, 3421, 3404, 3408, 3417, 3409, 3413, 3420, 3414, 3406, - 3411, 3418, 3422, 3412, 3419, 3411, 3424, 3425, 3412, 3418, - 3415, 3415, 3419, 3428, 3409, 3413, 3426, 3414, 3421, 3431, - 3434, 3435, 3422, 3420, 3420, 0, 0, 0, 3418, 3422, - 3432, 3419, 0, 3424, 3425, 3428, 3426, 3433, 3432, 0, - 3428, 3431, 0, 3426, 0, 3433, 3431, 3434, 3435, 0, - 0, 0, 0, 0, 0, 0, 0, 3432, 0, 0, - - 0, 0, 0, 0, 3433, 3439, 3439, 3439, 3439, 3439, - 3439, 3439, 3440, 3440, 3440, 3440, 3440, 3440, 3440, 3441, - 3441, 3441, 3441, 3441, 3441, 3441, 3442, 3442, 3442, 3442, - 3442, 3442, 3442, 3443, 3443, 3443, 3443, 3443, 3443, 3443, - 3444, 3444, 3444, 3444, 3444, 3444, 3444, 3445, 3445, 3445, - 3445, 3445, 3445, 3445, 3447, 3447, 0, 3447, 3447, 3447, - 3447, 3448, 3448, 0, 0, 0, 3448, 3448, 3449, 3449, - 0, 0, 3449, 0, 3449, 3450, 0, 0, 0, 0, - 0, 3450, 3451, 3451, 0, 0, 0, 3451, 3451, 3452, - 0, 0, 0, 0, 0, 3452, 3453, 3453, 0, 3453, - - 3453, 3453, 3453, 3454, 0, 0, 0, 0, 0, 3454, - 3455, 3455, 0, 0, 0, 3455, 3455, 3456, 3456, 0, - 3456, 3456, 3456, 3456, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, 3438, - 3438 - - } ; - -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; - -extern int yy_flex_debug; -int yy_flex_debug = 0; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -static int yy_more_flag = 0; -static int yy_more_len = 0; -#define yymore() ((yy_more_flag) = 1) -#define YY_MORE_ADJ (yy_more_len) -#define YY_RESTORE_YY_MORE_OFFSET -char *yytext; -#line 1 "util/configlexer.lex" -#line 2 "util/configlexer.lex" -/* - * configlexer.lex - lexical analyzer for unbound config file - * - * Copyright (c) 2001-2006, NLnet Labs. All rights reserved - * - * See LICENSE for the license. - * - */ - -/* because flex keeps having sign-unsigned compare problems that are unfixed*/ -#if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2)))) -#pragma GCC diagnostic ignored "-Wsign-compare" -#endif - -#include -#include -#ifdef HAVE_GLOB_H -# include -#endif - -#include "util/config_file.h" -#include "util/configparser.h" -void ub_c_error(const char *message); - -#if 0 -#define LEXOUT(s) printf s /* used ONLY when debugging */ -#else -#define LEXOUT(s) -#endif - -/** avoid warning in about fwrite return value */ -#define ECHO ub_c_error_msg("syntax error at text: %s", yytext) - -/** A parser variable, this is a statement in the config file which is - * of the form variable: value1 value2 ... nargs is the number of values. */ -#define YDVAR(nargs, var) \ - num_args=(nargs); \ - LEXOUT(("v(%s%d) ", yytext, num_args)); \ - if(num_args > 0) { BEGIN(val); } \ - return (var); - -struct inc_state { - char* filename; - int line; - YY_BUFFER_STATE buffer; - struct inc_state* next; - int inc_toplevel; -}; -static struct inc_state* config_include_stack = NULL; -static int inc_depth = 0; -static int inc_prev = 0; -static int num_args = 0; -static int inc_toplevel = 0; - -void init_cfg_parse(void) -{ - config_include_stack = NULL; - inc_depth = 0; - inc_prev = 0; - num_args = 0; - inc_toplevel = 0; -} - -static void config_start_include(const char* filename, int toplevel) -{ - FILE *input; - struct inc_state* s; - char* nm; - if(inc_depth+1 > 100000) { - ub_c_error_msg("too many include files"); - return; - } - if(*filename == '\0') { - ub_c_error_msg("empty include file name"); - return; - } - s = (struct inc_state*)malloc(sizeof(*s)); - if(!s) { - ub_c_error_msg("include %s: malloc failure", filename); - return; - } - if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot, - strlen(cfg_parser->chroot)) == 0) { - filename += strlen(cfg_parser->chroot); - } - nm = strdup(filename); - if(!nm) { - ub_c_error_msg("include %s: strdup failure", filename); - free(s); - return; - } - input = fopen(filename, "r"); - if(!input) { - ub_c_error_msg("cannot open include file '%s': %s", - filename, strerror(errno)); - free(s); - free(nm); - return; - } - LEXOUT(("switch_to_include_file(%s)\n", filename)); - inc_depth++; - s->filename = cfg_parser->filename; - s->line = cfg_parser->line; - s->buffer = YY_CURRENT_BUFFER; - s->inc_toplevel = inc_toplevel; - s->next = config_include_stack; - config_include_stack = s; - cfg_parser->filename = nm; - cfg_parser->line = 1; - inc_toplevel = toplevel; - yy_switch_to_buffer(yy_create_buffer(input,YY_BUF_SIZE)); -} - -static void config_start_include_glob(const char* filename, int toplevel) -{ - - /* check for wildcards */ -#ifdef HAVE_GLOB - glob_t g; - int i, r, flags; - if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && - !strchr(filename, '{') && !strchr(filename, '~'))) { - flags = 0 -#ifdef GLOB_ERR - | GLOB_ERR -#endif - /* do not set GLOB_NOSORT so the results are sorted - and in a predictable order. */ -#ifdef GLOB_BRACE - | GLOB_BRACE -#endif -#ifdef GLOB_TILDE - | GLOB_TILDE -#endif - ; - memset(&g, 0, sizeof(g)); - if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot, - strlen(cfg_parser->chroot)) == 0) { - filename += strlen(cfg_parser->chroot); - } - r = glob(filename, flags, NULL, &g); - if(r) { - /* some error */ - globfree(&g); - if(r == GLOB_NOMATCH) - return; /* no matches for pattern */ - config_start_include(filename, toplevel); /* let original deal with it */ - return; - } - /* process files found, if any */ - for(i=(int)g.gl_pathc-1; i>=0; i--) { - config_start_include(g.gl_pathv[i], toplevel); - } - globfree(&g); - return; - } -#endif /* HAVE_GLOB */ - - config_start_include(filename, toplevel); -} - -static void config_end_include(void) -{ - struct inc_state* s = config_include_stack; - --inc_depth; - if(!s) return; - free(cfg_parser->filename); - cfg_parser->filename = s->filename; - cfg_parser->line = s->line; - yy_delete_buffer(YY_CURRENT_BUFFER); - yy_switch_to_buffer(s->buffer); - config_include_stack = s->next; - inc_toplevel = s->inc_toplevel; - free(s); -} - -#ifndef yy_set_bol /* compat definition, for flex 2.4.6 */ -#define yy_set_bol(at_bol) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer(yyin,YY_BUF_SIZE ); \ - yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \ - } -#endif - -#define YY_NO_INPUT 1 -#line 191 "util/configlexer.lex" -#ifndef YY_NO_UNPUT -#define YY_NO_UNPUT 1 -#endif -#ifndef YY_NO_INPUT -#define YY_NO_INPUT 1 -#endif - -#line 3965 "" - -#define INITIAL 0 -#define quotedstring 1 -#define singlequotedstr 2 -#define include 3 -#define include_quoted 4 -#define val 5 -#define include_toplevel 6 -#define include_toplevel_quoted 7 - -#ifndef YY_NO_UNISTD_H -/* Special case for "unistd.h", since it is non-ANSI. We include it way - * down here because we want the user's section 1 to have been scanned first. - * The user has a chance to override it with an option. - */ -#include -#endif - -#ifndef YY_EXTRA_TYPE -#define YY_EXTRA_TYPE void * -#endif - -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 yyget_debug (void ); - -void yyset_debug (int debug_flag ); - -YY_EXTRA_TYPE yyget_extra (void ); - -void yyset_extra (YY_EXTRA_TYPE user_defined ); - -FILE *yyget_in (void ); - -void yyset_in (FILE * in_str ); - -FILE *yyget_out (void ); - -void yyset_out (FILE * out_str ); - -yy_size_t yyget_leng (void ); - -char *yyget_text (void ); - -int yyget_lineno (void ); - -void yyset_lineno (int line_number ); - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int yywrap (void ); -#else -extern int yywrap (void ); -#endif -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); -#endif - -#ifndef YY_NO_INPUT - -#ifdef __cplusplus -static int yyinput (void ); -#else -static int input (void ); -#endif - -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ -#ifndef ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO fwrite( yytext, yyleng, 1, yyout ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ - { \ - int c = '*'; \ - yy_size_t n; \ - for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else \ - { \ - errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ - { \ - if( errno != EINTR) \ - { \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - break; \ - } \ - errno=0; \ - clearerr(yyin); \ - } \ - }\ -\ - -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* end tables serialization structures and prototypes */ - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL_IS_OURS 1 - -extern int yylex (void); - -#define YY_DECL int yylex (void) -#endif /* !YY_DECL */ - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - YY_USER_ACTION - -/** The main scanner function which does all the work. - */ -YY_DECL -{ - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 211 "util/configlexer.lex" - -#line 4154 "" - - 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 ) - yyin = stdin; - - if ( ! yyout ) - yyout = stdout; - - if ( ! YY_CURRENT_BUFFER ) { - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); - } - - yy_load_buffer_state( ); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - (yy_more_len) = 0; - if ( (yy_more_flag) ) - { - (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); - (yy_more_flag) = 0; - } - yy_cp = (yy_c_buf_p); - - /* Support of yytext. */ - *yy_cp = (yy_hold_char); - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = (yy_start); -yy_match: - do - { - 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; - (yy_last_accepting_cpos) = yy_cp; - } - 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 >= 3439 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while ( yy_base[yy_current_state] != 9825 ); - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - if ( yy_act == 0 ) - { /* have to back up */ - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - yy_act = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - -do_action: /* This label is used only to access EOF actions. */ - - switch ( yy_act ) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = (yy_hold_char); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - -case 1: -YY_RULE_SETUP -#line 212 "util/configlexer.lex" -{ - LEXOUT(("SP ")); /* ignore */ } - YY_BREAK -case 2: -YY_RULE_SETUP -#line 214 "util/configlexer.lex" -{ - /* note that flex makes the longest match and '.' is any but not nl */ - LEXOUT(("comment(%s) ", yytext)); /* ignore */ } - YY_BREAK -case 3: -YY_RULE_SETUP -#line 217 "util/configlexer.lex" -{ YDVAR(0, VAR_SERVER) } - YY_BREAK -case 4: -YY_RULE_SETUP -#line 218 "util/configlexer.lex" -{ YDVAR(1, VAR_QNAME_MINIMISATION) } - YY_BREAK -case 5: -YY_RULE_SETUP -#line 219 "util/configlexer.lex" -{ YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) } - YY_BREAK -case 6: -YY_RULE_SETUP -#line 220 "util/configlexer.lex" -{ YDVAR(1, VAR_NUM_THREADS) } - YY_BREAK -case 7: -YY_RULE_SETUP -#line 221 "util/configlexer.lex" -{ YDVAR(1, VAR_VERBOSITY) } - YY_BREAK -case 8: -YY_RULE_SETUP -#line 222 "util/configlexer.lex" -{ YDVAR(1, VAR_PORT) } - YY_BREAK -case 9: -YY_RULE_SETUP -#line 223 "util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_RANGE) } - YY_BREAK -case 10: -YY_RULE_SETUP -#line 224 "util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_PORT_PERMIT) } - YY_BREAK -case 11: -YY_RULE_SETUP -#line 225 "util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_PORT_AVOID) } - YY_BREAK -case 12: -YY_RULE_SETUP -#line 226 "util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_NUM_TCP) } - YY_BREAK -case 13: -YY_RULE_SETUP -#line 227 "util/configlexer.lex" -{ YDVAR(1, VAR_INCOMING_NUM_TCP) } - YY_BREAK -case 14: -YY_RULE_SETUP -#line 228 "util/configlexer.lex" -{ YDVAR(1, VAR_DO_IP4) } - YY_BREAK -case 15: -YY_RULE_SETUP -#line 229 "util/configlexer.lex" -{ YDVAR(1, VAR_DO_IP6) } - YY_BREAK -case 16: -YY_RULE_SETUP -#line 230 "util/configlexer.lex" -{ YDVAR(1, VAR_PREFER_IP4) } - YY_BREAK -case 17: -YY_RULE_SETUP -#line 231 "util/configlexer.lex" -{ YDVAR(1, VAR_PREFER_IP6) } - YY_BREAK -case 18: -YY_RULE_SETUP -#line 232 "util/configlexer.lex" -{ YDVAR(1, VAR_DO_UDP) } - YY_BREAK -case 19: -YY_RULE_SETUP -#line 233 "util/configlexer.lex" -{ YDVAR(1, VAR_DO_TCP) } - YY_BREAK -case 20: -YY_RULE_SETUP -#line 234 "util/configlexer.lex" -{ YDVAR(1, VAR_TCP_UPSTREAM) } - YY_BREAK -case 21: -YY_RULE_SETUP -#line 235 "util/configlexer.lex" -{ YDVAR(1, VAR_TCP_MSS) } - YY_BREAK -case 22: -YY_RULE_SETUP -#line 236 "util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_TCP_MSS) } - YY_BREAK -case 23: -YY_RULE_SETUP -#line 237 "util/configlexer.lex" -{ YDVAR(1, VAR_TCP_IDLE_TIMEOUT) } - YY_BREAK -case 24: -YY_RULE_SETUP -#line 238 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_REUSE_TCP_QUERIES) } - YY_BREAK -case 25: -YY_RULE_SETUP -#line 239 "util/configlexer.lex" -{ YDVAR(1, VAR_TCP_REUSE_TIMEOUT) } - YY_BREAK -case 26: -YY_RULE_SETUP -#line 240 "util/configlexer.lex" -{ YDVAR(1, VAR_TCP_AUTH_QUERY_TIMEOUT) } - YY_BREAK -case 27: -YY_RULE_SETUP -#line 241 "util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } - YY_BREAK -case 28: -YY_RULE_SETUP -#line 242 "util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } - YY_BREAK -case 29: -YY_RULE_SETUP -#line 243 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_UPSTREAM) } - YY_BREAK -case 30: -YY_RULE_SETUP -#line 244 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_UPSTREAM) } - YY_BREAK -case 31: -YY_RULE_SETUP -#line 245 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_KEY) } - YY_BREAK -case 32: -YY_RULE_SETUP -#line 246 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_KEY) } - YY_BREAK -case 33: -YY_RULE_SETUP -#line 247 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_PEM) } - YY_BREAK -case 34: -YY_RULE_SETUP -#line 248 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_SERVICE_PEM) } - YY_BREAK -case 35: -YY_RULE_SETUP -#line 249 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_PORT) } - YY_BREAK -case 36: -YY_RULE_SETUP -#line 250 "util/configlexer.lex" -{ YDVAR(1, VAR_SSL_PORT) } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 251 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CERT_BUNDLE) } - YY_BREAK -case 38: -YY_RULE_SETUP -#line 252 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CERT_BUNDLE) } - YY_BREAK -case 39: -YY_RULE_SETUP -#line 253 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_WIN_CERT) } - YY_BREAK -case 40: -YY_RULE_SETUP -#line 254 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } - YY_BREAK -case 41: -YY_RULE_SETUP -#line 255 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } - YY_BREAK -case 42: -YY_RULE_SETUP -#line 256 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } - YY_BREAK -case 43: -YY_RULE_SETUP -#line 257 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 258 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 259 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CIPHERS) } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 260 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_CIPHERSUITES) } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 261 "util/configlexer.lex" -{ YDVAR(1, VAR_TLS_USE_SNI) } - YY_BREAK -case 48: -YY_RULE_SETUP -#line 262 "util/configlexer.lex" -{ YDVAR(1, VAR_HTTPS_PORT) } - YY_BREAK -case 49: -YY_RULE_SETUP -#line 263 "util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_ENDPOINT) } - YY_BREAK -case 50: -YY_RULE_SETUP -#line 264 "util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_MAX_STREAMS) } - YY_BREAK -case 51: -YY_RULE_SETUP -#line 265 "util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_QUERY_BUFFER_SIZE) } - YY_BREAK -case 52: -YY_RULE_SETUP -#line 266 "util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_RESPONSE_BUFFER_SIZE) } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 267 "util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_NODELAY) } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 268 "util/configlexer.lex" -{ YDVAR(1, VAR_HTTP_NOTLS_DOWNSTREAM) } - YY_BREAK -case 55: -YY_RULE_SETUP -#line 269 "util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSTEMD) } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 270 "util/configlexer.lex" -{ YDVAR(1, VAR_DO_DAEMONIZE) } - YY_BREAK -case 57: -YY_RULE_SETUP -#line 271 "util/configlexer.lex" -{ YDVAR(1, VAR_INTERFACE) } - YY_BREAK -case 58: -YY_RULE_SETUP -#line 272 "util/configlexer.lex" -{ YDVAR(1, VAR_INTERFACE) } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 273 "util/configlexer.lex" -{ YDVAR(1, VAR_OUTGOING_INTERFACE) } - YY_BREAK -case 60: -YY_RULE_SETUP -#line 274 "util/configlexer.lex" -{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) } - YY_BREAK -case 61: -YY_RULE_SETUP -#line 275 "util/configlexer.lex" -{ YDVAR(1, VAR_SO_RCVBUF) } - YY_BREAK -case 62: -YY_RULE_SETUP -#line 276 "util/configlexer.lex" -{ YDVAR(1, VAR_SO_SNDBUF) } - YY_BREAK -case 63: -YY_RULE_SETUP -#line 277 "util/configlexer.lex" -{ YDVAR(1, VAR_SO_REUSEPORT) } - YY_BREAK -case 64: -YY_RULE_SETUP -#line 278 "util/configlexer.lex" -{ YDVAR(1, VAR_IP_TRANSPARENT) } - YY_BREAK -case 65: -YY_RULE_SETUP -#line 279 "util/configlexer.lex" -{ YDVAR(1, VAR_IP_FREEBIND) } - YY_BREAK -case 66: -YY_RULE_SETUP -#line 280 "util/configlexer.lex" -{ YDVAR(1, VAR_IP_DSCP) } - YY_BREAK -case 67: -YY_RULE_SETUP -#line 281 "util/configlexer.lex" -{ YDVAR(1, VAR_CHROOT) } - YY_BREAK -case 68: -YY_RULE_SETUP -#line 282 "util/configlexer.lex" -{ YDVAR(1, VAR_USERNAME) } - YY_BREAK -case 69: -YY_RULE_SETUP -#line 283 "util/configlexer.lex" -{ YDVAR(1, VAR_DIRECTORY) } - YY_BREAK -case 70: -YY_RULE_SETUP -#line 284 "util/configlexer.lex" -{ YDVAR(1, VAR_LOGFILE) } - YY_BREAK -case 71: -YY_RULE_SETUP -#line 285 "util/configlexer.lex" -{ YDVAR(1, VAR_PIDFILE) } - YY_BREAK -case 72: -YY_RULE_SETUP -#line 286 "util/configlexer.lex" -{ YDVAR(1, VAR_ROOT_HINTS) } - YY_BREAK -case 73: -YY_RULE_SETUP -#line 287 "util/configlexer.lex" -{ YDVAR(1, VAR_STREAM_WAIT_SIZE) } - YY_BREAK -case 74: -YY_RULE_SETUP -#line 288 "util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) } - YY_BREAK -case 75: -YY_RULE_SETUP -#line 289 "util/configlexer.lex" -{ YDVAR(1, VAR_MSG_BUFFER_SIZE) } - YY_BREAK -case 76: -YY_RULE_SETUP -#line 290 "util/configlexer.lex" -{ YDVAR(1, VAR_MSG_CACHE_SIZE) } - YY_BREAK -case 77: -YY_RULE_SETUP -#line 291 "util/configlexer.lex" -{ YDVAR(1, VAR_MSG_CACHE_SLABS) } - YY_BREAK -case 78: -YY_RULE_SETUP -#line 292 "util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_CACHE_SIZE) } - YY_BREAK -case 79: -YY_RULE_SETUP -#line 293 "util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_CACHE_SLABS) } - YY_BREAK -case 80: -YY_RULE_SETUP -#line 294 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MAX_TTL) } - YY_BREAK -case 81: -YY_RULE_SETUP -#line 295 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } - YY_BREAK -case 82: -YY_RULE_SETUP -#line 296 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHE_MIN_TTL) } - YY_BREAK -case 83: -YY_RULE_SETUP -#line 297 "util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_HOST_TTL) } - YY_BREAK -case 84: -YY_RULE_SETUP -#line 298 "util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_LAME_TTL) } - YY_BREAK -case 85: -YY_RULE_SETUP -#line 299 "util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_SLABS) } - YY_BREAK -case 86: -YY_RULE_SETUP -#line 300 "util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } - YY_BREAK -case 87: -YY_RULE_SETUP -#line 301 "util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } - YY_BREAK -case 88: -YY_RULE_SETUP -#line 302 "util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } - YY_BREAK -case 89: -YY_RULE_SETUP -#line 303 "util/configlexer.lex" -{ YDVAR(1, VAR_INFRA_KEEP_PROBING) } - YY_BREAK -case 90: -YY_RULE_SETUP -#line 304 "util/configlexer.lex" -{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } - YY_BREAK -case 91: -YY_RULE_SETUP -#line 305 "util/configlexer.lex" -{ YDVAR(1, VAR_JOSTLE_TIMEOUT) } - YY_BREAK -case 92: -YY_RULE_SETUP -#line 306 "util/configlexer.lex" -{ YDVAR(1, VAR_DELAY_CLOSE) } - YY_BREAK -case 93: -YY_RULE_SETUP -#line 307 "util/configlexer.lex" -{ YDVAR(1, VAR_UDP_CONNECT) } - YY_BREAK -case 94: -YY_RULE_SETUP -#line 308 "util/configlexer.lex" -{ YDVAR(1, VAR_TARGET_FETCH_POLICY) } - YY_BREAK -case 95: -YY_RULE_SETUP -#line 309 "util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } - YY_BREAK -case 96: -YY_RULE_SETUP -#line 310 "util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } - YY_BREAK -case 97: -YY_RULE_SETUP -#line 311 "util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_GLUE) } - YY_BREAK -case 98: -YY_RULE_SETUP -#line 312 "util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } - YY_BREAK -case 99: -YY_RULE_SETUP -#line 313 "util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } - YY_BREAK -case 100: -YY_RULE_SETUP -#line 314 "util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } - YY_BREAK -case 101: -YY_RULE_SETUP -#line 315 "util/configlexer.lex" -{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } - YY_BREAK -case 102: -YY_RULE_SETUP -#line 316 "util/configlexer.lex" -{ YDVAR(1, VAR_USE_CAPS_FOR_ID) } - YY_BREAK -case 103: -YY_RULE_SETUP -#line 317 "util/configlexer.lex" -{ YDVAR(1, VAR_CAPS_WHITELIST) } - YY_BREAK -case 104: -YY_RULE_SETUP -#line 318 "util/configlexer.lex" -{ YDVAR(1, VAR_CAPS_WHITELIST) } - YY_BREAK -case 105: -YY_RULE_SETUP -#line 319 "util/configlexer.lex" -{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } - YY_BREAK -case 106: -YY_RULE_SETUP -#line 320 "util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_ADDRESS) } - YY_BREAK -case 107: -YY_RULE_SETUP -#line 321 "util/configlexer.lex" -{ YDVAR(1, VAR_PRIVATE_DOMAIN) } - YY_BREAK -case 108: -YY_RULE_SETUP -#line 322 "util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH_KEY) } - YY_BREAK -case 109: -YY_RULE_SETUP -#line 323 "util/configlexer.lex" -{ YDVAR(1, VAR_PREFETCH) } - YY_BREAK -case 110: -YY_RULE_SETUP -#line 324 "util/configlexer.lex" -{ YDVAR(1, VAR_DENY_ANY) } - YY_BREAK -case 111: -YY_RULE_SETUP -#line 325 "util/configlexer.lex" -{ YDVAR(0, VAR_STUB_ZONE) } - YY_BREAK -case 112: -YY_RULE_SETUP -#line 326 "util/configlexer.lex" -{ YDVAR(1, VAR_NAME) } - YY_BREAK -case 113: -YY_RULE_SETUP -#line 327 "util/configlexer.lex" -{ YDVAR(1, VAR_STUB_ADDR) } - YY_BREAK -case 114: -YY_RULE_SETUP -#line 328 "util/configlexer.lex" -{ YDVAR(1, VAR_STUB_HOST) } - YY_BREAK -case 115: -YY_RULE_SETUP -#line 329 "util/configlexer.lex" -{ YDVAR(1, VAR_STUB_PRIME) } - YY_BREAK -case 116: -YY_RULE_SETUP -#line 330 "util/configlexer.lex" -{ YDVAR(1, VAR_STUB_FIRST) } - YY_BREAK -case 117: -YY_RULE_SETUP -#line 331 "util/configlexer.lex" -{ YDVAR(1, VAR_STUB_NO_CACHE) } - YY_BREAK -case 118: -YY_RULE_SETUP -#line 332 "util/configlexer.lex" -{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } - YY_BREAK -case 119: -YY_RULE_SETUP -#line 333 "util/configlexer.lex" -{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) } - YY_BREAK -case 120: -YY_RULE_SETUP -#line 334 "util/configlexer.lex" -{ YDVAR(0, VAR_FORWARD_ZONE) } - YY_BREAK -case 121: -YY_RULE_SETUP -#line 335 "util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_ADDR) } - YY_BREAK -case 122: -YY_RULE_SETUP -#line 336 "util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_HOST) } - YY_BREAK -case 123: -YY_RULE_SETUP -#line 337 "util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_FIRST) } - YY_BREAK -case 124: -YY_RULE_SETUP -#line 338 "util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_NO_CACHE) } - YY_BREAK -case 125: -YY_RULE_SETUP -#line 339 "util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } - YY_BREAK -case 126: -YY_RULE_SETUP -#line 340 "util/configlexer.lex" -{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } - YY_BREAK -case 127: -YY_RULE_SETUP -#line 341 "util/configlexer.lex" -{ YDVAR(0, VAR_AUTH_ZONE) } - YY_BREAK -case 128: -YY_RULE_SETUP -#line 342 "util/configlexer.lex" -{ YDVAR(0, VAR_RPZ) } - YY_BREAK -case 129: -YY_RULE_SETUP -#line 343 "util/configlexer.lex" -{ YDVAR(1, VAR_TAGS) } - YY_BREAK -case 130: -YY_RULE_SETUP -#line 344 "util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) } - YY_BREAK -case 131: -YY_RULE_SETUP -#line 345 "util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) } - YY_BREAK -case 132: -YY_RULE_SETUP -#line 346 "util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG) } - YY_BREAK -case 133: -YY_RULE_SETUP -#line 347 "util/configlexer.lex" -{ YDVAR(1, VAR_RPZ_LOG_NAME) } - YY_BREAK -case 134: -YY_RULE_SETUP -#line 348 "util/configlexer.lex" -{ YDVAR(1, VAR_ZONEFILE) } - YY_BREAK -case 135: -YY_RULE_SETUP -#line 349 "util/configlexer.lex" -{ YDVAR(1, VAR_MASTER) } - YY_BREAK -case 136: -YY_RULE_SETUP -#line 350 "util/configlexer.lex" -{ YDVAR(1, VAR_MASTER) } - YY_BREAK -case 137: -YY_RULE_SETUP -#line 351 "util/configlexer.lex" -{ YDVAR(1, VAR_URL) } - YY_BREAK -case 138: -YY_RULE_SETUP -#line 352 "util/configlexer.lex" -{ YDVAR(1, VAR_ALLOW_NOTIFY) } - YY_BREAK -case 139: -YY_RULE_SETUP -#line 353 "util/configlexer.lex" -{ YDVAR(1, VAR_FOR_DOWNSTREAM) } - YY_BREAK -case 140: -YY_RULE_SETUP -#line 354 "util/configlexer.lex" -{ YDVAR(1, VAR_FOR_UPSTREAM) } - YY_BREAK -case 141: -YY_RULE_SETUP -#line 355 "util/configlexer.lex" -{ YDVAR(1, VAR_FALLBACK_ENABLED) } - YY_BREAK -case 142: -YY_RULE_SETUP -#line 356 "util/configlexer.lex" -{ YDVAR(0, VAR_VIEW) } - YY_BREAK -case 143: -YY_RULE_SETUP -#line 357 "util/configlexer.lex" -{ YDVAR(1, VAR_VIEW_FIRST) } - YY_BREAK -case 144: -YY_RULE_SETUP -#line 358 "util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } - YY_BREAK -case 145: -YY_RULE_SETUP -#line 359 "util/configlexer.lex" -{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } - YY_BREAK -case 146: -YY_RULE_SETUP -#line 360 "util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL) } - YY_BREAK -case 147: -YY_RULE_SETUP -#line 361 "util/configlexer.lex" -{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) } - YY_BREAK -case 148: -YY_RULE_SETUP -#line 362 "util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } - YY_BREAK -case 149: -YY_RULE_SETUP -#line 363 "util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } - YY_BREAK -case 150: -YY_RULE_SETUP -#line 364 "util/configlexer.lex" -{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } - YY_BREAK -case 151: -YY_RULE_SETUP -#line 365 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } - YY_BREAK -case 152: -YY_RULE_SETUP -#line 366 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } - YY_BREAK -case 153: -YY_RULE_SETUP -#line 367 "util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } - YY_BREAK -case 154: -YY_RULE_SETUP -#line 368 "util/configlexer.lex" -{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } - YY_BREAK -case 155: -YY_RULE_SETUP -#line 369 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } - YY_BREAK -case 156: -YY_RULE_SETUP -#line 370 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } - YY_BREAK -case 157: -YY_RULE_SETUP -#line 371 "util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_IDENTITY) } - YY_BREAK -case 158: -YY_RULE_SETUP -#line 372 "util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_VERSION) } - YY_BREAK -case 159: -YY_RULE_SETUP -#line 373 "util/configlexer.lex" -{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) } - YY_BREAK -case 160: -YY_RULE_SETUP -#line 374 "util/configlexer.lex" -{ YDVAR(1, VAR_IDENTITY) } - YY_BREAK -case 161: -YY_RULE_SETUP -#line 375 "util/configlexer.lex" -{ YDVAR(1, VAR_VERSION) } - YY_BREAK -case 162: -YY_RULE_SETUP -#line 376 "util/configlexer.lex" -{ YDVAR(1, VAR_MODULE_CONF) } - YY_BREAK -case 163: -YY_RULE_SETUP -#line 377 "util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR) } - YY_BREAK -case 164: -YY_RULE_SETUP -#line 378 "util/configlexer.lex" -{ YDVAR(1, VAR_DLV_ANCHOR_FILE) } - YY_BREAK -case 165: -YY_RULE_SETUP -#line 379 "util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) } - YY_BREAK -case 166: -YY_RULE_SETUP -#line 380 "util/configlexer.lex" -{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } - YY_BREAK -case 167: -YY_RULE_SETUP -#line 381 "util/configlexer.lex" -{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) } - YY_BREAK -case 168: -YY_RULE_SETUP -#line 382 "util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR) } - YY_BREAK -case 169: -YY_RULE_SETUP -#line 383 "util/configlexer.lex" -{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } - YY_BREAK -case 170: -YY_RULE_SETUP -#line 384 "util/configlexer.lex" -{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) } - YY_BREAK -case 171: -YY_RULE_SETUP -#line 385 "util/configlexer.lex" -{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) } - YY_BREAK -case 172: -YY_RULE_SETUP -#line 386 "util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } - YY_BREAK -case 173: -YY_RULE_SETUP -#line 387 "util/configlexer.lex" -{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } - YY_BREAK -case 174: -YY_RULE_SETUP -#line 388 "util/configlexer.lex" -{ YDVAR(1, VAR_BOGUS_TTL) } - YY_BREAK -case 175: -YY_RULE_SETUP -#line 389 "util/configlexer.lex" -{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } - YY_BREAK -case 176: -YY_RULE_SETUP -#line 390 "util/configlexer.lex" -{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } - YY_BREAK -case 177: -YY_RULE_SETUP -#line 391 "util/configlexer.lex" -{ YDVAR(1, VAR_AGGRESSIVE_NSEC) } - YY_BREAK -case 178: -YY_RULE_SETUP -#line 392 "util/configlexer.lex" -{ YDVAR(1, VAR_IGNORE_CD_FLAG) } - YY_BREAK -case 179: -YY_RULE_SETUP -#line 393 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED) } - YY_BREAK -case 180: -YY_RULE_SETUP -#line 394 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) } - YY_BREAK -case 181: -YY_RULE_SETUP -#line 395 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } - YY_BREAK -case 182: -YY_RULE_SETUP -#line 396 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) } - YY_BREAK -case 183: -YY_RULE_SETUP -#line 397 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) } - YY_BREAK -case 184: -YY_RULE_SETUP -#line 398 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) } - YY_BREAK -case 185: -YY_RULE_SETUP -#line 399 "util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_DSA) } - YY_BREAK -case 186: -YY_RULE_SETUP -#line 400 "util/configlexer.lex" -{ YDVAR(1, VAR_FAKE_SHA1) } - YY_BREAK -case 187: -YY_RULE_SETUP -#line 401 "util/configlexer.lex" -{ YDVAR(1, VAR_VAL_LOG_LEVEL) } - YY_BREAK -case 188: -YY_RULE_SETUP -#line 402 "util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SIZE) } - YY_BREAK -case 189: -YY_RULE_SETUP -#line 403 "util/configlexer.lex" -{ YDVAR(1, VAR_KEY_CACHE_SLABS) } - YY_BREAK -case 190: -YY_RULE_SETUP -#line 404 "util/configlexer.lex" -{ YDVAR(1, VAR_NEG_CACHE_SIZE) } - YY_BREAK -case 191: -YY_RULE_SETUP -#line 405 "util/configlexer.lex" -{ - YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } - YY_BREAK -case 192: -YY_RULE_SETUP -#line 407 "util/configlexer.lex" -{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) } - YY_BREAK -case 193: -YY_RULE_SETUP -#line 408 "util/configlexer.lex" -{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) } - YY_BREAK -case 194: -YY_RULE_SETUP -#line 409 "util/configlexer.lex" -{ YDVAR(1, VAR_ADD_HOLDDOWN) } - YY_BREAK -case 195: -YY_RULE_SETUP -#line 410 "util/configlexer.lex" -{ YDVAR(1, VAR_DEL_HOLDDOWN) } - YY_BREAK -case 196: -YY_RULE_SETUP -#line 411 "util/configlexer.lex" -{ YDVAR(1, VAR_KEEP_MISSING) } - YY_BREAK -case 197: -YY_RULE_SETUP -#line 412 "util/configlexer.lex" -{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } - YY_BREAK -case 198: -YY_RULE_SETUP -#line 413 "util/configlexer.lex" -{ YDVAR(1, VAR_USE_SYSLOG) } - YY_BREAK -case 199: -YY_RULE_SETUP -#line 414 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_IDENTITY) } - YY_BREAK -case 200: -YY_RULE_SETUP -#line 415 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TIME_ASCII) } - YY_BREAK -case 201: -YY_RULE_SETUP -#line 416 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_QUERIES) } - YY_BREAK -case 202: -YY_RULE_SETUP -#line 417 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_REPLIES) } - YY_BREAK -case 203: -YY_RULE_SETUP -#line 418 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } - YY_BREAK -case 204: -YY_RULE_SETUP -#line 419 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } - YY_BREAK -case 205: -YY_RULE_SETUP -#line 420 "util/configlexer.lex" -{ YDVAR(1, VAR_LOG_SERVFAIL) } - YY_BREAK -case 206: -YY_RULE_SETUP -#line 421 "util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE) } - YY_BREAK -case 207: -YY_RULE_SETUP -#line 422 "util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA) } - YY_BREAK -case 208: -YY_RULE_SETUP -#line 423 "util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA_PTR) } - YY_BREAK -case 209: -YY_RULE_SETUP -#line 424 "util/configlexer.lex" -{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } - YY_BREAK -case 210: -YY_RULE_SETUP -#line 425 "util/configlexer.lex" -{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } - YY_BREAK -case 211: -YY_RULE_SETUP -#line 426 "util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_INTERVAL) } - YY_BREAK -case 212: -YY_RULE_SETUP -#line 427 "util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } - YY_BREAK -case 213: -YY_RULE_SETUP -#line 428 "util/configlexer.lex" -{ YDVAR(1, VAR_EXTENDED_STATISTICS) } - YY_BREAK -case 214: -YY_RULE_SETUP -#line 429 "util/configlexer.lex" -{ YDVAR(1, VAR_SHM_ENABLE) } - YY_BREAK -case 215: -YY_RULE_SETUP -#line 430 "util/configlexer.lex" -{ YDVAR(1, VAR_SHM_KEY) } - YY_BREAK -case 216: -YY_RULE_SETUP -#line 431 "util/configlexer.lex" -{ YDVAR(0, VAR_REMOTE_CONTROL) } - YY_BREAK -case 217: -YY_RULE_SETUP -#line 432 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_ENABLE) } - YY_BREAK -case 218: -YY_RULE_SETUP -#line 433 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_INTERFACE) } - YY_BREAK -case 219: -YY_RULE_SETUP -#line 434 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_PORT) } - YY_BREAK -case 220: -YY_RULE_SETUP -#line 435 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_USE_CERT) } - YY_BREAK -case 221: -YY_RULE_SETUP -#line 436 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_KEY_FILE) } - YY_BREAK -case 222: -YY_RULE_SETUP -#line 437 "util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_CERT_FILE) } - YY_BREAK -case 223: -YY_RULE_SETUP -#line 438 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_KEY_FILE) } - YY_BREAK -case 224: -YY_RULE_SETUP -#line 439 "util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_CERT_FILE) } - YY_BREAK -case 225: -YY_RULE_SETUP -#line 440 "util/configlexer.lex" -{ YDVAR(1, VAR_PYTHON_SCRIPT) } - YY_BREAK -case 226: -YY_RULE_SETUP -#line 441 "util/configlexer.lex" -{ YDVAR(0, VAR_PYTHON) } - YY_BREAK -case 227: -YY_RULE_SETUP -#line 442 "util/configlexer.lex" -{ YDVAR(1, VAR_DYNLIB_FILE) } - YY_BREAK -case 228: -YY_RULE_SETUP -#line 443 "util/configlexer.lex" -{ YDVAR(0, VAR_DYNLIB) } - YY_BREAK -case 229: -YY_RULE_SETUP -#line 444 "util/configlexer.lex" -{ YDVAR(1, VAR_DOMAIN_INSECURE) } - YY_BREAK -case 230: -YY_RULE_SETUP -#line 445 "util/configlexer.lex" -{ YDVAR(1, VAR_MINIMAL_RESPONSES) } - YY_BREAK -case 231: -YY_RULE_SETUP -#line 446 "util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } - YY_BREAK -case 232: -YY_RULE_SETUP -#line 447 "util/configlexer.lex" -{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } - YY_BREAK -case 233: -YY_RULE_SETUP -#line 448 "util/configlexer.lex" -{ YDVAR(1, VAR_MAX_UDP_SIZE) } - YY_BREAK -case 234: -YY_RULE_SETUP -#line 449 "util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_PREFIX) } - YY_BREAK -case 235: -YY_RULE_SETUP -#line 450 "util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_SYNTHALL) } - YY_BREAK -case 236: -YY_RULE_SETUP -#line 451 "util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) } - YY_BREAK -case 237: -YY_RULE_SETUP -#line 452 "util/configlexer.lex" -{ YDVAR(1, VAR_DEFINE_TAG) } - YY_BREAK -case 238: -YY_RULE_SETUP -#line 453 "util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } - YY_BREAK -case 239: -YY_RULE_SETUP -#line 454 "util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } - YY_BREAK -case 240: -YY_RULE_SETUP -#line 455 "util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } - YY_BREAK -case 241: -YY_RULE_SETUP -#line 456 "util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } - YY_BREAK -case 242: -YY_RULE_SETUP -#line 457 "util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } - YY_BREAK -case 243: -YY_RULE_SETUP -#line 458 "util/configlexer.lex" -{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } - YY_BREAK -case 244: -YY_RULE_SETUP -#line 459 "util/configlexer.lex" -{ YDVAR(0, VAR_DNSTAP) } - YY_BREAK -case 245: -YY_RULE_SETUP -#line 460 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_ENABLE) } - YY_BREAK -case 246: -YY_RULE_SETUP -#line 461 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) } - YY_BREAK -case 247: -YY_RULE_SETUP -#line 462 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } - YY_BREAK -case 248: -YY_RULE_SETUP -#line 463 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IP) } - YY_BREAK -case 249: -YY_RULE_SETUP -#line 464 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS) } - YY_BREAK -case 250: -YY_RULE_SETUP -#line 465 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) } - YY_BREAK -case 251: -YY_RULE_SETUP -#line 466 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) } - YY_BREAK -case 252: -YY_RULE_SETUP -#line 467 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) } - YY_BREAK -case 253: -YY_RULE_SETUP -#line 469 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) } - YY_BREAK -case 254: -YY_RULE_SETUP -#line 471 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } - YY_BREAK -case 255: -YY_RULE_SETUP -#line 472 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } - YY_BREAK -case 256: -YY_RULE_SETUP -#line 473 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IDENTITY) } - YY_BREAK -case 257: -YY_RULE_SETUP -#line 474 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_VERSION) } - YY_BREAK -case 258: -YY_RULE_SETUP -#line 475 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } - YY_BREAK -case 259: -YY_RULE_SETUP -#line 477 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } - YY_BREAK -case 260: -YY_RULE_SETUP -#line 479 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } - YY_BREAK -case 261: -YY_RULE_SETUP -#line 481 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } - YY_BREAK -case 262: -YY_RULE_SETUP -#line 483 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } - YY_BREAK -case 263: -YY_RULE_SETUP -#line 485 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } - YY_BREAK -case 264: -YY_RULE_SETUP -#line 487 "util/configlexer.lex" -{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } - YY_BREAK -case 265: -YY_RULE_SETUP -#line 488 "util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT) } - YY_BREAK -case 266: -YY_RULE_SETUP -#line 489 "util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT) } - YY_BREAK -case 267: -YY_RULE_SETUP -#line 490 "util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) } - YY_BREAK -case 268: -YY_RULE_SETUP -#line 491 "util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SLABS) } - YY_BREAK -case 269: -YY_RULE_SETUP -#line 492 "util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) } - YY_BREAK -case 270: -YY_RULE_SETUP -#line 493 "util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SIZE) } - YY_BREAK -case 271: -YY_RULE_SETUP -#line 494 "util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } - YY_BREAK -case 272: -YY_RULE_SETUP -#line 495 "util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } - YY_BREAK -case 273: -YY_RULE_SETUP -#line 496 "util/configlexer.lex" -{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } - YY_BREAK -case 274: -YY_RULE_SETUP -#line 497 "util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_FACTOR) } - YY_BREAK -case 275: -YY_RULE_SETUP -#line 498 "util/configlexer.lex" -{ YDVAR(1, VAR_LOW_RTT) } - YY_BREAK -case 276: -YY_RULE_SETUP -#line 499 "util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_NUM) } - YY_BREAK -case 277: -YY_RULE_SETUP -#line 500 "util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } - YY_BREAK -case 278: -YY_RULE_SETUP -#line 501 "util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } - YY_BREAK -case 279: -YY_RULE_SETUP -#line 502 "util/configlexer.lex" -{ YDVAR(1, VAR_FAST_SERVER_PERMIL) } - YY_BREAK -case 280: -YY_RULE_SETUP -#line 503 "util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_TAG) } - YY_BREAK -case 281: -YY_RULE_SETUP -#line 504 "util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP) } - YY_BREAK -case 282: -YY_RULE_SETUP -#line 505 "util/configlexer.lex" -{ YDVAR(2, VAR_RESPONSE_IP_DATA) } - YY_BREAK -case 283: -YY_RULE_SETUP -#line 506 "util/configlexer.lex" -{ YDVAR(0, VAR_DNSCRYPT) } - YY_BREAK -case 284: -YY_RULE_SETUP -#line 507 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_ENABLE) } - YY_BREAK -case 285: -YY_RULE_SETUP -#line 508 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PORT) } - YY_BREAK -case 286: -YY_RULE_SETUP -#line 509 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) } - YY_BREAK -case 287: -YY_RULE_SETUP -#line 510 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } - YY_BREAK -case 288: -YY_RULE_SETUP -#line 511 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } - YY_BREAK -case 289: -YY_RULE_SETUP -#line 512 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } - YY_BREAK -case 290: -YY_RULE_SETUP -#line 513 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } - YY_BREAK -case 291: -YY_RULE_SETUP -#line 515 "util/configlexer.lex" -{ - YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } - YY_BREAK -case 292: -YY_RULE_SETUP -#line 517 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } - YY_BREAK -case 293: -YY_RULE_SETUP -#line 518 "util/configlexer.lex" -{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } - YY_BREAK -case 294: -YY_RULE_SETUP -#line 519 "util/configlexer.lex" -{ YDVAR(1, VAR_PAD_RESPONSES) } - YY_BREAK -case 295: -YY_RULE_SETUP -#line 520 "util/configlexer.lex" -{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) } - YY_BREAK -case 296: -YY_RULE_SETUP -#line 521 "util/configlexer.lex" -{ YDVAR(1, VAR_PAD_QUERIES) } - YY_BREAK -case 297: -YY_RULE_SETUP -#line 522 "util/configlexer.lex" -{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) } - YY_BREAK -case 298: -YY_RULE_SETUP -#line 523 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_ENABLED) } - YY_BREAK -case 299: -YY_RULE_SETUP -#line 524 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } - YY_BREAK -case 300: -YY_RULE_SETUP -#line 525 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_HOOK) } - YY_BREAK -case 301: -YY_RULE_SETUP -#line 526 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) } - YY_BREAK -case 302: -YY_RULE_SETUP -#line 527 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } - YY_BREAK -case 303: -YY_RULE_SETUP -#line 528 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_WHITELIST) } - YY_BREAK -case 304: -YY_RULE_SETUP -#line 529 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSECMOD_STRICT) } - YY_BREAK -case 305: -YY_RULE_SETUP -#line 530 "util/configlexer.lex" -{ YDVAR(0, VAR_CACHEDB) } - YY_BREAK -case 306: -YY_RULE_SETUP -#line 531 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_BACKEND) } - YY_BREAK -case 307: -YY_RULE_SETUP -#line 532 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_SECRETSEED) } - YY_BREAK -case 308: -YY_RULE_SETUP -#line 533 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISHOST) } - YY_BREAK -case 309: -YY_RULE_SETUP -#line 534 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISPORT) } - YY_BREAK -case 310: -YY_RULE_SETUP -#line 535 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } - YY_BREAK -case 311: -YY_RULE_SETUP -#line 536 "util/configlexer.lex" -{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) } - YY_BREAK -case 312: -YY_RULE_SETUP -#line 537 "util/configlexer.lex" -{ YDVAR(0, VAR_IPSET) } - YY_BREAK -case 313: -YY_RULE_SETUP -#line 538 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V4) } - YY_BREAK -case 314: -YY_RULE_SETUP -#line 539 "util/configlexer.lex" -{ YDVAR(1, VAR_IPSET_NAME_V6) } - YY_BREAK -case 315: -YY_RULE_SETUP -#line 540 "util/configlexer.lex" -{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } - YY_BREAK -case 316: -YY_RULE_SETUP -#line 541 "util/configlexer.lex" -{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } - YY_BREAK -case 317: -YY_RULE_SETUP -#line 542 "util/configlexer.lex" -{ YDVAR(2, VAR_EDNS_CLIENT_STRING) } - YY_BREAK -case 318: -YY_RULE_SETUP -#line 543 "util/configlexer.lex" -{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) } - YY_BREAK -case 319: -YY_RULE_SETUP -#line 544 "util/configlexer.lex" -{ YDVAR(1, VAR_NSID ) } - YY_BREAK -case 320: -/* rule 320 can match eol */ -YY_RULE_SETUP -#line 545 "util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++; } - YY_BREAK -/* Quoted strings. Strip leading and ending quotes */ -case 321: -YY_RULE_SETUP -#line 548 "util/configlexer.lex" -{ BEGIN(quotedstring); LEXOUT(("QS ")); } - YY_BREAK -case YY_STATE_EOF(quotedstring): -#line 549 "util/configlexer.lex" -{ - yyerror("EOF inside quoted string"); - if(--num_args == 0) { BEGIN(INITIAL); } - else { BEGIN(val); } -} - YY_BREAK -case 322: -YY_RULE_SETUP -#line 554 "util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK -case 323: -/* rule 323 can match eol */ -YY_RULE_SETUP -#line 555 "util/configlexer.lex" -{ yyerror("newline inside quoted string, no end \""); - cfg_parser->line++; BEGIN(INITIAL); } - YY_BREAK -case 324: -YY_RULE_SETUP -#line 557 "util/configlexer.lex" -{ - LEXOUT(("QE ")); - if(--num_args == 0) { BEGIN(INITIAL); } - else { BEGIN(val); } - yytext[yyleng - 1] = '\0'; - yylval.str = strdup(yytext); - if(!yylval.str) - yyerror("out of memory"); - return STRING_ARG; -} - YY_BREAK -/* Single Quoted strings. Strip leading and ending quotes */ -case 325: -YY_RULE_SETUP -#line 569 "util/configlexer.lex" -{ BEGIN(singlequotedstr); LEXOUT(("SQS ")); } - YY_BREAK -case YY_STATE_EOF(singlequotedstr): -#line 570 "util/configlexer.lex" -{ - yyerror("EOF inside quoted string"); - if(--num_args == 0) { BEGIN(INITIAL); } - else { BEGIN(val); } -} - YY_BREAK -case 326: -YY_RULE_SETUP -#line 575 "util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK -case 327: -/* rule 327 can match eol */ -YY_RULE_SETUP -#line 576 "util/configlexer.lex" -{ yyerror("newline inside quoted string, no end '"); - cfg_parser->line++; BEGIN(INITIAL); } - YY_BREAK -case 328: -YY_RULE_SETUP -#line 578 "util/configlexer.lex" -{ - LEXOUT(("SQE ")); - if(--num_args == 0) { BEGIN(INITIAL); } - else { BEGIN(val); } - yytext[yyleng - 1] = '\0'; - yylval.str = strdup(yytext); - if(!yylval.str) - yyerror("out of memory"); - return STRING_ARG; -} - YY_BREAK -/* include: directive */ -case 329: -YY_RULE_SETUP -#line 590 "util/configlexer.lex" -{ - LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } - YY_BREAK -case YY_STATE_EOF(include): -#line 592 "util/configlexer.lex" -{ - yyerror("EOF inside include directive"); - BEGIN(inc_prev); -} - YY_BREAK -case 330: -YY_RULE_SETUP -#line 596 "util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK -case 331: -/* rule 331 can match eol */ -YY_RULE_SETUP -#line 597 "util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} - YY_BREAK -case 332: -YY_RULE_SETUP -#line 598 "util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } - YY_BREAK -case 333: -YY_RULE_SETUP -#line 599 "util/configlexer.lex" -{ - LEXOUT(("Iunquotedstr(%s) ", yytext)); - config_start_include_glob(yytext, 0); - BEGIN(inc_prev); -} - YY_BREAK -case YY_STATE_EOF(include_quoted): -#line 604 "util/configlexer.lex" -{ - yyerror("EOF inside quoted string"); - BEGIN(inc_prev); -} - YY_BREAK -case 334: -YY_RULE_SETUP -#line 608 "util/configlexer.lex" -{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } - YY_BREAK -case 335: -/* rule 335 can match eol */ -YY_RULE_SETUP -#line 609 "util/configlexer.lex" -{ yyerror("newline before \" in include name"); - cfg_parser->line++; BEGIN(inc_prev); } - YY_BREAK -case 336: -YY_RULE_SETUP -#line 611 "util/configlexer.lex" -{ - LEXOUT(("IQE ")); - yytext[yyleng - 1] = '\0'; - config_start_include_glob(yytext, 0); - BEGIN(inc_prev); -} - YY_BREAK -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(val): -#line 617 "util/configlexer.lex" -{ - LEXOUT(("LEXEOF ")); - yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ - if (!config_include_stack) { - yyterminate(); - } else { - int prev_toplevel = inc_toplevel; - fclose(yyin); - config_end_include(); - if(prev_toplevel) return (VAR_FORCE_TOPLEVEL); - } -} - YY_BREAK -/* include-toplevel: directive */ -case 337: -YY_RULE_SETUP -#line 631 "util/configlexer.lex" -{ - LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel); -} - YY_BREAK -case YY_STATE_EOF(include_toplevel): -#line 634 "util/configlexer.lex" -{ - yyerror("EOF inside include_toplevel directive"); - BEGIN(inc_prev); -} - YY_BREAK -case 338: -YY_RULE_SETUP -#line 638 "util/configlexer.lex" -{ LEXOUT(("ITSP ")); /* ignore */ } - YY_BREAK -case 339: -/* rule 339 can match eol */ -YY_RULE_SETUP -#line 639 "util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++; } - YY_BREAK -case 340: -YY_RULE_SETUP -#line 640 "util/configlexer.lex" -{ LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); } - YY_BREAK -case 341: -YY_RULE_SETUP -#line 641 "util/configlexer.lex" -{ - LEXOUT(("ITunquotedstr(%s) ", yytext)); - config_start_include_glob(yytext, 1); - BEGIN(inc_prev); - return (VAR_FORCE_TOPLEVEL); -} - YY_BREAK -case YY_STATE_EOF(include_toplevel_quoted): -#line 647 "util/configlexer.lex" -{ - yyerror("EOF inside quoted string"); - BEGIN(inc_prev); -} - YY_BREAK -case 342: -YY_RULE_SETUP -#line 651 "util/configlexer.lex" -{ LEXOUT(("ITSTR(%s) ", yytext)); yymore(); } - YY_BREAK -case 343: -/* rule 343 can match eol */ -YY_RULE_SETUP -#line 652 "util/configlexer.lex" -{ - yyerror("newline before \" in include name"); - cfg_parser->line++; BEGIN(inc_prev); -} - YY_BREAK -case 344: -YY_RULE_SETUP -#line 656 "util/configlexer.lex" -{ - LEXOUT(("ITQE ")); - yytext[yyleng - 1] = '\0'; - config_start_include_glob(yytext, 1); - BEGIN(inc_prev); - return (VAR_FORCE_TOPLEVEL); -} - YY_BREAK -case 345: -YY_RULE_SETUP -#line 664 "util/configlexer.lex" -{ LEXOUT(("unquotedstr(%s) ", yytext)); - if(--num_args == 0) { BEGIN(INITIAL); } - yylval.str = strdup(yytext); return STRING_ARG; } - YY_BREAK -case 346: -YY_RULE_SETUP -#line 668 "util/configlexer.lex" -{ - ub_c_error_msg("unknown keyword '%s'", yytext); - } - YY_BREAK -case 347: -YY_RULE_SETUP -#line 672 "util/configlexer.lex" -{ - ub_c_error_msg("stray '%s'", yytext); - } - YY_BREAK -case 348: -YY_RULE_SETUP -#line 676 "util/configlexer.lex" -ECHO; - YY_BREAK -#line 6121 "" - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = (yy_hold_char); - YY_RESTORE_YY_MORE_OFFSET - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) - { - /* 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 - * 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; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++(yy_c_buf_p); - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = (yy_c_buf_p); - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_END_OF_FILE: - { - (yy_did_buffer_switch_on_eof) = 0; - - if ( yywrap( ) ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, 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 - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = - (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - (yy_c_buf_p) = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ -} /* end of yylex */ - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ -static int yy_get_next_buffer (void) -{ - 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] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; - - else - { - 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; - - int yy_c_buf_p_offset = - (int) ((yy_c_buf_p) - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - yy_size_t new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - - number_to_move - 1; - - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - if ( (yy_n_chars) == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart(yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - 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. */ - yy_size_t 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,new_size ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } - - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; - - (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; - - return ret_val; -} - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - - static yy_state_type yy_get_previous_state (void) -{ - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = (yy_start); - - for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) - { - 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; - (yy_last_accepting_cpos) = yy_cp; - } - 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 >= 3439 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - } - - return yy_current_state; -} - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) -{ - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); - - register YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - 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 >= 3439 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 3438); - - return yy_is_jam ? 0 : yy_current_state; -} - -#ifndef YY_NO_INPUT -#ifdef __cplusplus - static int yyinput (void) -#else - static int input (void) -#endif - -{ - int c; - - *(yy_c_buf_p) = (yy_hold_char); - - if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - /* This was really a NUL. */ - *(yy_c_buf_p) = '\0'; - - else - { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); - ++(yy_c_buf_p); - - switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart(yyin ); - - /*FALLTHROUGH*/ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap( ) ) - return 0; - - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = (yytext_ptr) + offset; - break; - } - } - } - - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ - (yy_hold_char) = *++(yy_c_buf_p); - - return c; -} -#endif /* ifndef YY_NO_INPUT */ - -/** Immediately switch to a different input stream. - * @param input_file A readable stream. - * - * @note This function does not reset the start condition to @c INITIAL . - */ - void yyrestart (FILE * input_file ) -{ - - if ( ! YY_CURRENT_BUFFER ){ - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); - } - - yy_init_buffer(YY_CURRENT_BUFFER,input_file ); - yy_load_buffer_state( ); -} - -/** Switch to a different input buffer. - * @param new_buffer The new input buffer. - * - */ - void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) -{ - - /* TODO. We should be able to replace this entire function body - * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); - */ - yyensure_buffer_stack (); - if ( YY_CURRENT_BUFFER == new_buffer ) - return; - - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_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 - * to go ahead and always set it. - */ - (yy_did_buffer_switch_on_eof) = 1; -} - -static void yy_load_buffer_state (void) -{ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; - (yy_hold_char) = *(yy_c_buf_p); -} - -/** Allocate and initialize an input buffer state. - * @param file A readable stream. - * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * - * @return the allocated buffer state. - */ - YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) -{ - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_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(b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer(b,file ); - - return b; -} - -/** Destroy the buffer. - * @param b a buffer created with yy_create_buffer() - * - */ - void yy_delete_buffer (YY_BUFFER_STATE b ) -{ - - if ( ! b ) - return; - - if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ - YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - yyfree((void *) b->yy_ch_buf ); - - yyfree((void *) b ); -} - -#ifndef __cplusplus -extern int isatty (int ); -#endif /* __cplusplus */ - -/* 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. - */ - static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) - -{ - int oerrno = errno; - - yy_flush_buffer(b ); - - b->yy_input_file = file; - 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. - * In that case, we don't want to reset the lineno or column. - */ - if (b != YY_CURRENT_BUFFER){ - b->yy_bs_lineno = 1; - b->yy_bs_column = 0; - } - - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; - - errno = oerrno; -} - -/** Discard all buffered characters. On the next scan, YY_INPUT will be called. - * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * - */ - void yy_flush_buffer (YY_BUFFER_STATE b ) -{ - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); -} - -/** Pushes the new state onto the stack. The new state becomes - * the current state. This function will allocate the stack - * if necessary. - * @param new_buffer The new state. - * - */ -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) -{ - if (new_buffer == NULL) - return; - - yyensure_buffer_stack(); - - /* This block is copied from yy_switch_to_buffer. */ - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - /* Only push if top exists. Otherwise, replace top. */ - if (YY_CURRENT_BUFFER) - (yy_buffer_stack_top)++; - YY_CURRENT_BUFFER_LVALUE = new_buffer; - - /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; -} - -/** Removes and deletes the top of the stack, if present. - * The next element becomes the new top. - * - */ -void yypop_buffer_state (void) -{ - if (!YY_CURRENT_BUFFER) - return; - - yy_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( ); - (yy_did_buffer_switch_on_eof) = 1; - } -} - -/* Allocates the stack if it does not exist. - * Guarantees space for at least one push. - */ -static void yyensure_buffer_stack (void) -{ - yy_size_t num_to_alloc; - - if (!(yy_buffer_stack)) { - - /* First allocation is just for 2 elements, since we don't know if this - * 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; - (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_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; - } - - if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ - - /* Increase the buffer to prepare for a possible push. */ - 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), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); - (yy_buffer_stack_max) = num_to_alloc; - } -} - -/** Setup the input buffer state to scan directly from a user-specified character buffer. - * @param base the character buffer - * @param size the size in bytes of the character buffer - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) -{ - YY_BUFFER_STATE b; - - if ( size < 2 || - 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 0; - - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - - 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 = 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 ); - - return b; -} - -/** Setup the input buffer state to scan a string. The next call to yylex() 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. - */ -YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) -{ - - return yy_scan_bytes(yystr,strlen(yystr) ); -} - -/** Setup the input buffer state to scan the given bytes. The next call to yylex() will - * scan from a @e copy of @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 (yyconst char * yybytes, yy_size_t _yybytes_len ) -{ - YY_BUFFER_STATE b; - char *buf; - yy_size_t n, i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; - buf = (char *) yyalloc(n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_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 ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; -} - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -static void yy_fatal_error (yyconst char* msg ) -{ - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); -} - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = (yy_hold_char); \ - (yy_c_buf_p) = yytext + yyless_macro_arg; \ - (yy_hold_char) = *(yy_c_buf_p); \ - *(yy_c_buf_p) = '\0'; \ - yyleng = yyless_macro_arg; \ - } \ - while ( 0 ) - -/* Accessor methods (get/set functions) to struct members. */ - -/** Get the current line number. - * - */ -int yyget_lineno (void) -{ - - return yylineno; -} - -/** Get the input stream. - * - */ -FILE *yyget_in (void) -{ - return yyin; -} - -/** Get the output stream. - * - */ -FILE *yyget_out (void) -{ - return yyout; -} - -/** Get the length of the current token. - * - */ -yy_size_t yyget_leng (void) -{ - return yyleng; -} - -/** Get the current token. - * - */ - -char *yyget_text (void) -{ - return yytext; -} - -/** Set the current line number. - * @param line_number - * - */ -void yyset_lineno (int line_number ) -{ - - yylineno = line_number; -} - -/** Set the input stream. This does not discard the current - * input buffer. - * @param in_str A readable stream. - * - * @see yy_switch_to_buffer - */ -void yyset_in (FILE * in_str ) -{ - yyin = in_str ; -} - -void yyset_out (FILE * out_str ) -{ - yyout = out_str ; -} - -int yyget_debug (void) -{ - return yy_flex_debug; -} - -void yyset_debug (int bdebug ) -{ - yy_flex_debug = 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. - */ - - (yy_buffer_stack) = 0; - (yy_buffer_stack_top) = 0; - (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; - (yy_init) = 0; - (yy_start) = 0; - -/* Defined in main.c */ -#ifdef YY_STDINIT - yyin = stdin; - yyout = stdout; -#else - yyin = (FILE *) 0; - yyout = (FILE *) 0; -#endif - - /* For future reference: Set errno on error, since we are called by - * yylex_init() - */ - return 0; -} - -/* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy (void) -{ - - /* Pop the buffer stack, destroying each element. */ - while(YY_CURRENT_BUFFER){ - yy_delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - yypop_buffer_state(); - } - - /* Destroy the stack itself. */ - yyfree((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. */ - yy_init_globals( ); - - return 0; -} - -/* - * Internal utility routines. - */ - -#ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -{ - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; -} -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) -{ - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; -} -#endif - -void *yyalloc (yy_size_t size ) -{ - return (void *) malloc( size ); -} - -void *yyrealloc (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 - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); -} - -void yyfree (void * ptr ) -{ - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ -} - -#define YYTABLES_NAME "yytables" - -#line 676 "util/configlexer.lex" - +#line 676 "./util/configlexer.lex" diff --git a/util/configparser.c b/util/configparser.c index e37e5551b..2b3fcb558 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -1,14 +1,14 @@ -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made by GNU Bison 3.6.4. */ -/* Skeleton implementation for Bison's Yacc-like parsers in C +/* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -16,9 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -36,6 +34,10 @@ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. @@ -47,7 +49,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.3" +#define YYBISON_VERSION "3.6.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -55,331 +57,407 @@ /* Pure parsers. */ #define YYPURE 0 -/* Using locations. */ -#define YYLSP_NEEDED 0 +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 -/* Tokens. */ + +/* First part of user prologue. */ +#line 38 "./util/configparser.y" + +#include "config.h" + +#include +#include +#include +#include +#include + +#include "util/configyyrename.h" +#include "util/config_file.h" +#include "util/net_help.h" + +int ub_c_lex(void); +void ub_c_error(const char *message); + +static void validate_respip_action(const char* action); + +/* these need to be global, otherwise they cannot be used inside yacc */ +extern struct config_parser_state* cfg_parser; + +#if 0 +#define OUTYY(s) printf s /* used ONLY when debugging */ +#else +#define OUTYY(s) +#endif + + +#line 100 "util/configparser.c" + +# ifndef YY_CAST +# ifdef __cplusplus +# define YY_CAST(Type, Val) static_cast (Val) +# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast (Val) +# else +# define YY_CAST(Type, Val) ((Type) (Val)) +# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) +# endif +# endif +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# else +# define YY_NULLPTR ((void*)0) +# endif +# endif + +/* Use api.header.include to #include this header + instead of duplicating it here. */ +#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED +# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token kinds. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - SPACE = 258, - LETTER = 259, - NEWLINE = 260, - COMMENT = 261, - COLON = 262, - ANY = 263, - ZONESTR = 264, - STRING_ARG = 265, - VAR_FORCE_TOPLEVEL = 266, - VAR_SERVER = 267, - VAR_VERBOSITY = 268, - VAR_NUM_THREADS = 269, - VAR_PORT = 270, - VAR_OUTGOING_RANGE = 271, - VAR_INTERFACE = 272, - VAR_PREFER_IP4 = 273, - VAR_DO_IP4 = 274, - VAR_DO_IP6 = 275, - VAR_PREFER_IP6 = 276, - VAR_DO_UDP = 277, - VAR_DO_TCP = 278, - VAR_TCP_MSS = 279, - VAR_OUTGOING_TCP_MSS = 280, - VAR_TCP_IDLE_TIMEOUT = 281, - VAR_EDNS_TCP_KEEPALIVE = 282, - VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283, - VAR_CHROOT = 284, - VAR_USERNAME = 285, - VAR_DIRECTORY = 286, - VAR_LOGFILE = 287, - VAR_PIDFILE = 288, - VAR_MSG_CACHE_SIZE = 289, - VAR_MSG_CACHE_SLABS = 290, - VAR_NUM_QUERIES_PER_THREAD = 291, - VAR_RRSET_CACHE_SIZE = 292, - VAR_RRSET_CACHE_SLABS = 293, - VAR_OUTGOING_NUM_TCP = 294, - VAR_INFRA_HOST_TTL = 295, - VAR_INFRA_LAME_TTL = 296, - VAR_INFRA_CACHE_SLABS = 297, - VAR_INFRA_CACHE_NUMHOSTS = 298, - VAR_INFRA_CACHE_LAME_SIZE = 299, - VAR_NAME = 300, - VAR_STUB_ZONE = 301, - VAR_STUB_HOST = 302, - VAR_STUB_ADDR = 303, - VAR_TARGET_FETCH_POLICY = 304, - VAR_HARDEN_SHORT_BUFSIZE = 305, - VAR_HARDEN_LARGE_QUERIES = 306, - VAR_FORWARD_ZONE = 307, - VAR_FORWARD_HOST = 308, - VAR_FORWARD_ADDR = 309, - VAR_DO_NOT_QUERY_ADDRESS = 310, - VAR_HIDE_IDENTITY = 311, - VAR_HIDE_VERSION = 312, - VAR_IDENTITY = 313, - VAR_VERSION = 314, - VAR_HARDEN_GLUE = 315, - VAR_MODULE_CONF = 316, - VAR_TRUST_ANCHOR_FILE = 317, - VAR_TRUST_ANCHOR = 318, - VAR_VAL_OVERRIDE_DATE = 319, - VAR_BOGUS_TTL = 320, - VAR_VAL_CLEAN_ADDITIONAL = 321, - VAR_VAL_PERMISSIVE_MODE = 322, - VAR_INCOMING_NUM_TCP = 323, - VAR_MSG_BUFFER_SIZE = 324, - VAR_KEY_CACHE_SIZE = 325, - VAR_KEY_CACHE_SLABS = 326, - VAR_TRUSTED_KEYS_FILE = 327, - VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328, - VAR_USE_SYSLOG = 329, - VAR_OUTGOING_INTERFACE = 330, - VAR_ROOT_HINTS = 331, - VAR_DO_NOT_QUERY_LOCALHOST = 332, - VAR_CACHE_MAX_TTL = 333, - VAR_HARDEN_DNSSEC_STRIPPED = 334, - VAR_ACCESS_CONTROL = 335, - VAR_LOCAL_ZONE = 336, - VAR_LOCAL_DATA = 337, - VAR_INTERFACE_AUTOMATIC = 338, - VAR_STATISTICS_INTERVAL = 339, - VAR_DO_DAEMONIZE = 340, - VAR_USE_CAPS_FOR_ID = 341, - VAR_STATISTICS_CUMULATIVE = 342, - VAR_OUTGOING_PORT_PERMIT = 343, - VAR_OUTGOING_PORT_AVOID = 344, - VAR_DLV_ANCHOR_FILE = 345, - VAR_DLV_ANCHOR = 346, - VAR_NEG_CACHE_SIZE = 347, - VAR_HARDEN_REFERRAL_PATH = 348, - VAR_PRIVATE_ADDRESS = 349, - VAR_PRIVATE_DOMAIN = 350, - VAR_REMOTE_CONTROL = 351, - VAR_CONTROL_ENABLE = 352, - VAR_CONTROL_INTERFACE = 353, - VAR_CONTROL_PORT = 354, - VAR_SERVER_KEY_FILE = 355, - VAR_SERVER_CERT_FILE = 356, - VAR_CONTROL_KEY_FILE = 357, - VAR_CONTROL_CERT_FILE = 358, - VAR_CONTROL_USE_CERT = 359, - VAR_TCP_REUSE_TIMEOUT = 360, - VAR_MAX_REUSE_TCP_QUERIES = 361, - VAR_EXTENDED_STATISTICS = 362, - VAR_LOCAL_DATA_PTR = 363, - VAR_JOSTLE_TIMEOUT = 364, - VAR_STUB_PRIME = 365, - VAR_UNWANTED_REPLY_THRESHOLD = 366, - VAR_LOG_TIME_ASCII = 367, - VAR_DOMAIN_INSECURE = 368, - VAR_PYTHON = 369, - VAR_PYTHON_SCRIPT = 370, - VAR_VAL_SIG_SKEW_MIN = 371, - VAR_VAL_SIG_SKEW_MAX = 372, - VAR_CACHE_MIN_TTL = 373, - VAR_VAL_LOG_LEVEL = 374, - VAR_AUTO_TRUST_ANCHOR_FILE = 375, - VAR_KEEP_MISSING = 376, - VAR_ADD_HOLDDOWN = 377, - VAR_DEL_HOLDDOWN = 378, - VAR_SO_RCVBUF = 379, - VAR_EDNS_BUFFER_SIZE = 380, - VAR_PREFETCH = 381, - VAR_PREFETCH_KEY = 382, - VAR_SO_SNDBUF = 383, - VAR_SO_REUSEPORT = 384, - VAR_HARDEN_BELOW_NXDOMAIN = 385, - VAR_IGNORE_CD_FLAG = 386, - VAR_LOG_QUERIES = 387, - VAR_LOG_REPLIES = 388, - VAR_LOG_LOCAL_ACTIONS = 389, - VAR_TCP_UPSTREAM = 390, - VAR_SSL_UPSTREAM = 391, - VAR_TCP_AUTH_QUERY_TIMEOUT = 392, - VAR_SSL_SERVICE_KEY = 393, - VAR_SSL_SERVICE_PEM = 394, - VAR_SSL_PORT = 395, - VAR_FORWARD_FIRST = 396, - VAR_STUB_SSL_UPSTREAM = 397, - VAR_FORWARD_SSL_UPSTREAM = 398, - VAR_TLS_CERT_BUNDLE = 399, - VAR_HTTPS_PORT = 400, - VAR_HTTP_ENDPOINT = 401, - VAR_HTTP_MAX_STREAMS = 402, - VAR_HTTP_QUERY_BUFFER_SIZE = 403, - VAR_HTTP_RESPONSE_BUFFER_SIZE = 404, - VAR_HTTP_NODELAY = 405, - VAR_HTTP_NOTLS_DOWNSTREAM = 406, - VAR_STUB_FIRST = 407, - VAR_MINIMAL_RESPONSES = 408, - VAR_RRSET_ROUNDROBIN = 409, - VAR_MAX_UDP_SIZE = 410, - VAR_DELAY_CLOSE = 411, - VAR_UDP_CONNECT = 412, - VAR_UNBLOCK_LAN_ZONES = 413, - VAR_INSECURE_LAN_ZONES = 414, - VAR_INFRA_CACHE_MIN_RTT = 415, - VAR_INFRA_KEEP_PROBING = 416, - VAR_DNS64_PREFIX = 417, - VAR_DNS64_SYNTHALL = 418, - VAR_DNS64_IGNORE_AAAA = 419, - VAR_DNSTAP = 420, - VAR_DNSTAP_ENABLE = 421, - VAR_DNSTAP_SOCKET_PATH = 422, - VAR_DNSTAP_IP = 423, - VAR_DNSTAP_TLS = 424, - VAR_DNSTAP_TLS_SERVER_NAME = 425, - VAR_DNSTAP_TLS_CERT_BUNDLE = 426, - VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 427, - VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 428, - VAR_DNSTAP_SEND_IDENTITY = 429, - VAR_DNSTAP_SEND_VERSION = 430, - VAR_DNSTAP_BIDIRECTIONAL = 431, - VAR_DNSTAP_IDENTITY = 432, - VAR_DNSTAP_VERSION = 433, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 434, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 435, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 436, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 437, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 438, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 439, - VAR_RESPONSE_IP_TAG = 440, - VAR_RESPONSE_IP = 441, - VAR_RESPONSE_IP_DATA = 442, - VAR_HARDEN_ALGO_DOWNGRADE = 443, - VAR_IP_TRANSPARENT = 444, - VAR_IP_DSCP = 445, - VAR_DISABLE_DNSSEC_LAME_CHECK = 446, - VAR_IP_RATELIMIT = 447, - VAR_IP_RATELIMIT_SLABS = 448, - VAR_IP_RATELIMIT_SIZE = 449, - VAR_RATELIMIT = 450, - VAR_RATELIMIT_SLABS = 451, - VAR_RATELIMIT_SIZE = 452, - VAR_RATELIMIT_FOR_DOMAIN = 453, - VAR_RATELIMIT_BELOW_DOMAIN = 454, - VAR_IP_RATELIMIT_FACTOR = 455, - VAR_RATELIMIT_FACTOR = 456, - VAR_SEND_CLIENT_SUBNET = 457, - VAR_CLIENT_SUBNET_ZONE = 458, - VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 459, - VAR_CLIENT_SUBNET_OPCODE = 460, - VAR_MAX_CLIENT_SUBNET_IPV4 = 461, - VAR_MAX_CLIENT_SUBNET_IPV6 = 462, - VAR_MIN_CLIENT_SUBNET_IPV4 = 463, - VAR_MIN_CLIENT_SUBNET_IPV6 = 464, - VAR_MAX_ECS_TREE_SIZE_IPV4 = 465, - VAR_MAX_ECS_TREE_SIZE_IPV6 = 466, - VAR_CAPS_WHITELIST = 467, - VAR_CACHE_MAX_NEGATIVE_TTL = 468, - VAR_PERMIT_SMALL_HOLDDOWN = 469, - VAR_QNAME_MINIMISATION = 470, - VAR_QNAME_MINIMISATION_STRICT = 471, - VAR_IP_FREEBIND = 472, - VAR_DEFINE_TAG = 473, - VAR_LOCAL_ZONE_TAG = 474, - VAR_ACCESS_CONTROL_TAG = 475, - VAR_LOCAL_ZONE_OVERRIDE = 476, - VAR_ACCESS_CONTROL_TAG_ACTION = 477, - VAR_ACCESS_CONTROL_TAG_DATA = 478, - VAR_VIEW = 479, - VAR_ACCESS_CONTROL_VIEW = 480, - VAR_VIEW_FIRST = 481, - VAR_SERVE_EXPIRED = 482, - VAR_SERVE_EXPIRED_TTL = 483, - VAR_SERVE_EXPIRED_TTL_RESET = 484, - VAR_SERVE_EXPIRED_REPLY_TTL = 485, - VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 486, - VAR_SERVE_ORIGINAL_TTL = 487, - VAR_FAKE_DSA = 488, - VAR_FAKE_SHA1 = 489, - VAR_LOG_IDENTITY = 490, - VAR_HIDE_TRUSTANCHOR = 491, - VAR_TRUST_ANCHOR_SIGNALING = 492, - VAR_AGGRESSIVE_NSEC = 493, - VAR_USE_SYSTEMD = 494, - VAR_SHM_ENABLE = 495, - VAR_SHM_KEY = 496, - VAR_ROOT_KEY_SENTINEL = 497, - VAR_DNSCRYPT = 498, - VAR_DNSCRYPT_ENABLE = 499, - VAR_DNSCRYPT_PORT = 500, - VAR_DNSCRYPT_PROVIDER = 501, - VAR_DNSCRYPT_SECRET_KEY = 502, - VAR_DNSCRYPT_PROVIDER_CERT = 503, - VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 504, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 505, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 506, - VAR_DNSCRYPT_NONCE_CACHE_SIZE = 507, - VAR_DNSCRYPT_NONCE_CACHE_SLABS = 508, - VAR_PAD_RESPONSES = 509, - VAR_PAD_RESPONSES_BLOCK_SIZE = 510, - VAR_PAD_QUERIES = 511, - VAR_PAD_QUERIES_BLOCK_SIZE = 512, - VAR_IPSECMOD_ENABLED = 513, - VAR_IPSECMOD_HOOK = 514, - VAR_IPSECMOD_IGNORE_BOGUS = 515, - VAR_IPSECMOD_MAX_TTL = 516, - VAR_IPSECMOD_WHITELIST = 517, - VAR_IPSECMOD_STRICT = 518, - VAR_CACHEDB = 519, - VAR_CACHEDB_BACKEND = 520, - VAR_CACHEDB_SECRETSEED = 521, - VAR_CACHEDB_REDISHOST = 522, - VAR_CACHEDB_REDISPORT = 523, - VAR_CACHEDB_REDISTIMEOUT = 524, - VAR_CACHEDB_REDISEXPIRERECORDS = 525, - VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 526, - VAR_FOR_UPSTREAM = 527, - VAR_AUTH_ZONE = 528, - VAR_ZONEFILE = 529, - VAR_MASTER = 530, - VAR_URL = 531, - VAR_FOR_DOWNSTREAM = 532, - VAR_FALLBACK_ENABLED = 533, - VAR_TLS_ADDITIONAL_PORT = 534, - VAR_LOW_RTT = 535, - VAR_LOW_RTT_PERMIL = 536, - VAR_FAST_SERVER_PERMIL = 537, - VAR_FAST_SERVER_NUM = 538, - VAR_ALLOW_NOTIFY = 539, - VAR_TLS_WIN_CERT = 540, - VAR_TCP_CONNECTION_LIMIT = 541, - VAR_FORWARD_NO_CACHE = 542, - VAR_STUB_NO_CACHE = 543, - VAR_LOG_SERVFAIL = 544, - VAR_DENY_ANY = 545, - VAR_UNKNOWN_SERVER_TIME_LIMIT = 546, - VAR_LOG_TAG_QUERYREPLY = 547, - VAR_STREAM_WAIT_SIZE = 548, - VAR_TLS_CIPHERS = 549, - VAR_TLS_CIPHERSUITES = 550, - VAR_TLS_USE_SNI = 551, - VAR_IPSET = 552, - VAR_IPSET_NAME_V4 = 553, - VAR_IPSET_NAME_V6 = 554, - VAR_TLS_SESSION_TICKET_KEYS = 555, - VAR_RPZ = 556, - VAR_TAGS = 557, - VAR_RPZ_ACTION_OVERRIDE = 558, - VAR_RPZ_CNAME_OVERRIDE = 559, - VAR_RPZ_LOG = 560, - VAR_RPZ_LOG_NAME = 561, - VAR_DYNLIB = 562, - VAR_DYNLIB_FILE = 563, - VAR_EDNS_CLIENT_STRING = 564, - VAR_EDNS_CLIENT_STRING_OPCODE = 565, - VAR_NSID = 566, - VAR_ZONEMD_PERMISSIVE_MODE = 567, - VAR_ZONEMD_REJECT_ABSENCE = 568 - }; + enum yytokentype + { + YYEMPTY = -2, + YYEOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + SPACE = 258, /* SPACE */ + LETTER = 259, /* LETTER */ + NEWLINE = 260, /* NEWLINE */ + COMMENT = 261, /* COMMENT */ + COLON = 262, /* COLON */ + ANY = 263, /* ANY */ + ZONESTR = 264, /* ZONESTR */ + STRING_ARG = 265, /* STRING_ARG */ + VAR_FORCE_TOPLEVEL = 266, /* VAR_FORCE_TOPLEVEL */ + VAR_SERVER = 267, /* VAR_SERVER */ + VAR_VERBOSITY = 268, /* VAR_VERBOSITY */ + VAR_NUM_THREADS = 269, /* VAR_NUM_THREADS */ + VAR_PORT = 270, /* VAR_PORT */ + VAR_OUTGOING_RANGE = 271, /* VAR_OUTGOING_RANGE */ + VAR_INTERFACE = 272, /* VAR_INTERFACE */ + VAR_PREFER_IP4 = 273, /* VAR_PREFER_IP4 */ + VAR_DO_IP4 = 274, /* VAR_DO_IP4 */ + VAR_DO_IP6 = 275, /* VAR_DO_IP6 */ + VAR_PREFER_IP6 = 276, /* VAR_PREFER_IP6 */ + VAR_DO_UDP = 277, /* VAR_DO_UDP */ + VAR_DO_TCP = 278, /* VAR_DO_TCP */ + VAR_TCP_MSS = 279, /* VAR_TCP_MSS */ + VAR_OUTGOING_TCP_MSS = 280, /* VAR_OUTGOING_TCP_MSS */ + VAR_TCP_IDLE_TIMEOUT = 281, /* VAR_TCP_IDLE_TIMEOUT */ + VAR_EDNS_TCP_KEEPALIVE = 282, /* VAR_EDNS_TCP_KEEPALIVE */ + VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT */ + VAR_CHROOT = 284, /* VAR_CHROOT */ + VAR_USERNAME = 285, /* VAR_USERNAME */ + VAR_DIRECTORY = 286, /* VAR_DIRECTORY */ + VAR_LOGFILE = 287, /* VAR_LOGFILE */ + VAR_PIDFILE = 288, /* VAR_PIDFILE */ + VAR_MSG_CACHE_SIZE = 289, /* VAR_MSG_CACHE_SIZE */ + VAR_MSG_CACHE_SLABS = 290, /* VAR_MSG_CACHE_SLABS */ + VAR_NUM_QUERIES_PER_THREAD = 291, /* VAR_NUM_QUERIES_PER_THREAD */ + VAR_RRSET_CACHE_SIZE = 292, /* VAR_RRSET_CACHE_SIZE */ + VAR_RRSET_CACHE_SLABS = 293, /* VAR_RRSET_CACHE_SLABS */ + VAR_OUTGOING_NUM_TCP = 294, /* VAR_OUTGOING_NUM_TCP */ + VAR_INFRA_HOST_TTL = 295, /* VAR_INFRA_HOST_TTL */ + VAR_INFRA_LAME_TTL = 296, /* VAR_INFRA_LAME_TTL */ + VAR_INFRA_CACHE_SLABS = 297, /* VAR_INFRA_CACHE_SLABS */ + VAR_INFRA_CACHE_NUMHOSTS = 298, /* VAR_INFRA_CACHE_NUMHOSTS */ + VAR_INFRA_CACHE_LAME_SIZE = 299, /* VAR_INFRA_CACHE_LAME_SIZE */ + VAR_NAME = 300, /* VAR_NAME */ + VAR_STUB_ZONE = 301, /* VAR_STUB_ZONE */ + VAR_STUB_HOST = 302, /* VAR_STUB_HOST */ + VAR_STUB_ADDR = 303, /* VAR_STUB_ADDR */ + VAR_TARGET_FETCH_POLICY = 304, /* VAR_TARGET_FETCH_POLICY */ + VAR_HARDEN_SHORT_BUFSIZE = 305, /* VAR_HARDEN_SHORT_BUFSIZE */ + VAR_HARDEN_LARGE_QUERIES = 306, /* VAR_HARDEN_LARGE_QUERIES */ + VAR_FORWARD_ZONE = 307, /* VAR_FORWARD_ZONE */ + VAR_FORWARD_HOST = 308, /* VAR_FORWARD_HOST */ + VAR_FORWARD_ADDR = 309, /* VAR_FORWARD_ADDR */ + VAR_DO_NOT_QUERY_ADDRESS = 310, /* VAR_DO_NOT_QUERY_ADDRESS */ + VAR_HIDE_IDENTITY = 311, /* VAR_HIDE_IDENTITY */ + VAR_HIDE_VERSION = 312, /* VAR_HIDE_VERSION */ + VAR_IDENTITY = 313, /* VAR_IDENTITY */ + VAR_VERSION = 314, /* VAR_VERSION */ + VAR_HARDEN_GLUE = 315, /* VAR_HARDEN_GLUE */ + VAR_MODULE_CONF = 316, /* VAR_MODULE_CONF */ + VAR_TRUST_ANCHOR_FILE = 317, /* VAR_TRUST_ANCHOR_FILE */ + VAR_TRUST_ANCHOR = 318, /* VAR_TRUST_ANCHOR */ + VAR_VAL_OVERRIDE_DATE = 319, /* VAR_VAL_OVERRIDE_DATE */ + VAR_BOGUS_TTL = 320, /* VAR_BOGUS_TTL */ + VAR_VAL_CLEAN_ADDITIONAL = 321, /* VAR_VAL_CLEAN_ADDITIONAL */ + VAR_VAL_PERMISSIVE_MODE = 322, /* VAR_VAL_PERMISSIVE_MODE */ + VAR_INCOMING_NUM_TCP = 323, /* VAR_INCOMING_NUM_TCP */ + VAR_MSG_BUFFER_SIZE = 324, /* VAR_MSG_BUFFER_SIZE */ + VAR_KEY_CACHE_SIZE = 325, /* VAR_KEY_CACHE_SIZE */ + VAR_KEY_CACHE_SLABS = 326, /* VAR_KEY_CACHE_SLABS */ + VAR_TRUSTED_KEYS_FILE = 327, /* VAR_TRUSTED_KEYS_FILE */ + VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS */ + VAR_USE_SYSLOG = 329, /* VAR_USE_SYSLOG */ + VAR_OUTGOING_INTERFACE = 330, /* VAR_OUTGOING_INTERFACE */ + VAR_ROOT_HINTS = 331, /* VAR_ROOT_HINTS */ + VAR_DO_NOT_QUERY_LOCALHOST = 332, /* VAR_DO_NOT_QUERY_LOCALHOST */ + VAR_CACHE_MAX_TTL = 333, /* VAR_CACHE_MAX_TTL */ + VAR_HARDEN_DNSSEC_STRIPPED = 334, /* VAR_HARDEN_DNSSEC_STRIPPED */ + VAR_ACCESS_CONTROL = 335, /* VAR_ACCESS_CONTROL */ + VAR_LOCAL_ZONE = 336, /* VAR_LOCAL_ZONE */ + VAR_LOCAL_DATA = 337, /* VAR_LOCAL_DATA */ + VAR_INTERFACE_AUTOMATIC = 338, /* VAR_INTERFACE_AUTOMATIC */ + VAR_STATISTICS_INTERVAL = 339, /* VAR_STATISTICS_INTERVAL */ + VAR_DO_DAEMONIZE = 340, /* VAR_DO_DAEMONIZE */ + VAR_USE_CAPS_FOR_ID = 341, /* VAR_USE_CAPS_FOR_ID */ + VAR_STATISTICS_CUMULATIVE = 342, /* VAR_STATISTICS_CUMULATIVE */ + VAR_OUTGOING_PORT_PERMIT = 343, /* VAR_OUTGOING_PORT_PERMIT */ + VAR_OUTGOING_PORT_AVOID = 344, /* VAR_OUTGOING_PORT_AVOID */ + VAR_DLV_ANCHOR_FILE = 345, /* VAR_DLV_ANCHOR_FILE */ + VAR_DLV_ANCHOR = 346, /* VAR_DLV_ANCHOR */ + VAR_NEG_CACHE_SIZE = 347, /* VAR_NEG_CACHE_SIZE */ + VAR_HARDEN_REFERRAL_PATH = 348, /* VAR_HARDEN_REFERRAL_PATH */ + VAR_PRIVATE_ADDRESS = 349, /* VAR_PRIVATE_ADDRESS */ + VAR_PRIVATE_DOMAIN = 350, /* VAR_PRIVATE_DOMAIN */ + VAR_REMOTE_CONTROL = 351, /* VAR_REMOTE_CONTROL */ + VAR_CONTROL_ENABLE = 352, /* VAR_CONTROL_ENABLE */ + VAR_CONTROL_INTERFACE = 353, /* VAR_CONTROL_INTERFACE */ + VAR_CONTROL_PORT = 354, /* VAR_CONTROL_PORT */ + VAR_SERVER_KEY_FILE = 355, /* VAR_SERVER_KEY_FILE */ + VAR_SERVER_CERT_FILE = 356, /* VAR_SERVER_CERT_FILE */ + VAR_CONTROL_KEY_FILE = 357, /* VAR_CONTROL_KEY_FILE */ + VAR_CONTROL_CERT_FILE = 358, /* VAR_CONTROL_CERT_FILE */ + VAR_CONTROL_USE_CERT = 359, /* VAR_CONTROL_USE_CERT */ + VAR_TCP_REUSE_TIMEOUT = 360, /* VAR_TCP_REUSE_TIMEOUT */ + VAR_MAX_REUSE_TCP_QUERIES = 361, /* VAR_MAX_REUSE_TCP_QUERIES */ + VAR_EXTENDED_STATISTICS = 362, /* VAR_EXTENDED_STATISTICS */ + VAR_LOCAL_DATA_PTR = 363, /* VAR_LOCAL_DATA_PTR */ + VAR_JOSTLE_TIMEOUT = 364, /* VAR_JOSTLE_TIMEOUT */ + VAR_STUB_PRIME = 365, /* VAR_STUB_PRIME */ + VAR_UNWANTED_REPLY_THRESHOLD = 366, /* VAR_UNWANTED_REPLY_THRESHOLD */ + VAR_LOG_TIME_ASCII = 367, /* VAR_LOG_TIME_ASCII */ + VAR_DOMAIN_INSECURE = 368, /* VAR_DOMAIN_INSECURE */ + VAR_PYTHON = 369, /* VAR_PYTHON */ + VAR_PYTHON_SCRIPT = 370, /* VAR_PYTHON_SCRIPT */ + VAR_VAL_SIG_SKEW_MIN = 371, /* VAR_VAL_SIG_SKEW_MIN */ + VAR_VAL_SIG_SKEW_MAX = 372, /* VAR_VAL_SIG_SKEW_MAX */ + VAR_CACHE_MIN_TTL = 373, /* VAR_CACHE_MIN_TTL */ + VAR_VAL_LOG_LEVEL = 374, /* VAR_VAL_LOG_LEVEL */ + VAR_AUTO_TRUST_ANCHOR_FILE = 375, /* VAR_AUTO_TRUST_ANCHOR_FILE */ + VAR_KEEP_MISSING = 376, /* VAR_KEEP_MISSING */ + VAR_ADD_HOLDDOWN = 377, /* VAR_ADD_HOLDDOWN */ + VAR_DEL_HOLDDOWN = 378, /* VAR_DEL_HOLDDOWN */ + VAR_SO_RCVBUF = 379, /* VAR_SO_RCVBUF */ + VAR_EDNS_BUFFER_SIZE = 380, /* VAR_EDNS_BUFFER_SIZE */ + VAR_PREFETCH = 381, /* VAR_PREFETCH */ + VAR_PREFETCH_KEY = 382, /* VAR_PREFETCH_KEY */ + VAR_SO_SNDBUF = 383, /* VAR_SO_SNDBUF */ + VAR_SO_REUSEPORT = 384, /* VAR_SO_REUSEPORT */ + VAR_HARDEN_BELOW_NXDOMAIN = 385, /* VAR_HARDEN_BELOW_NXDOMAIN */ + VAR_IGNORE_CD_FLAG = 386, /* VAR_IGNORE_CD_FLAG */ + VAR_LOG_QUERIES = 387, /* VAR_LOG_QUERIES */ + VAR_LOG_REPLIES = 388, /* VAR_LOG_REPLIES */ + VAR_LOG_LOCAL_ACTIONS = 389, /* VAR_LOG_LOCAL_ACTIONS */ + VAR_TCP_UPSTREAM = 390, /* VAR_TCP_UPSTREAM */ + VAR_SSL_UPSTREAM = 391, /* VAR_SSL_UPSTREAM */ + VAR_TCP_AUTH_QUERY_TIMEOUT = 392, /* VAR_TCP_AUTH_QUERY_TIMEOUT */ + VAR_SSL_SERVICE_KEY = 393, /* VAR_SSL_SERVICE_KEY */ + VAR_SSL_SERVICE_PEM = 394, /* VAR_SSL_SERVICE_PEM */ + VAR_SSL_PORT = 395, /* VAR_SSL_PORT */ + VAR_FORWARD_FIRST = 396, /* VAR_FORWARD_FIRST */ + VAR_STUB_SSL_UPSTREAM = 397, /* VAR_STUB_SSL_UPSTREAM */ + VAR_FORWARD_SSL_UPSTREAM = 398, /* VAR_FORWARD_SSL_UPSTREAM */ + VAR_TLS_CERT_BUNDLE = 399, /* VAR_TLS_CERT_BUNDLE */ + VAR_HTTPS_PORT = 400, /* VAR_HTTPS_PORT */ + VAR_HTTP_ENDPOINT = 401, /* VAR_HTTP_ENDPOINT */ + VAR_HTTP_MAX_STREAMS = 402, /* VAR_HTTP_MAX_STREAMS */ + VAR_HTTP_QUERY_BUFFER_SIZE = 403, /* VAR_HTTP_QUERY_BUFFER_SIZE */ + VAR_HTTP_RESPONSE_BUFFER_SIZE = 404, /* VAR_HTTP_RESPONSE_BUFFER_SIZE */ + VAR_HTTP_NODELAY = 405, /* VAR_HTTP_NODELAY */ + VAR_HTTP_NOTLS_DOWNSTREAM = 406, /* VAR_HTTP_NOTLS_DOWNSTREAM */ + VAR_STUB_FIRST = 407, /* VAR_STUB_FIRST */ + VAR_MINIMAL_RESPONSES = 408, /* VAR_MINIMAL_RESPONSES */ + VAR_RRSET_ROUNDROBIN = 409, /* VAR_RRSET_ROUNDROBIN */ + VAR_MAX_UDP_SIZE = 410, /* VAR_MAX_UDP_SIZE */ + VAR_DELAY_CLOSE = 411, /* VAR_DELAY_CLOSE */ + VAR_UDP_CONNECT = 412, /* VAR_UDP_CONNECT */ + VAR_UNBLOCK_LAN_ZONES = 413, /* VAR_UNBLOCK_LAN_ZONES */ + VAR_INSECURE_LAN_ZONES = 414, /* VAR_INSECURE_LAN_ZONES */ + VAR_INFRA_CACHE_MIN_RTT = 415, /* VAR_INFRA_CACHE_MIN_RTT */ + VAR_INFRA_KEEP_PROBING = 416, /* VAR_INFRA_KEEP_PROBING */ + VAR_DNS64_PREFIX = 417, /* VAR_DNS64_PREFIX */ + VAR_DNS64_SYNTHALL = 418, /* VAR_DNS64_SYNTHALL */ + VAR_DNS64_IGNORE_AAAA = 419, /* VAR_DNS64_IGNORE_AAAA */ + VAR_DNSTAP = 420, /* VAR_DNSTAP */ + VAR_DNSTAP_ENABLE = 421, /* VAR_DNSTAP_ENABLE */ + VAR_DNSTAP_SOCKET_PATH = 422, /* VAR_DNSTAP_SOCKET_PATH */ + VAR_DNSTAP_IP = 423, /* VAR_DNSTAP_IP */ + VAR_DNSTAP_TLS = 424, /* VAR_DNSTAP_TLS */ + VAR_DNSTAP_TLS_SERVER_NAME = 425, /* VAR_DNSTAP_TLS_SERVER_NAME */ + VAR_DNSTAP_TLS_CERT_BUNDLE = 426, /* VAR_DNSTAP_TLS_CERT_BUNDLE */ + VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 427, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE */ + VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 428, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE */ + VAR_DNSTAP_SEND_IDENTITY = 429, /* VAR_DNSTAP_SEND_IDENTITY */ + VAR_DNSTAP_SEND_VERSION = 430, /* VAR_DNSTAP_SEND_VERSION */ + VAR_DNSTAP_BIDIRECTIONAL = 431, /* VAR_DNSTAP_BIDIRECTIONAL */ + VAR_DNSTAP_IDENTITY = 432, /* VAR_DNSTAP_IDENTITY */ + VAR_DNSTAP_VERSION = 433, /* VAR_DNSTAP_VERSION */ + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 434, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES */ + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 435, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES */ + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 436, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES */ + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 437, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES */ + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 438, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES */ + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 439, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES */ + VAR_RESPONSE_IP_TAG = 440, /* VAR_RESPONSE_IP_TAG */ + VAR_RESPONSE_IP = 441, /* VAR_RESPONSE_IP */ + VAR_RESPONSE_IP_DATA = 442, /* VAR_RESPONSE_IP_DATA */ + VAR_HARDEN_ALGO_DOWNGRADE = 443, /* VAR_HARDEN_ALGO_DOWNGRADE */ + VAR_IP_TRANSPARENT = 444, /* VAR_IP_TRANSPARENT */ + VAR_IP_DSCP = 445, /* VAR_IP_DSCP */ + VAR_DISABLE_DNSSEC_LAME_CHECK = 446, /* VAR_DISABLE_DNSSEC_LAME_CHECK */ + VAR_IP_RATELIMIT = 447, /* VAR_IP_RATELIMIT */ + VAR_IP_RATELIMIT_SLABS = 448, /* VAR_IP_RATELIMIT_SLABS */ + VAR_IP_RATELIMIT_SIZE = 449, /* VAR_IP_RATELIMIT_SIZE */ + VAR_RATELIMIT = 450, /* VAR_RATELIMIT */ + VAR_RATELIMIT_SLABS = 451, /* VAR_RATELIMIT_SLABS */ + VAR_RATELIMIT_SIZE = 452, /* VAR_RATELIMIT_SIZE */ + VAR_RATELIMIT_FOR_DOMAIN = 453, /* VAR_RATELIMIT_FOR_DOMAIN */ + VAR_RATELIMIT_BELOW_DOMAIN = 454, /* VAR_RATELIMIT_BELOW_DOMAIN */ + VAR_IP_RATELIMIT_FACTOR = 455, /* VAR_IP_RATELIMIT_FACTOR */ + VAR_RATELIMIT_FACTOR = 456, /* VAR_RATELIMIT_FACTOR */ + VAR_SEND_CLIENT_SUBNET = 457, /* VAR_SEND_CLIENT_SUBNET */ + VAR_CLIENT_SUBNET_ZONE = 458, /* VAR_CLIENT_SUBNET_ZONE */ + VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 459, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD */ + VAR_CLIENT_SUBNET_OPCODE = 460, /* VAR_CLIENT_SUBNET_OPCODE */ + VAR_MAX_CLIENT_SUBNET_IPV4 = 461, /* VAR_MAX_CLIENT_SUBNET_IPV4 */ + VAR_MAX_CLIENT_SUBNET_IPV6 = 462, /* VAR_MAX_CLIENT_SUBNET_IPV6 */ + VAR_MIN_CLIENT_SUBNET_IPV4 = 463, /* VAR_MIN_CLIENT_SUBNET_IPV4 */ + VAR_MIN_CLIENT_SUBNET_IPV6 = 464, /* VAR_MIN_CLIENT_SUBNET_IPV6 */ + VAR_MAX_ECS_TREE_SIZE_IPV4 = 465, /* VAR_MAX_ECS_TREE_SIZE_IPV4 */ + VAR_MAX_ECS_TREE_SIZE_IPV6 = 466, /* VAR_MAX_ECS_TREE_SIZE_IPV6 */ + VAR_CAPS_WHITELIST = 467, /* VAR_CAPS_WHITELIST */ + VAR_CACHE_MAX_NEGATIVE_TTL = 468, /* VAR_CACHE_MAX_NEGATIVE_TTL */ + VAR_PERMIT_SMALL_HOLDDOWN = 469, /* VAR_PERMIT_SMALL_HOLDDOWN */ + VAR_QNAME_MINIMISATION = 470, /* VAR_QNAME_MINIMISATION */ + VAR_QNAME_MINIMISATION_STRICT = 471, /* VAR_QNAME_MINIMISATION_STRICT */ + VAR_IP_FREEBIND = 472, /* VAR_IP_FREEBIND */ + VAR_DEFINE_TAG = 473, /* VAR_DEFINE_TAG */ + VAR_LOCAL_ZONE_TAG = 474, /* VAR_LOCAL_ZONE_TAG */ + VAR_ACCESS_CONTROL_TAG = 475, /* VAR_ACCESS_CONTROL_TAG */ + VAR_LOCAL_ZONE_OVERRIDE = 476, /* VAR_LOCAL_ZONE_OVERRIDE */ + VAR_ACCESS_CONTROL_TAG_ACTION = 477, /* VAR_ACCESS_CONTROL_TAG_ACTION */ + VAR_ACCESS_CONTROL_TAG_DATA = 478, /* VAR_ACCESS_CONTROL_TAG_DATA */ + VAR_VIEW = 479, /* VAR_VIEW */ + VAR_ACCESS_CONTROL_VIEW = 480, /* VAR_ACCESS_CONTROL_VIEW */ + VAR_VIEW_FIRST = 481, /* VAR_VIEW_FIRST */ + VAR_SERVE_EXPIRED = 482, /* VAR_SERVE_EXPIRED */ + VAR_SERVE_EXPIRED_TTL = 483, /* VAR_SERVE_EXPIRED_TTL */ + VAR_SERVE_EXPIRED_TTL_RESET = 484, /* VAR_SERVE_EXPIRED_TTL_RESET */ + VAR_SERVE_EXPIRED_REPLY_TTL = 485, /* VAR_SERVE_EXPIRED_REPLY_TTL */ + VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 486, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT */ + VAR_SERVE_ORIGINAL_TTL = 487, /* VAR_SERVE_ORIGINAL_TTL */ + VAR_FAKE_DSA = 488, /* VAR_FAKE_DSA */ + VAR_FAKE_SHA1 = 489, /* VAR_FAKE_SHA1 */ + VAR_LOG_IDENTITY = 490, /* VAR_LOG_IDENTITY */ + VAR_HIDE_TRUSTANCHOR = 491, /* VAR_HIDE_TRUSTANCHOR */ + VAR_TRUST_ANCHOR_SIGNALING = 492, /* VAR_TRUST_ANCHOR_SIGNALING */ + VAR_AGGRESSIVE_NSEC = 493, /* VAR_AGGRESSIVE_NSEC */ + VAR_USE_SYSTEMD = 494, /* VAR_USE_SYSTEMD */ + VAR_SHM_ENABLE = 495, /* VAR_SHM_ENABLE */ + VAR_SHM_KEY = 496, /* VAR_SHM_KEY */ + VAR_ROOT_KEY_SENTINEL = 497, /* VAR_ROOT_KEY_SENTINEL */ + VAR_DNSCRYPT = 498, /* VAR_DNSCRYPT */ + VAR_DNSCRYPT_ENABLE = 499, /* VAR_DNSCRYPT_ENABLE */ + VAR_DNSCRYPT_PORT = 500, /* VAR_DNSCRYPT_PORT */ + VAR_DNSCRYPT_PROVIDER = 501, /* VAR_DNSCRYPT_PROVIDER */ + VAR_DNSCRYPT_SECRET_KEY = 502, /* VAR_DNSCRYPT_SECRET_KEY */ + VAR_DNSCRYPT_PROVIDER_CERT = 503, /* VAR_DNSCRYPT_PROVIDER_CERT */ + VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 504, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED */ + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 505, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE */ + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 506, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS */ + VAR_DNSCRYPT_NONCE_CACHE_SIZE = 507, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE */ + VAR_DNSCRYPT_NONCE_CACHE_SLABS = 508, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS */ + VAR_PAD_RESPONSES = 509, /* VAR_PAD_RESPONSES */ + VAR_PAD_RESPONSES_BLOCK_SIZE = 510, /* VAR_PAD_RESPONSES_BLOCK_SIZE */ + VAR_PAD_QUERIES = 511, /* VAR_PAD_QUERIES */ + VAR_PAD_QUERIES_BLOCK_SIZE = 512, /* VAR_PAD_QUERIES_BLOCK_SIZE */ + VAR_IPSECMOD_ENABLED = 513, /* VAR_IPSECMOD_ENABLED */ + VAR_IPSECMOD_HOOK = 514, /* VAR_IPSECMOD_HOOK */ + VAR_IPSECMOD_IGNORE_BOGUS = 515, /* VAR_IPSECMOD_IGNORE_BOGUS */ + VAR_IPSECMOD_MAX_TTL = 516, /* VAR_IPSECMOD_MAX_TTL */ + VAR_IPSECMOD_WHITELIST = 517, /* VAR_IPSECMOD_WHITELIST */ + VAR_IPSECMOD_STRICT = 518, /* VAR_IPSECMOD_STRICT */ + VAR_CACHEDB = 519, /* VAR_CACHEDB */ + VAR_CACHEDB_BACKEND = 520, /* VAR_CACHEDB_BACKEND */ + VAR_CACHEDB_SECRETSEED = 521, /* VAR_CACHEDB_SECRETSEED */ + VAR_CACHEDB_REDISHOST = 522, /* VAR_CACHEDB_REDISHOST */ + VAR_CACHEDB_REDISPORT = 523, /* VAR_CACHEDB_REDISPORT */ + VAR_CACHEDB_REDISTIMEOUT = 524, /* VAR_CACHEDB_REDISTIMEOUT */ + VAR_CACHEDB_REDISEXPIRERECORDS = 525, /* VAR_CACHEDB_REDISEXPIRERECORDS */ + VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 526, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM */ + VAR_FOR_UPSTREAM = 527, /* VAR_FOR_UPSTREAM */ + VAR_AUTH_ZONE = 528, /* VAR_AUTH_ZONE */ + VAR_ZONEFILE = 529, /* VAR_ZONEFILE */ + VAR_MASTER = 530, /* VAR_MASTER */ + VAR_URL = 531, /* VAR_URL */ + VAR_FOR_DOWNSTREAM = 532, /* VAR_FOR_DOWNSTREAM */ + VAR_FALLBACK_ENABLED = 533, /* VAR_FALLBACK_ENABLED */ + VAR_TLS_ADDITIONAL_PORT = 534, /* VAR_TLS_ADDITIONAL_PORT */ + VAR_LOW_RTT = 535, /* VAR_LOW_RTT */ + VAR_LOW_RTT_PERMIL = 536, /* VAR_LOW_RTT_PERMIL */ + VAR_FAST_SERVER_PERMIL = 537, /* VAR_FAST_SERVER_PERMIL */ + VAR_FAST_SERVER_NUM = 538, /* VAR_FAST_SERVER_NUM */ + VAR_ALLOW_NOTIFY = 539, /* VAR_ALLOW_NOTIFY */ + VAR_TLS_WIN_CERT = 540, /* VAR_TLS_WIN_CERT */ + VAR_TCP_CONNECTION_LIMIT = 541, /* VAR_TCP_CONNECTION_LIMIT */ + VAR_FORWARD_NO_CACHE = 542, /* VAR_FORWARD_NO_CACHE */ + VAR_STUB_NO_CACHE = 543, /* VAR_STUB_NO_CACHE */ + VAR_LOG_SERVFAIL = 544, /* VAR_LOG_SERVFAIL */ + VAR_DENY_ANY = 545, /* VAR_DENY_ANY */ + VAR_UNKNOWN_SERVER_TIME_LIMIT = 546, /* VAR_UNKNOWN_SERVER_TIME_LIMIT */ + VAR_LOG_TAG_QUERYREPLY = 547, /* VAR_LOG_TAG_QUERYREPLY */ + VAR_STREAM_WAIT_SIZE = 548, /* VAR_STREAM_WAIT_SIZE */ + VAR_TLS_CIPHERS = 549, /* VAR_TLS_CIPHERS */ + VAR_TLS_CIPHERSUITES = 550, /* VAR_TLS_CIPHERSUITES */ + VAR_TLS_USE_SNI = 551, /* VAR_TLS_USE_SNI */ + VAR_IPSET = 552, /* VAR_IPSET */ + VAR_IPSET_NAME_V4 = 553, /* VAR_IPSET_NAME_V4 */ + VAR_IPSET_NAME_V6 = 554, /* VAR_IPSET_NAME_V6 */ + VAR_TLS_SESSION_TICKET_KEYS = 555, /* VAR_TLS_SESSION_TICKET_KEYS */ + VAR_RPZ = 556, /* VAR_RPZ */ + VAR_TAGS = 557, /* VAR_TAGS */ + VAR_RPZ_ACTION_OVERRIDE = 558, /* VAR_RPZ_ACTION_OVERRIDE */ + VAR_RPZ_CNAME_OVERRIDE = 559, /* VAR_RPZ_CNAME_OVERRIDE */ + VAR_RPZ_LOG = 560, /* VAR_RPZ_LOG */ + VAR_RPZ_LOG_NAME = 561, /* VAR_RPZ_LOG_NAME */ + VAR_DYNLIB = 562, /* VAR_DYNLIB */ + VAR_DYNLIB_FILE = 563, /* VAR_DYNLIB_FILE */ + VAR_EDNS_CLIENT_STRING = 564, /* VAR_EDNS_CLIENT_STRING */ + VAR_EDNS_CLIENT_STRING_OPCODE = 565, /* VAR_EDNS_CLIENT_STRING_OPCODE */ + VAR_NSID = 566, /* VAR_NSID */ + VAR_ZONEMD_PERMISSIVE_MODE = 567, /* VAR_ZONEMD_PERMISSIVE_MODE */ + VAR_ZONEMD_REJECT_ABSENCE = 568 /* VAR_ZONEMD_REJECT_ABSENCE */ + }; + typedef enum yytokentype yytoken_kind_t; #endif -/* Tokens. */ +/* Token kinds. */ +#define YYEOF 0 +#define YYerror 256 +#define YYUNDEF 257 #define SPACE 258 #define LETTER 259 #define NEWLINE 260 @@ -692,109 +770,764 @@ #define VAR_ZONEMD_PERMISSIVE_MODE 567 #define VAR_ZONEMD_REJECT_ABSENCE 568 - - - -/* Copy the first part of user declarations. */ -#line 38 "util/configparser.y" - -#include "config.h" - -#include -#include -#include -#include -#include - -#include "util/configyyrename.h" -#include "util/config_file.h" -#include "util/net_help.h" - -int ub_c_lex(void); -void ub_c_error(const char *message); - -static void validate_respip_action(const char* action); - -/* these need to be global, otherwise they cannot be used inside yacc */ -extern struct config_parser_state* cfg_parser; - -#if 0 -#define OUTYY(s) printf s /* used ONLY when debugging */ -#else -#define OUTYY(s) -#endif - - - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 66 "util/configparser.y" +union YYSTYPE { +#line 66 "./util/configparser.y" + char* str; -} -/* Line 193 of yacc.c. */ -#line 755 "util/configparser.c" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 + +#line 782 "util/configparser.c" + +}; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 #endif +extern YYSTYPE yylval; + +int yyparse (void); + +#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */ +/* Symbol kind. */ +enum yysymbol_kind_t +{ + YYSYMBOL_YYEMPTY = -2, + YYSYMBOL_YYEOF = 0, /* "end of file" */ + YYSYMBOL_YYerror = 1, /* error */ + YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ + YYSYMBOL_SPACE = 3, /* SPACE */ + YYSYMBOL_LETTER = 4, /* LETTER */ + YYSYMBOL_NEWLINE = 5, /* NEWLINE */ + YYSYMBOL_COMMENT = 6, /* COMMENT */ + YYSYMBOL_COLON = 7, /* COLON */ + YYSYMBOL_ANY = 8, /* ANY */ + YYSYMBOL_ZONESTR = 9, /* ZONESTR */ + YYSYMBOL_STRING_ARG = 10, /* STRING_ARG */ + YYSYMBOL_VAR_FORCE_TOPLEVEL = 11, /* VAR_FORCE_TOPLEVEL */ + YYSYMBOL_VAR_SERVER = 12, /* VAR_SERVER */ + YYSYMBOL_VAR_VERBOSITY = 13, /* VAR_VERBOSITY */ + YYSYMBOL_VAR_NUM_THREADS = 14, /* VAR_NUM_THREADS */ + YYSYMBOL_VAR_PORT = 15, /* VAR_PORT */ + YYSYMBOL_VAR_OUTGOING_RANGE = 16, /* VAR_OUTGOING_RANGE */ + YYSYMBOL_VAR_INTERFACE = 17, /* VAR_INTERFACE */ + YYSYMBOL_VAR_PREFER_IP4 = 18, /* VAR_PREFER_IP4 */ + YYSYMBOL_VAR_DO_IP4 = 19, /* VAR_DO_IP4 */ + YYSYMBOL_VAR_DO_IP6 = 20, /* VAR_DO_IP6 */ + YYSYMBOL_VAR_PREFER_IP6 = 21, /* VAR_PREFER_IP6 */ + YYSYMBOL_VAR_DO_UDP = 22, /* VAR_DO_UDP */ + YYSYMBOL_VAR_DO_TCP = 23, /* VAR_DO_TCP */ + YYSYMBOL_VAR_TCP_MSS = 24, /* VAR_TCP_MSS */ + YYSYMBOL_VAR_OUTGOING_TCP_MSS = 25, /* VAR_OUTGOING_TCP_MSS */ + YYSYMBOL_VAR_TCP_IDLE_TIMEOUT = 26, /* VAR_TCP_IDLE_TIMEOUT */ + YYSYMBOL_VAR_EDNS_TCP_KEEPALIVE = 27, /* VAR_EDNS_TCP_KEEPALIVE */ + YYSYMBOL_VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 28, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT */ + YYSYMBOL_VAR_CHROOT = 29, /* VAR_CHROOT */ + YYSYMBOL_VAR_USERNAME = 30, /* VAR_USERNAME */ + YYSYMBOL_VAR_DIRECTORY = 31, /* VAR_DIRECTORY */ + YYSYMBOL_VAR_LOGFILE = 32, /* VAR_LOGFILE */ + YYSYMBOL_VAR_PIDFILE = 33, /* VAR_PIDFILE */ + YYSYMBOL_VAR_MSG_CACHE_SIZE = 34, /* VAR_MSG_CACHE_SIZE */ + YYSYMBOL_VAR_MSG_CACHE_SLABS = 35, /* VAR_MSG_CACHE_SLABS */ + YYSYMBOL_VAR_NUM_QUERIES_PER_THREAD = 36, /* VAR_NUM_QUERIES_PER_THREAD */ + YYSYMBOL_VAR_RRSET_CACHE_SIZE = 37, /* VAR_RRSET_CACHE_SIZE */ + YYSYMBOL_VAR_RRSET_CACHE_SLABS = 38, /* VAR_RRSET_CACHE_SLABS */ + YYSYMBOL_VAR_OUTGOING_NUM_TCP = 39, /* VAR_OUTGOING_NUM_TCP */ + YYSYMBOL_VAR_INFRA_HOST_TTL = 40, /* VAR_INFRA_HOST_TTL */ + YYSYMBOL_VAR_INFRA_LAME_TTL = 41, /* VAR_INFRA_LAME_TTL */ + YYSYMBOL_VAR_INFRA_CACHE_SLABS = 42, /* VAR_INFRA_CACHE_SLABS */ + YYSYMBOL_VAR_INFRA_CACHE_NUMHOSTS = 43, /* VAR_INFRA_CACHE_NUMHOSTS */ + YYSYMBOL_VAR_INFRA_CACHE_LAME_SIZE = 44, /* VAR_INFRA_CACHE_LAME_SIZE */ + YYSYMBOL_VAR_NAME = 45, /* VAR_NAME */ + YYSYMBOL_VAR_STUB_ZONE = 46, /* VAR_STUB_ZONE */ + YYSYMBOL_VAR_STUB_HOST = 47, /* VAR_STUB_HOST */ + YYSYMBOL_VAR_STUB_ADDR = 48, /* VAR_STUB_ADDR */ + YYSYMBOL_VAR_TARGET_FETCH_POLICY = 49, /* VAR_TARGET_FETCH_POLICY */ + YYSYMBOL_VAR_HARDEN_SHORT_BUFSIZE = 50, /* VAR_HARDEN_SHORT_BUFSIZE */ + YYSYMBOL_VAR_HARDEN_LARGE_QUERIES = 51, /* VAR_HARDEN_LARGE_QUERIES */ + YYSYMBOL_VAR_FORWARD_ZONE = 52, /* VAR_FORWARD_ZONE */ + YYSYMBOL_VAR_FORWARD_HOST = 53, /* VAR_FORWARD_HOST */ + YYSYMBOL_VAR_FORWARD_ADDR = 54, /* VAR_FORWARD_ADDR */ + YYSYMBOL_VAR_DO_NOT_QUERY_ADDRESS = 55, /* VAR_DO_NOT_QUERY_ADDRESS */ + YYSYMBOL_VAR_HIDE_IDENTITY = 56, /* VAR_HIDE_IDENTITY */ + YYSYMBOL_VAR_HIDE_VERSION = 57, /* VAR_HIDE_VERSION */ + YYSYMBOL_VAR_IDENTITY = 58, /* VAR_IDENTITY */ + YYSYMBOL_VAR_VERSION = 59, /* VAR_VERSION */ + YYSYMBOL_VAR_HARDEN_GLUE = 60, /* VAR_HARDEN_GLUE */ + YYSYMBOL_VAR_MODULE_CONF = 61, /* VAR_MODULE_CONF */ + YYSYMBOL_VAR_TRUST_ANCHOR_FILE = 62, /* VAR_TRUST_ANCHOR_FILE */ + YYSYMBOL_VAR_TRUST_ANCHOR = 63, /* VAR_TRUST_ANCHOR */ + YYSYMBOL_VAR_VAL_OVERRIDE_DATE = 64, /* VAR_VAL_OVERRIDE_DATE */ + YYSYMBOL_VAR_BOGUS_TTL = 65, /* VAR_BOGUS_TTL */ + YYSYMBOL_VAR_VAL_CLEAN_ADDITIONAL = 66, /* VAR_VAL_CLEAN_ADDITIONAL */ + YYSYMBOL_VAR_VAL_PERMISSIVE_MODE = 67, /* VAR_VAL_PERMISSIVE_MODE */ + YYSYMBOL_VAR_INCOMING_NUM_TCP = 68, /* VAR_INCOMING_NUM_TCP */ + YYSYMBOL_VAR_MSG_BUFFER_SIZE = 69, /* VAR_MSG_BUFFER_SIZE */ + YYSYMBOL_VAR_KEY_CACHE_SIZE = 70, /* VAR_KEY_CACHE_SIZE */ + YYSYMBOL_VAR_KEY_CACHE_SLABS = 71, /* VAR_KEY_CACHE_SLABS */ + YYSYMBOL_VAR_TRUSTED_KEYS_FILE = 72, /* VAR_TRUSTED_KEYS_FILE */ + YYSYMBOL_VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 73, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS */ + YYSYMBOL_VAR_USE_SYSLOG = 74, /* VAR_USE_SYSLOG */ + YYSYMBOL_VAR_OUTGOING_INTERFACE = 75, /* VAR_OUTGOING_INTERFACE */ + YYSYMBOL_VAR_ROOT_HINTS = 76, /* VAR_ROOT_HINTS */ + YYSYMBOL_VAR_DO_NOT_QUERY_LOCALHOST = 77, /* VAR_DO_NOT_QUERY_LOCALHOST */ + YYSYMBOL_VAR_CACHE_MAX_TTL = 78, /* VAR_CACHE_MAX_TTL */ + YYSYMBOL_VAR_HARDEN_DNSSEC_STRIPPED = 79, /* VAR_HARDEN_DNSSEC_STRIPPED */ + YYSYMBOL_VAR_ACCESS_CONTROL = 80, /* VAR_ACCESS_CONTROL */ + YYSYMBOL_VAR_LOCAL_ZONE = 81, /* VAR_LOCAL_ZONE */ + YYSYMBOL_VAR_LOCAL_DATA = 82, /* VAR_LOCAL_DATA */ + YYSYMBOL_VAR_INTERFACE_AUTOMATIC = 83, /* VAR_INTERFACE_AUTOMATIC */ + YYSYMBOL_VAR_STATISTICS_INTERVAL = 84, /* VAR_STATISTICS_INTERVAL */ + YYSYMBOL_VAR_DO_DAEMONIZE = 85, /* VAR_DO_DAEMONIZE */ + YYSYMBOL_VAR_USE_CAPS_FOR_ID = 86, /* VAR_USE_CAPS_FOR_ID */ + YYSYMBOL_VAR_STATISTICS_CUMULATIVE = 87, /* VAR_STATISTICS_CUMULATIVE */ + YYSYMBOL_VAR_OUTGOING_PORT_PERMIT = 88, /* VAR_OUTGOING_PORT_PERMIT */ + YYSYMBOL_VAR_OUTGOING_PORT_AVOID = 89, /* VAR_OUTGOING_PORT_AVOID */ + YYSYMBOL_VAR_DLV_ANCHOR_FILE = 90, /* VAR_DLV_ANCHOR_FILE */ + YYSYMBOL_VAR_DLV_ANCHOR = 91, /* VAR_DLV_ANCHOR */ + YYSYMBOL_VAR_NEG_CACHE_SIZE = 92, /* VAR_NEG_CACHE_SIZE */ + YYSYMBOL_VAR_HARDEN_REFERRAL_PATH = 93, /* VAR_HARDEN_REFERRAL_PATH */ + YYSYMBOL_VAR_PRIVATE_ADDRESS = 94, /* VAR_PRIVATE_ADDRESS */ + YYSYMBOL_VAR_PRIVATE_DOMAIN = 95, /* VAR_PRIVATE_DOMAIN */ + YYSYMBOL_VAR_REMOTE_CONTROL = 96, /* VAR_REMOTE_CONTROL */ + YYSYMBOL_VAR_CONTROL_ENABLE = 97, /* VAR_CONTROL_ENABLE */ + YYSYMBOL_VAR_CONTROL_INTERFACE = 98, /* VAR_CONTROL_INTERFACE */ + YYSYMBOL_VAR_CONTROL_PORT = 99, /* VAR_CONTROL_PORT */ + YYSYMBOL_VAR_SERVER_KEY_FILE = 100, /* VAR_SERVER_KEY_FILE */ + YYSYMBOL_VAR_SERVER_CERT_FILE = 101, /* VAR_SERVER_CERT_FILE */ + YYSYMBOL_VAR_CONTROL_KEY_FILE = 102, /* VAR_CONTROL_KEY_FILE */ + YYSYMBOL_VAR_CONTROL_CERT_FILE = 103, /* VAR_CONTROL_CERT_FILE */ + YYSYMBOL_VAR_CONTROL_USE_CERT = 104, /* VAR_CONTROL_USE_CERT */ + YYSYMBOL_VAR_TCP_REUSE_TIMEOUT = 105, /* VAR_TCP_REUSE_TIMEOUT */ + YYSYMBOL_VAR_MAX_REUSE_TCP_QUERIES = 106, /* VAR_MAX_REUSE_TCP_QUERIES */ + YYSYMBOL_VAR_EXTENDED_STATISTICS = 107, /* VAR_EXTENDED_STATISTICS */ + YYSYMBOL_VAR_LOCAL_DATA_PTR = 108, /* VAR_LOCAL_DATA_PTR */ + YYSYMBOL_VAR_JOSTLE_TIMEOUT = 109, /* VAR_JOSTLE_TIMEOUT */ + YYSYMBOL_VAR_STUB_PRIME = 110, /* VAR_STUB_PRIME */ + YYSYMBOL_VAR_UNWANTED_REPLY_THRESHOLD = 111, /* VAR_UNWANTED_REPLY_THRESHOLD */ + YYSYMBOL_VAR_LOG_TIME_ASCII = 112, /* VAR_LOG_TIME_ASCII */ + YYSYMBOL_VAR_DOMAIN_INSECURE = 113, /* VAR_DOMAIN_INSECURE */ + YYSYMBOL_VAR_PYTHON = 114, /* VAR_PYTHON */ + YYSYMBOL_VAR_PYTHON_SCRIPT = 115, /* VAR_PYTHON_SCRIPT */ + YYSYMBOL_VAR_VAL_SIG_SKEW_MIN = 116, /* VAR_VAL_SIG_SKEW_MIN */ + YYSYMBOL_VAR_VAL_SIG_SKEW_MAX = 117, /* VAR_VAL_SIG_SKEW_MAX */ + YYSYMBOL_VAR_CACHE_MIN_TTL = 118, /* VAR_CACHE_MIN_TTL */ + YYSYMBOL_VAR_VAL_LOG_LEVEL = 119, /* VAR_VAL_LOG_LEVEL */ + YYSYMBOL_VAR_AUTO_TRUST_ANCHOR_FILE = 120, /* VAR_AUTO_TRUST_ANCHOR_FILE */ + YYSYMBOL_VAR_KEEP_MISSING = 121, /* VAR_KEEP_MISSING */ + YYSYMBOL_VAR_ADD_HOLDDOWN = 122, /* VAR_ADD_HOLDDOWN */ + YYSYMBOL_VAR_DEL_HOLDDOWN = 123, /* VAR_DEL_HOLDDOWN */ + YYSYMBOL_VAR_SO_RCVBUF = 124, /* VAR_SO_RCVBUF */ + YYSYMBOL_VAR_EDNS_BUFFER_SIZE = 125, /* VAR_EDNS_BUFFER_SIZE */ + YYSYMBOL_VAR_PREFETCH = 126, /* VAR_PREFETCH */ + YYSYMBOL_VAR_PREFETCH_KEY = 127, /* VAR_PREFETCH_KEY */ + YYSYMBOL_VAR_SO_SNDBUF = 128, /* VAR_SO_SNDBUF */ + YYSYMBOL_VAR_SO_REUSEPORT = 129, /* VAR_SO_REUSEPORT */ + YYSYMBOL_VAR_HARDEN_BELOW_NXDOMAIN = 130, /* VAR_HARDEN_BELOW_NXDOMAIN */ + YYSYMBOL_VAR_IGNORE_CD_FLAG = 131, /* VAR_IGNORE_CD_FLAG */ + YYSYMBOL_VAR_LOG_QUERIES = 132, /* VAR_LOG_QUERIES */ + YYSYMBOL_VAR_LOG_REPLIES = 133, /* VAR_LOG_REPLIES */ + YYSYMBOL_VAR_LOG_LOCAL_ACTIONS = 134, /* VAR_LOG_LOCAL_ACTIONS */ + YYSYMBOL_VAR_TCP_UPSTREAM = 135, /* VAR_TCP_UPSTREAM */ + YYSYMBOL_VAR_SSL_UPSTREAM = 136, /* VAR_SSL_UPSTREAM */ + YYSYMBOL_VAR_TCP_AUTH_QUERY_TIMEOUT = 137, /* VAR_TCP_AUTH_QUERY_TIMEOUT */ + YYSYMBOL_VAR_SSL_SERVICE_KEY = 138, /* VAR_SSL_SERVICE_KEY */ + YYSYMBOL_VAR_SSL_SERVICE_PEM = 139, /* VAR_SSL_SERVICE_PEM */ + YYSYMBOL_VAR_SSL_PORT = 140, /* VAR_SSL_PORT */ + YYSYMBOL_VAR_FORWARD_FIRST = 141, /* VAR_FORWARD_FIRST */ + YYSYMBOL_VAR_STUB_SSL_UPSTREAM = 142, /* VAR_STUB_SSL_UPSTREAM */ + YYSYMBOL_VAR_FORWARD_SSL_UPSTREAM = 143, /* VAR_FORWARD_SSL_UPSTREAM */ + YYSYMBOL_VAR_TLS_CERT_BUNDLE = 144, /* VAR_TLS_CERT_BUNDLE */ + YYSYMBOL_VAR_HTTPS_PORT = 145, /* VAR_HTTPS_PORT */ + YYSYMBOL_VAR_HTTP_ENDPOINT = 146, /* VAR_HTTP_ENDPOINT */ + YYSYMBOL_VAR_HTTP_MAX_STREAMS = 147, /* VAR_HTTP_MAX_STREAMS */ + YYSYMBOL_VAR_HTTP_QUERY_BUFFER_SIZE = 148, /* VAR_HTTP_QUERY_BUFFER_SIZE */ + YYSYMBOL_VAR_HTTP_RESPONSE_BUFFER_SIZE = 149, /* VAR_HTTP_RESPONSE_BUFFER_SIZE */ + YYSYMBOL_VAR_HTTP_NODELAY = 150, /* VAR_HTTP_NODELAY */ + YYSYMBOL_VAR_HTTP_NOTLS_DOWNSTREAM = 151, /* VAR_HTTP_NOTLS_DOWNSTREAM */ + YYSYMBOL_VAR_STUB_FIRST = 152, /* VAR_STUB_FIRST */ + YYSYMBOL_VAR_MINIMAL_RESPONSES = 153, /* VAR_MINIMAL_RESPONSES */ + YYSYMBOL_VAR_RRSET_ROUNDROBIN = 154, /* VAR_RRSET_ROUNDROBIN */ + YYSYMBOL_VAR_MAX_UDP_SIZE = 155, /* VAR_MAX_UDP_SIZE */ + YYSYMBOL_VAR_DELAY_CLOSE = 156, /* VAR_DELAY_CLOSE */ + YYSYMBOL_VAR_UDP_CONNECT = 157, /* VAR_UDP_CONNECT */ + YYSYMBOL_VAR_UNBLOCK_LAN_ZONES = 158, /* VAR_UNBLOCK_LAN_ZONES */ + YYSYMBOL_VAR_INSECURE_LAN_ZONES = 159, /* VAR_INSECURE_LAN_ZONES */ + YYSYMBOL_VAR_INFRA_CACHE_MIN_RTT = 160, /* VAR_INFRA_CACHE_MIN_RTT */ + YYSYMBOL_VAR_INFRA_KEEP_PROBING = 161, /* VAR_INFRA_KEEP_PROBING */ + YYSYMBOL_VAR_DNS64_PREFIX = 162, /* VAR_DNS64_PREFIX */ + YYSYMBOL_VAR_DNS64_SYNTHALL = 163, /* VAR_DNS64_SYNTHALL */ + YYSYMBOL_VAR_DNS64_IGNORE_AAAA = 164, /* VAR_DNS64_IGNORE_AAAA */ + YYSYMBOL_VAR_DNSTAP = 165, /* VAR_DNSTAP */ + YYSYMBOL_VAR_DNSTAP_ENABLE = 166, /* VAR_DNSTAP_ENABLE */ + YYSYMBOL_VAR_DNSTAP_SOCKET_PATH = 167, /* VAR_DNSTAP_SOCKET_PATH */ + YYSYMBOL_VAR_DNSTAP_IP = 168, /* VAR_DNSTAP_IP */ + YYSYMBOL_VAR_DNSTAP_TLS = 169, /* VAR_DNSTAP_TLS */ + YYSYMBOL_VAR_DNSTAP_TLS_SERVER_NAME = 170, /* VAR_DNSTAP_TLS_SERVER_NAME */ + YYSYMBOL_VAR_DNSTAP_TLS_CERT_BUNDLE = 171, /* VAR_DNSTAP_TLS_CERT_BUNDLE */ + YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 172, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE */ + YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 173, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE */ + YYSYMBOL_VAR_DNSTAP_SEND_IDENTITY = 174, /* VAR_DNSTAP_SEND_IDENTITY */ + YYSYMBOL_VAR_DNSTAP_SEND_VERSION = 175, /* VAR_DNSTAP_SEND_VERSION */ + YYSYMBOL_VAR_DNSTAP_BIDIRECTIONAL = 176, /* VAR_DNSTAP_BIDIRECTIONAL */ + YYSYMBOL_VAR_DNSTAP_IDENTITY = 177, /* VAR_DNSTAP_IDENTITY */ + YYSYMBOL_VAR_DNSTAP_VERSION = 178, /* VAR_DNSTAP_VERSION */ + YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 179, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES */ + YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 180, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES */ + YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 181, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES */ + YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 182, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES */ + YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 183, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES */ + YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 184, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES */ + YYSYMBOL_VAR_RESPONSE_IP_TAG = 185, /* VAR_RESPONSE_IP_TAG */ + YYSYMBOL_VAR_RESPONSE_IP = 186, /* VAR_RESPONSE_IP */ + YYSYMBOL_VAR_RESPONSE_IP_DATA = 187, /* VAR_RESPONSE_IP_DATA */ + YYSYMBOL_VAR_HARDEN_ALGO_DOWNGRADE = 188, /* VAR_HARDEN_ALGO_DOWNGRADE */ + YYSYMBOL_VAR_IP_TRANSPARENT = 189, /* VAR_IP_TRANSPARENT */ + YYSYMBOL_VAR_IP_DSCP = 190, /* VAR_IP_DSCP */ + YYSYMBOL_VAR_DISABLE_DNSSEC_LAME_CHECK = 191, /* VAR_DISABLE_DNSSEC_LAME_CHECK */ + YYSYMBOL_VAR_IP_RATELIMIT = 192, /* VAR_IP_RATELIMIT */ + YYSYMBOL_VAR_IP_RATELIMIT_SLABS = 193, /* VAR_IP_RATELIMIT_SLABS */ + YYSYMBOL_VAR_IP_RATELIMIT_SIZE = 194, /* VAR_IP_RATELIMIT_SIZE */ + YYSYMBOL_VAR_RATELIMIT = 195, /* VAR_RATELIMIT */ + YYSYMBOL_VAR_RATELIMIT_SLABS = 196, /* VAR_RATELIMIT_SLABS */ + YYSYMBOL_VAR_RATELIMIT_SIZE = 197, /* VAR_RATELIMIT_SIZE */ + YYSYMBOL_VAR_RATELIMIT_FOR_DOMAIN = 198, /* VAR_RATELIMIT_FOR_DOMAIN */ + YYSYMBOL_VAR_RATELIMIT_BELOW_DOMAIN = 199, /* VAR_RATELIMIT_BELOW_DOMAIN */ + YYSYMBOL_VAR_IP_RATELIMIT_FACTOR = 200, /* VAR_IP_RATELIMIT_FACTOR */ + YYSYMBOL_VAR_RATELIMIT_FACTOR = 201, /* VAR_RATELIMIT_FACTOR */ + YYSYMBOL_VAR_SEND_CLIENT_SUBNET = 202, /* VAR_SEND_CLIENT_SUBNET */ + YYSYMBOL_VAR_CLIENT_SUBNET_ZONE = 203, /* VAR_CLIENT_SUBNET_ZONE */ + YYSYMBOL_VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 204, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD */ + YYSYMBOL_VAR_CLIENT_SUBNET_OPCODE = 205, /* VAR_CLIENT_SUBNET_OPCODE */ + YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV4 = 206, /* VAR_MAX_CLIENT_SUBNET_IPV4 */ + YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV6 = 207, /* VAR_MAX_CLIENT_SUBNET_IPV6 */ + YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV4 = 208, /* VAR_MIN_CLIENT_SUBNET_IPV4 */ + YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV6 = 209, /* VAR_MIN_CLIENT_SUBNET_IPV6 */ + YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV4 = 210, /* VAR_MAX_ECS_TREE_SIZE_IPV4 */ + YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV6 = 211, /* VAR_MAX_ECS_TREE_SIZE_IPV6 */ + YYSYMBOL_VAR_CAPS_WHITELIST = 212, /* VAR_CAPS_WHITELIST */ + YYSYMBOL_VAR_CACHE_MAX_NEGATIVE_TTL = 213, /* VAR_CACHE_MAX_NEGATIVE_TTL */ + YYSYMBOL_VAR_PERMIT_SMALL_HOLDDOWN = 214, /* VAR_PERMIT_SMALL_HOLDDOWN */ + YYSYMBOL_VAR_QNAME_MINIMISATION = 215, /* VAR_QNAME_MINIMISATION */ + YYSYMBOL_VAR_QNAME_MINIMISATION_STRICT = 216, /* VAR_QNAME_MINIMISATION_STRICT */ + YYSYMBOL_VAR_IP_FREEBIND = 217, /* VAR_IP_FREEBIND */ + YYSYMBOL_VAR_DEFINE_TAG = 218, /* VAR_DEFINE_TAG */ + YYSYMBOL_VAR_LOCAL_ZONE_TAG = 219, /* VAR_LOCAL_ZONE_TAG */ + YYSYMBOL_VAR_ACCESS_CONTROL_TAG = 220, /* VAR_ACCESS_CONTROL_TAG */ + YYSYMBOL_VAR_LOCAL_ZONE_OVERRIDE = 221, /* VAR_LOCAL_ZONE_OVERRIDE */ + YYSYMBOL_VAR_ACCESS_CONTROL_TAG_ACTION = 222, /* VAR_ACCESS_CONTROL_TAG_ACTION */ + YYSYMBOL_VAR_ACCESS_CONTROL_TAG_DATA = 223, /* VAR_ACCESS_CONTROL_TAG_DATA */ + YYSYMBOL_VAR_VIEW = 224, /* VAR_VIEW */ + YYSYMBOL_VAR_ACCESS_CONTROL_VIEW = 225, /* VAR_ACCESS_CONTROL_VIEW */ + YYSYMBOL_VAR_VIEW_FIRST = 226, /* VAR_VIEW_FIRST */ + YYSYMBOL_VAR_SERVE_EXPIRED = 227, /* VAR_SERVE_EXPIRED */ + YYSYMBOL_VAR_SERVE_EXPIRED_TTL = 228, /* VAR_SERVE_EXPIRED_TTL */ + YYSYMBOL_VAR_SERVE_EXPIRED_TTL_RESET = 229, /* VAR_SERVE_EXPIRED_TTL_RESET */ + YYSYMBOL_VAR_SERVE_EXPIRED_REPLY_TTL = 230, /* VAR_SERVE_EXPIRED_REPLY_TTL */ + YYSYMBOL_VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 231, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT */ + YYSYMBOL_VAR_SERVE_ORIGINAL_TTL = 232, /* VAR_SERVE_ORIGINAL_TTL */ + YYSYMBOL_VAR_FAKE_DSA = 233, /* VAR_FAKE_DSA */ + YYSYMBOL_VAR_FAKE_SHA1 = 234, /* VAR_FAKE_SHA1 */ + YYSYMBOL_VAR_LOG_IDENTITY = 235, /* VAR_LOG_IDENTITY */ + YYSYMBOL_VAR_HIDE_TRUSTANCHOR = 236, /* VAR_HIDE_TRUSTANCHOR */ + YYSYMBOL_VAR_TRUST_ANCHOR_SIGNALING = 237, /* VAR_TRUST_ANCHOR_SIGNALING */ + YYSYMBOL_VAR_AGGRESSIVE_NSEC = 238, /* VAR_AGGRESSIVE_NSEC */ + YYSYMBOL_VAR_USE_SYSTEMD = 239, /* VAR_USE_SYSTEMD */ + YYSYMBOL_VAR_SHM_ENABLE = 240, /* VAR_SHM_ENABLE */ + YYSYMBOL_VAR_SHM_KEY = 241, /* VAR_SHM_KEY */ + YYSYMBOL_VAR_ROOT_KEY_SENTINEL = 242, /* VAR_ROOT_KEY_SENTINEL */ + YYSYMBOL_VAR_DNSCRYPT = 243, /* VAR_DNSCRYPT */ + YYSYMBOL_VAR_DNSCRYPT_ENABLE = 244, /* VAR_DNSCRYPT_ENABLE */ + YYSYMBOL_VAR_DNSCRYPT_PORT = 245, /* VAR_DNSCRYPT_PORT */ + YYSYMBOL_VAR_DNSCRYPT_PROVIDER = 246, /* VAR_DNSCRYPT_PROVIDER */ + YYSYMBOL_VAR_DNSCRYPT_SECRET_KEY = 247, /* VAR_DNSCRYPT_SECRET_KEY */ + YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT = 248, /* VAR_DNSCRYPT_PROVIDER_CERT */ + YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 249, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED */ + YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 250, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE */ + YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 251, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS */ + YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SIZE = 252, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE */ + YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SLABS = 253, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS */ + YYSYMBOL_VAR_PAD_RESPONSES = 254, /* VAR_PAD_RESPONSES */ + YYSYMBOL_VAR_PAD_RESPONSES_BLOCK_SIZE = 255, /* VAR_PAD_RESPONSES_BLOCK_SIZE */ + YYSYMBOL_VAR_PAD_QUERIES = 256, /* VAR_PAD_QUERIES */ + YYSYMBOL_VAR_PAD_QUERIES_BLOCK_SIZE = 257, /* VAR_PAD_QUERIES_BLOCK_SIZE */ + YYSYMBOL_VAR_IPSECMOD_ENABLED = 258, /* VAR_IPSECMOD_ENABLED */ + YYSYMBOL_VAR_IPSECMOD_HOOK = 259, /* VAR_IPSECMOD_HOOK */ + YYSYMBOL_VAR_IPSECMOD_IGNORE_BOGUS = 260, /* VAR_IPSECMOD_IGNORE_BOGUS */ + YYSYMBOL_VAR_IPSECMOD_MAX_TTL = 261, /* VAR_IPSECMOD_MAX_TTL */ + YYSYMBOL_VAR_IPSECMOD_WHITELIST = 262, /* VAR_IPSECMOD_WHITELIST */ + YYSYMBOL_VAR_IPSECMOD_STRICT = 263, /* VAR_IPSECMOD_STRICT */ + YYSYMBOL_VAR_CACHEDB = 264, /* VAR_CACHEDB */ + YYSYMBOL_VAR_CACHEDB_BACKEND = 265, /* VAR_CACHEDB_BACKEND */ + YYSYMBOL_VAR_CACHEDB_SECRETSEED = 266, /* VAR_CACHEDB_SECRETSEED */ + YYSYMBOL_VAR_CACHEDB_REDISHOST = 267, /* VAR_CACHEDB_REDISHOST */ + YYSYMBOL_VAR_CACHEDB_REDISPORT = 268, /* VAR_CACHEDB_REDISPORT */ + YYSYMBOL_VAR_CACHEDB_REDISTIMEOUT = 269, /* VAR_CACHEDB_REDISTIMEOUT */ + YYSYMBOL_VAR_CACHEDB_REDISEXPIRERECORDS = 270, /* VAR_CACHEDB_REDISEXPIRERECORDS */ + YYSYMBOL_VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 271, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM */ + YYSYMBOL_VAR_FOR_UPSTREAM = 272, /* VAR_FOR_UPSTREAM */ + YYSYMBOL_VAR_AUTH_ZONE = 273, /* VAR_AUTH_ZONE */ + YYSYMBOL_VAR_ZONEFILE = 274, /* VAR_ZONEFILE */ + YYSYMBOL_VAR_MASTER = 275, /* VAR_MASTER */ + YYSYMBOL_VAR_URL = 276, /* VAR_URL */ + YYSYMBOL_VAR_FOR_DOWNSTREAM = 277, /* VAR_FOR_DOWNSTREAM */ + YYSYMBOL_VAR_FALLBACK_ENABLED = 278, /* VAR_FALLBACK_ENABLED */ + YYSYMBOL_VAR_TLS_ADDITIONAL_PORT = 279, /* VAR_TLS_ADDITIONAL_PORT */ + YYSYMBOL_VAR_LOW_RTT = 280, /* VAR_LOW_RTT */ + YYSYMBOL_VAR_LOW_RTT_PERMIL = 281, /* VAR_LOW_RTT_PERMIL */ + YYSYMBOL_VAR_FAST_SERVER_PERMIL = 282, /* VAR_FAST_SERVER_PERMIL */ + YYSYMBOL_VAR_FAST_SERVER_NUM = 283, /* VAR_FAST_SERVER_NUM */ + YYSYMBOL_VAR_ALLOW_NOTIFY = 284, /* VAR_ALLOW_NOTIFY */ + YYSYMBOL_VAR_TLS_WIN_CERT = 285, /* VAR_TLS_WIN_CERT */ + YYSYMBOL_VAR_TCP_CONNECTION_LIMIT = 286, /* VAR_TCP_CONNECTION_LIMIT */ + YYSYMBOL_VAR_FORWARD_NO_CACHE = 287, /* VAR_FORWARD_NO_CACHE */ + YYSYMBOL_VAR_STUB_NO_CACHE = 288, /* VAR_STUB_NO_CACHE */ + YYSYMBOL_VAR_LOG_SERVFAIL = 289, /* VAR_LOG_SERVFAIL */ + YYSYMBOL_VAR_DENY_ANY = 290, /* VAR_DENY_ANY */ + YYSYMBOL_VAR_UNKNOWN_SERVER_TIME_LIMIT = 291, /* VAR_UNKNOWN_SERVER_TIME_LIMIT */ + YYSYMBOL_VAR_LOG_TAG_QUERYREPLY = 292, /* VAR_LOG_TAG_QUERYREPLY */ + YYSYMBOL_VAR_STREAM_WAIT_SIZE = 293, /* VAR_STREAM_WAIT_SIZE */ + YYSYMBOL_VAR_TLS_CIPHERS = 294, /* VAR_TLS_CIPHERS */ + YYSYMBOL_VAR_TLS_CIPHERSUITES = 295, /* VAR_TLS_CIPHERSUITES */ + YYSYMBOL_VAR_TLS_USE_SNI = 296, /* VAR_TLS_USE_SNI */ + YYSYMBOL_VAR_IPSET = 297, /* VAR_IPSET */ + YYSYMBOL_VAR_IPSET_NAME_V4 = 298, /* VAR_IPSET_NAME_V4 */ + YYSYMBOL_VAR_IPSET_NAME_V6 = 299, /* VAR_IPSET_NAME_V6 */ + YYSYMBOL_VAR_TLS_SESSION_TICKET_KEYS = 300, /* VAR_TLS_SESSION_TICKET_KEYS */ + YYSYMBOL_VAR_RPZ = 301, /* VAR_RPZ */ + YYSYMBOL_VAR_TAGS = 302, /* VAR_TAGS */ + YYSYMBOL_VAR_RPZ_ACTION_OVERRIDE = 303, /* VAR_RPZ_ACTION_OVERRIDE */ + YYSYMBOL_VAR_RPZ_CNAME_OVERRIDE = 304, /* VAR_RPZ_CNAME_OVERRIDE */ + YYSYMBOL_VAR_RPZ_LOG = 305, /* VAR_RPZ_LOG */ + YYSYMBOL_VAR_RPZ_LOG_NAME = 306, /* VAR_RPZ_LOG_NAME */ + YYSYMBOL_VAR_DYNLIB = 307, /* VAR_DYNLIB */ + YYSYMBOL_VAR_DYNLIB_FILE = 308, /* VAR_DYNLIB_FILE */ + YYSYMBOL_VAR_EDNS_CLIENT_STRING = 309, /* VAR_EDNS_CLIENT_STRING */ + YYSYMBOL_VAR_EDNS_CLIENT_STRING_OPCODE = 310, /* VAR_EDNS_CLIENT_STRING_OPCODE */ + YYSYMBOL_VAR_NSID = 311, /* VAR_NSID */ + YYSYMBOL_VAR_ZONEMD_PERMISSIVE_MODE = 312, /* VAR_ZONEMD_PERMISSIVE_MODE */ + YYSYMBOL_VAR_ZONEMD_REJECT_ABSENCE = 313, /* VAR_ZONEMD_REJECT_ABSENCE */ + YYSYMBOL_YYACCEPT = 314, /* $accept */ + YYSYMBOL_toplevelvars = 315, /* toplevelvars */ + YYSYMBOL_toplevelvar = 316, /* toplevelvar */ + YYSYMBOL_force_toplevel = 317, /* force_toplevel */ + YYSYMBOL_serverstart = 318, /* serverstart */ + YYSYMBOL_contents_server = 319, /* contents_server */ + YYSYMBOL_content_server = 320, /* content_server */ + YYSYMBOL_stubstart = 321, /* stubstart */ + YYSYMBOL_contents_stub = 322, /* contents_stub */ + YYSYMBOL_content_stub = 323, /* content_stub */ + YYSYMBOL_forwardstart = 324, /* forwardstart */ + YYSYMBOL_contents_forward = 325, /* contents_forward */ + YYSYMBOL_content_forward = 326, /* content_forward */ + YYSYMBOL_viewstart = 327, /* viewstart */ + YYSYMBOL_contents_view = 328, /* contents_view */ + YYSYMBOL_content_view = 329, /* content_view */ + YYSYMBOL_authstart = 330, /* authstart */ + YYSYMBOL_contents_auth = 331, /* contents_auth */ + YYSYMBOL_content_auth = 332, /* content_auth */ + YYSYMBOL_rpz_tag = 333, /* rpz_tag */ + YYSYMBOL_rpz_action_override = 334, /* rpz_action_override */ + YYSYMBOL_rpz_cname_override = 335, /* rpz_cname_override */ + YYSYMBOL_rpz_log = 336, /* rpz_log */ + YYSYMBOL_rpz_log_name = 337, /* rpz_log_name */ + YYSYMBOL_rpzstart = 338, /* rpzstart */ + YYSYMBOL_contents_rpz = 339, /* contents_rpz */ + YYSYMBOL_content_rpz = 340, /* content_rpz */ + YYSYMBOL_server_num_threads = 341, /* server_num_threads */ + YYSYMBOL_server_verbosity = 342, /* server_verbosity */ + YYSYMBOL_server_statistics_interval = 343, /* server_statistics_interval */ + YYSYMBOL_server_statistics_cumulative = 344, /* server_statistics_cumulative */ + YYSYMBOL_server_extended_statistics = 345, /* server_extended_statistics */ + YYSYMBOL_server_shm_enable = 346, /* server_shm_enable */ + YYSYMBOL_server_shm_key = 347, /* server_shm_key */ + YYSYMBOL_server_port = 348, /* server_port */ + YYSYMBOL_server_send_client_subnet = 349, /* server_send_client_subnet */ + YYSYMBOL_server_client_subnet_zone = 350, /* server_client_subnet_zone */ + YYSYMBOL_server_client_subnet_always_forward = 351, /* server_client_subnet_always_forward */ + YYSYMBOL_server_client_subnet_opcode = 352, /* server_client_subnet_opcode */ + YYSYMBOL_server_max_client_subnet_ipv4 = 353, /* server_max_client_subnet_ipv4 */ + YYSYMBOL_server_max_client_subnet_ipv6 = 354, /* server_max_client_subnet_ipv6 */ + YYSYMBOL_server_min_client_subnet_ipv4 = 355, /* server_min_client_subnet_ipv4 */ + YYSYMBOL_server_min_client_subnet_ipv6 = 356, /* server_min_client_subnet_ipv6 */ + YYSYMBOL_server_max_ecs_tree_size_ipv4 = 357, /* server_max_ecs_tree_size_ipv4 */ + YYSYMBOL_server_max_ecs_tree_size_ipv6 = 358, /* server_max_ecs_tree_size_ipv6 */ + YYSYMBOL_server_interface = 359, /* server_interface */ + YYSYMBOL_server_outgoing_interface = 360, /* server_outgoing_interface */ + YYSYMBOL_server_outgoing_range = 361, /* server_outgoing_range */ + YYSYMBOL_server_outgoing_port_permit = 362, /* server_outgoing_port_permit */ + YYSYMBOL_server_outgoing_port_avoid = 363, /* server_outgoing_port_avoid */ + YYSYMBOL_server_outgoing_num_tcp = 364, /* server_outgoing_num_tcp */ + YYSYMBOL_server_incoming_num_tcp = 365, /* server_incoming_num_tcp */ + YYSYMBOL_server_interface_automatic = 366, /* server_interface_automatic */ + YYSYMBOL_server_do_ip4 = 367, /* server_do_ip4 */ + YYSYMBOL_server_do_ip6 = 368, /* server_do_ip6 */ + YYSYMBOL_server_do_udp = 369, /* server_do_udp */ + YYSYMBOL_server_do_tcp = 370, /* server_do_tcp */ + YYSYMBOL_server_prefer_ip4 = 371, /* server_prefer_ip4 */ + YYSYMBOL_server_prefer_ip6 = 372, /* server_prefer_ip6 */ + YYSYMBOL_server_tcp_mss = 373, /* server_tcp_mss */ + YYSYMBOL_server_outgoing_tcp_mss = 374, /* server_outgoing_tcp_mss */ + YYSYMBOL_server_tcp_idle_timeout = 375, /* server_tcp_idle_timeout */ + YYSYMBOL_server_max_reuse_tcp_queries = 376, /* server_max_reuse_tcp_queries */ + YYSYMBOL_server_tcp_reuse_timeout = 377, /* server_tcp_reuse_timeout */ + YYSYMBOL_server_tcp_auth_query_timeout = 378, /* server_tcp_auth_query_timeout */ + YYSYMBOL_server_tcp_keepalive = 379, /* server_tcp_keepalive */ + YYSYMBOL_server_tcp_keepalive_timeout = 380, /* server_tcp_keepalive_timeout */ + YYSYMBOL_server_tcp_upstream = 381, /* server_tcp_upstream */ + YYSYMBOL_server_udp_upstream_without_downstream = 382, /* server_udp_upstream_without_downstream */ + YYSYMBOL_server_ssl_upstream = 383, /* server_ssl_upstream */ + YYSYMBOL_server_ssl_service_key = 384, /* server_ssl_service_key */ + YYSYMBOL_server_ssl_service_pem = 385, /* server_ssl_service_pem */ + YYSYMBOL_server_ssl_port = 386, /* server_ssl_port */ + YYSYMBOL_server_tls_cert_bundle = 387, /* server_tls_cert_bundle */ + YYSYMBOL_server_tls_win_cert = 388, /* server_tls_win_cert */ + YYSYMBOL_server_tls_additional_port = 389, /* server_tls_additional_port */ + YYSYMBOL_server_tls_ciphers = 390, /* server_tls_ciphers */ + YYSYMBOL_server_tls_ciphersuites = 391, /* server_tls_ciphersuites */ + YYSYMBOL_server_tls_session_ticket_keys = 392, /* server_tls_session_ticket_keys */ + YYSYMBOL_server_tls_use_sni = 393, /* server_tls_use_sni */ + YYSYMBOL_server_https_port = 394, /* server_https_port */ + YYSYMBOL_server_http_endpoint = 395, /* server_http_endpoint */ + YYSYMBOL_server_http_max_streams = 396, /* server_http_max_streams */ + YYSYMBOL_server_http_query_buffer_size = 397, /* server_http_query_buffer_size */ + YYSYMBOL_server_http_response_buffer_size = 398, /* server_http_response_buffer_size */ + YYSYMBOL_server_http_nodelay = 399, /* server_http_nodelay */ + YYSYMBOL_server_http_notls_downstream = 400, /* server_http_notls_downstream */ + YYSYMBOL_server_use_systemd = 401, /* server_use_systemd */ + YYSYMBOL_server_do_daemonize = 402, /* server_do_daemonize */ + YYSYMBOL_server_use_syslog = 403, /* server_use_syslog */ + YYSYMBOL_server_log_time_ascii = 404, /* server_log_time_ascii */ + YYSYMBOL_server_log_queries = 405, /* server_log_queries */ + YYSYMBOL_server_log_replies = 406, /* server_log_replies */ + YYSYMBOL_server_log_tag_queryreply = 407, /* server_log_tag_queryreply */ + YYSYMBOL_server_log_servfail = 408, /* server_log_servfail */ + YYSYMBOL_server_log_local_actions = 409, /* server_log_local_actions */ + YYSYMBOL_server_chroot = 410, /* server_chroot */ + YYSYMBOL_server_username = 411, /* server_username */ + YYSYMBOL_server_directory = 412, /* server_directory */ + YYSYMBOL_server_logfile = 413, /* server_logfile */ + YYSYMBOL_server_pidfile = 414, /* server_pidfile */ + YYSYMBOL_server_root_hints = 415, /* server_root_hints */ + YYSYMBOL_server_dlv_anchor_file = 416, /* server_dlv_anchor_file */ + YYSYMBOL_server_dlv_anchor = 417, /* server_dlv_anchor */ + YYSYMBOL_server_auto_trust_anchor_file = 418, /* server_auto_trust_anchor_file */ + YYSYMBOL_server_trust_anchor_file = 419, /* server_trust_anchor_file */ + YYSYMBOL_server_trusted_keys_file = 420, /* server_trusted_keys_file */ + YYSYMBOL_server_trust_anchor = 421, /* server_trust_anchor */ + YYSYMBOL_server_trust_anchor_signaling = 422, /* server_trust_anchor_signaling */ + YYSYMBOL_server_root_key_sentinel = 423, /* server_root_key_sentinel */ + YYSYMBOL_server_domain_insecure = 424, /* server_domain_insecure */ + YYSYMBOL_server_hide_identity = 425, /* server_hide_identity */ + YYSYMBOL_server_hide_version = 426, /* server_hide_version */ + YYSYMBOL_server_hide_trustanchor = 427, /* server_hide_trustanchor */ + YYSYMBOL_server_identity = 428, /* server_identity */ + YYSYMBOL_server_version = 429, /* server_version */ + YYSYMBOL_server_nsid = 430, /* server_nsid */ + YYSYMBOL_server_so_rcvbuf = 431, /* server_so_rcvbuf */ + YYSYMBOL_server_so_sndbuf = 432, /* server_so_sndbuf */ + YYSYMBOL_server_so_reuseport = 433, /* server_so_reuseport */ + YYSYMBOL_server_ip_transparent = 434, /* server_ip_transparent */ + YYSYMBOL_server_ip_freebind = 435, /* server_ip_freebind */ + YYSYMBOL_server_ip_dscp = 436, /* server_ip_dscp */ + YYSYMBOL_server_stream_wait_size = 437, /* server_stream_wait_size */ + YYSYMBOL_server_edns_buffer_size = 438, /* server_edns_buffer_size */ + YYSYMBOL_server_msg_buffer_size = 439, /* server_msg_buffer_size */ + YYSYMBOL_server_msg_cache_size = 440, /* server_msg_cache_size */ + YYSYMBOL_server_msg_cache_slabs = 441, /* server_msg_cache_slabs */ + YYSYMBOL_server_num_queries_per_thread = 442, /* server_num_queries_per_thread */ + YYSYMBOL_server_jostle_timeout = 443, /* server_jostle_timeout */ + YYSYMBOL_server_delay_close = 444, /* server_delay_close */ + YYSYMBOL_server_udp_connect = 445, /* server_udp_connect */ + YYSYMBOL_server_unblock_lan_zones = 446, /* server_unblock_lan_zones */ + YYSYMBOL_server_insecure_lan_zones = 447, /* server_insecure_lan_zones */ + YYSYMBOL_server_rrset_cache_size = 448, /* server_rrset_cache_size */ + YYSYMBOL_server_rrset_cache_slabs = 449, /* server_rrset_cache_slabs */ + YYSYMBOL_server_infra_host_ttl = 450, /* server_infra_host_ttl */ + YYSYMBOL_server_infra_lame_ttl = 451, /* server_infra_lame_ttl */ + YYSYMBOL_server_infra_cache_numhosts = 452, /* server_infra_cache_numhosts */ + YYSYMBOL_server_infra_cache_lame_size = 453, /* server_infra_cache_lame_size */ + YYSYMBOL_server_infra_cache_slabs = 454, /* server_infra_cache_slabs */ + YYSYMBOL_server_infra_cache_min_rtt = 455, /* server_infra_cache_min_rtt */ + YYSYMBOL_server_infra_keep_probing = 456, /* server_infra_keep_probing */ + YYSYMBOL_server_target_fetch_policy = 457, /* server_target_fetch_policy */ + YYSYMBOL_server_harden_short_bufsize = 458, /* server_harden_short_bufsize */ + YYSYMBOL_server_harden_large_queries = 459, /* server_harden_large_queries */ + YYSYMBOL_server_harden_glue = 460, /* server_harden_glue */ + YYSYMBOL_server_harden_dnssec_stripped = 461, /* server_harden_dnssec_stripped */ + YYSYMBOL_server_harden_below_nxdomain = 462, /* server_harden_below_nxdomain */ + YYSYMBOL_server_harden_referral_path = 463, /* server_harden_referral_path */ + YYSYMBOL_server_harden_algo_downgrade = 464, /* server_harden_algo_downgrade */ + YYSYMBOL_server_use_caps_for_id = 465, /* server_use_caps_for_id */ + YYSYMBOL_server_caps_whitelist = 466, /* server_caps_whitelist */ + YYSYMBOL_server_private_address = 467, /* server_private_address */ + YYSYMBOL_server_private_domain = 468, /* server_private_domain */ + YYSYMBOL_server_prefetch = 469, /* server_prefetch */ + YYSYMBOL_server_prefetch_key = 470, /* server_prefetch_key */ + YYSYMBOL_server_deny_any = 471, /* server_deny_any */ + YYSYMBOL_server_unwanted_reply_threshold = 472, /* server_unwanted_reply_threshold */ + YYSYMBOL_server_do_not_query_address = 473, /* server_do_not_query_address */ + YYSYMBOL_server_do_not_query_localhost = 474, /* server_do_not_query_localhost */ + YYSYMBOL_server_access_control = 475, /* server_access_control */ + YYSYMBOL_server_module_conf = 476, /* server_module_conf */ + YYSYMBOL_server_val_override_date = 477, /* server_val_override_date */ + YYSYMBOL_server_val_sig_skew_min = 478, /* server_val_sig_skew_min */ + YYSYMBOL_server_val_sig_skew_max = 479, /* server_val_sig_skew_max */ + YYSYMBOL_server_cache_max_ttl = 480, /* server_cache_max_ttl */ + YYSYMBOL_server_cache_max_negative_ttl = 481, /* server_cache_max_negative_ttl */ + YYSYMBOL_server_cache_min_ttl = 482, /* server_cache_min_ttl */ + YYSYMBOL_server_bogus_ttl = 483, /* server_bogus_ttl */ + YYSYMBOL_server_val_clean_additional = 484, /* server_val_clean_additional */ + YYSYMBOL_server_val_permissive_mode = 485, /* server_val_permissive_mode */ + YYSYMBOL_server_aggressive_nsec = 486, /* server_aggressive_nsec */ + YYSYMBOL_server_ignore_cd_flag = 487, /* server_ignore_cd_flag */ + YYSYMBOL_server_serve_expired = 488, /* server_serve_expired */ + YYSYMBOL_server_serve_expired_ttl = 489, /* server_serve_expired_ttl */ + YYSYMBOL_server_serve_expired_ttl_reset = 490, /* server_serve_expired_ttl_reset */ + YYSYMBOL_server_serve_expired_reply_ttl = 491, /* server_serve_expired_reply_ttl */ + YYSYMBOL_server_serve_expired_client_timeout = 492, /* server_serve_expired_client_timeout */ + YYSYMBOL_server_serve_original_ttl = 493, /* server_serve_original_ttl */ + YYSYMBOL_server_fake_dsa = 494, /* server_fake_dsa */ + YYSYMBOL_server_fake_sha1 = 495, /* server_fake_sha1 */ + YYSYMBOL_server_val_log_level = 496, /* server_val_log_level */ + YYSYMBOL_server_val_nsec3_keysize_iterations = 497, /* server_val_nsec3_keysize_iterations */ + YYSYMBOL_server_zonemd_permissive_mode = 498, /* server_zonemd_permissive_mode */ + YYSYMBOL_server_add_holddown = 499, /* server_add_holddown */ + YYSYMBOL_server_del_holddown = 500, /* server_del_holddown */ + YYSYMBOL_server_keep_missing = 501, /* server_keep_missing */ + YYSYMBOL_server_permit_small_holddown = 502, /* server_permit_small_holddown */ + YYSYMBOL_server_key_cache_size = 503, /* server_key_cache_size */ + YYSYMBOL_server_key_cache_slabs = 504, /* server_key_cache_slabs */ + YYSYMBOL_server_neg_cache_size = 505, /* server_neg_cache_size */ + YYSYMBOL_server_local_zone = 506, /* server_local_zone */ + YYSYMBOL_server_local_data = 507, /* server_local_data */ + YYSYMBOL_server_local_data_ptr = 508, /* server_local_data_ptr */ + YYSYMBOL_server_minimal_responses = 509, /* server_minimal_responses */ + YYSYMBOL_server_rrset_roundrobin = 510, /* server_rrset_roundrobin */ + YYSYMBOL_server_unknown_server_time_limit = 511, /* server_unknown_server_time_limit */ + YYSYMBOL_server_max_udp_size = 512, /* server_max_udp_size */ + YYSYMBOL_server_dns64_prefix = 513, /* server_dns64_prefix */ + YYSYMBOL_server_dns64_synthall = 514, /* server_dns64_synthall */ + YYSYMBOL_server_dns64_ignore_aaaa = 515, /* server_dns64_ignore_aaaa */ + YYSYMBOL_server_define_tag = 516, /* server_define_tag */ + YYSYMBOL_server_local_zone_tag = 517, /* server_local_zone_tag */ + YYSYMBOL_server_access_control_tag = 518, /* server_access_control_tag */ + YYSYMBOL_server_access_control_tag_action = 519, /* server_access_control_tag_action */ + YYSYMBOL_server_access_control_tag_data = 520, /* server_access_control_tag_data */ + YYSYMBOL_server_local_zone_override = 521, /* server_local_zone_override */ + YYSYMBOL_server_access_control_view = 522, /* server_access_control_view */ + YYSYMBOL_server_response_ip_tag = 523, /* server_response_ip_tag */ + YYSYMBOL_server_ip_ratelimit = 524, /* server_ip_ratelimit */ + YYSYMBOL_server_ratelimit = 525, /* server_ratelimit */ + YYSYMBOL_server_ip_ratelimit_size = 526, /* server_ip_ratelimit_size */ + YYSYMBOL_server_ratelimit_size = 527, /* server_ratelimit_size */ + YYSYMBOL_server_ip_ratelimit_slabs = 528, /* server_ip_ratelimit_slabs */ + YYSYMBOL_server_ratelimit_slabs = 529, /* server_ratelimit_slabs */ + YYSYMBOL_server_ratelimit_for_domain = 530, /* server_ratelimit_for_domain */ + YYSYMBOL_server_ratelimit_below_domain = 531, /* server_ratelimit_below_domain */ + YYSYMBOL_server_ip_ratelimit_factor = 532, /* server_ip_ratelimit_factor */ + YYSYMBOL_server_ratelimit_factor = 533, /* server_ratelimit_factor */ + YYSYMBOL_server_low_rtt = 534, /* server_low_rtt */ + YYSYMBOL_server_fast_server_num = 535, /* server_fast_server_num */ + YYSYMBOL_server_fast_server_permil = 536, /* server_fast_server_permil */ + YYSYMBOL_server_qname_minimisation = 537, /* server_qname_minimisation */ + YYSYMBOL_server_qname_minimisation_strict = 538, /* server_qname_minimisation_strict */ + YYSYMBOL_server_pad_responses = 539, /* server_pad_responses */ + YYSYMBOL_server_pad_responses_block_size = 540, /* server_pad_responses_block_size */ + YYSYMBOL_server_pad_queries = 541, /* server_pad_queries */ + YYSYMBOL_server_pad_queries_block_size = 542, /* server_pad_queries_block_size */ + YYSYMBOL_server_ipsecmod_enabled = 543, /* server_ipsecmod_enabled */ + YYSYMBOL_server_ipsecmod_ignore_bogus = 544, /* server_ipsecmod_ignore_bogus */ + YYSYMBOL_server_ipsecmod_hook = 545, /* server_ipsecmod_hook */ + YYSYMBOL_server_ipsecmod_max_ttl = 546, /* server_ipsecmod_max_ttl */ + YYSYMBOL_server_ipsecmod_whitelist = 547, /* server_ipsecmod_whitelist */ + YYSYMBOL_server_ipsecmod_strict = 548, /* server_ipsecmod_strict */ + YYSYMBOL_server_edns_client_string = 549, /* server_edns_client_string */ + YYSYMBOL_server_edns_client_string_opcode = 550, /* server_edns_client_string_opcode */ + YYSYMBOL_stub_name = 551, /* stub_name */ + YYSYMBOL_stub_host = 552, /* stub_host */ + YYSYMBOL_stub_addr = 553, /* stub_addr */ + YYSYMBOL_stub_first = 554, /* stub_first */ + YYSYMBOL_stub_no_cache = 555, /* stub_no_cache */ + YYSYMBOL_stub_ssl_upstream = 556, /* stub_ssl_upstream */ + YYSYMBOL_stub_prime = 557, /* stub_prime */ + YYSYMBOL_forward_name = 558, /* forward_name */ + YYSYMBOL_forward_host = 559, /* forward_host */ + YYSYMBOL_forward_addr = 560, /* forward_addr */ + YYSYMBOL_forward_first = 561, /* forward_first */ + YYSYMBOL_forward_no_cache = 562, /* forward_no_cache */ + YYSYMBOL_forward_ssl_upstream = 563, /* forward_ssl_upstream */ + YYSYMBOL_auth_name = 564, /* auth_name */ + YYSYMBOL_auth_zonefile = 565, /* auth_zonefile */ + YYSYMBOL_auth_master = 566, /* auth_master */ + YYSYMBOL_auth_url = 567, /* auth_url */ + YYSYMBOL_auth_allow_notify = 568, /* auth_allow_notify */ + YYSYMBOL_auth_zonemd_reject_absence = 569, /* auth_zonemd_reject_absence */ + YYSYMBOL_auth_for_downstream = 570, /* auth_for_downstream */ + YYSYMBOL_auth_for_upstream = 571, /* auth_for_upstream */ + YYSYMBOL_auth_fallback_enabled = 572, /* auth_fallback_enabled */ + YYSYMBOL_view_name = 573, /* view_name */ + YYSYMBOL_view_local_zone = 574, /* view_local_zone */ + YYSYMBOL_view_response_ip = 575, /* view_response_ip */ + YYSYMBOL_view_response_ip_data = 576, /* view_response_ip_data */ + YYSYMBOL_view_local_data = 577, /* view_local_data */ + YYSYMBOL_view_local_data_ptr = 578, /* view_local_data_ptr */ + YYSYMBOL_view_first = 579, /* view_first */ + YYSYMBOL_rcstart = 580, /* rcstart */ + YYSYMBOL_contents_rc = 581, /* contents_rc */ + YYSYMBOL_content_rc = 582, /* content_rc */ + YYSYMBOL_rc_control_enable = 583, /* rc_control_enable */ + YYSYMBOL_rc_control_port = 584, /* rc_control_port */ + YYSYMBOL_rc_control_interface = 585, /* rc_control_interface */ + YYSYMBOL_rc_control_use_cert = 586, /* rc_control_use_cert */ + YYSYMBOL_rc_server_key_file = 587, /* rc_server_key_file */ + YYSYMBOL_rc_server_cert_file = 588, /* rc_server_cert_file */ + YYSYMBOL_rc_control_key_file = 589, /* rc_control_key_file */ + YYSYMBOL_rc_control_cert_file = 590, /* rc_control_cert_file */ + YYSYMBOL_dtstart = 591, /* dtstart */ + YYSYMBOL_contents_dt = 592, /* contents_dt */ + YYSYMBOL_content_dt = 593, /* content_dt */ + YYSYMBOL_dt_dnstap_enable = 594, /* dt_dnstap_enable */ + YYSYMBOL_dt_dnstap_bidirectional = 595, /* dt_dnstap_bidirectional */ + YYSYMBOL_dt_dnstap_socket_path = 596, /* dt_dnstap_socket_path */ + YYSYMBOL_dt_dnstap_ip = 597, /* dt_dnstap_ip */ + YYSYMBOL_dt_dnstap_tls = 598, /* dt_dnstap_tls */ + YYSYMBOL_dt_dnstap_tls_server_name = 599, /* dt_dnstap_tls_server_name */ + YYSYMBOL_dt_dnstap_tls_cert_bundle = 600, /* dt_dnstap_tls_cert_bundle */ + YYSYMBOL_dt_dnstap_tls_client_key_file = 601, /* dt_dnstap_tls_client_key_file */ + YYSYMBOL_dt_dnstap_tls_client_cert_file = 602, /* dt_dnstap_tls_client_cert_file */ + YYSYMBOL_dt_dnstap_send_identity = 603, /* dt_dnstap_send_identity */ + YYSYMBOL_dt_dnstap_send_version = 604, /* dt_dnstap_send_version */ + YYSYMBOL_dt_dnstap_identity = 605, /* dt_dnstap_identity */ + YYSYMBOL_dt_dnstap_version = 606, /* dt_dnstap_version */ + YYSYMBOL_dt_dnstap_log_resolver_query_messages = 607, /* dt_dnstap_log_resolver_query_messages */ + YYSYMBOL_dt_dnstap_log_resolver_response_messages = 608, /* dt_dnstap_log_resolver_response_messages */ + YYSYMBOL_dt_dnstap_log_client_query_messages = 609, /* dt_dnstap_log_client_query_messages */ + YYSYMBOL_dt_dnstap_log_client_response_messages = 610, /* dt_dnstap_log_client_response_messages */ + YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 611, /* dt_dnstap_log_forwarder_query_messages */ + YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 612, /* dt_dnstap_log_forwarder_response_messages */ + YYSYMBOL_pythonstart = 613, /* pythonstart */ + YYSYMBOL_contents_py = 614, /* contents_py */ + YYSYMBOL_content_py = 615, /* content_py */ + YYSYMBOL_py_script = 616, /* py_script */ + YYSYMBOL_dynlibstart = 617, /* dynlibstart */ + YYSYMBOL_contents_dl = 618, /* contents_dl */ + YYSYMBOL_content_dl = 619, /* content_dl */ + YYSYMBOL_dl_file = 620, /* dl_file */ + YYSYMBOL_server_disable_dnssec_lame_check = 621, /* server_disable_dnssec_lame_check */ + YYSYMBOL_server_log_identity = 622, /* server_log_identity */ + YYSYMBOL_server_response_ip = 623, /* server_response_ip */ + YYSYMBOL_server_response_ip_data = 624, /* server_response_ip_data */ + YYSYMBOL_dnscstart = 625, /* dnscstart */ + YYSYMBOL_contents_dnsc = 626, /* contents_dnsc */ + YYSYMBOL_content_dnsc = 627, /* content_dnsc */ + YYSYMBOL_dnsc_dnscrypt_enable = 628, /* dnsc_dnscrypt_enable */ + YYSYMBOL_dnsc_dnscrypt_port = 629, /* dnsc_dnscrypt_port */ + YYSYMBOL_dnsc_dnscrypt_provider = 630, /* dnsc_dnscrypt_provider */ + YYSYMBOL_dnsc_dnscrypt_provider_cert = 631, /* dnsc_dnscrypt_provider_cert */ + YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 632, /* dnsc_dnscrypt_provider_cert_rotated */ + YYSYMBOL_dnsc_dnscrypt_secret_key = 633, /* dnsc_dnscrypt_secret_key */ + YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 634, /* dnsc_dnscrypt_shared_secret_cache_size */ + YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 635, /* dnsc_dnscrypt_shared_secret_cache_slabs */ + YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 636, /* dnsc_dnscrypt_nonce_cache_size */ + YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 637, /* dnsc_dnscrypt_nonce_cache_slabs */ + YYSYMBOL_cachedbstart = 638, /* cachedbstart */ + YYSYMBOL_contents_cachedb = 639, /* contents_cachedb */ + YYSYMBOL_content_cachedb = 640, /* content_cachedb */ + YYSYMBOL_cachedb_backend_name = 641, /* cachedb_backend_name */ + YYSYMBOL_cachedb_secret_seed = 642, /* cachedb_secret_seed */ + YYSYMBOL_redis_server_host = 643, /* redis_server_host */ + YYSYMBOL_redis_server_port = 644, /* redis_server_port */ + YYSYMBOL_redis_timeout = 645, /* redis_timeout */ + YYSYMBOL_redis_expire_records = 646, /* redis_expire_records */ + YYSYMBOL_server_tcp_connection_limit = 647, /* server_tcp_connection_limit */ + YYSYMBOL_ipsetstart = 648, /* ipsetstart */ + YYSYMBOL_contents_ipset = 649, /* contents_ipset */ + YYSYMBOL_content_ipset = 650, /* content_ipset */ + YYSYMBOL_ipset_name_v4 = 651, /* ipset_name_v4 */ + YYSYMBOL_ipset_name_v6 = 652 /* ipset_name_v6 */ +}; +typedef enum yysymbol_kind_t yysymbol_kind_t; -/* Copy the second part of user declarations. */ -/* Line 216 of yacc.c. */ -#line 768 "util/configparser.c" #ifdef short # undef short #endif -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; +/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure + and (if available) are included + so that the code can choose integer types of a good width. */ + +#ifndef __PTRDIFF_MAX__ +# include /* INFRINGES ON USER NAME SPACE */ +# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ +# include /* INFRINGES ON USER NAME SPACE */ +# define YY_STDINT_H +# endif #endif -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +/* Narrow types that promote to a signed type and that can represent a + signed or unsigned integer of at least N bits. In tables they can + save space and decrease cache pressure. Promoting to a signed type + helps avoid bugs in integer arithmetic. */ + +#ifdef __INT_LEAST8_MAX__ +typedef __INT_LEAST8_TYPE__ yytype_int8; +#elif defined YY_STDINT_H +typedef int_least8_t yytype_int8; +#else typedef signed char yytype_int8; -#else -typedef short int yytype_int8; #endif -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; +#ifdef __INT_LEAST16_MAX__ +typedef __INT_LEAST16_TYPE__ yytype_int16; +#elif defined YY_STDINT_H +typedef int_least16_t yytype_int16; #else -typedef unsigned short int yytype_uint16; +typedef short yytype_int16; #endif -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; +#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST8_TYPE__ yytype_uint8; +#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST8_MAX <= INT_MAX) +typedef uint_least8_t yytype_uint8; +#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX +typedef unsigned char yytype_uint8; #else -typedef short int yytype_int16; +typedef short yytype_uint8; +#endif + +#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST16_TYPE__ yytype_uint16; +#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST16_MAX <= INT_MAX) +typedef uint_least16_t yytype_uint16; +#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX +typedef unsigned short yytype_uint16; +#else +typedef int yytype_uint16; +#endif + +#ifndef YYPTRDIFF_T +# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ +# define YYPTRDIFF_T __PTRDIFF_TYPE__ +# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ +# elif defined PTRDIFF_MAX +# ifndef ptrdiff_t +# include /* INFRINGES ON USER NAME SPACE */ +# endif +# define YYPTRDIFF_T ptrdiff_t +# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX +# else +# define YYPTRDIFF_T long +# define YYPTRDIFF_MAXIMUM LONG_MAX +# endif #endif #ifndef YYSIZE_T @@ -802,55 +1535,100 @@ typedef short int yytype_int16; # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) +#define YYSIZE_MAXIMUM \ + YY_CAST (YYPTRDIFF_T, \ + (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ + ? YYPTRDIFF_MAXIMUM \ + : YY_CAST (YYSIZE_T, -1))) + +#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) + + +/* Stored state numbers (used for stacks). */ +typedef yytype_int16 yy_state_t; + +/* State numbers in computations. */ +typedef int yy_state_fast_t; #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ -# define YY_(msgid) msgid +# define YY_(Msgid) Msgid +# endif +#endif + + +#ifndef YY_ATTRIBUTE_PURE +# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define YY_ATTRIBUTE_PURE +# endif +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +# else +# define YY_ATTRIBUTE_UNUSED # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) +# define YYUSE(E) ((void) (E)) #else -# define YYUSE(e) /* empty */ +# define YYUSE(E) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int i) -#else -static int -YYID (i) - int i; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return i; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END +#endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif -#if ! defined yyoverflow || YYERROR_VERBOSE +#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ +# define YY_IGNORE_USELESS_CAST_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") +# define YY_IGNORE_USELESS_CAST_END \ + _Pragma ("GCC diagnostic pop") +#endif +#ifndef YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_END +#endif + + +#define YY_ASSERT(E) ((void) (0 && (E))) + +#if !defined yyoverflow /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -867,11 +1645,11 @@ YYID (i) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # endif @@ -879,8 +1657,8 @@ YYID (i) # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -894,88 +1672,89 @@ YYID (i) # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif -# if (defined __cplusplus && ! defined _STDLIB_H \ +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - +#endif /* !defined yyoverflow */ #if (! defined yyoverflow \ && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss; - YYSTYPE yyvs; - }; + yy_state_t yyss_alloc; + YYSTYPE yyvs_alloc; +}; /* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) +# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif +# define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYPTRDIFF_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / YYSIZEOF (*yyptr); \ + } \ + while (0) #endif +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYPTRDIFF_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ @@ -987,18 +1766,22 @@ union yyalloc #define YYNNTS 339 /* YYNRULES -- Number of rules. */ #define YYNRULES 654 -/* YYNRULES -- Number of states. */ +/* YYNSTATES -- Number of states. */ #define YYNSTATES 972 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 #define YYMAXUTOK 568 -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint16 yytranslate[] = +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ +#define YYTRANSLATE(YYX) \ + (0 <= (YYX) && (YYX) <= YYMAXUTOK \ + ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ + : YYSYMBOL_YYUNDEF) + +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex. */ +static const yytype_int16 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1060,249 +1843,8 @@ static const yytype_uint16 yytranslate[] = }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 4, 7, 10, 13, 16, 19, 22, - 25, 28, 31, 34, 37, 40, 43, 46, 48, 50, - 52, 55, 56, 58, 60, 62, 64, 66, 68, 70, - 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, - 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, - 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, - 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, - 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, - 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, - 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, - 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, - 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, - 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, - 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, - 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, - 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, - 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, - 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, - 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, - 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, - 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, - 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, - 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, - 472, 474, 476, 478, 480, 482, 484, 486, 488, 491, - 492, 494, 496, 498, 500, 502, 504, 506, 508, 511, - 512, 514, 516, 518, 520, 522, 524, 526, 529, 530, - 532, 534, 536, 538, 540, 542, 544, 546, 549, 550, - 552, 554, 556, 558, 560, 562, 564, 566, 568, 571, - 574, 577, 580, 583, 585, 588, 589, 591, 593, 595, - 597, 599, 601, 603, 605, 607, 609, 612, 615, 618, - 621, 624, 627, 630, 633, 636, 639, 642, 645, 648, - 651, 654, 657, 660, 663, 666, 669, 672, 675, 678, - 681, 684, 687, 690, 693, 696, 699, 702, 705, 708, - 711, 714, 717, 720, 723, 726, 729, 732, 735, 738, - 741, 744, 747, 750, 753, 756, 759, 762, 765, 768, - 771, 774, 777, 780, 783, 786, 789, 792, 795, 798, - 801, 804, 807, 810, 813, 816, 819, 822, 825, 828, - 831, 834, 837, 840, 843, 846, 849, 852, 855, 858, - 861, 864, 867, 870, 873, 876, 879, 882, 885, 888, - 891, 894, 897, 900, 903, 906, 909, 912, 915, 918, - 921, 924, 927, 930, 933, 936, 939, 942, 945, 948, - 951, 954, 957, 960, 963, 966, 969, 972, 975, 978, - 981, 984, 987, 990, 993, 996, 999, 1002, 1005, 1008, - 1011, 1015, 1018, 1021, 1024, 1027, 1030, 1033, 1036, 1039, - 1042, 1045, 1048, 1051, 1054, 1057, 1060, 1063, 1066, 1069, - 1072, 1075, 1078, 1081, 1084, 1087, 1090, 1093, 1096, 1099, - 1102, 1105, 1109, 1112, 1115, 1118, 1121, 1124, 1127, 1130, - 1133, 1136, 1139, 1143, 1147, 1152, 1157, 1162, 1166, 1170, - 1173, 1176, 1179, 1182, 1185, 1188, 1192, 1196, 1199, 1202, - 1205, 1208, 1211, 1214, 1217, 1220, 1223, 1226, 1229, 1232, - 1235, 1238, 1241, 1244, 1247, 1251, 1254, 1257, 1260, 1263, - 1266, 1269, 1272, 1275, 1278, 1281, 1284, 1287, 1290, 1293, - 1296, 1299, 1302, 1305, 1308, 1311, 1314, 1317, 1320, 1323, - 1327, 1331, 1335, 1338, 1341, 1344, 1346, 1349, 1350, 1352, - 1354, 1356, 1358, 1360, 1362, 1364, 1366, 1369, 1372, 1375, - 1378, 1381, 1384, 1387, 1390, 1392, 1395, 1396, 1398, 1400, - 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, - 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1437, 1440, 1443, - 1446, 1449, 1452, 1455, 1458, 1461, 1464, 1467, 1470, 1473, - 1476, 1479, 1482, 1485, 1488, 1491, 1493, 1496, 1497, 1499, - 1502, 1504, 1507, 1508, 1510, 1513, 1516, 1519, 1523, 1527, - 1529, 1532, 1533, 1535, 1537, 1539, 1541, 1543, 1545, 1547, - 1549, 1551, 1553, 1556, 1559, 1562, 1565, 1568, 1571, 1574, - 1577, 1580, 1583, 1585, 1588, 1589, 1591, 1593, 1595, 1597, - 1599, 1601, 1604, 1607, 1610, 1613, 1616, 1619, 1623, 1625, - 1628, 1629, 1631, 1633, 1636 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int16 yyrhs[] = -{ - 315, 0, -1, -1, 315, 316, -1, 318, 319, -1, - 321, 322, -1, 324, 325, -1, 613, 614, -1, 580, - 581, -1, 591, 592, -1, 327, 328, -1, 625, 626, - -1, 638, 639, -1, 648, 649, -1, 330, 331, -1, - 338, 339, -1, 617, 618, -1, 317, -1, 11, -1, - 12, -1, 319, 320, -1, -1, 341, -1, 342, -1, - 348, -1, 361, -1, 367, -1, 368, -1, 371, -1, - 372, -1, 369, -1, 370, -1, 373, -1, 374, -1, - 375, -1, 379, -1, 380, -1, 359, -1, 410, -1, - 411, -1, 412, -1, 413, -1, 414, -1, 440, -1, - 441, -1, 442, -1, 448, -1, 449, -1, 364, -1, - 450, -1, 451, -1, 454, -1, 452, -1, 453, -1, - 457, -1, 458, -1, 459, -1, 473, -1, 425, -1, - 426, -1, 428, -1, 429, -1, 460, -1, 476, -1, - 419, -1, 421, -1, 477, -1, 483, -1, 484, -1, - 485, -1, 365, -1, 439, -1, 503, -1, 504, -1, - 420, -1, 497, -1, 403, -1, 360, -1, 415, -1, - 474, -1, 480, -1, 461, -1, 475, -1, 506, -1, - 507, -1, 366, -1, 343, -1, 402, -1, 465, -1, - 344, -1, 362, -1, 363, -1, 416, -1, 417, -1, - 505, -1, 463, -1, 467, -1, 468, -1, 345, -1, - 508, -1, 443, -1, 472, -1, 404, -1, 424, -1, - 478, -1, 479, -1, 482, -1, 496, -1, 418, -1, - 499, -1, 500, -1, 501, -1, 431, -1, 438, -1, - 469, -1, 470, -1, 432, -1, 462, -1, 487, -1, - 405, -1, 406, -1, 381, -1, 383, -1, 409, -1, - 384, -1, 385, -1, 386, -1, 394, -1, 395, -1, - 396, -1, 397, -1, 398, -1, 399, -1, 400, -1, - 509, -1, 510, -1, 512, -1, 433, -1, 444, -1, - 445, -1, 446, -1, 447, -1, 513, -1, 514, -1, - 515, -1, 455, -1, 464, -1, 434, -1, 524, -1, - 525, -1, 436, -1, 456, -1, 528, -1, 529, -1, - 526, -1, 527, -1, 530, -1, 531, -1, 533, -1, - 532, -1, 349, -1, 350, -1, 351, -1, 352, -1, - 353, -1, 354, -1, 355, -1, 356, -1, 357, -1, - 358, -1, 466, -1, 481, -1, 502, -1, 537, -1, - 435, -1, 516, -1, 517, -1, 621, -1, 518, -1, - 521, -1, 519, -1, 520, -1, 522, -1, 538, -1, - 539, -1, 540, -1, 541, -1, 542, -1, 488, -1, - 489, -1, 490, -1, 491, -1, 492, -1, 493, -1, - 494, -1, 622, -1, 401, -1, 523, -1, 623, -1, - 624, -1, 346, -1, 347, -1, 495, -1, 427, -1, - 422, -1, 423, -1, 543, -1, 545, -1, 544, -1, - 546, -1, 547, -1, 548, -1, 382, -1, 486, -1, - 387, -1, 389, -1, 534, -1, 536, -1, 535, -1, - 388, -1, 647, -1, 408, -1, 471, -1, 511, -1, - 407, -1, 437, -1, 390, -1, 391, -1, 392, -1, - 393, -1, 549, -1, 550, -1, 430, -1, 498, -1, - 376, -1, 377, -1, 378, -1, 46, -1, 322, 323, - -1, -1, 551, -1, 552, -1, 553, -1, 557, -1, - 554, -1, 555, -1, 556, -1, 52, -1, 325, 326, - -1, -1, 558, -1, 559, -1, 560, -1, 561, -1, - 562, -1, 563, -1, 224, -1, 328, 329, -1, -1, - 573, -1, 574, -1, 577, -1, 579, -1, 575, -1, - 576, -1, 578, -1, 273, -1, 331, 332, -1, -1, - 564, -1, 565, -1, 566, -1, 567, -1, 570, -1, - 571, -1, 572, -1, 568, -1, 569, -1, 302, 10, - -1, 303, 10, -1, 304, 10, -1, 305, 10, -1, - 306, 10, -1, 301, -1, 339, 340, -1, -1, 564, - -1, 565, -1, 333, -1, 566, -1, 567, -1, 568, - -1, 334, -1, 335, -1, 336, -1, 337, -1, 14, - 10, -1, 13, 10, -1, 84, 10, -1, 87, 10, - -1, 107, 10, -1, 240, 10, -1, 241, 10, -1, - 15, 10, -1, 202, 10, -1, 203, 10, -1, 204, - 10, -1, 205, 10, -1, 206, 10, -1, 207, 10, - -1, 208, 10, -1, 209, 10, -1, 210, 10, -1, - 211, 10, -1, 17, 10, -1, 75, 10, -1, 16, - 10, -1, 88, 10, -1, 89, 10, -1, 39, 10, - -1, 68, 10, -1, 83, 10, -1, 19, 10, -1, - 20, 10, -1, 22, 10, -1, 23, 10, -1, 18, - 10, -1, 21, 10, -1, 24, 10, -1, 25, 10, - -1, 26, 10, -1, 106, 10, -1, 105, 10, -1, - 137, 10, -1, 27, 10, -1, 28, 10, -1, 135, - 10, -1, 271, 10, -1, 136, 10, -1, 138, 10, - -1, 139, 10, -1, 140, 10, -1, 144, 10, -1, - 285, 10, -1, 279, 10, -1, 294, 10, -1, 295, - 10, -1, 300, 10, -1, 296, 10, -1, 145, 10, - -1, 146, 10, -1, 147, 10, -1, 148, 10, -1, - 149, 10, -1, 150, 10, -1, 151, 10, -1, 239, - 10, -1, 85, 10, -1, 74, 10, -1, 112, 10, - -1, 132, 10, -1, 133, 10, -1, 292, 10, -1, - 289, 10, -1, 134, 10, -1, 29, 10, -1, 30, - 10, -1, 31, 10, -1, 32, 10, -1, 33, 10, - -1, 76, 10, -1, 90, 10, -1, 91, 10, -1, - 120, 10, -1, 62, 10, -1, 72, 10, -1, 63, - 10, -1, 237, 10, -1, 242, 10, -1, 113, 10, - -1, 56, 10, -1, 57, 10, -1, 236, 10, -1, - 58, 10, -1, 59, 10, -1, 311, 10, -1, 124, - 10, -1, 128, 10, -1, 129, 10, -1, 189, 10, - -1, 217, 10, -1, 190, 10, -1, 293, 10, -1, - 125, 10, -1, 69, 10, -1, 34, 10, -1, 35, - 10, -1, 36, 10, -1, 109, 10, -1, 156, 10, - -1, 157, 10, -1, 158, 10, -1, 159, 10, -1, - 37, 10, -1, 38, 10, -1, 40, 10, -1, 41, - 10, -1, 43, 10, -1, 44, 10, -1, 42, 10, - -1, 160, 10, -1, 161, 10, -1, 49, 10, -1, - 50, 10, -1, 51, 10, -1, 60, 10, -1, 79, - 10, -1, 130, 10, -1, 93, 10, -1, 188, 10, - -1, 86, 10, -1, 212, 10, -1, 94, 10, -1, - 95, 10, -1, 126, 10, -1, 127, 10, -1, 290, - 10, -1, 111, 10, -1, 55, 10, -1, 77, 10, - -1, 80, 10, 10, -1, 61, 10, -1, 64, 10, - -1, 116, 10, -1, 117, 10, -1, 78, 10, -1, - 213, 10, -1, 118, 10, -1, 65, 10, -1, 66, - 10, -1, 67, 10, -1, 238, 10, -1, 131, 10, - -1, 227, 10, -1, 228, 10, -1, 229, 10, -1, - 230, 10, -1, 231, 10, -1, 232, 10, -1, 233, - 10, -1, 234, 10, -1, 119, 10, -1, 73, 10, - -1, 312, 10, -1, 122, 10, -1, 123, 10, -1, - 121, 10, -1, 214, 10, -1, 70, 10, -1, 71, - 10, -1, 92, 10, -1, 81, 10, 10, -1, 82, - 10, -1, 108, 10, -1, 153, 10, -1, 154, 10, - -1, 291, 10, -1, 155, 10, -1, 162, 10, -1, - 163, 10, -1, 164, 10, -1, 218, 10, -1, 219, - 10, 10, -1, 220, 10, 10, -1, 222, 10, 10, - 10, -1, 223, 10, 10, 10, -1, 221, 10, 10, - 10, -1, 225, 10, 10, -1, 185, 10, 10, -1, - 192, 10, -1, 195, 10, -1, 194, 10, -1, 197, - 10, -1, 193, 10, -1, 196, 10, -1, 198, 10, - 10, -1, 199, 10, 10, -1, 200, 10, -1, 201, - 10, -1, 280, 10, -1, 283, 10, -1, 282, 10, - -1, 215, 10, -1, 216, 10, -1, 254, 10, -1, - 255, 10, -1, 256, 10, -1, 257, 10, -1, 258, - 10, -1, 260, 10, -1, 259, 10, -1, 261, 10, - -1, 262, 10, -1, 263, 10, -1, 309, 10, 10, - -1, 310, 10, -1, 45, 10, -1, 47, 10, -1, - 48, 10, -1, 152, 10, -1, 288, 10, -1, 142, - 10, -1, 110, 10, -1, 45, 10, -1, 53, 10, - -1, 54, 10, -1, 141, 10, -1, 287, 10, -1, - 143, 10, -1, 45, 10, -1, 274, 10, -1, 275, - 10, -1, 276, 10, -1, 284, 10, -1, 313, 10, - -1, 277, 10, -1, 272, 10, -1, 278, 10, -1, - 45, 10, -1, 81, 10, 10, -1, 186, 10, 10, - -1, 187, 10, 10, -1, 82, 10, -1, 108, 10, - -1, 226, 10, -1, 96, -1, 581, 582, -1, -1, - 583, -1, 585, -1, 584, -1, 587, -1, 588, -1, - 589, -1, 590, -1, 586, -1, 97, 10, -1, 99, - 10, -1, 98, 10, -1, 104, 10, -1, 100, 10, - -1, 101, 10, -1, 102, 10, -1, 103, 10, -1, - 165, -1, 592, 593, -1, -1, 594, -1, 596, -1, - 595, -1, 597, -1, 598, -1, 599, -1, 600, -1, - 601, -1, 602, -1, 603, -1, 604, -1, 605, -1, - 606, -1, 607, -1, 608, -1, 609, -1, 610, -1, - 611, -1, 612, -1, 166, 10, -1, 176, 10, -1, - 167, 10, -1, 168, 10, -1, 169, 10, -1, 170, - 10, -1, 171, 10, -1, 172, 10, -1, 173, 10, - -1, 174, 10, -1, 175, 10, -1, 177, 10, -1, - 178, 10, -1, 179, 10, -1, 180, 10, -1, 181, - 10, -1, 182, 10, -1, 183, 10, -1, 184, 10, - -1, 114, -1, 614, 615, -1, -1, 616, -1, 115, - 10, -1, 307, -1, 618, 619, -1, -1, 620, -1, - 308, 10, -1, 191, 10, -1, 235, 10, -1, 186, - 10, 10, -1, 187, 10, 10, -1, 243, -1, 626, - 627, -1, -1, 628, -1, 629, -1, 630, -1, 633, - -1, 631, -1, 632, -1, 634, -1, 635, -1, 636, - -1, 637, -1, 244, 10, -1, 245, 10, -1, 246, - 10, -1, 248, 10, -1, 249, 10, -1, 247, 10, - -1, 250, 10, -1, 251, 10, -1, 252, 10, -1, - 253, 10, -1, 264, -1, 639, 640, -1, -1, 641, - -1, 642, -1, 643, -1, 644, -1, 645, -1, 646, - -1, 265, 10, -1, 266, 10, -1, 267, 10, -1, - 268, 10, -1, 269, 10, -1, 270, 10, -1, 286, - 10, 10, -1, 297, -1, 649, 650, -1, -1, 651, - -1, 652, -1, 298, 10, -1, 299, 10, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_int16 yyrline[] = { 0, 188, 188, 188, 189, 189, 190, 190, 191, 191, 191, 192, 192, 193, 193, 194, 194, 195, 197, 203, @@ -1373,16 +1915,23 @@ static const yytype_uint16 yyrline[] = }; #endif -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +/** Accessing symbol of state STATE. */ +#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) + +#if YYDEBUG || 0 +/* The user-facing name of the symbol whose (internal) number is + YYSYMBOL. No bounds checking. */ +static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; + /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "SPACE", "LETTER", "NEWLINE", "COMMENT", - "COLON", "ANY", "ZONESTR", "STRING_ARG", "VAR_FORCE_TOPLEVEL", - "VAR_SERVER", "VAR_VERBOSITY", "VAR_NUM_THREADS", "VAR_PORT", - "VAR_OUTGOING_RANGE", "VAR_INTERFACE", "VAR_PREFER_IP4", "VAR_DO_IP4", - "VAR_DO_IP6", "VAR_PREFER_IP6", "VAR_DO_UDP", "VAR_DO_TCP", + "\"end of file\"", "error", "\"invalid token\"", "SPACE", "LETTER", + "NEWLINE", "COMMENT", "COLON", "ANY", "ZONESTR", "STRING_ARG", + "VAR_FORCE_TOPLEVEL", "VAR_SERVER", "VAR_VERBOSITY", "VAR_NUM_THREADS", + "VAR_PORT", "VAR_OUTGOING_RANGE", "VAR_INTERFACE", "VAR_PREFER_IP4", + "VAR_DO_IP4", "VAR_DO_IP6", "VAR_PREFER_IP6", "VAR_DO_UDP", "VAR_DO_TCP", "VAR_TCP_MSS", "VAR_OUTGOING_TCP_MSS", "VAR_TCP_IDLE_TIMEOUT", "VAR_EDNS_TCP_KEEPALIVE", "VAR_EDNS_TCP_KEEPALIVE_TIMEOUT", "VAR_CHROOT", "VAR_USERNAME", "VAR_DIRECTORY", "VAR_LOGFILE", "VAR_PIDFILE", @@ -1631,14 +2180,20 @@ static const char *const yytname[] = "cachedb_backend_name", "cachedb_secret_seed", "redis_server_host", "redis_server_port", "redis_timeout", "redis_expire_records", "server_tcp_connection_limit", "ipsetstart", "contents_ipset", - "content_ipset", "ipset_name_v4", "ipset_name_v6", 0 + "content_ipset", "ipset_name_v4", "ipset_name_v6", YY_NULLPTR }; + +static const char * +yysymbol_name (yysymbol_kind_t yysymbol) +{ + return yytname[yysymbol]; +} #endif -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const yytype_uint16 yytoknum[] = +#ifdef YYPRINT +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ +static const yytype_int16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, @@ -1673,297 +2228,20 @@ static const yytype_uint16 yytoknum[] = 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568 }; -# endif +#endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint16 yyr1[] = -{ - 0, 314, 315, 315, 316, 316, 316, 316, 316, 316, - 316, 316, 316, 316, 316, 316, 316, 316, 317, 318, - 319, 319, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 321, 322, 322, - 323, 323, 323, 323, 323, 323, 323, 324, 325, 325, - 326, 326, 326, 326, 326, 326, 327, 328, 328, 329, - 329, 329, 329, 329, 329, 329, 330, 331, 331, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 333, 334, - 335, 336, 337, 338, 339, 339, 340, 340, 340, 340, - 340, 340, 340, 340, 340, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 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, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, - 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, - 575, 576, 577, 578, 579, 580, 581, 581, 582, 582, - 582, 582, 582, 582, 582, 582, 583, 584, 585, 586, - 587, 588, 589, 590, 591, 592, 592, 593, 593, 593, - 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, - 593, 593, 593, 593, 593, 593, 594, 595, 596, 597, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 614, 615, 616, - 617, 618, 618, 619, 620, 621, 622, 623, 624, 625, - 626, 626, 627, 627, 627, 627, 627, 627, 627, 627, - 627, 627, 628, 629, 630, 631, 632, 633, 634, 635, - 636, 637, 638, 639, 639, 640, 640, 640, 640, 640, - 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, - 649, 650, 650, 651, 652 -}; +#define YYPACT_NINF (-299) -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, - 2, 0, 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, 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, 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, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, - 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 1, 2, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 3, 4, 4, 4, 3, 3, 2, - 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, - 3, 3, 2, 2, 2, 1, 2, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 1, 2, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 0, 1, 2, - 1, 2, 0, 1, 2, 2, 2, 3, 3, 1, - 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 2, 0, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 2, 2, 2, 3, 1, 2, - 0, 1, 1, 2, 2 -}; +#define yypact_value_is_default(Yyn) \ + ((Yyn) == YYPACT_NINF) -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint16 yydefact[] = -{ - 2, 0, 1, 18, 19, 237, 247, 535, 595, 554, - 256, 609, 632, 266, 648, 283, 600, 3, 17, 21, - 239, 249, 258, 268, 285, 537, 556, 597, 602, 611, - 634, 650, 4, 5, 6, 10, 14, 15, 8, 9, - 7, 16, 11, 12, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 22, 23, 86, 89, 98, 200, 201, 24, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 37, - 77, 25, 90, 91, 48, 70, 85, 26, 27, 30, - 31, 28, 29, 32, 33, 34, 234, 235, 236, 35, - 36, 121, 212, 122, 124, 125, 126, 214, 219, 215, - 226, 227, 228, 229, 127, 128, 129, 130, 131, 132, - 133, 196, 87, 76, 102, 119, 120, 224, 221, 123, - 38, 39, 40, 41, 42, 78, 92, 93, 108, 64, - 74, 65, 204, 205, 103, 58, 59, 203, 60, 61, - 232, 112, 116, 137, 147, 174, 150, 225, 113, 71, - 43, 44, 45, 100, 138, 139, 140, 141, 46, 47, - 49, 50, 52, 53, 51, 145, 151, 54, 55, 56, - 62, 81, 117, 95, 146, 88, 170, 96, 97, 114, - 115, 222, 101, 57, 79, 82, 63, 66, 104, 105, - 80, 171, 106, 67, 68, 69, 213, 118, 188, 189, - 190, 191, 192, 193, 194, 202, 107, 75, 233, 109, - 110, 111, 172, 72, 73, 94, 83, 84, 99, 134, - 135, 223, 136, 142, 143, 144, 175, 176, 178, 180, - 181, 179, 182, 197, 148, 149, 154, 155, 152, 153, - 156, 157, 159, 158, 216, 218, 217, 173, 183, 184, - 185, 186, 187, 206, 208, 207, 209, 210, 211, 230, - 231, 177, 195, 198, 199, 220, 0, 0, 0, 0, - 0, 0, 0, 238, 240, 241, 242, 244, 245, 246, - 243, 0, 0, 0, 0, 0, 0, 248, 250, 251, - 252, 253, 254, 255, 0, 0, 0, 0, 0, 0, - 0, 257, 259, 260, 263, 264, 261, 265, 262, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 267, 269, - 270, 271, 272, 276, 277, 273, 274, 275, 0, 0, - 0, 0, 0, 288, 292, 293, 294, 295, 284, 286, - 287, 289, 290, 291, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 538, 540, 539, 545, 541, 542, 543, - 544, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 555, 557, 559, 558, 560, 561, 562, 563, 564, 565, - 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, - 0, 596, 598, 0, 601, 603, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 610, 612, 613, 614, - 616, 617, 615, 618, 619, 620, 621, 0, 0, 0, - 0, 0, 0, 633, 635, 636, 637, 638, 639, 640, - 0, 0, 649, 651, 652, 297, 296, 303, 316, 314, - 326, 322, 323, 327, 324, 325, 328, 329, 330, 334, - 335, 365, 366, 367, 368, 369, 395, 396, 397, 403, - 404, 319, 405, 406, 409, 407, 408, 412, 413, 414, - 428, 380, 381, 383, 384, 415, 431, 374, 376, 432, - 438, 439, 440, 320, 394, 458, 459, 375, 452, 358, - 315, 370, 429, 435, 416, 0, 0, 462, 321, 298, - 357, 420, 299, 317, 318, 371, 372, 460, 418, 422, - 423, 332, 331, 300, 463, 398, 427, 359, 379, 433, - 434, 437, 451, 373, 456, 454, 455, 386, 393, 424, - 425, 387, 388, 417, 442, 360, 361, 364, 336, 338, - 333, 339, 340, 341, 342, 349, 350, 351, 352, 353, - 354, 355, 464, 465, 467, 399, 400, 401, 402, 410, - 411, 468, 469, 470, 0, 0, 0, 419, 389, 391, - 605, 479, 483, 481, 480, 484, 482, 0, 0, 487, - 488, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 421, 436, 457, 492, 493, 390, 471, 0, 0, - 0, 0, 0, 0, 443, 444, 445, 446, 447, 448, - 449, 450, 606, 382, 377, 441, 356, 301, 302, 378, - 494, 495, 496, 497, 498, 500, 499, 501, 502, 503, - 337, 344, 489, 491, 490, 343, 0, 363, 426, 466, - 362, 392, 345, 346, 348, 347, 0, 505, 385, 453, - 506, 507, 508, 512, 511, 509, 510, 513, 514, 515, - 516, 518, 517, 528, 0, 532, 533, 0, 0, 534, - 519, 526, 520, 521, 522, 525, 527, 523, 524, 278, - 279, 280, 281, 282, 546, 548, 547, 550, 551, 552, - 553, 549, 576, 578, 579, 580, 581, 582, 583, 584, - 585, 586, 577, 587, 588, 589, 590, 591, 592, 593, - 594, 599, 604, 622, 623, 624, 627, 625, 626, 628, - 629, 630, 631, 641, 642, 643, 644, 645, 646, 653, - 654, 430, 461, 478, 607, 608, 485, 486, 472, 473, - 0, 0, 0, 477, 647, 504, 529, 530, 531, 476, - 474, 475 -}; +#define YYTABLE_NINF (-1) -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int16 yydefgoto[] = -{ - -1, 1, 17, 18, 19, 32, 260, 20, 33, 483, - 21, 34, 497, 22, 35, 511, 23, 36, 528, 543, - 544, 545, 546, 547, 24, 37, 548, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, - 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 484, 485, 486, - 487, 488, 489, 490, 498, 499, 500, 501, 502, 503, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 512, - 513, 514, 515, 516, 517, 518, 25, 38, 562, 563, - 564, 565, 566, 567, 568, 569, 570, 26, 39, 590, - 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 27, - 40, 611, 612, 28, 41, 614, 615, 471, 472, 473, - 474, 29, 42, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 636, 30, 43, 643, 644, 645, 646, - 647, 648, 649, 475, 31, 44, 652, 653, 654 -}; +#define yytable_value_is_error(Yyn) \ + 0 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -299 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { -299, 0, -299, -299, -299, -299, -299, -299, -299, -299, @@ -2066,7 +2344,112 @@ static const yytype_int16 yypact[] = -299, -299 }; -/* YYPGOTO[NTERM-NUM]. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_int16 yydefact[] = +{ + 2, 0, 1, 18, 19, 237, 247, 535, 595, 554, + 256, 609, 632, 266, 648, 283, 600, 3, 17, 21, + 239, 249, 258, 268, 285, 537, 556, 597, 602, 611, + 634, 650, 4, 5, 6, 10, 14, 15, 8, 9, + 7, 16, 11, 12, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 22, 23, 86, 89, 98, 200, 201, 24, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 37, + 77, 25, 90, 91, 48, 70, 85, 26, 27, 30, + 31, 28, 29, 32, 33, 34, 234, 235, 236, 35, + 36, 121, 212, 122, 124, 125, 126, 214, 219, 215, + 226, 227, 228, 229, 127, 128, 129, 130, 131, 132, + 133, 196, 87, 76, 102, 119, 120, 224, 221, 123, + 38, 39, 40, 41, 42, 78, 92, 93, 108, 64, + 74, 65, 204, 205, 103, 58, 59, 203, 60, 61, + 232, 112, 116, 137, 147, 174, 150, 225, 113, 71, + 43, 44, 45, 100, 138, 139, 140, 141, 46, 47, + 49, 50, 52, 53, 51, 145, 151, 54, 55, 56, + 62, 81, 117, 95, 146, 88, 170, 96, 97, 114, + 115, 222, 101, 57, 79, 82, 63, 66, 104, 105, + 80, 171, 106, 67, 68, 69, 213, 118, 188, 189, + 190, 191, 192, 193, 194, 202, 107, 75, 233, 109, + 110, 111, 172, 72, 73, 94, 83, 84, 99, 134, + 135, 223, 136, 142, 143, 144, 175, 176, 178, 180, + 181, 179, 182, 197, 148, 149, 154, 155, 152, 153, + 156, 157, 159, 158, 216, 218, 217, 173, 183, 184, + 185, 186, 187, 206, 208, 207, 209, 210, 211, 230, + 231, 177, 195, 198, 199, 220, 0, 0, 0, 0, + 0, 0, 0, 238, 240, 241, 242, 244, 245, 246, + 243, 0, 0, 0, 0, 0, 0, 248, 250, 251, + 252, 253, 254, 255, 0, 0, 0, 0, 0, 0, + 0, 257, 259, 260, 263, 264, 261, 265, 262, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 267, 269, + 270, 271, 272, 276, 277, 273, 274, 275, 0, 0, + 0, 0, 0, 288, 292, 293, 294, 295, 284, 286, + 287, 289, 290, 291, 0, 0, 0, 0, 0, 0, + 0, 0, 536, 538, 540, 539, 545, 541, 542, 543, + 544, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 555, 557, 559, 558, 560, 561, 562, 563, 564, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 0, 596, 598, 0, 601, 603, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 610, 612, 613, 614, + 616, 617, 615, 618, 619, 620, 621, 0, 0, 0, + 0, 0, 0, 633, 635, 636, 637, 638, 639, 640, + 0, 0, 649, 651, 652, 297, 296, 303, 316, 314, + 326, 322, 323, 327, 324, 325, 328, 329, 330, 334, + 335, 365, 366, 367, 368, 369, 395, 396, 397, 403, + 404, 319, 405, 406, 409, 407, 408, 412, 413, 414, + 428, 380, 381, 383, 384, 415, 431, 374, 376, 432, + 438, 439, 440, 320, 394, 458, 459, 375, 452, 358, + 315, 370, 429, 435, 416, 0, 0, 462, 321, 298, + 357, 420, 299, 317, 318, 371, 372, 460, 418, 422, + 423, 332, 331, 300, 463, 398, 427, 359, 379, 433, + 434, 437, 451, 373, 456, 454, 455, 386, 393, 424, + 425, 387, 388, 417, 442, 360, 361, 364, 336, 338, + 333, 339, 340, 341, 342, 349, 350, 351, 352, 353, + 354, 355, 464, 465, 467, 399, 400, 401, 402, 410, + 411, 468, 469, 470, 0, 0, 0, 419, 389, 391, + 605, 479, 483, 481, 480, 484, 482, 0, 0, 487, + 488, 304, 305, 306, 307, 308, 309, 310, 311, 312, + 313, 421, 436, 457, 492, 493, 390, 471, 0, 0, + 0, 0, 0, 0, 443, 444, 445, 446, 447, 448, + 449, 450, 606, 382, 377, 441, 356, 301, 302, 378, + 494, 495, 496, 497, 498, 500, 499, 501, 502, 503, + 337, 344, 489, 491, 490, 343, 0, 363, 426, 466, + 362, 392, 345, 346, 348, 347, 0, 505, 385, 453, + 506, 507, 508, 512, 511, 509, 510, 513, 514, 515, + 516, 518, 517, 528, 0, 532, 533, 0, 0, 534, + 519, 526, 520, 521, 522, 525, 527, 523, 524, 278, + 279, 280, 281, 282, 546, 548, 547, 550, 551, 552, + 553, 549, 576, 578, 579, 580, 581, 582, 583, 584, + 585, 586, 577, 587, 588, 589, 590, 591, 592, 593, + 594, 599, 604, 622, 623, 624, 627, 625, 626, 628, + 629, 630, 631, 641, 642, 643, 644, 645, 646, 653, + 654, 430, 461, 478, 607, 608, 485, 486, 472, 473, + 0, 0, 0, 477, 647, 504, 529, 530, 531, 476, + 474, 475 +}; + + /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, @@ -2105,12 +2488,49 @@ static const yytype_int16 yypgoto[] = -299, -299, -299, -299, -299, -299, -299, -299, -299 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -1 -static const yytype_uint16 yytable[] = + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = +{ + -1, 1, 17, 18, 19, 32, 260, 20, 33, 483, + 21, 34, 497, 22, 35, 511, 23, 36, 528, 543, + 544, 545, 546, 547, 24, 37, 548, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 484, 485, 486, + 487, 488, 489, 490, 498, 499, 500, 501, 502, 503, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 512, + 513, 514, 515, 516, 517, 518, 25, 38, 562, 563, + 564, 565, 566, 567, 568, 569, 570, 26, 39, 590, + 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 609, 27, + 40, 611, 612, 28, 41, 614, 615, 471, 472, 473, + 474, 29, 42, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 30, 43, 643, 644, 645, 646, + 647, 648, 649, 475, 31, 44, 652, 653, 654 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ +static const yytype_int16 yytable[] = { 2, 519, 476, 504, 477, 478, 610, 491, 650, 651, 613, 3, 4, 655, 656, 492, 493, 519, 571, 572, @@ -2252,9 +2672,9 @@ static const yytype_int16 yycheck[] = -1, 37, 37, 37 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const yytype_uint16 yystos[] = + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const yytype_int16 yystos[] = { 0, 315, 0, 11, 12, 46, 52, 96, 114, 165, 224, 243, 264, 273, 297, 301, 307, 316, 317, 318, @@ -2356,95 +2776,182 @@ static const yytype_uint16 yystos[] = 10, 10 }; -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_int16 yyr1[] = +{ + 0, 314, 315, 315, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 317, 318, + 319, 319, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 321, 322, 322, + 323, 323, 323, 323, 323, 323, 323, 324, 325, 325, + 326, 326, 326, 326, 326, 326, 327, 328, 328, 329, + 329, 329, 329, 329, 329, 329, 330, 331, 331, 332, + 332, 332, 332, 332, 332, 332, 332, 332, 333, 334, + 335, 336, 337, 338, 339, 339, 340, 340, 340, 340, + 340, 340, 340, 340, 340, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 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, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 581, 582, 582, + 582, 582, 582, 582, 582, 582, 583, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 592, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, + 593, 593, 593, 593, 593, 593, 594, 595, 596, 597, + 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, 612, 613, 614, 614, 615, 616, + 617, 618, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 626, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 639, 640, 640, 640, 640, 640, + 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, + 649, 650, 650, 651, 652 +}; -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_int8 yyr2[] = +{ + 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 2, 0, 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, 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, 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, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, + 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 1, 2, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 3, 3, 4, 4, 4, 3, 3, 2, + 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, + 3, 3, 2, 2, 2, 1, 2, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 1, 2, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 2, 0, 1, 2, + 1, 2, 0, 1, 2, 2, 2, 3, 3, 1, + 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 2, 0, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 2, 3, 1, 2, + 0, 1, 1, 2, 2 +}; -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ +enum { YYENOMEM = -2 }; + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab -#define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) +/* Backward compatibility with an undocumented macro. + Use YYerror or YYUNDEF. */ +#define YYERRCODE YYUNDEF -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) -#endif - - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif /* Enable debugging if requested. */ #if YYDEBUG @@ -2454,80 +2961,65 @@ while (YYID (0)) # define YYFPRINTF fprintf # endif -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +/* This macro is provided for backward compatibility. */ +# ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# endif -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Kind, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif +yy_symbol_value_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { + FILE *yyoutput = yyo; + YYUSE (yyoutput); if (!yyvaluep) return; # ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); + if (yykind < YYNTOKENS) + YYPRINT (yyo, yytoknum[yykind], *yyvaluep); # endif - switch (yytype) - { - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yykind); + YY_IGNORE_MAYBE_UNINITIALIZED_END } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif +yy_symbol_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + YYFPRINTF (yyo, "%s %s (", + yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yykind, yyvaluep); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -2535,80 +3027,68 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) -#else -static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; -#endif +yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) { YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; -#endif +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, + int yyrule) { + int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; - unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); + YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", + yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - fprintf (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - fprintf (stderr, "\n"); + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), + &yyvsp[(yyi + 1) - (yynrhs)]); + YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YYDPRINTF(Args) ((void) 0) +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -2623,478 +3103,230 @@ int yydebug; # define YYMAXDEPTH 10000 #endif - -#if YYERROR_VERBOSE -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static YYSIZE_T -yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif -{ - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static char * -yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif -{ - char *yyd = yydest; - const char *yys = yysrc; - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) -{ - int yyn = yypact[yystate]; - - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; - } -} -#endif /* YYERROR_VERBOSE */ - /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; -#endif +yydestruct (const char *yymsg, + yysymbol_kind_t yykind, YYSTYPE *yyvaluep) { YYUSE (yyvaluep); - if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); - switch (yytype) - { - - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yykind); + YY_IGNORE_MAYBE_UNINITIALIZED_END } - - -/* Prevent warnings from -Wmissing-prototypes. */ - -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - -/* The look-ahead symbol. */ +/* The lookahead symbol. */ int yychar; -/* The semantic value of the look-ahead symbol. */ +/* The semantic value of the lookahead symbol. */ YYSTYPE yylval; - /* Number of syntax errors so far. */ int yynerrs; + /*----------. | yyparse. | `----------*/ -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int yyparse (void) -#else -int -yyparse () - -#endif -#endif { - - int yystate; + yy_state_fast_t yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + + /* The stacks and their tools: + 'yyss': related to states. + 'yyvs': related to semantic values. + + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* Their size. */ + YYPTRDIFF_T yystacksize; + + /* The state stack. */ + yy_state_t yyssa[YYINITDEPTH]; + yy_state_t *yyss; + yy_state_t *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; + int yyn; + /* The return value of yyparse. */ int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; - - - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - YYSIZE_T yystacksize = YYINITDEPTH; - + /* Lookahead token as an internal (translated) token number. */ + yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; - YYDPRINTF ((stderr, "Starting parse\n")); - + yynerrs = 0; yystate = 0; yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ + yystacksize = YYINITDEPTH; + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; - yyssp = yyss; - yyvsp = yyvs; + YYDPRINTF ((stderr, "Starting parse\n")); + + yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yysetstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + YY_ASSERT (0 <= yystate && yystate < YYNSTATES); + YY_IGNORE_USELESS_CAST_BEGIN + *yyssp = YY_CAST (yy_state_t, yystate); + YY_IGNORE_USELESS_CAST_END + YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYPTRDIFF_T yysize = yyssp - yyss + 1; -#ifdef yyoverflow +# if defined yyoverflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + yy_state_t *yyss1 = yyss; + YYSTYPE *yyvs1 = yyvs; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * YYSIZEOF (*yyssp), + &yyvs1, yysize * YYSIZEOF (*yyvsp), + &yystacksize); + yyss = yyss1; + yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; + yystacksize = YYMAXDEPTH; { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - + yy_state_t *yyss1 = yyss; + union yyalloc *yyptr = + YY_CAST (union yyalloc *, + YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + YY_IGNORE_USELESS_CAST_BEGIN + YYDPRINTF ((stderr, "Stack size increased to %ld\n", + YY_CAST (long, yystacksize))); + YY_IGNORE_USELESS_CAST_END if (yyss + yystacksize - 1 <= yyssp) - YYABORT; + YYABORT; } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + if (yystate == YYFINAL) + YYACCEPT; goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ + lookahead token if we need one and don't already have one. */ - /* First try to decide what to do without reference to look-ahead token. */ + /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) + if (yypact_value_is_default (yyn)) goto yydefault; - /* Not known => get a look-ahead token if don't already have one. */ + /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ + /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; + YYDPRINTF ((stderr, "Reading a token\n")); + yychar = yylex (); } if (yychar <= YYEOF) { - yychar = yytoken = YYEOF; + yychar = YYEOF; + yytoken = YYSYMBOL_YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } + else if (yychar == YYerror) + { + /* The scanner already issued an error message, process directly + to error recovery. But do not keep the error token as + lookahead, it is too special and may lead us to an endless + loop in error recovery. */ + yychar = YYUNDEF; + yytoken = YYSYMBOL_YYerror; + goto yyerrlab1; + } else { yytoken = YYTRANSLATE (yychar); @@ -3109,30 +3341,26 @@ yybackup: yyn = yytable[yyn]; if (yyn <= 0) { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; + if (yytable_value_is_error (yyn)) + goto yyerrlab; yyn = -yyn; goto yyreduce; } - if (yyn == YYFINAL) - YYACCEPT; - /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the look-ahead token. */ + /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + /* Discard the shifted token. */ + yychar = YYEMPTY; goto yynewstate; @@ -3147,14 +3375,14 @@ yydefault: /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -3167,23 +3395,25 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 18: -#line 198 "util/configparser.y" - { + case 18: +#line 198 "./util/configparser.y" + { OUTYY(("\nP(force-toplevel)\n")); } +#line 3404 "util/configparser.c" break; case 19: -#line 204 "util/configparser.y" - { +#line 204 "./util/configparser.y" + { OUTYY(("\nP(server:)\n")); } +#line 3412 "util/configparser.c" break; case 237: -#line 309 "util/configparser.y" - { +#line 309 "./util/configparser.y" + { struct config_stub* s; OUTYY(("\nP(stub_zone:)\n")); s = (struct config_stub*)calloc(1, sizeof(struct config_stub)); @@ -3193,11 +3423,12 @@ yyreduce: } else yyerror("out of memory"); } +#line 3427 "util/configparser.c" break; case 247: -#line 326 "util/configparser.y" - { +#line 326 "./util/configparser.y" + { struct config_stub* s; OUTYY(("\nP(forward_zone:)\n")); s = (struct config_stub*)calloc(1, sizeof(struct config_stub)); @@ -3207,11 +3438,12 @@ yyreduce: } else yyerror("out of memory"); } +#line 3442 "util/configparser.c" break; case 256: -#line 343 "util/configparser.y" - { +#line 343 "./util/configparser.y" + { struct config_view* s; OUTYY(("\nP(view:)\n")); s = (struct config_view*)calloc(1, sizeof(struct config_view)); @@ -3223,11 +3455,12 @@ yyreduce: } else yyerror("out of memory"); } +#line 3459 "util/configparser.c" break; case 266: -#line 362 "util/configparser.y" - { +#line 362 "./util/configparser.y" + { struct config_auth* s; OUTYY(("\nP(auth_zone:)\n")); s = (struct config_auth*)calloc(1, sizeof(struct config_auth)); @@ -3243,17 +3476,18 @@ yyreduce: } else yyerror("out of memory"); } +#line 3480 "util/configparser.c" break; case 278: -#line 387 "util/configparser.y" - { +#line 387 "./util/configparser.y" + { uint8_t* bitlist; size_t len = 0; - OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[(2) - (2)].str))); - bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(2) - (2)].str), + OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[0].str))); + bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), &len); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); if(!bitlist) { yyerror("could not parse tags, (define-tag them first)"); } @@ -3263,58 +3497,63 @@ yyreduce: } } +#line 3501 "util/configparser.c" break; case 279: -#line 406 "util/configparser.y" - { - OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "nxdomain")!=0 && strcmp((yyvsp[(2) - (2)].str), "nodata")!=0 && - strcmp((yyvsp[(2) - (2)].str), "passthru")!=0 && strcmp((yyvsp[(2) - (2)].str), "drop")!=0 && - strcmp((yyvsp[(2) - (2)].str), "cname")!=0 && strcmp((yyvsp[(2) - (2)].str), "disabled")!=0) { +#line 406 "./util/configparser.y" + { + OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "nxdomain")!=0 && strcmp((yyvsp[0].str), "nodata")!=0 && + strcmp((yyvsp[0].str), "passthru")!=0 && strcmp((yyvsp[0].str), "drop")!=0 && + strcmp((yyvsp[0].str), "cname")!=0 && strcmp((yyvsp[0].str), "disabled")!=0) { yyerror("rpz-action-override action: expected nxdomain, " "nodata, passthru, drop, cname or disabled"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); cfg_parser->cfg->auths->rpz_action_override = NULL; } else { - cfg_parser->cfg->auths->rpz_action_override = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str); } } +#line 3520 "util/configparser.c" break; case 280: -#line 423 "util/configparser.y" - { - OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[(2) - (2)].str))); +#line 423 "./util/configparser.y" + { + OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_cname); - cfg_parser->cfg->auths->rpz_cname = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str); } +#line 3530 "util/configparser.c" break; case 281: -#line 431 "util/configparser.y" - { - OUTYY(("P(rpz_log:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 431 "./util/configparser.y" + { + OUTYY(("P(rpz_log:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3542 "util/configparser.c" break; case 282: -#line 441 "util/configparser.y" - { - OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[(2) - (2)].str))); +#line 441 "./util/configparser.y" + { + OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->rpz_log_name); - cfg_parser->cfg->auths->rpz_log_name = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str); } +#line 3552 "util/configparser.c" break; case 283: -#line 449 "util/configparser.y" - { +#line 449 "./util/configparser.y" + { struct config_auth* s; OUTYY(("\nP(rpz:)\n")); s = (struct config_auth*)calloc(1, sizeof(struct config_auth)); @@ -3329,273 +3568,292 @@ yyreduce: } else yyerror("out of memory"); } +#line 3572 "util/configparser.c" break; case 296: -#line 472 "util/configparser.y" - { - OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 472 "./util/configparser.y" + { + OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->num_threads = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3584 "util/configparser.c" break; case 297: -#line 481 "util/configparser.y" - { - OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 481 "./util/configparser.y" + { + OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->verbosity = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3596 "util/configparser.c" break; case 298: -#line 490 "util/configparser.y" - { - OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) +#line 490 "./util/configparser.y" + { + OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) cfg_parser->cfg->stat_interval = 0; - else if(atoi((yyvsp[(2) - (2)].str)) == 0) + else if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else cfg_parser->cfg->stat_interval = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3610 "util/configparser.c" break; case 299: -#line 501 "util/configparser.y" - { - OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 501 "./util/configparser.y" + { + OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3622 "util/configparser.c" break; case 300: -#line 510 "util/configparser.y" - { - OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 510 "./util/configparser.y" + { + OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3634 "util/configparser.c" break; case 301: -#line 519 "util/configparser.y" - { - OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 519 "./util/configparser.y" + { + OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3646 "util/configparser.c" break; case 302: -#line 528 "util/configparser.y" - { - OUTYY(("P(server_shm_key:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) +#line 528 "./util/configparser.y" + { + OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) cfg_parser->cfg->shm_key = 0; - else if(atoi((yyvsp[(2) - (2)].str)) == 0) + else if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else cfg_parser->cfg->shm_key = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3660 "util/configparser.c" break; case 303: -#line 539 "util/configparser.y" - { - OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 539 "./util/configparser.y" + { + OUTYY(("P(server_port:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("port number expected"); - else cfg_parser->cfg->port = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->port = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3672 "util/configparser.c" break; case 304: -#line 548 "util/configparser.y" - { +#line 548 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[(2) - (2)].str))) + OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[0].str))) fatal_exit("out of memory adding client-subnet"); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 3687 "util/configparser.c" break; case 305: -#line 560 "util/configparser.y" - { +#line 560 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet_zone, - (yyvsp[(2) - (2)].str))) + (yyvsp[0].str))) fatal_exit("out of memory adding client-subnet-zone"); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 3703 "util/configparser.c" break; case 306: -#line 574 "util/configparser.y" - { +#line 574 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->client_subnet_always_forward = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + (strcmp((yyvsp[0].str), "yes")==0); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3721 "util/configparser.c" break; case 307: -#line 589 "util/configparser.y" - { +#line 589 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[0].str))); OUTYY(("P(Deprecated option, ignoring)\n")); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3735 "util/configparser.c" break; case 308: -#line 600 "util/configparser.y" - { +#line 600 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("IPv4 subnet length expected"); - else if (atoi((yyvsp[(2) - (2)].str)) > 32) + else if (atoi((yyvsp[0].str)) > 32) cfg_parser->cfg->max_client_subnet_ipv4 = 32; - else if (atoi((yyvsp[(2) - (2)].str)) < 0) + else if (atoi((yyvsp[0].str)) < 0) cfg_parser->cfg->max_client_subnet_ipv4 = 0; - else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str)); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3755 "util/configparser.c" break; case 309: -#line 617 "util/configparser.y" - { +#line 617 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("Ipv6 subnet length expected"); - else if (atoi((yyvsp[(2) - (2)].str)) > 128) + else if (atoi((yyvsp[0].str)) > 128) cfg_parser->cfg->max_client_subnet_ipv6 = 128; - else if (atoi((yyvsp[(2) - (2)].str)) < 0) + else if (atoi((yyvsp[0].str)) < 0) cfg_parser->cfg->max_client_subnet_ipv6 = 0; - else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str)); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3775 "util/configparser.c" break; case 310: -#line 634 "util/configparser.y" - { +#line 634 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("IPv4 subnet length expected"); - else if (atoi((yyvsp[(2) - (2)].str)) > 32) + else if (atoi((yyvsp[0].str)) > 32) cfg_parser->cfg->min_client_subnet_ipv4 = 32; - else if (atoi((yyvsp[(2) - (2)].str)) < 0) + else if (atoi((yyvsp[0].str)) < 0) cfg_parser->cfg->min_client_subnet_ipv4 = 0; - else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str)); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3795 "util/configparser.c" break; case 311: -#line 651 "util/configparser.y" - { +#line 651 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("Ipv6 subnet length expected"); - else if (atoi((yyvsp[(2) - (2)].str)) > 128) + else if (atoi((yyvsp[0].str)) > 128) cfg_parser->cfg->min_client_subnet_ipv6 = 128; - else if (atoi((yyvsp[(2) - (2)].str)) < 0) + else if (atoi((yyvsp[0].str)) < 0) cfg_parser->cfg->min_client_subnet_ipv6 = 0; - else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str)); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3815 "util/configparser.c" break; case 312: -#line 668 "util/configparser.y" - { +#line 668 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("IPv4 ECS tree size expected"); - else if (atoi((yyvsp[(2) - (2)].str)) < 0) + else if (atoi((yyvsp[0].str)) < 0) cfg_parser->cfg->max_ecs_tree_size_ipv4 = 0; - else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[0].str)); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3833 "util/configparser.c" break; case 313: -#line 683 "util/configparser.y" - { +#line 683 "./util/configparser.y" + { #ifdef CLIENT_SUBNET - OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("IPv6 ECS tree size expected"); - else if (atoi((yyvsp[(2) - (2)].str)) < 0) + else if (atoi((yyvsp[0].str)) < 0) cfg_parser->cfg->max_ecs_tree_size_ipv6 = 0; - else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[0].str)); #else OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3851 "util/configparser.c" break; case 314: -#line 698 "util/configparser.y" - { - OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str))); +#line 698 "./util/configparser.y" + { + OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_ifs == 0) cfg_parser->cfg->ifs = calloc(1, sizeof(char*)); else cfg_parser->cfg->ifs = realloc(cfg_parser->cfg->ifs, @@ -3603,14 +3861,15 @@ yyreduce: if(!cfg_parser->cfg->ifs) yyerror("out of memory"); else - cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); } +#line 3867 "util/configparser.c" break; case 315: -#line 711 "util/configparser.y" - { - OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str))); +#line 711 "./util/configparser.y" + { + OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_out_ifs == 0) cfg_parser->cfg->out_ifs = calloc(1, sizeof(char*)); else cfg_parser->cfg->out_ifs = realloc( @@ -3620,590 +3879,642 @@ yyreduce: yyerror("out of memory"); else cfg_parser->cfg->out_ifs[ - cfg_parser->cfg->num_out_ifs++] = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); } +#line 3885 "util/configparser.c" break; case 316: -#line 726 "util/configparser.y" - { - OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 726 "./util/configparser.y" + { + OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3897 "util/configparser.c" break; case 317: -#line 735 "util/configparser.y" - { - OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1, +#line 735 "./util/configparser.y" + { + OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str))); + if(!cfg_mark_ports((yyvsp[0].str), 1, cfg_parser->cfg->outgoing_avail_ports, 65536)) yyerror("port number or range (\"low-high\") expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3909 "util/configparser.c" break; case 318: -#line 744 "util/configparser.y" - { - OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0, +#line 744 "./util/configparser.y" + { + OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str))); + if(!cfg_mark_ports((yyvsp[0].str), 0, cfg_parser->cfg->outgoing_avail_ports, 65536)) yyerror("port number or range (\"low-high\") expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 3921 "util/configparser.c" break; case 319: -#line 753 "util/configparser.y" - { - OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 753 "./util/configparser.y" + { + OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3933 "util/configparser.c" break; case 320: -#line 762 "util/configparser.y" - { - OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 762 "./util/configparser.y" + { + OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 3945 "util/configparser.c" break; case 321: -#line 771 "util/configparser.y" - { - OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 771 "./util/configparser.y" + { + OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3957 "util/configparser.c" break; case 322: -#line 780 "util/configparser.y" - { - OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 780 "./util/configparser.y" + { + OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3969 "util/configparser.c" break; case 323: -#line 789 "util/configparser.y" - { - OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 789 "./util/configparser.y" + { + OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3981 "util/configparser.c" break; case 324: -#line 798 "util/configparser.y" - { - OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 798 "./util/configparser.y" + { + OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->do_udp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 3993 "util/configparser.c" break; case 325: -#line 807 "util/configparser.y" - { - OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 807 "./util/configparser.y" + { + OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4005 "util/configparser.c" break; case 326: -#line 816 "util/configparser.y" - { - OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 816 "./util/configparser.y" + { + OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4017 "util/configparser.c" break; case 327: -#line 825 "util/configparser.y" - { - OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 825 "./util/configparser.y" + { + OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4029 "util/configparser.c" break; case 328: -#line 834 "util/configparser.y" - { - OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 834 "./util/configparser.y" + { + OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->tcp_mss = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4041 "util/configparser.c" break; case 329: -#line 843 "util/configparser.y" - { - OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 843 "./util/configparser.y" + { + OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4053 "util/configparser.c" break; case 330: -#line 852 "util/configparser.y" - { - OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 852 "./util/configparser.y" + { + OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) > 120000) + else if (atoi((yyvsp[0].str)) > 120000) cfg_parser->cfg->tcp_idle_timeout = 120000; - else if (atoi((yyvsp[(2) - (2)].str)) < 1) + else if (atoi((yyvsp[0].str)) < 1) cfg_parser->cfg->tcp_idle_timeout = 1; - else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4069 "util/configparser.c" break; case 331: -#line 865 "util/configparser.y" - { - OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 865 "./util/configparser.y" + { + OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) < 1) + else if (atoi((yyvsp[0].str)) < 1) cfg_parser->cfg->max_reuse_tcp_queries = 0; - else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4083 "util/configparser.c" break; case 332: -#line 876 "util/configparser.y" - { - OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 876 "./util/configparser.y" + { + OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) < 1) + else if (atoi((yyvsp[0].str)) < 1) cfg_parser->cfg->tcp_reuse_timeout = 0; - else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4097 "util/configparser.c" break; case 333: -#line 887 "util/configparser.y" - { - OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 887 "./util/configparser.y" + { + OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) < 1) + else if (atoi((yyvsp[0].str)) < 1) cfg_parser->cfg->tcp_auth_query_timeout = 0; - else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4111 "util/configparser.c" break; case 334: -#line 898 "util/configparser.y" - { - OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 898 "./util/configparser.y" + { + OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4123 "util/configparser.c" break; case 335: -#line 907 "util/configparser.y" - { - OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 907 "./util/configparser.y" + { + OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) > 6553500) + else if (atoi((yyvsp[0].str)) > 6553500) cfg_parser->cfg->tcp_keepalive_timeout = 6553500; - else if (atoi((yyvsp[(2) - (2)].str)) < 1) + else if (atoi((yyvsp[0].str)) < 1) cfg_parser->cfg->tcp_keepalive_timeout = 0; - else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4139 "util/configparser.c" break; case 336: -#line 920 "util/configparser.y" - { - OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 920 "./util/configparser.y" + { + OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4151 "util/configparser.c" break; case 337: -#line 929 "util/configparser.y" - { - OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 929 "./util/configparser.y" + { + OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4163 "util/configparser.c" break; case 338: -#line 938 "util/configparser.y" - { - OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 938 "./util/configparser.y" + { + OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4175 "util/configparser.c" break; case 339: -#line 947 "util/configparser.y" - { - OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str))); +#line 947 "./util/configparser.y" + { + OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_key); - cfg_parser->cfg->ssl_service_key = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->ssl_service_key = (yyvsp[0].str); } +#line 4185 "util/configparser.c" break; case 340: -#line 954 "util/configparser.y" - { - OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str))); +#line 954 "./util/configparser.y" + { + OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_pem); - cfg_parser->cfg->ssl_service_pem = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str); } +#line 4195 "util/configparser.c" break; case 341: -#line 961 "util/configparser.y" - { - OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 961 "./util/configparser.y" + { + OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("port number expected"); - else cfg_parser->cfg->ssl_port = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4207 "util/configparser.c" break; case 342: -#line 970 "util/configparser.y" - { - OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[(2) - (2)].str))); +#line 970 "./util/configparser.y" + { + OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_cert_bundle); - cfg_parser->cfg->tls_cert_bundle = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str); } +#line 4217 "util/configparser.c" break; case 343: -#line 977 "util/configparser.y" - { - OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 977 "./util/configparser.y" + { + OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4229 "util/configparser.c" break; case 344: -#line 986 "util/configparser.y" - { - OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[(2) - (2)].str))); +#line 986 "./util/configparser.y" + { + OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port, - (yyvsp[(2) - (2)].str))) + (yyvsp[0].str))) yyerror("out of memory"); } +#line 4240 "util/configparser.c" break; case 345: -#line 994 "util/configparser.y" - { - OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[(2) - (2)].str))); +#line 994 "./util/configparser.y" + { + OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphers); - cfg_parser->cfg->tls_ciphers = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->tls_ciphers = (yyvsp[0].str); } +#line 4250 "util/configparser.c" break; case 346: -#line 1001 "util/configparser.y" - { - OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1001 "./util/configparser.y" + { + OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->tls_ciphersuites); - cfg_parser->cfg->tls_ciphersuites = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str); } +#line 4260 "util/configparser.c" break; case 347: -#line 1008 "util/configparser.y" - { - OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1008 "./util/configparser.y" + { + OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_append(&cfg_parser->cfg->tls_session_ticket_keys, - (yyvsp[(2) - (2)].str))) + (yyvsp[0].str))) yyerror("out of memory"); } +#line 4271 "util/configparser.c" break; case 348: -#line 1016 "util/configparser.y" - { - OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1016 "./util/configparser.y" + { + OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4283 "util/configparser.c" break; case 349: -#line 1025 "util/configparser.y" - { - OUTYY(("P(server_https_port:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1025 "./util/configparser.y" + { + OUTYY(("P(server_https_port:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("port number expected"); - else cfg_parser->cfg->https_port = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->https_port = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4295 "util/configparser.c" break; case 350: -#line 1033 "util/configparser.y" - { - OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1033 "./util/configparser.y" + { + OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->http_endpoint); - if((yyvsp[(2) - (2)].str) && (yyvsp[(2) - (2)].str)[0] != '/') { - cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[(2) - (2)].str))+2); + if((yyvsp[0].str) && (yyvsp[0].str)[0] != '/') { + cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[0].str))+2); if(!cfg_parser->cfg->http_endpoint) yyerror("out of memory"); cfg_parser->cfg->http_endpoint[0] = '/'; - memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[(2) - (2)].str), - strlen((yyvsp[(2) - (2)].str))+1); - free((yyvsp[(2) - (2)].str)); + memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[0].str), + strlen((yyvsp[0].str))+1); + free((yyvsp[0].str)); } else { - cfg_parser->cfg->http_endpoint = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->http_endpoint = (yyvsp[0].str); } } +#line 4315 "util/configparser.c" break; case 351: -#line 1049 "util/configparser.y" - { - OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1049 "./util/configparser.y" + { + OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->http_max_streams = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->http_max_streams = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4327 "util/configparser.c" break; case 352: -#line 1057 "util/configparser.y" - { - OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), +#line 1057 "./util/configparser.y" + { + OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->http_query_buffer_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4339 "util/configparser.c" break; case 353: -#line 1065 "util/configparser.y" - { - OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), +#line 1065 "./util/configparser.y" + { + OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->http_response_buffer_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4351 "util/configparser.c" break; case 354: -#line 1073 "util/configparser.y" - { - OUTYY(("P(server_http_nodelay:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1073 "./util/configparser.y" + { + OUTYY(("P(server_http_nodelay:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4363 "util/configparser.c" break; case 355: -#line 1081 "util/configparser.y" - { - OUTYY(("P(server_http_notls_downstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1081 "./util/configparser.y" + { + OUTYY(("P(server_http_notls_downstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4375 "util/configparser.c" break; case 356: -#line 1089 "util/configparser.y" - { - OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1089 "./util/configparser.y" + { + OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4387 "util/configparser.c" break; case 357: -#line 1098 "util/configparser.y" - { - OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1098 "./util/configparser.y" + { + OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4399 "util/configparser.c" break; case 358: -#line 1107 "util/configparser.y" - { - OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1107 "./util/configparser.y" + { + OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[0].str), "yes")==0); #if !defined(HAVE_SYSLOG_H) && !defined(UB_ON_WINDOWS) - if(strcmp((yyvsp[(2) - (2)].str), "yes") == 0) + if(strcmp((yyvsp[0].str), "yes") == 0) yyerror("no syslog services are available. " "(reconfigure and compile to add)"); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4416 "util/configparser.c" break; case 359: -#line 1121 "util/configparser.y" - { - OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1121 "./util/configparser.y" + { + OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4428 "util/configparser.c" break; case 360: -#line 1130 "util/configparser.y" - { - OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1130 "./util/configparser.y" + { + OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->log_queries = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4440 "util/configparser.c" break; case 361: -#line 1139 "util/configparser.y" - { - OUTYY(("P(server_log_replies:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1139 "./util/configparser.y" + { + OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->log_replies = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4452 "util/configparser.c" break; case 362: -#line 1148 "util/configparser.y" - { - OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1148 "./util/configparser.y" + { + OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4464 "util/configparser.c" break; case 363: -#line 1157 "util/configparser.y" - { - OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1157 "./util/configparser.y" + { + OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4476 "util/configparser.c" break; case 364: -#line 1166 "util/configparser.y" - { - OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1166 "./util/configparser.y" + { + OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4488 "util/configparser.c" break; case 365: -#line 1175 "util/configparser.y" - { - OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1175 "./util/configparser.y" + { + OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->chrootdir); - cfg_parser->cfg->chrootdir = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->chrootdir = (yyvsp[0].str); } +#line 4498 "util/configparser.c" break; case 366: -#line 1182 "util/configparser.y" - { - OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1182 "./util/configparser.y" + { + OUTYY(("P(server_username:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->username); - cfg_parser->cfg->username = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->username = (yyvsp[0].str); } +#line 4508 "util/configparser.c" break; case 367: -#line 1189 "util/configparser.y" - { - OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1189 "./util/configparser.y" + { + OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->directory); - cfg_parser->cfg->directory = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->directory = (yyvsp[0].str); /* change there right away for includes relative to this */ - if((yyvsp[(2) - (2)].str)[0]) { + if((yyvsp[0].str)[0]) { char* d; #ifdef UB_ON_WINDOWS w_config_adjust_directory(cfg_parser->cfg); @@ -4222,1100 +4533,1194 @@ yyreduce: } } } +#line 4537 "util/configparser.c" break; case 368: -#line 1215 "util/configparser.y" - { - OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1215 "./util/configparser.y" + { + OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->logfile); - cfg_parser->cfg->logfile = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->logfile = (yyvsp[0].str); cfg_parser->cfg->use_syslog = 0; } +#line 4548 "util/configparser.c" break; case 369: -#line 1223 "util/configparser.y" - { - OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1223 "./util/configparser.y" + { + OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->pidfile); - cfg_parser->cfg->pidfile = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->pidfile = (yyvsp[0].str); } +#line 4558 "util/configparser.c" break; case 370: -#line 1230 "util/configparser.y" - { - OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str))) +#line 1230 "./util/configparser.y" + { + OUTYY(("P(server_root_hints:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str))) yyerror("out of memory"); } +#line 4568 "util/configparser.c" break; case 371: -#line 1237 "util/configparser.y" - { - OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1237 "./util/configparser.y" + { + OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str))); log_warn("option dlv-anchor-file ignored: DLV is decommissioned"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4578 "util/configparser.c" break; case 372: -#line 1244 "util/configparser.y" - { - OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1244 "./util/configparser.y" + { + OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str))); log_warn("option dlv-anchor ignored: DLV is decommissioned"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4588 "util/configparser.c" break; case 373: -#line 1251 "util/configparser.y" - { - OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1251 "./util/configparser.y" + { + OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> - auto_trust_anchor_file_list, (yyvsp[(2) - (2)].str))) + auto_trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } +#line 4599 "util/configparser.c" break; case 374: -#line 1259 "util/configparser.y" - { - OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1259 "./util/configparser.y" + { + OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> - trust_anchor_file_list, (yyvsp[(2) - (2)].str))) + trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } +#line 4610 "util/configparser.c" break; case 375: -#line 1267 "util/configparser.y" - { - OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1267 "./util/configparser.y" + { + OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> - trusted_keys_file_list, (yyvsp[(2) - (2)].str))) + trusted_keys_file_list, (yyvsp[0].str))) yyerror("out of memory"); } +#line 4621 "util/configparser.c" break; case 376: -#line 1275 "util/configparser.y" - { - OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str))) +#line 1275 "./util/configparser.y" + { + OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str))) yyerror("out of memory"); } +#line 4631 "util/configparser.c" break; case 377: -#line 1282 "util/configparser.y" - { - OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1282 "./util/configparser.y" + { + OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->trust_anchor_signaling = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4645 "util/configparser.c" break; case 378: -#line 1293 "util/configparser.y" - { - OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1293 "./util/configparser.y" + { + OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->root_key_sentinel = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4659 "util/configparser.c" break; case 379: -#line 1304 "util/configparser.y" - { - OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str))) +#line 1304 "./util/configparser.y" + { + OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str))) yyerror("out of memory"); } +#line 4669 "util/configparser.c" break; case 380: -#line 1311 "util/configparser.y" - { - OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1311 "./util/configparser.y" + { + OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4681 "util/configparser.c" break; case 381: -#line 1320 "util/configparser.y" - { - OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1320 "./util/configparser.y" + { + OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->hide_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4693 "util/configparser.c" break; case 382: -#line 1329 "util/configparser.y" - { - OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1329 "./util/configparser.y" + { + OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4705 "util/configparser.c" break; case 383: -#line 1338 "util/configparser.y" - { - OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1338 "./util/configparser.y" + { + OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->identity); - cfg_parser->cfg->identity = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->identity = (yyvsp[0].str); } +#line 4715 "util/configparser.c" break; case 384: -#line 1345 "util/configparser.y" - { - OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1345 "./util/configparser.y" + { + OUTYY(("P(server_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->version); - cfg_parser->cfg->version = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->version = (yyvsp[0].str); } +#line 4725 "util/configparser.c" break; case 385: -#line 1352 "util/configparser.y" - { - OUTYY(("P(server_nsid:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1352 "./util/configparser.y" + { + OUTYY(("P(server_nsid:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->nsid_cfg_str); - cfg_parser->cfg->nsid_cfg_str = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->nsid_cfg_str = (yyvsp[0].str); free(cfg_parser->cfg->nsid); cfg_parser->cfg->nsid = NULL; cfg_parser->cfg->nsid_len = 0; - if (*(yyvsp[(2) - (2)].str) == 0) + if (*(yyvsp[0].str) == 0) ; /* pass; empty string is not setting nsid */ else if (!(cfg_parser->cfg->nsid = cfg_parse_nsid( - (yyvsp[(2) - (2)].str), &cfg_parser->cfg->nsid_len))) + (yyvsp[0].str), &cfg_parser->cfg->nsid_len))) yyerror("the NSID must be either a hex string or an " "ascii character string prepended with ascii_."); } +#line 4744 "util/configparser.c" break; case 386: -#line 1368 "util/configparser.y" - { - OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf)) +#line 1368 "./util/configparser.y" + { + OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf)) yyerror("buffer size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4755 "util/configparser.c" break; case 387: -#line 1376 "util/configparser.y" - { - OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf)) +#line 1376 "./util/configparser.y" + { + OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf)) yyerror("buffer size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4766 "util/configparser.c" break; case 388: -#line 1384 "util/configparser.y" +#line 1384 "./util/configparser.y" { - OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->so_reuseport = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4779 "util/configparser.c" break; case 389: -#line 1394 "util/configparser.y" +#line 1394 "./util/configparser.y" { - OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->ip_transparent = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4792 "util/configparser.c" break; case 390: -#line 1404 "util/configparser.y" +#line 1404 "./util/configparser.y" { - OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->ip_freebind = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4805 "util/configparser.c" break; case 391: -#line 1414 "util/configparser.y" - { - OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1414 "./util/configparser.y" + { + OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) > 63) + else if (atoi((yyvsp[0].str)) > 63) yyerror("value too large (max 63)"); - else if (atoi((yyvsp[(2) - (2)].str)) < 0) + else if (atoi((yyvsp[0].str)) < 0) yyerror("value too small (min 0)"); else - cfg_parser->cfg->ip_dscp = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4822 "util/configparser.c" break; case 392: -#line 1428 "util/configparser.y" - { - OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->stream_wait_size)) +#line 1428 "./util/configparser.y" + { + OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->stream_wait_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4833 "util/configparser.c" break; case 393: -#line 1436 "util/configparser.y" - { - OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1436 "./util/configparser.y" + { + OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) < 12) + else if (atoi((yyvsp[0].str)) < 12) yyerror("edns buffer size too small"); - else if (atoi((yyvsp[(2) - (2)].str)) > 65535) + else if (atoi((yyvsp[0].str)) > 65535) cfg_parser->cfg->edns_buffer_size = 65535; - else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4849 "util/configparser.c" break; case 394: -#line 1449 "util/configparser.y" - { - OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1449 "./util/configparser.y" + { + OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else if (atoi((yyvsp[(2) - (2)].str)) < 4096) + else if (atoi((yyvsp[0].str)) < 4096) yyerror("message buffer size too small (use 4096)"); - else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4863 "util/configparser.c" break; case 395: -#line 1460 "util/configparser.y" - { - OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size)) +#line 1460 "./util/configparser.y" + { + OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4874 "util/configparser.c" break; case 396: -#line 1468 "util/configparser.y" - { - OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1468 "./util/configparser.y" + { + OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->msg_cache_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4890 "util/configparser.c" break; case 397: -#line 1481 "util/configparser.y" - { - OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1481 "./util/configparser.y" + { + OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4902 "util/configparser.c" break; case 398: -#line 1490 "util/configparser.y" - { - OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1490 "./util/configparser.y" + { + OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->jostle_time = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4914 "util/configparser.c" break; case 399: -#line 1499 "util/configparser.y" - { - OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1499 "./util/configparser.y" + { + OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->delay_close = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 4926 "util/configparser.c" break; case 400: -#line 1508 "util/configparser.y" - { - OUTYY(("P(server_udp_connect:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1508 "./util/configparser.y" + { + OUTYY(("P(server_udp_connect:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4938 "util/configparser.c" break; case 401: -#line 1517 "util/configparser.y" - { - OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1517 "./util/configparser.y" + { + OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->unblock_lan_zones = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4951 "util/configparser.c" break; case 402: -#line 1527 "util/configparser.y" - { - OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1527 "./util/configparser.y" + { + OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->insecure_lan_zones = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 4964 "util/configparser.c" break; case 403: -#line 1537 "util/configparser.y" - { - OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size)) +#line 1537 "./util/configparser.y" + { + OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4975 "util/configparser.c" break; case 404: -#line 1545 "util/configparser.y" - { - OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1545 "./util/configparser.y" + { + OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->rrset_cache_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 4991 "util/configparser.c" break; case 405: -#line 1558 "util/configparser.y" - { - OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1558 "./util/configparser.y" + { + OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->host_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5003 "util/configparser.c" break; case 406: -#line 1567 "util/configparser.y" - { - OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1567 "./util/configparser.y" + { + OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option " - "removed, use infra-host-ttl)", (yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + "removed, use infra-host-ttl)", (yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5014 "util/configparser.c" break; case 407: -#line 1575 "util/configparser.y" - { - OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1575 "./util/configparser.y" + { + OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5026 "util/configparser.c" break; case 408: -#line 1584 "util/configparser.y" - { - OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1584 "./util/configparser.y" + { + OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s " - "(option removed, use infra-cache-numhosts)", (yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + "(option removed, use infra-cache-numhosts)", (yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5037 "util/configparser.c" break; case 409: -#line 1592 "util/configparser.y" - { - OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 1592 "./util/configparser.y" + { + OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->infra_cache_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5053 "util/configparser.c" break; case 410: -#line 1605 "util/configparser.y" - { - OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1605 "./util/configparser.y" + { + OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5065 "util/configparser.c" break; case 411: -#line 1614 "util/configparser.y" - { - OUTYY(("P(server_infra_keep_probing:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1614 "./util/configparser.y" + { + OUTYY(("P(server_infra_keep_probing:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->infra_keep_probing = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5078 "util/configparser.c" break; case 412: -#line 1624 "util/configparser.y" - { - OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1624 "./util/configparser.y" + { + OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->target_fetch_policy); - cfg_parser->cfg->target_fetch_policy = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str); } +#line 5088 "util/configparser.c" break; case 413: -#line 1631 "util/configparser.y" - { - OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1631 "./util/configparser.y" + { + OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->harden_short_bufsize = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5101 "util/configparser.c" break; case 414: -#line 1641 "util/configparser.y" - { - OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1641 "./util/configparser.y" + { + OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->harden_large_queries = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5114 "util/configparser.c" break; case 415: -#line 1651 "util/configparser.y" - { - OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1651 "./util/configparser.y" + { + OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->harden_glue = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5127 "util/configparser.c" break; case 416: -#line 1661 "util/configparser.y" - { - OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1661 "./util/configparser.y" + { + OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->harden_dnssec_stripped = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5140 "util/configparser.c" break; case 417: -#line 1671 "util/configparser.y" - { - OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1671 "./util/configparser.y" + { + OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->harden_below_nxdomain = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5153 "util/configparser.c" break; case 418: -#line 1681 "util/configparser.y" - { - OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1681 "./util/configparser.y" + { + OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->harden_referral_path = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5166 "util/configparser.c" break; case 419: -#line 1691 "util/configparser.y" - { - OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1691 "./util/configparser.y" + { + OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->harden_algo_downgrade = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5179 "util/configparser.c" break; case 420: -#line 1701 "util/configparser.y" - { - OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1701 "./util/configparser.y" + { + OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->use_caps_bits_for_id = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5192 "util/configparser.c" break; case 421: -#line 1711 "util/configparser.y" - { - OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[(2) - (2)].str))) +#line 1711 "./util/configparser.y" + { + OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str))) yyerror("out of memory"); } +#line 5202 "util/configparser.c" break; case 422: -#line 1718 "util/configparser.y" - { - OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str))) +#line 1718 "./util/configparser.y" + { + OUTYY(("P(server_private_address:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str))) yyerror("out of memory"); } +#line 5212 "util/configparser.c" break; case 423: -#line 1725 "util/configparser.y" - { - OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str))) +#line 1725 "./util/configparser.y" + { + OUTYY(("P(server_private_domain:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str))) yyerror("out of memory"); } +#line 5222 "util/configparser.c" break; case 424: -#line 1732 "util/configparser.y" - { - OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1732 "./util/configparser.y" + { + OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->prefetch = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5234 "util/configparser.c" break; case 425: -#line 1741 "util/configparser.y" - { - OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1741 "./util/configparser.y" + { + OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5246 "util/configparser.c" break; case 426: -#line 1750 "util/configparser.y" - { - OUTYY(("P(server_deny_any:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1750 "./util/configparser.y" + { + OUTYY(("P(server_deny_any:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->deny_any = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5258 "util/configparser.c" break; case 427: -#line 1759 "util/configparser.y" - { - OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1759 "./util/configparser.y" + { + OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5270 "util/configparser.c" break; case 428: -#line 1768 "util/configparser.y" - { - OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str))) +#line 1768 "./util/configparser.y" + { + OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str))) yyerror("out of memory"); } +#line 5280 "util/configparser.c" break; case 429: -#line 1775 "util/configparser.y" - { - OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1775 "./util/configparser.y" + { + OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->donotquery_localhost = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5293 "util/configparser.c" break; case 430: -#line 1785 "util/configparser.y" - { - OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && - strcmp((yyvsp[(3) - (3)].str), "deny_non_local")!=0 && - strcmp((yyvsp[(3) - (3)].str), "refuse_non_local")!=0 && - strcmp((yyvsp[(3) - (3)].str), "allow_setrd")!=0 && - strcmp((yyvsp[(3) - (3)].str), "allow")!=0 && - strcmp((yyvsp[(3) - (3)].str), "allow_snoop")!=0) { +#line 1785 "./util/configparser.y" + { + OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "deny")!=0 && strcmp((yyvsp[0].str), "refuse")!=0 && + strcmp((yyvsp[0].str), "deny_non_local")!=0 && + strcmp((yyvsp[0].str), "refuse_non_local")!=0 && + strcmp((yyvsp[0].str), "allow_setrd")!=0 && + strcmp((yyvsp[0].str), "allow")!=0 && + strcmp((yyvsp[0].str), "allow_snoop")!=0) { yyerror("expected deny, refuse, deny_non_local, " "refuse_non_local, allow, allow_setrd or " "allow_snoop in access control action"); - free((yyvsp[(2) - (3)].str)); - free((yyvsp[(3) - (3)].str)); + free((yyvsp[-1].str)); + free((yyvsp[0].str)); } else { - if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + if(!cfg_str2list_insert(&cfg_parser->cfg->acls, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding acl"); } } +#line 5316 "util/configparser.c" break; case 431: -#line 1805 "util/configparser.y" - { - OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str))); +#line 1805 "./util/configparser.y" + { + OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->module_conf); - cfg_parser->cfg->module_conf = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->module_conf = (yyvsp[0].str); } +#line 5326 "util/configparser.c" break; case 432: -#line 1812 "util/configparser.y" - { - OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str))); - if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) { +#line 1812 "./util/configparser.y" + { + OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str))); + if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { cfg_parser->cfg->val_date_override = 0; - } else if(strlen((yyvsp[(2) - (2)].str)) == 14) { + } else if(strlen((yyvsp[0].str)) == 14) { cfg_parser->cfg->val_date_override = - cfg_convert_timeval((yyvsp[(2) - (2)].str)); + cfg_convert_timeval((yyvsp[0].str)); if(!cfg_parser->cfg->val_date_override) yyerror("bad date/time specification"); } else { - if(atoi((yyvsp[(2) - (2)].str)) == 0) + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - cfg_parser->cfg->val_date_override = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->val_date_override = atoi((yyvsp[0].str)); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5347 "util/configparser.c" break; case 433: -#line 1830 "util/configparser.y" - { - OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str))); - if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) { +#line 1830 "./util/configparser.y" + { + OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str))); + if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { cfg_parser->cfg->val_sig_skew_min = 0; } else { - cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[0].str)); if(!cfg_parser->cfg->val_sig_skew_min) yyerror("number expected"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5363 "util/configparser.c" break; case 434: -#line 1843 "util/configparser.y" - { - OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str))); - if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) { +#line 1843 "./util/configparser.y" + { + OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str))); + if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { cfg_parser->cfg->val_sig_skew_max = 0; } else { - cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[0].str)); if(!cfg_parser->cfg->val_sig_skew_max) yyerror("number expected"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5379 "util/configparser.c" break; case 435: -#line 1856 "util/configparser.y" - { - OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1856 "./util/configparser.y" + { + OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->max_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5391 "util/configparser.c" break; case 436: -#line 1865 "util/configparser.y" - { - OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1865 "./util/configparser.y" + { + OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5403 "util/configparser.c" break; case 437: -#line 1874 "util/configparser.y" - { - OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1874 "./util/configparser.y" + { + OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->min_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5415 "util/configparser.c" break; case 438: -#line 1883 "util/configparser.y" - { - OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1883 "./util/configparser.y" + { + OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5427 "util/configparser.c" break; case 439: -#line 1892 "util/configparser.y" - { - OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1892 "./util/configparser.y" + { + OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->val_clean_additional = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5440 "util/configparser.c" break; case 440: -#line 1902 "util/configparser.y" - { - OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1902 "./util/configparser.y" + { + OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->val_permissive_mode = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5453 "util/configparser.c" break; case 441: -#line 1912 "util/configparser.y" - { - OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1912 "./util/configparser.y" + { + OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->aggressive_nsec = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5467 "util/configparser.c" break; case 442: -#line 1923 "util/configparser.y" - { - OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1923 "./util/configparser.y" + { + OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5479 "util/configparser.c" break; case 443: -#line 1932 "util/configparser.y" - { - OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1932 "./util/configparser.y" + { + OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5491 "util/configparser.c" break; case 444: -#line 1941 "util/configparser.y" - { - OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1941 "./util/configparser.y" + { + OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5503 "util/configparser.c" break; case 445: -#line 1950 "util/configparser.y" - { - OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1950 "./util/configparser.y" + { + OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5515 "util/configparser.c" break; case 446: -#line 1959 "util/configparser.y" - { - OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1959 "./util/configparser.y" + { + OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5527 "util/configparser.c" break; case 447: -#line 1968 "util/configparser.y" - { - OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 1968 "./util/configparser.y" + { + OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5539 "util/configparser.c" break; case 448: -#line 1977 "util/configparser.y" - { - OUTYY(("P(server_serve_original_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1977 "./util/configparser.y" + { + OUTYY(("P(server_serve_original_ttl:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5551 "util/configparser.c" break; case 449: -#line 1986 "util/configparser.y" - { - OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1986 "./util/configparser.y" + { + OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); #if defined(HAVE_SSL) || defined(HAVE_NETTLE) - else fake_dsa = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + else fake_dsa = (strcmp((yyvsp[0].str), "yes")==0); if(fake_dsa) log_warn("test option fake_dsa is enabled"); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5567 "util/configparser.c" break; case 450: -#line 1999 "util/configparser.y" - { - OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 1999 "./util/configparser.y" + { + OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); #if defined(HAVE_SSL) || defined(HAVE_NETTLE) - else fake_sha1 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + else fake_sha1 = (strcmp((yyvsp[0].str), "yes")==0); if(fake_sha1) log_warn("test option fake_sha1 is enabled"); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5583 "util/configparser.c" break; case 451: -#line 2012 "util/configparser.y" - { - OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2012 "./util/configparser.y" + { + OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->val_log_level = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5595 "util/configparser.c" break; case 452: -#line 2021 "util/configparser.y" - { - OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2021 "./util/configparser.y" + { + OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->val_nsec3_key_iterations); - cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str); } +#line 5605 "util/configparser.c" break; case 453: -#line 2028 "util/configparser.y" - { - OUTYY(("P(server_zonemd_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2028 "./util/configparser.y" + { + OUTYY(("P(server_zonemd_permissive_mode:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5617 "util/configparser.c" break; case 454: -#line 2037 "util/configparser.y" - { - OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2037 "./util/configparser.y" + { + OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->add_holddown = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5629 "util/configparser.c" break; case 455: -#line 2046 "util/configparser.y" - { - OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2046 "./util/configparser.y" + { + OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->del_holddown = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5641 "util/configparser.c" break; case 456: -#line 2055 "util/configparser.y" - { - OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2055 "./util/configparser.y" + { + OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->keep_missing = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5653 "util/configparser.c" break; case 457: -#line 2064 "util/configparser.y" - { - OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2064 "./util/configparser.y" + { + OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->permit_small_holddown = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5666 "util/configparser.c" break; case 458: -#line 2073 "util/configparser.y" - { - OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size)) +#line 2073 "./util/configparser.y" + { + OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5677 "util/configparser.c" break; case 459: -#line 2081 "util/configparser.y" - { - OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 2081 "./util/configparser.y" + { + OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->key_cache_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5693 "util/configparser.c" break; case 460: -#line 2094 "util/configparser.y" - { - OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size)) +#line 2094 "./util/configparser.y" + { + OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5704 "util/configparser.c" break; case 461: -#line 2102 "util/configparser.y" - { - OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && - strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 && - strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0 - && strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_transparent")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_refuse")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_nxdomain")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_nodata")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_deny")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_null")!=0 - && strcmp((yyvsp[(3) - (3)].str), "noview")!=0 - && strcmp((yyvsp[(3) - (3)].str), "inform")!=0 && strcmp((yyvsp[(3) - (3)].str), "inform_deny")!=0 - && strcmp((yyvsp[(3) - (3)].str), "inform_redirect") != 0 - && strcmp((yyvsp[(3) - (3)].str), "ipset") != 0) { +#line 2102 "./util/configparser.y" + { + OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && + strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 && + strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0 + && strcmp((yyvsp[0].str), "typetransparent")!=0 + && strcmp((yyvsp[0].str), "always_transparent")!=0 + && strcmp((yyvsp[0].str), "always_refuse")!=0 + && strcmp((yyvsp[0].str), "always_nxdomain")!=0 + && strcmp((yyvsp[0].str), "always_nodata")!=0 + && strcmp((yyvsp[0].str), "always_deny")!=0 + && strcmp((yyvsp[0].str), "always_null")!=0 + && strcmp((yyvsp[0].str), "noview")!=0 + && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0 + && strcmp((yyvsp[0].str), "inform_redirect") != 0 + && strcmp((yyvsp[0].str), "ipset") != 0) { yyerror("local-zone type: expected static, deny, " "refuse, redirect, transparent, " "typetransparent, inform, inform_deny, " @@ -5323,44 +5728,46 @@ yyreduce: "always_refuse, always_nxdomain, " "always_nodata, always_deny, always_null, " "noview, nodefault or ipset"); - free((yyvsp[(2) - (3)].str)); - free((yyvsp[(3) - (3)].str)); - } else if(strcmp((yyvsp[(3) - (3)].str), "nodefault")==0) { + free((yyvsp[-1].str)); + free((yyvsp[0].str)); + } else if(strcmp((yyvsp[0].str), "nodefault")==0) { if(!cfg_strlist_insert(&cfg_parser->cfg-> - local_zones_nodefault, (yyvsp[(2) - (3)].str))) + local_zones_nodefault, (yyvsp[-1].str))) fatal_exit("out of memory adding local-zone"); - free((yyvsp[(3) - (3)].str)); + free((yyvsp[0].str)); #ifdef USE_IPSET - } else if(strcmp((yyvsp[(3) - (3)].str), "ipset")==0) { + } else if(strcmp((yyvsp[0].str), "ipset")==0) { if(!cfg_strlist_insert(&cfg_parser->cfg-> - local_zones_ipset, (yyvsp[(2) - (3)].str))) + local_zones_ipset, (yyvsp[-1].str))) fatal_exit("out of memory adding local-zone"); - free((yyvsp[(3) - (3)].str)); + free((yyvsp[0].str)); #endif } else { if(!cfg_str2list_insert(&cfg_parser->cfg->local_zones, - (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding local-zone"); } } +#line 5752 "util/configparser.c" break; case 462: -#line 2147 "util/configparser.y" - { - OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str))) +#line 2147 "./util/configparser.y" + { + OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str))) fatal_exit("out of memory adding local-data"); } +#line 5762 "util/configparser.c" break; case 463: -#line 2154 "util/configparser.y" - { +#line 2154 "./util/configparser.y" + { char* ptr; - OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str))); - ptr = cfg_ptr_reverse((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); + ptr = cfg_ptr_reverse((yyvsp[0].str)); + free((yyvsp[0].str)); if(ptr) { if(!cfg_strlist_insert(&cfg_parser->cfg-> local_data, ptr)) @@ -5369,85 +5776,93 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } +#line 5780 "util/configparser.c" break; case 464: -#line 2169 "util/configparser.y" - { - OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2169 "./util/configparser.y" + { + OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->minimal_responses = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5793 "util/configparser.c" break; case 465: -#line 2179 "util/configparser.y" - { - OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2179 "./util/configparser.y" + { + OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->rrset_roundrobin = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5806 "util/configparser.c" break; case 466: -#line 2189 "util/configparser.y" - { - OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[(2) - (2)].str))); - cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); +#line 2189 "./util/configparser.y" + { + OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[0].str))); + cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5816 "util/configparser.c" break; case 467: -#line 2196 "util/configparser.y" - { - OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str))); - cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); +#line 2196 "./util/configparser.y" + { + OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str))); + cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 5826 "util/configparser.c" break; case 468: -#line 2203 "util/configparser.y" - { - OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2203 "./util/configparser.y" + { + OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dns64_prefix); - cfg_parser->cfg->dns64_prefix = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); } +#line 5836 "util/configparser.c" break; case 469: -#line 2210 "util/configparser.y" - { - OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2210 "./util/configparser.y" + { + OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 5848 "util/configparser.c" break; case 470: -#line 2219 "util/configparser.y" - { - OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2219 "./util/configparser.y" + { + OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa, - (yyvsp[(2) - (2)].str))) + (yyvsp[0].str))) fatal_exit("out of memory adding dns64-ignore-aaaa"); } +#line 5859 "util/configparser.c" break; case 471: -#line 2227 "util/configparser.y" - { - char* p, *s = (yyvsp[(2) - (2)].str); - OUTYY(("P(server_define_tag:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2227 "./util/configparser.y" + { + char* p, *s = (yyvsp[0].str); + OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); while((p=strsep(&s, " \t\n")) != NULL) { if(*p) { if(!config_add_tag(cfg_parser->cfg, p)) @@ -5455,742 +5870,800 @@ yyreduce: "out of memory"); } } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 5876 "util/configparser.c" break; case 472: -#line 2241 "util/configparser.y" - { +#line 2241 "./util/configparser.y" + { size_t len = 0; - uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str), + uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), &len); - free((yyvsp[(3) - (3)].str)); - OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[(2) - (3)].str))); + free((yyvsp[0].str)); + OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[-1].str))); if(!bitlist) { yyerror("could not parse tags, (define-tag them first)"); - free((yyvsp[(2) - (3)].str)); + free((yyvsp[-1].str)); } if(bitlist) { if(!cfg_strbytelist_insert( &cfg_parser->cfg->local_zone_tags, - (yyvsp[(2) - (3)].str), bitlist, len)) { + (yyvsp[-1].str), bitlist, len)) { yyerror("out of memory"); - free((yyvsp[(2) - (3)].str)); + free((yyvsp[-1].str)); } } } +#line 5900 "util/configparser.c" break; case 473: -#line 2262 "util/configparser.y" - { +#line 2262 "./util/configparser.y" + { size_t len = 0; - uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str), + uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), &len); - free((yyvsp[(3) - (3)].str)); - OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[(2) - (3)].str))); + free((yyvsp[0].str)); + OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[-1].str))); if(!bitlist) { yyerror("could not parse tags, (define-tag them first)"); - free((yyvsp[(2) - (3)].str)); + free((yyvsp[-1].str)); } if(bitlist) { if(!cfg_strbytelist_insert( &cfg_parser->cfg->acl_tags, - (yyvsp[(2) - (3)].str), bitlist, len)) { + (yyvsp[-1].str), bitlist, len)) { yyerror("out of memory"); - free((yyvsp[(2) - (3)].str)); + free((yyvsp[-1].str)); } } } +#line 5924 "util/configparser.c" break; case 474: -#line 2283 "util/configparser.y" - { - OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))); +#line 2283 "./util/configparser.y" + { + OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions, - (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) { + (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { yyerror("out of memory"); - free((yyvsp[(2) - (4)].str)); - free((yyvsp[(3) - (4)].str)); - free((yyvsp[(4) - (4)].str)); + free((yyvsp[-2].str)); + free((yyvsp[-1].str)); + free((yyvsp[0].str)); } } +#line 5939 "util/configparser.c" break; case 475: -#line 2295 "util/configparser.y" - { - OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))); +#line 2295 "./util/configparser.y" + { + OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas, - (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) { + (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { yyerror("out of memory"); - free((yyvsp[(2) - (4)].str)); - free((yyvsp[(3) - (4)].str)); - free((yyvsp[(4) - (4)].str)); + free((yyvsp[-2].str)); + free((yyvsp[-1].str)); + free((yyvsp[0].str)); } } +#line 5954 "util/configparser.c" break; case 476: -#line 2307 "util/configparser.y" - { - OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))); +#line 2307 "./util/configparser.y" + { + OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides, - (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) { + (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) { yyerror("out of memory"); - free((yyvsp[(2) - (4)].str)); - free((yyvsp[(3) - (4)].str)); - free((yyvsp[(4) - (4)].str)); + free((yyvsp[-2].str)); + free((yyvsp[-1].str)); + free((yyvsp[0].str)); } } +#line 5969 "util/configparser.c" break; case 477: -#line 2319 "util/configparser.y" - { - OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); +#line 2319 "./util/configparser.y" + { + OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, - (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) { + (yyvsp[-1].str), (yyvsp[0].str))) { yyerror("out of memory"); } } +#line 5981 "util/configparser.c" break; case 478: -#line 2328 "util/configparser.y" - { +#line 2328 "./util/configparser.y" + { size_t len = 0; - uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str), + uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), &len); - free((yyvsp[(3) - (3)].str)); - OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[(2) - (3)].str))); + free((yyvsp[0].str)); + OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[-1].str))); if(!bitlist) { yyerror("could not parse tags, (define-tag them first)"); - free((yyvsp[(2) - (3)].str)); + free((yyvsp[-1].str)); } if(bitlist) { if(!cfg_strbytelist_insert( &cfg_parser->cfg->respip_tags, - (yyvsp[(2) - (3)].str), bitlist, len)) { + (yyvsp[-1].str), bitlist, len)) { yyerror("out of memory"); - free((yyvsp[(2) - (3)].str)); + free((yyvsp[-1].str)); } } } +#line 6005 "util/configparser.c" break; case 479: -#line 2349 "util/configparser.y" - { - OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2349 "./util/configparser.y" + { + OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6017 "util/configparser.c" break; case 480: -#line 2359 "util/configparser.y" - { - OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2359 "./util/configparser.y" + { + OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->ratelimit = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6029 "util/configparser.c" break; case 481: -#line 2368 "util/configparser.y" - { - OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ip_ratelimit_size)) +#line 2368 "./util/configparser.y" + { + OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 6040 "util/configparser.c" break; case 482: -#line 2376 "util/configparser.y" - { - OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ratelimit_size)) +#line 2376 "./util/configparser.y" + { + OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 6051 "util/configparser.c" break; case 483: -#line 2384 "util/configparser.y" - { - OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 2384 "./util/configparser.y" + { + OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->ip_ratelimit_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 6067 "util/configparser.c" break; case 484: -#line 2397 "util/configparser.y" - { - OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 2397 "./util/configparser.y" + { + OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->ratelimit_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 6083 "util/configparser.c" break; case 485: -#line 2410 "util/configparser.y" - { - OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) { +#line 2410 "./util/configparser.y" + { + OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { yyerror("number expected"); - free((yyvsp[(2) - (3)].str)); - free((yyvsp[(3) - (3)].str)); + free((yyvsp[-1].str)); + free((yyvsp[0].str)); } else { if(!cfg_str2list_insert(&cfg_parser->cfg-> - ratelimit_for_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + ratelimit_for_domain, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding " "ratelimit-for-domain"); } } +#line 6101 "util/configparser.c" break; case 486: -#line 2425 "util/configparser.y" - { - OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) { +#line 2425 "./util/configparser.y" + { + OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { yyerror("number expected"); - free((yyvsp[(2) - (3)].str)); - free((yyvsp[(3) - (3)].str)); + free((yyvsp[-1].str)); + free((yyvsp[0].str)); } else { if(!cfg_str2list_insert(&cfg_parser->cfg-> - ratelimit_below_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + ratelimit_below_domain, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding " "ratelimit-below-domain"); } } +#line 6119 "util/configparser.c" break; case 487: -#line 2440 "util/configparser.y" - { - OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2440 "./util/configparser.y" + { + OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6131 "util/configparser.c" break; case 488: -#line 2449 "util/configparser.y" - { - OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2449 "./util/configparser.y" + { + OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6143 "util/configparser.c" break; case 489: -#line 2458 "util/configparser.y" - { +#line 2458 "./util/configparser.y" + { OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 6152 "util/configparser.c" break; case 490: -#line 2464 "util/configparser.y" - { - OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) <= 0) +#line 2464 "./util/configparser.y" + { + OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) <= 0) yyerror("number expected"); - else cfg_parser->cfg->fast_server_num = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6164 "util/configparser.c" break; case 491: -#line 2473 "util/configparser.y" - { - OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2473 "./util/configparser.y" + { + OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6176 "util/configparser.c" break; case 492: -#line 2482 "util/configparser.y" - { - OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2482 "./util/configparser.y" + { + OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->qname_minimisation = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6189 "util/configparser.c" break; case 493: -#line 2492 "util/configparser.y" - { - OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2492 "./util/configparser.y" + { + OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->qname_minimisation_strict = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6202 "util/configparser.c" break; case 494: -#line 2502 "util/configparser.y" - { - OUTYY(("P(server_pad_responses:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2502 "./util/configparser.y" + { + OUTYY(("P(server_pad_responses:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->pad_responses = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6215 "util/configparser.c" break; case 495: -#line 2512 "util/configparser.y" - { - OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 2512 "./util/configparser.y" + { + OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6227 "util/configparser.c" break; case 496: -#line 2521 "util/configparser.y" - { - OUTYY(("P(server_pad_queries:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2521 "./util/configparser.y" + { + OUTYY(("P(server_pad_queries:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->pad_queries = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6240 "util/configparser.c" break; case 497: -#line 2531 "util/configparser.y" - { - OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 2531 "./util/configparser.y" + { + OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); - else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6252 "util/configparser.c" break; case 498: -#line 2540 "util/configparser.y" - { +#line 2540 "./util/configparser.y" + { #ifdef USE_IPSECMOD - OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->ipsecmod_enabled = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + else cfg_parser->cfg->ipsecmod_enabled = (strcmp((yyvsp[0].str), "yes")==0); #else OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 6268 "util/configparser.c" break; case 499: -#line 2553 "util/configparser.y" - { +#line 2553 "./util/configparser.y" + { #ifdef USE_IPSECMOD - OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp((yyvsp[0].str), "yes")==0); #else OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 6284 "util/configparser.c" break; case 500: -#line 2566 "util/configparser.y" - { +#line 2566 "./util/configparser.y" + { #ifdef USE_IPSECMOD - OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ipsecmod_hook); - cfg_parser->cfg->ipsecmod_hook = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->ipsecmod_hook = (yyvsp[0].str); #else OUTYY(("P(Compiled without IPsec module, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 6299 "util/configparser.c" break; case 501: -#line 2578 "util/configparser.y" - { +#line 2578 "./util/configparser.y" + { #ifdef USE_IPSECMOD - OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) + OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("number expected"); - else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); #else OUTYY(("P(Compiled without IPsec module, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 6316 "util/configparser.c" break; case 502: -#line 2592 "util/configparser.y" - { +#line 2592 "./util/configparser.y" + { #ifdef USE_IPSECMOD - OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[(2) - (2)].str))) + OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[0].str))) yyerror("out of memory"); #else OUTYY(("P(Compiled without IPsec module, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 6331 "util/configparser.c" break; case 503: -#line 2604 "util/configparser.y" - { +#line 2604 "./util/configparser.y" + { #ifdef USE_IPSECMOD - OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->ipsecmod_strict = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->ipsecmod_strict = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); #else OUTYY(("P(Compiled without IPsec module, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 6348 "util/configparser.c" break; case 504: -#line 2618 "util/configparser.y" - { - OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); +#line 2618 "./util/configparser.y" + { + OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert( - &cfg_parser->cfg->edns_client_strings, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + &cfg_parser->cfg->edns_client_strings, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding " "edns-client-string"); } +#line 6360 "util/configparser.c" break; case 505: -#line 2627 "util/configparser.y" - { - OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) +#line 2627 "./util/configparser.y" + { + OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) yyerror("option code expected"); - else if(atoi((yyvsp[(2) - (2)].str)) > 65535 || atoi((yyvsp[(2) - (2)].str)) < 0) + else if(atoi((yyvsp[0].str)) > 65535 || atoi((yyvsp[0].str)) < 0) yyerror("option code must be in interval [0, 65535]"); - else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6375 "util/configparser.c" break; case 506: -#line 2639 "util/configparser.y" - { - OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2639 "./util/configparser.y" + { + OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->stubs->name) yyerror("stub name override, there must be one name " "for one stub-zone"); free(cfg_parser->cfg->stubs->name); - cfg_parser->cfg->stubs->name = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->stubs->name = (yyvsp[0].str); } +#line 6388 "util/configparser.c" break; case 507: -#line 2649 "util/configparser.y" - { - OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str))) +#line 2649 "./util/configparser.y" + { + OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str))) yyerror("out of memory"); } +#line 6398 "util/configparser.c" break; case 508: -#line 2656 "util/configparser.y" - { - OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str))) +#line 2656 "./util/configparser.y" + { + OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str))) yyerror("out of memory"); } +#line 6408 "util/configparser.c" break; case 509: -#line 2663 "util/configparser.y" - { - OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2663 "./util/configparser.y" + { + OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6420 "util/configparser.c" break; case 510: -#line 2672 "util/configparser.y" - { - OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2672 "./util/configparser.y" + { + OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6432 "util/configparser.c" break; case 511: -#line 2681 "util/configparser.y" - { - OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2681 "./util/configparser.y" + { + OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->stubs->ssl_upstream = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6445 "util/configparser.c" break; case 512: -#line 2691 "util/configparser.y" - { - OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2691 "./util/configparser.y" + { + OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->stubs->isprime = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6458 "util/configparser.c" break; case 513: -#line 2701 "util/configparser.y" - { - OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2701 "./util/configparser.y" + { + OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->forwards->name) yyerror("forward name override, there must be one " "name for one forward-zone"); free(cfg_parser->cfg->forwards->name); - cfg_parser->cfg->forwards->name = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->forwards->name = (yyvsp[0].str); } +#line 6471 "util/configparser.c" break; case 514: -#line 2711 "util/configparser.y" - { - OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str))) +#line 2711 "./util/configparser.y" + { + OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str))) yyerror("out of memory"); } +#line 6481 "util/configparser.c" break; case 515: -#line 2718 "util/configparser.y" - { - OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str))) +#line 2718 "./util/configparser.y" + { + OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str))) yyerror("out of memory"); } +#line 6491 "util/configparser.c" break; case 516: -#line 2725 "util/configparser.y" - { - OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2725 "./util/configparser.y" + { + OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6503 "util/configparser.c" break; case 517: -#line 2734 "util/configparser.y" - { - OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2734 "./util/configparser.y" + { + OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6515 "util/configparser.c" break; case 518: -#line 2743 "util/configparser.y" - { - OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2743 "./util/configparser.y" + { + OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->forwards->ssl_upstream = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6528 "util/configparser.c" break; case 519: -#line 2753 "util/configparser.y" - { - OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2753 "./util/configparser.y" + { + OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->auths->name) yyerror("auth name override, there must be one name " "for one auth-zone"); free(cfg_parser->cfg->auths->name); - cfg_parser->cfg->auths->name = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->auths->name = (yyvsp[0].str); } +#line 6541 "util/configparser.c" break; case 520: -#line 2763 "util/configparser.y" - { - OUTYY(("P(zonefile:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2763 "./util/configparser.y" + { + OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->auths->zonefile); - cfg_parser->cfg->auths->zonefile = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->auths->zonefile = (yyvsp[0].str); } +#line 6551 "util/configparser.c" break; case 521: -#line 2770 "util/configparser.y" - { - OUTYY(("P(master:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[(2) - (2)].str))) +#line 2770 "./util/configparser.y" + { + OUTYY(("P(master:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str))) yyerror("out of memory"); } +#line 6561 "util/configparser.c" break; case 522: -#line 2777 "util/configparser.y" - { - OUTYY(("P(url:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[(2) - (2)].str))) +#line 2777 "./util/configparser.y" + { + OUTYY(("P(url:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str))) yyerror("out of memory"); } +#line 6571 "util/configparser.c" break; case 523: -#line 2784 "util/configparser.y" - { - OUTYY(("P(allow-notify:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2784 "./util/configparser.y" + { + OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify, - (yyvsp[(2) - (2)].str))) + (yyvsp[0].str))) yyerror("out of memory"); } +#line 6582 "util/configparser.c" break; case 524: -#line 2792 "util/configparser.y" - { - OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2792 "./util/configparser.y" + { + OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->auths->zonemd_reject_absence = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6595 "util/configparser.c" break; case 525: -#line 2802 "util/configparser.y" - { - OUTYY(("P(for-downstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2802 "./util/configparser.y" + { + OUTYY(("P(for-downstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->auths->for_downstream = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6608 "util/configparser.c" break; case 526: -#line 2812 "util/configparser.y" - { - OUTYY(("P(for-upstream:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2812 "./util/configparser.y" + { + OUTYY(("P(for-upstream:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->auths->for_upstream = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6621 "util/configparser.c" break; case 527: -#line 2822 "util/configparser.y" - { - OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2822 "./util/configparser.y" + { + OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->auths->fallback_enabled = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6634 "util/configparser.c" break; case 528: -#line 2832 "util/configparser.y" - { - OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2832 "./util/configparser.y" + { + OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->views->name) yyerror("view name override, there must be one " "name for one view"); free(cfg_parser->cfg->views->name); - cfg_parser->cfg->views->name = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->views->name = (yyvsp[0].str); } +#line 6647 "util/configparser.c" break; case 529: -#line 2842 "util/configparser.y" - { - OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && - strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 && - strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0 - && strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_transparent")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_refuse")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_nxdomain")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_nodata")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_deny")!=0 - && strcmp((yyvsp[(3) - (3)].str), "always_null")!=0 - && strcmp((yyvsp[(3) - (3)].str), "noview")!=0 - && strcmp((yyvsp[(3) - (3)].str), "inform")!=0 && strcmp((yyvsp[(3) - (3)].str), "inform_deny")!=0 - && strcmp((yyvsp[(3) - (3)].str), "inform_redirect") != 0 - && strcmp((yyvsp[(3) - (3)].str), "ipset") != 0) { +#line 2842 "./util/configparser.y" + { + OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && + strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 && + strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0 + && strcmp((yyvsp[0].str), "typetransparent")!=0 + && strcmp((yyvsp[0].str), "always_transparent")!=0 + && strcmp((yyvsp[0].str), "always_refuse")!=0 + && strcmp((yyvsp[0].str), "always_nxdomain")!=0 + && strcmp((yyvsp[0].str), "always_nodata")!=0 + && strcmp((yyvsp[0].str), "always_deny")!=0 + && strcmp((yyvsp[0].str), "always_null")!=0 + && strcmp((yyvsp[0].str), "noview")!=0 + && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0 + && strcmp((yyvsp[0].str), "inform_redirect") != 0 + && strcmp((yyvsp[0].str), "ipset") != 0) { yyerror("local-zone type: expected static, deny, " "refuse, redirect, transparent, " "typetransparent, inform, inform_deny, " @@ -6198,68 +6671,72 @@ yyreduce: "always_refuse, always_nxdomain, " "always_nodata, always_deny, always_null, " "noview, nodefault or ipset"); - free((yyvsp[(2) - (3)].str)); - free((yyvsp[(3) - (3)].str)); - } else if(strcmp((yyvsp[(3) - (3)].str), "nodefault")==0) { + free((yyvsp[-1].str)); + free((yyvsp[0].str)); + } else if(strcmp((yyvsp[0].str), "nodefault")==0) { if(!cfg_strlist_insert(&cfg_parser->cfg->views-> - local_zones_nodefault, (yyvsp[(2) - (3)].str))) + local_zones_nodefault, (yyvsp[-1].str))) fatal_exit("out of memory adding local-zone"); - free((yyvsp[(3) - (3)].str)); + free((yyvsp[0].str)); #ifdef USE_IPSET - } else if(strcmp((yyvsp[(3) - (3)].str), "ipset")==0) { + } else if(strcmp((yyvsp[0].str), "ipset")==0) { if(!cfg_strlist_insert(&cfg_parser->cfg->views-> - local_zones_ipset, (yyvsp[(2) - (3)].str))) + local_zones_ipset, (yyvsp[-1].str))) fatal_exit("out of memory adding local-zone"); - free((yyvsp[(3) - (3)].str)); + free((yyvsp[0].str)); #endif } else { if(!cfg_str2list_insert( &cfg_parser->cfg->views->local_zones, - (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding local-zone"); } } +#line 6696 "util/configparser.c" break; case 530: -#line 2888 "util/configparser.y" - { - OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - validate_respip_action((yyvsp[(3) - (3)].str)); +#line 2888 "./util/configparser.y" + { + OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + validate_respip_action((yyvsp[0].str)); if(!cfg_str2list_insert( - &cfg_parser->cfg->views->respip_actions, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + &cfg_parser->cfg->views->respip_actions, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding per-view " "response-ip action"); } +#line 6709 "util/configparser.c" break; case 531: -#line 2898 "util/configparser.y" - { - OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[(2) - (3)].str))); +#line 2898 "./util/configparser.y" + { + OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert( - &cfg_parser->cfg->views->respip_data, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } +#line 6720 "util/configparser.c" break; case 532: -#line 2906 "util/configparser.y" - { - OUTYY(("P(view_local_data:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[(2) - (2)].str))) { +#line 2906 "./util/configparser.y" + { + OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { fatal_exit("out of memory adding local-data"); } } +#line 6731 "util/configparser.c" break; case 533: -#line 2914 "util/configparser.y" - { +#line 2914 "./util/configparser.y" + { char* ptr; - OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str))); - ptr = cfg_ptr_reverse((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str))); + ptr = cfg_ptr_reverse((yyvsp[0].str)); + free((yyvsp[0].str)); if(ptr) { if(!cfg_strlist_insert(&cfg_parser->cfg->views-> local_data, ptr)) @@ -6268,749 +6745,785 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } +#line 6749 "util/configparser.c" break; case 534: -#line 2929 "util/configparser.y" - { - OUTYY(("P(view-first:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2929 "./util/configparser.y" + { + OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6761 "util/configparser.c" break; case 535: -#line 2938 "util/configparser.y" - { +#line 2938 "./util/configparser.y" + { OUTYY(("\nP(remote-control:)\n")); } +#line 6769 "util/configparser.c" break; case 546: -#line 2949 "util/configparser.y" - { - OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 2949 "./util/configparser.y" + { + OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->remote_control_enable = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6782 "util/configparser.c" break; case 547: -#line 2959 "util/configparser.y" - { - OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 2959 "./util/configparser.y" + { + OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("control port number expected"); - else cfg_parser->cfg->control_port = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 6794 "util/configparser.c" break; case 548: -#line 2968 "util/configparser.y" - { - OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str))) +#line 2968 "./util/configparser.y" + { + OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) yyerror("out of memory"); } +#line 6804 "util/configparser.c" break; case 549: -#line 2975 "util/configparser.y" - { - OUTYY(("P(control_use_cert:%s)\n", (yyvsp[(2) - (2)].str))); - cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); +#line 2975 "./util/configparser.y" + { + OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); + cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6814 "util/configparser.c" break; case 550: -#line 2982 "util/configparser.y" - { - OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2982 "./util/configparser.y" + { + OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_key_file); - cfg_parser->cfg->server_key_file = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->server_key_file = (yyvsp[0].str); } +#line 6824 "util/configparser.c" break; case 551: -#line 2989 "util/configparser.y" - { - OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2989 "./util/configparser.y" + { + OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_cert_file); - cfg_parser->cfg->server_cert_file = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->server_cert_file = (yyvsp[0].str); } +#line 6834 "util/configparser.c" break; case 552: -#line 2996 "util/configparser.y" - { - OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 2996 "./util/configparser.y" + { + OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_key_file); - cfg_parser->cfg->control_key_file = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->control_key_file = (yyvsp[0].str); } +#line 6844 "util/configparser.c" break; case 553: -#line 3003 "util/configparser.y" - { - OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3003 "./util/configparser.y" + { + OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_cert_file); - cfg_parser->cfg->control_cert_file = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->control_cert_file = (yyvsp[0].str); } +#line 6854 "util/configparser.c" break; case 554: -#line 3010 "util/configparser.y" - { +#line 3010 "./util/configparser.y" + { OUTYY(("\nP(dnstap:)\n")); } +#line 6862 "util/configparser.c" break; case 576: -#line 3030 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3030 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->dnstap = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6874 "util/configparser.c" break; case 577: -#line 3039 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_bidirectional:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3039 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_bidirectional:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_bidirectional = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6887 "util/configparser.c" break; case 578: -#line 3049 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3049 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_socket_path); - cfg_parser->cfg->dnstap_socket_path = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str); } +#line 6897 "util/configparser.c" break; case 579: -#line 3056 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3056 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_ip); - cfg_parser->cfg->dnstap_ip = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_ip = (yyvsp[0].str); } +#line 6907 "util/configparser.c" break; case 580: -#line 3063 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3063 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6919 "util/configparser.c" break; case 581: -#line 3072 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3072 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_server_name); - cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str); } +#line 6929 "util/configparser.c" break; case 582: -#line 3079 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3079 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_cert_bundle); - cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str); } +#line 6939 "util/configparser.c" break; case 583: -#line 3086 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3086 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_client_key_file); - cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str); } +#line 6949 "util/configparser.c" break; case 584: -#line 3093 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3093 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_tls_client_cert_file); - cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str); } +#line 6959 "util/configparser.c" break; case 585: -#line 3100 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3100 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6971 "util/configparser.c" break; case 586: -#line 3109 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3109 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 6983 "util/configparser.c" break; case 587: -#line 3118 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3118 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_identity); - cfg_parser->cfg->dnstap_identity = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); } +#line 6993 "util/configparser.c" break; case 588: -#line 3125 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3125 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_version); - cfg_parser->cfg->dnstap_version = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnstap_version = (yyvsp[0].str); } +#line 7003 "util/configparser.c" break; case 589: -#line 3132 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3132 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_log_resolver_query_messages = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7016 "util/configparser.c" break; case 590: -#line 3142 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3142 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_log_resolver_response_messages = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7029 "util/configparser.c" break; case 591: -#line 3152 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3152 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_log_client_query_messages = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7042 "util/configparser.c" break; case 592: -#line 3162 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3162 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_log_client_response_messages = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7055 "util/configparser.c" break; case 593: -#line 3172 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3172 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_log_forwarder_query_messages = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7068 "util/configparser.c" break; case 594: -#line 3182 "util/configparser.y" - { - OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3182 "./util/configparser.y" + { + OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_log_forwarder_response_messages = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7081 "util/configparser.c" break; case 595: -#line 3192 "util/configparser.y" - { +#line 3192 "./util/configparser.y" + { OUTYY(("\nP(python:)\n")); } +#line 7089 "util/configparser.c" break; case 599: -#line 3201 "util/configparser.y" - { - OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[(2) - (2)].str))) +#line 3201 "./util/configparser.y" + { + OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str))) yyerror("out of memory"); } +#line 7099 "util/configparser.c" break; case 600: -#line 3207 "util/configparser.y" - { +#line 3207 "./util/configparser.y" + { OUTYY(("\nP(dynlib:)\n")); } +#line 7107 "util/configparser.c" break; case 604: -#line 3216 "util/configparser.y" - { - OUTYY(("P(dynlib-file:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[(2) - (2)].str))) +#line 3216 "./util/configparser.y" + { + OUTYY(("P(dynlib-file:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[0].str))) yyerror("out of memory"); } +#line 7117 "util/configparser.c" break; case 605: -#line 3222 "util/configparser.y" - { - OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[(2) - (2)].str))); - if (strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3222 "./util/configparser.y" + { + OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); + if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->disable_dnssec_lame_check = - (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7130 "util/configparser.c" break; case 606: -#line 3232 "util/configparser.y" - { - OUTYY(("P(server_log_identity:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3232 "./util/configparser.y" + { + OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->log_identity); - cfg_parser->cfg->log_identity = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->log_identity = (yyvsp[0].str); } +#line 7140 "util/configparser.c" break; case 607: -#line 3239 "util/configparser.y" - { - OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - validate_respip_action((yyvsp[(3) - (3)].str)); +#line 3239 "./util/configparser.y" + { + OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + validate_respip_action((yyvsp[0].str)); if(!cfg_str2list_insert(&cfg_parser->cfg->respip_actions, - (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip"); } +#line 7152 "util/configparser.c" break; case 608: -#line 3248 "util/configparser.y" - { - OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[(2) - (3)].str))); +#line 3248 "./util/configparser.y" + { + OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data, - (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } +#line 7163 "util/configparser.c" break; case 609: -#line 3256 "util/configparser.y" - { +#line 3256 "./util/configparser.y" + { OUTYY(("\nP(dnscrypt:)\n")); } +#line 7171 "util/configparser.c" break; case 622: -#line 3272 "util/configparser.y" - { - OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) +#line 3272 "./util/configparser.y" + { + OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); } +#line 7183 "util/configparser.c" break; case 623: -#line 3282 "util/configparser.y" - { - OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 3282 "./util/configparser.y" + { + OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("port number expected"); - else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[(2) - (2)].str)); - free((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str)); + free((yyvsp[0].str)); } +#line 7195 "util/configparser.c" break; case 624: -#line 3291 "util/configparser.y" - { - OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[(2) - (2)].str))); +#line 3291 "./util/configparser.y" + { + OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnscrypt_provider); - cfg_parser->cfg->dnscrypt_provider = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str); } +#line 7205 "util/configparser.c" break; case 625: -#line 3298 "util/configparser.y" - { - OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[(2) - (2)].str))); - if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[(2) - (2)].str))) - log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[(2) - (2)].str)); - if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[(2) - (2)].str))) +#line 3298 "./util/configparser.y" + { + OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[0].str))); + if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) + log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[0].str)); + if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-provider-cert"); } +#line 7217 "util/configparser.c" break; case 626: -#line 3307 "util/configparser.y" - { - OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[(2) - (2)].str))) +#line 3307 "./util/configparser.y" + { + OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[0].str))); + if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-provider-cert-rotated"); } +#line 7227 "util/configparser.c" break; case 627: -#line 3314 "util/configparser.y" - { - OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[(2) - (2)].str))); - if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[(2) - (2)].str))) - log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[(2) - (2)].str)); - if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[(2) - (2)].str))) +#line 3314 "./util/configparser.y" + { + OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[0].str))); + if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) + log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[0].str)); + if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str))) fatal_exit("out of memory adding dnscrypt-secret-key"); } +#line 7239 "util/configparser.c" break; case 628: -#line 3323 "util/configparser.y" - { - OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size)) +#line 3323 "./util/configparser.y" + { + OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 7250 "util/configparser.c" break; case 629: -#line 3331 "util/configparser.y" - { - OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 3331 "./util/configparser.y" + { + OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 7266 "util/configparser.c" break; case 630: -#line 3344 "util/configparser.y" - { - OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); - if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size)) +#line 3344 "./util/configparser.y" + { + OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[0].str))); + if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size)) yyerror("memory size expected"); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 7277 "util/configparser.c" break; case 631: -#line 3352 "util/configparser.y" - { - OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) +#line 3352 "./util/configparser.y" + { + OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("number expected"); else { - cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[(2) - (2)].str)); + cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[0].str)); if(!is_pow2(cfg_parser->cfg->dnscrypt_nonce_cache_slabs)) yyerror("must be a power of 2"); } - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 7293 "util/configparser.c" break; case 632: -#line 3365 "util/configparser.y" - { +#line 3365 "./util/configparser.y" + { OUTYY(("\nP(cachedb:)\n")); } +#line 7301 "util/configparser.c" break; case 641: -#line 3376 "util/configparser.y" - { +#line 3376 "./util/configparser.y" + { #ifdef USE_CACHEDB - OUTYY(("P(backend:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(backend:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->cachedb_backend); - cfg_parser->cfg->cachedb_backend = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->cachedb_backend = (yyvsp[0].str); #else OUTYY(("P(Compiled without cachedb, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 7316 "util/configparser.c" break; case 642: -#line 3388 "util/configparser.y" - { +#line 3388 "./util/configparser.y" + { #ifdef USE_CACHEDB - OUTYY(("P(secret-seed:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->cachedb_secret); - cfg_parser->cfg->cachedb_secret = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->cachedb_secret = (yyvsp[0].str); #else OUTYY(("P(Compiled without cachedb, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 7331 "util/configparser.c" break; case 643: -#line 3400 "util/configparser.y" - { +#line 3400 "./util/configparser.y" + { #if defined(USE_CACHEDB) && defined(USE_REDIS) - OUTYY(("P(redis_server_host:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->redis_server_host); - cfg_parser->cfg->redis_server_host = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->redis_server_host = (yyvsp[0].str); #else OUTYY(("P(Compiled without cachedb or redis, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 7346 "util/configparser.c" break; case 644: -#line 3412 "util/configparser.y" - { +#line 3412 "./util/configparser.y" + { #if defined(USE_CACHEDB) && defined(USE_REDIS) int port; - OUTYY(("P(redis_server_port:%s)\n", (yyvsp[(2) - (2)].str))); - port = atoi((yyvsp[(2) - (2)].str)); + OUTYY(("P(redis_server_port:%s)\n", (yyvsp[0].str))); + port = atoi((yyvsp[0].str)); if(port == 0 || port < 0 || port > 65535) yyerror("valid redis server port number expected"); else cfg_parser->cfg->redis_server_port = port; #else OUTYY(("P(Compiled without cachedb or redis, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 7364 "util/configparser.c" break; case 645: -#line 3427 "util/configparser.y" - { +#line 3427 "./util/configparser.y" + { #if defined(USE_CACHEDB) && defined(USE_REDIS) - OUTYY(("P(redis_timeout:%s)\n", (yyvsp[(2) - (2)].str))); - if(atoi((yyvsp[(2) - (2)].str)) == 0) + OUTYY(("P(redis_timeout:%s)\n", (yyvsp[0].str))); + if(atoi((yyvsp[0].str)) == 0) yyerror("redis timeout value expected"); - else cfg_parser->cfg->redis_timeout = atoi((yyvsp[(2) - (2)].str)); + else cfg_parser->cfg->redis_timeout = atoi((yyvsp[0].str)); #else OUTYY(("P(Compiled without cachedb or redis, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 7380 "util/configparser.c" break; case 646: -#line 3440 "util/configparser.y" - { +#line 3440 "./util/configparser.y" + { #if defined(USE_CACHEDB) && defined(USE_REDIS) - OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[(2) - (2)].str))); - if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) + OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); - else cfg_parser->cfg->redis_expire_records = (strcmp((yyvsp[(2) - (2)].str), "yes")==0); + else cfg_parser->cfg->redis_expire_records = (strcmp((yyvsp[0].str), "yes")==0); #else OUTYY(("P(Compiled without cachedb or redis, ignoring)\n")); #endif - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); } +#line 7396 "util/configparser.c" break; case 647: -#line 3453 "util/configparser.y" - { - OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); - if (atoi((yyvsp[(3) - (3)].str)) < 0) +#line 3453 "./util/configparser.y" + { + OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); + if (atoi((yyvsp[0].str)) < 0) yyerror("positive number expected"); else { - if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) + if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding tcp connection limit"); } } +#line 7410 "util/configparser.c" break; case 648: -#line 3464 "util/configparser.y" - { +#line 3464 "./util/configparser.y" + { OUTYY(("\nP(ipset:)\n")); } +#line 7418 "util/configparser.c" break; case 653: -#line 3473 "util/configparser.y" - { +#line 3473 "./util/configparser.y" + { #ifdef USE_IPSET - OUTYY(("P(name-v4:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->ipset_name_v4) yyerror("ipset name v4 override, there must be one " "name for ip v4"); free(cfg_parser->cfg->ipset_name_v4); - cfg_parser->cfg->ipset_name_v4 = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->ipset_name_v4 = (yyvsp[0].str); #else OUTYY(("P(Compiled without ipset, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 7436 "util/configparser.c" break; case 654: -#line 3488 "util/configparser.y" - { +#line 3488 "./util/configparser.y" + { #ifdef USE_IPSET - OUTYY(("P(name-v6:%s)\n", (yyvsp[(2) - (2)].str))); + OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->ipset_name_v6) yyerror("ipset name v6 override, there must be one " "name for ip v6"); free(cfg_parser->cfg->ipset_name_v6); - cfg_parser->cfg->ipset_name_v6 = (yyvsp[(2) - (2)].str); + cfg_parser->cfg->ipset_name_v6 = (yyvsp[0].str); #else OUTYY(("P(Compiled without ipset, ignoring)\n")); - free((yyvsp[(2) - (2)].str)); + free((yyvsp[0].str)); #endif } +#line 7454 "util/configparser.c" break; -/* Line 1267 of yacc.c. */ -#line 6921 "util/configparser.c" +#line 7458 "util/configparser.c" + default: break; } - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ + YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; - YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; - - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } goto yynewstate; -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; -#if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); -#else - { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } - } -#endif } - - if (yyerrstatus == 3) { - /* If just tried and failed to reuse look-ahead token after an - error, discard it. */ + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } + { + yydestruct ("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; + } } - /* Else will try to reuse look-ahead token after shifting the error + /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; @@ -7019,14 +7532,12 @@ yyerrlab: | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; - - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; @@ -7039,42 +7550,42 @@ yyerrorlab: | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ + yyerrstatus = 3; /* Each real token shifted decrements this. */ + /* Pop stack until we find a state that shifts the error token. */ for (;;) { yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } + if (!yypact_value_is_default (yyn)) + { + yyn += YYSYMBOL_YYerror; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) - YYABORT; + YYABORT; yydestruct ("Error: popping", - yystos[yystate], yyvsp); + YY_ACCESSING_SYMBOL (yystate), yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } - if (yyn == YYFINAL) - YYACCEPT; - + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -7087,6 +7598,7 @@ yyacceptlab: yyresult = 0; goto yyreturn; + /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ @@ -7094,7 +7606,8 @@ yyabortlab: yyresult = 1; goto yyreturn; -#ifndef yyoverflow + +#if !defined yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -7104,34 +7617,38 @@ yyexhaustedlab: /* Fall through. */ #endif + +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + } + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); + YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif - /* Make sure YYID is used. */ - return YYID (yyresult); + + return yyresult; } - -#line 3502 "util/configparser.y" +#line 3502 "./util/configparser.y" /* parse helper routines could be here */ @@ -7153,4 +7670,3 @@ validate_respip_action(const char* action) } - diff --git a/util/configparser.h b/util/configparser.h index 430f09180..98e628db7 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -1,14 +1,14 @@ -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made by GNU Bison 3.6.4. */ -/* Skeleton interface for Bison's Yacc-like parsers in C +/* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -16,9 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -33,326 +31,347 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -/* Tokens. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + +#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED +# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token kinds. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - SPACE = 258, - LETTER = 259, - NEWLINE = 260, - COMMENT = 261, - COLON = 262, - ANY = 263, - ZONESTR = 264, - STRING_ARG = 265, - VAR_FORCE_TOPLEVEL = 266, - VAR_SERVER = 267, - VAR_VERBOSITY = 268, - VAR_NUM_THREADS = 269, - VAR_PORT = 270, - VAR_OUTGOING_RANGE = 271, - VAR_INTERFACE = 272, - VAR_PREFER_IP4 = 273, - VAR_DO_IP4 = 274, - VAR_DO_IP6 = 275, - VAR_PREFER_IP6 = 276, - VAR_DO_UDP = 277, - VAR_DO_TCP = 278, - VAR_TCP_MSS = 279, - VAR_OUTGOING_TCP_MSS = 280, - VAR_TCP_IDLE_TIMEOUT = 281, - VAR_EDNS_TCP_KEEPALIVE = 282, - VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283, - VAR_CHROOT = 284, - VAR_USERNAME = 285, - VAR_DIRECTORY = 286, - VAR_LOGFILE = 287, - VAR_PIDFILE = 288, - VAR_MSG_CACHE_SIZE = 289, - VAR_MSG_CACHE_SLABS = 290, - VAR_NUM_QUERIES_PER_THREAD = 291, - VAR_RRSET_CACHE_SIZE = 292, - VAR_RRSET_CACHE_SLABS = 293, - VAR_OUTGOING_NUM_TCP = 294, - VAR_INFRA_HOST_TTL = 295, - VAR_INFRA_LAME_TTL = 296, - VAR_INFRA_CACHE_SLABS = 297, - VAR_INFRA_CACHE_NUMHOSTS = 298, - VAR_INFRA_CACHE_LAME_SIZE = 299, - VAR_NAME = 300, - VAR_STUB_ZONE = 301, - VAR_STUB_HOST = 302, - VAR_STUB_ADDR = 303, - VAR_TARGET_FETCH_POLICY = 304, - VAR_HARDEN_SHORT_BUFSIZE = 305, - VAR_HARDEN_LARGE_QUERIES = 306, - VAR_FORWARD_ZONE = 307, - VAR_FORWARD_HOST = 308, - VAR_FORWARD_ADDR = 309, - VAR_DO_NOT_QUERY_ADDRESS = 310, - VAR_HIDE_IDENTITY = 311, - VAR_HIDE_VERSION = 312, - VAR_IDENTITY = 313, - VAR_VERSION = 314, - VAR_HARDEN_GLUE = 315, - VAR_MODULE_CONF = 316, - VAR_TRUST_ANCHOR_FILE = 317, - VAR_TRUST_ANCHOR = 318, - VAR_VAL_OVERRIDE_DATE = 319, - VAR_BOGUS_TTL = 320, - VAR_VAL_CLEAN_ADDITIONAL = 321, - VAR_VAL_PERMISSIVE_MODE = 322, - VAR_INCOMING_NUM_TCP = 323, - VAR_MSG_BUFFER_SIZE = 324, - VAR_KEY_CACHE_SIZE = 325, - VAR_KEY_CACHE_SLABS = 326, - VAR_TRUSTED_KEYS_FILE = 327, - VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328, - VAR_USE_SYSLOG = 329, - VAR_OUTGOING_INTERFACE = 330, - VAR_ROOT_HINTS = 331, - VAR_DO_NOT_QUERY_LOCALHOST = 332, - VAR_CACHE_MAX_TTL = 333, - VAR_HARDEN_DNSSEC_STRIPPED = 334, - VAR_ACCESS_CONTROL = 335, - VAR_LOCAL_ZONE = 336, - VAR_LOCAL_DATA = 337, - VAR_INTERFACE_AUTOMATIC = 338, - VAR_STATISTICS_INTERVAL = 339, - VAR_DO_DAEMONIZE = 340, - VAR_USE_CAPS_FOR_ID = 341, - VAR_STATISTICS_CUMULATIVE = 342, - VAR_OUTGOING_PORT_PERMIT = 343, - VAR_OUTGOING_PORT_AVOID = 344, - VAR_DLV_ANCHOR_FILE = 345, - VAR_DLV_ANCHOR = 346, - VAR_NEG_CACHE_SIZE = 347, - VAR_HARDEN_REFERRAL_PATH = 348, - VAR_PRIVATE_ADDRESS = 349, - VAR_PRIVATE_DOMAIN = 350, - VAR_REMOTE_CONTROL = 351, - VAR_CONTROL_ENABLE = 352, - VAR_CONTROL_INTERFACE = 353, - VAR_CONTROL_PORT = 354, - VAR_SERVER_KEY_FILE = 355, - VAR_SERVER_CERT_FILE = 356, - VAR_CONTROL_KEY_FILE = 357, - VAR_CONTROL_CERT_FILE = 358, - VAR_CONTROL_USE_CERT = 359, - VAR_TCP_REUSE_TIMEOUT = 360, - VAR_MAX_REUSE_TCP_QUERIES = 361, - VAR_EXTENDED_STATISTICS = 362, - VAR_LOCAL_DATA_PTR = 363, - VAR_JOSTLE_TIMEOUT = 364, - VAR_STUB_PRIME = 365, - VAR_UNWANTED_REPLY_THRESHOLD = 366, - VAR_LOG_TIME_ASCII = 367, - VAR_DOMAIN_INSECURE = 368, - VAR_PYTHON = 369, - VAR_PYTHON_SCRIPT = 370, - VAR_VAL_SIG_SKEW_MIN = 371, - VAR_VAL_SIG_SKEW_MAX = 372, - VAR_CACHE_MIN_TTL = 373, - VAR_VAL_LOG_LEVEL = 374, - VAR_AUTO_TRUST_ANCHOR_FILE = 375, - VAR_KEEP_MISSING = 376, - VAR_ADD_HOLDDOWN = 377, - VAR_DEL_HOLDDOWN = 378, - VAR_SO_RCVBUF = 379, - VAR_EDNS_BUFFER_SIZE = 380, - VAR_PREFETCH = 381, - VAR_PREFETCH_KEY = 382, - VAR_SO_SNDBUF = 383, - VAR_SO_REUSEPORT = 384, - VAR_HARDEN_BELOW_NXDOMAIN = 385, - VAR_IGNORE_CD_FLAG = 386, - VAR_LOG_QUERIES = 387, - VAR_LOG_REPLIES = 388, - VAR_LOG_LOCAL_ACTIONS = 389, - VAR_TCP_UPSTREAM = 390, - VAR_SSL_UPSTREAM = 391, - VAR_TCP_AUTH_QUERY_TIMEOUT = 392, - VAR_SSL_SERVICE_KEY = 393, - VAR_SSL_SERVICE_PEM = 394, - VAR_SSL_PORT = 395, - VAR_FORWARD_FIRST = 396, - VAR_STUB_SSL_UPSTREAM = 397, - VAR_FORWARD_SSL_UPSTREAM = 398, - VAR_TLS_CERT_BUNDLE = 399, - VAR_HTTPS_PORT = 400, - VAR_HTTP_ENDPOINT = 401, - VAR_HTTP_MAX_STREAMS = 402, - VAR_HTTP_QUERY_BUFFER_SIZE = 403, - VAR_HTTP_RESPONSE_BUFFER_SIZE = 404, - VAR_HTTP_NODELAY = 405, - VAR_HTTP_NOTLS_DOWNSTREAM = 406, - VAR_STUB_FIRST = 407, - VAR_MINIMAL_RESPONSES = 408, - VAR_RRSET_ROUNDROBIN = 409, - VAR_MAX_UDP_SIZE = 410, - VAR_DELAY_CLOSE = 411, - VAR_UDP_CONNECT = 412, - VAR_UNBLOCK_LAN_ZONES = 413, - VAR_INSECURE_LAN_ZONES = 414, - VAR_INFRA_CACHE_MIN_RTT = 415, - VAR_INFRA_KEEP_PROBING = 416, - VAR_DNS64_PREFIX = 417, - VAR_DNS64_SYNTHALL = 418, - VAR_DNS64_IGNORE_AAAA = 419, - VAR_DNSTAP = 420, - VAR_DNSTAP_ENABLE = 421, - VAR_DNSTAP_SOCKET_PATH = 422, - VAR_DNSTAP_IP = 423, - VAR_DNSTAP_TLS = 424, - VAR_DNSTAP_TLS_SERVER_NAME = 425, - VAR_DNSTAP_TLS_CERT_BUNDLE = 426, - VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 427, - VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 428, - VAR_DNSTAP_SEND_IDENTITY = 429, - VAR_DNSTAP_SEND_VERSION = 430, - VAR_DNSTAP_BIDIRECTIONAL = 431, - VAR_DNSTAP_IDENTITY = 432, - VAR_DNSTAP_VERSION = 433, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 434, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 435, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 436, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 437, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 438, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 439, - VAR_RESPONSE_IP_TAG = 440, - VAR_RESPONSE_IP = 441, - VAR_RESPONSE_IP_DATA = 442, - VAR_HARDEN_ALGO_DOWNGRADE = 443, - VAR_IP_TRANSPARENT = 444, - VAR_IP_DSCP = 445, - VAR_DISABLE_DNSSEC_LAME_CHECK = 446, - VAR_IP_RATELIMIT = 447, - VAR_IP_RATELIMIT_SLABS = 448, - VAR_IP_RATELIMIT_SIZE = 449, - VAR_RATELIMIT = 450, - VAR_RATELIMIT_SLABS = 451, - VAR_RATELIMIT_SIZE = 452, - VAR_RATELIMIT_FOR_DOMAIN = 453, - VAR_RATELIMIT_BELOW_DOMAIN = 454, - VAR_IP_RATELIMIT_FACTOR = 455, - VAR_RATELIMIT_FACTOR = 456, - VAR_SEND_CLIENT_SUBNET = 457, - VAR_CLIENT_SUBNET_ZONE = 458, - VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 459, - VAR_CLIENT_SUBNET_OPCODE = 460, - VAR_MAX_CLIENT_SUBNET_IPV4 = 461, - VAR_MAX_CLIENT_SUBNET_IPV6 = 462, - VAR_MIN_CLIENT_SUBNET_IPV4 = 463, - VAR_MIN_CLIENT_SUBNET_IPV6 = 464, - VAR_MAX_ECS_TREE_SIZE_IPV4 = 465, - VAR_MAX_ECS_TREE_SIZE_IPV6 = 466, - VAR_CAPS_WHITELIST = 467, - VAR_CACHE_MAX_NEGATIVE_TTL = 468, - VAR_PERMIT_SMALL_HOLDDOWN = 469, - VAR_QNAME_MINIMISATION = 470, - VAR_QNAME_MINIMISATION_STRICT = 471, - VAR_IP_FREEBIND = 472, - VAR_DEFINE_TAG = 473, - VAR_LOCAL_ZONE_TAG = 474, - VAR_ACCESS_CONTROL_TAG = 475, - VAR_LOCAL_ZONE_OVERRIDE = 476, - VAR_ACCESS_CONTROL_TAG_ACTION = 477, - VAR_ACCESS_CONTROL_TAG_DATA = 478, - VAR_VIEW = 479, - VAR_ACCESS_CONTROL_VIEW = 480, - VAR_VIEW_FIRST = 481, - VAR_SERVE_EXPIRED = 482, - VAR_SERVE_EXPIRED_TTL = 483, - VAR_SERVE_EXPIRED_TTL_RESET = 484, - VAR_SERVE_EXPIRED_REPLY_TTL = 485, - VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 486, - VAR_SERVE_ORIGINAL_TTL = 487, - VAR_FAKE_DSA = 488, - VAR_FAKE_SHA1 = 489, - VAR_LOG_IDENTITY = 490, - VAR_HIDE_TRUSTANCHOR = 491, - VAR_TRUST_ANCHOR_SIGNALING = 492, - VAR_AGGRESSIVE_NSEC = 493, - VAR_USE_SYSTEMD = 494, - VAR_SHM_ENABLE = 495, - VAR_SHM_KEY = 496, - VAR_ROOT_KEY_SENTINEL = 497, - VAR_DNSCRYPT = 498, - VAR_DNSCRYPT_ENABLE = 499, - VAR_DNSCRYPT_PORT = 500, - VAR_DNSCRYPT_PROVIDER = 501, - VAR_DNSCRYPT_SECRET_KEY = 502, - VAR_DNSCRYPT_PROVIDER_CERT = 503, - VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 504, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 505, - VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 506, - VAR_DNSCRYPT_NONCE_CACHE_SIZE = 507, - VAR_DNSCRYPT_NONCE_CACHE_SLABS = 508, - VAR_PAD_RESPONSES = 509, - VAR_PAD_RESPONSES_BLOCK_SIZE = 510, - VAR_PAD_QUERIES = 511, - VAR_PAD_QUERIES_BLOCK_SIZE = 512, - VAR_IPSECMOD_ENABLED = 513, - VAR_IPSECMOD_HOOK = 514, - VAR_IPSECMOD_IGNORE_BOGUS = 515, - VAR_IPSECMOD_MAX_TTL = 516, - VAR_IPSECMOD_WHITELIST = 517, - VAR_IPSECMOD_STRICT = 518, - VAR_CACHEDB = 519, - VAR_CACHEDB_BACKEND = 520, - VAR_CACHEDB_SECRETSEED = 521, - VAR_CACHEDB_REDISHOST = 522, - VAR_CACHEDB_REDISPORT = 523, - VAR_CACHEDB_REDISTIMEOUT = 524, - VAR_CACHEDB_REDISEXPIRERECORDS = 525, - VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 526, - VAR_FOR_UPSTREAM = 527, - VAR_AUTH_ZONE = 528, - VAR_ZONEFILE = 529, - VAR_MASTER = 530, - VAR_URL = 531, - VAR_FOR_DOWNSTREAM = 532, - VAR_FALLBACK_ENABLED = 533, - VAR_TLS_ADDITIONAL_PORT = 534, - VAR_LOW_RTT = 535, - VAR_LOW_RTT_PERMIL = 536, - VAR_FAST_SERVER_PERMIL = 537, - VAR_FAST_SERVER_NUM = 538, - VAR_ALLOW_NOTIFY = 539, - VAR_TLS_WIN_CERT = 540, - VAR_TCP_CONNECTION_LIMIT = 541, - VAR_FORWARD_NO_CACHE = 542, - VAR_STUB_NO_CACHE = 543, - VAR_LOG_SERVFAIL = 544, - VAR_DENY_ANY = 545, - VAR_UNKNOWN_SERVER_TIME_LIMIT = 546, - VAR_LOG_TAG_QUERYREPLY = 547, - VAR_STREAM_WAIT_SIZE = 548, - VAR_TLS_CIPHERS = 549, - VAR_TLS_CIPHERSUITES = 550, - VAR_TLS_USE_SNI = 551, - VAR_IPSET = 552, - VAR_IPSET_NAME_V4 = 553, - VAR_IPSET_NAME_V6 = 554, - VAR_TLS_SESSION_TICKET_KEYS = 555, - VAR_RPZ = 556, - VAR_TAGS = 557, - VAR_RPZ_ACTION_OVERRIDE = 558, - VAR_RPZ_CNAME_OVERRIDE = 559, - VAR_RPZ_LOG = 560, - VAR_RPZ_LOG_NAME = 561, - VAR_DYNLIB = 562, - VAR_DYNLIB_FILE = 563, - VAR_EDNS_CLIENT_STRING = 564, - VAR_EDNS_CLIENT_STRING_OPCODE = 565, - VAR_NSID = 566, - VAR_ZONEMD_PERMISSIVE_MODE = 567, - VAR_ZONEMD_REJECT_ABSENCE = 568 - }; + enum yytokentype + { + YYEMPTY = -2, + YYEOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + SPACE = 258, /* SPACE */ + LETTER = 259, /* LETTER */ + NEWLINE = 260, /* NEWLINE */ + COMMENT = 261, /* COMMENT */ + COLON = 262, /* COLON */ + ANY = 263, /* ANY */ + ZONESTR = 264, /* ZONESTR */ + STRING_ARG = 265, /* STRING_ARG */ + VAR_FORCE_TOPLEVEL = 266, /* VAR_FORCE_TOPLEVEL */ + VAR_SERVER = 267, /* VAR_SERVER */ + VAR_VERBOSITY = 268, /* VAR_VERBOSITY */ + VAR_NUM_THREADS = 269, /* VAR_NUM_THREADS */ + VAR_PORT = 270, /* VAR_PORT */ + VAR_OUTGOING_RANGE = 271, /* VAR_OUTGOING_RANGE */ + VAR_INTERFACE = 272, /* VAR_INTERFACE */ + VAR_PREFER_IP4 = 273, /* VAR_PREFER_IP4 */ + VAR_DO_IP4 = 274, /* VAR_DO_IP4 */ + VAR_DO_IP6 = 275, /* VAR_DO_IP6 */ + VAR_PREFER_IP6 = 276, /* VAR_PREFER_IP6 */ + VAR_DO_UDP = 277, /* VAR_DO_UDP */ + VAR_DO_TCP = 278, /* VAR_DO_TCP */ + VAR_TCP_MSS = 279, /* VAR_TCP_MSS */ + VAR_OUTGOING_TCP_MSS = 280, /* VAR_OUTGOING_TCP_MSS */ + VAR_TCP_IDLE_TIMEOUT = 281, /* VAR_TCP_IDLE_TIMEOUT */ + VAR_EDNS_TCP_KEEPALIVE = 282, /* VAR_EDNS_TCP_KEEPALIVE */ + VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT */ + VAR_CHROOT = 284, /* VAR_CHROOT */ + VAR_USERNAME = 285, /* VAR_USERNAME */ + VAR_DIRECTORY = 286, /* VAR_DIRECTORY */ + VAR_LOGFILE = 287, /* VAR_LOGFILE */ + VAR_PIDFILE = 288, /* VAR_PIDFILE */ + VAR_MSG_CACHE_SIZE = 289, /* VAR_MSG_CACHE_SIZE */ + VAR_MSG_CACHE_SLABS = 290, /* VAR_MSG_CACHE_SLABS */ + VAR_NUM_QUERIES_PER_THREAD = 291, /* VAR_NUM_QUERIES_PER_THREAD */ + VAR_RRSET_CACHE_SIZE = 292, /* VAR_RRSET_CACHE_SIZE */ + VAR_RRSET_CACHE_SLABS = 293, /* VAR_RRSET_CACHE_SLABS */ + VAR_OUTGOING_NUM_TCP = 294, /* VAR_OUTGOING_NUM_TCP */ + VAR_INFRA_HOST_TTL = 295, /* VAR_INFRA_HOST_TTL */ + VAR_INFRA_LAME_TTL = 296, /* VAR_INFRA_LAME_TTL */ + VAR_INFRA_CACHE_SLABS = 297, /* VAR_INFRA_CACHE_SLABS */ + VAR_INFRA_CACHE_NUMHOSTS = 298, /* VAR_INFRA_CACHE_NUMHOSTS */ + VAR_INFRA_CACHE_LAME_SIZE = 299, /* VAR_INFRA_CACHE_LAME_SIZE */ + VAR_NAME = 300, /* VAR_NAME */ + VAR_STUB_ZONE = 301, /* VAR_STUB_ZONE */ + VAR_STUB_HOST = 302, /* VAR_STUB_HOST */ + VAR_STUB_ADDR = 303, /* VAR_STUB_ADDR */ + VAR_TARGET_FETCH_POLICY = 304, /* VAR_TARGET_FETCH_POLICY */ + VAR_HARDEN_SHORT_BUFSIZE = 305, /* VAR_HARDEN_SHORT_BUFSIZE */ + VAR_HARDEN_LARGE_QUERIES = 306, /* VAR_HARDEN_LARGE_QUERIES */ + VAR_FORWARD_ZONE = 307, /* VAR_FORWARD_ZONE */ + VAR_FORWARD_HOST = 308, /* VAR_FORWARD_HOST */ + VAR_FORWARD_ADDR = 309, /* VAR_FORWARD_ADDR */ + VAR_DO_NOT_QUERY_ADDRESS = 310, /* VAR_DO_NOT_QUERY_ADDRESS */ + VAR_HIDE_IDENTITY = 311, /* VAR_HIDE_IDENTITY */ + VAR_HIDE_VERSION = 312, /* VAR_HIDE_VERSION */ + VAR_IDENTITY = 313, /* VAR_IDENTITY */ + VAR_VERSION = 314, /* VAR_VERSION */ + VAR_HARDEN_GLUE = 315, /* VAR_HARDEN_GLUE */ + VAR_MODULE_CONF = 316, /* VAR_MODULE_CONF */ + VAR_TRUST_ANCHOR_FILE = 317, /* VAR_TRUST_ANCHOR_FILE */ + VAR_TRUST_ANCHOR = 318, /* VAR_TRUST_ANCHOR */ + VAR_VAL_OVERRIDE_DATE = 319, /* VAR_VAL_OVERRIDE_DATE */ + VAR_BOGUS_TTL = 320, /* VAR_BOGUS_TTL */ + VAR_VAL_CLEAN_ADDITIONAL = 321, /* VAR_VAL_CLEAN_ADDITIONAL */ + VAR_VAL_PERMISSIVE_MODE = 322, /* VAR_VAL_PERMISSIVE_MODE */ + VAR_INCOMING_NUM_TCP = 323, /* VAR_INCOMING_NUM_TCP */ + VAR_MSG_BUFFER_SIZE = 324, /* VAR_MSG_BUFFER_SIZE */ + VAR_KEY_CACHE_SIZE = 325, /* VAR_KEY_CACHE_SIZE */ + VAR_KEY_CACHE_SLABS = 326, /* VAR_KEY_CACHE_SLABS */ + VAR_TRUSTED_KEYS_FILE = 327, /* VAR_TRUSTED_KEYS_FILE */ + VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS */ + VAR_USE_SYSLOG = 329, /* VAR_USE_SYSLOG */ + VAR_OUTGOING_INTERFACE = 330, /* VAR_OUTGOING_INTERFACE */ + VAR_ROOT_HINTS = 331, /* VAR_ROOT_HINTS */ + VAR_DO_NOT_QUERY_LOCALHOST = 332, /* VAR_DO_NOT_QUERY_LOCALHOST */ + VAR_CACHE_MAX_TTL = 333, /* VAR_CACHE_MAX_TTL */ + VAR_HARDEN_DNSSEC_STRIPPED = 334, /* VAR_HARDEN_DNSSEC_STRIPPED */ + VAR_ACCESS_CONTROL = 335, /* VAR_ACCESS_CONTROL */ + VAR_LOCAL_ZONE = 336, /* VAR_LOCAL_ZONE */ + VAR_LOCAL_DATA = 337, /* VAR_LOCAL_DATA */ + VAR_INTERFACE_AUTOMATIC = 338, /* VAR_INTERFACE_AUTOMATIC */ + VAR_STATISTICS_INTERVAL = 339, /* VAR_STATISTICS_INTERVAL */ + VAR_DO_DAEMONIZE = 340, /* VAR_DO_DAEMONIZE */ + VAR_USE_CAPS_FOR_ID = 341, /* VAR_USE_CAPS_FOR_ID */ + VAR_STATISTICS_CUMULATIVE = 342, /* VAR_STATISTICS_CUMULATIVE */ + VAR_OUTGOING_PORT_PERMIT = 343, /* VAR_OUTGOING_PORT_PERMIT */ + VAR_OUTGOING_PORT_AVOID = 344, /* VAR_OUTGOING_PORT_AVOID */ + VAR_DLV_ANCHOR_FILE = 345, /* VAR_DLV_ANCHOR_FILE */ + VAR_DLV_ANCHOR = 346, /* VAR_DLV_ANCHOR */ + VAR_NEG_CACHE_SIZE = 347, /* VAR_NEG_CACHE_SIZE */ + VAR_HARDEN_REFERRAL_PATH = 348, /* VAR_HARDEN_REFERRAL_PATH */ + VAR_PRIVATE_ADDRESS = 349, /* VAR_PRIVATE_ADDRESS */ + VAR_PRIVATE_DOMAIN = 350, /* VAR_PRIVATE_DOMAIN */ + VAR_REMOTE_CONTROL = 351, /* VAR_REMOTE_CONTROL */ + VAR_CONTROL_ENABLE = 352, /* VAR_CONTROL_ENABLE */ + VAR_CONTROL_INTERFACE = 353, /* VAR_CONTROL_INTERFACE */ + VAR_CONTROL_PORT = 354, /* VAR_CONTROL_PORT */ + VAR_SERVER_KEY_FILE = 355, /* VAR_SERVER_KEY_FILE */ + VAR_SERVER_CERT_FILE = 356, /* VAR_SERVER_CERT_FILE */ + VAR_CONTROL_KEY_FILE = 357, /* VAR_CONTROL_KEY_FILE */ + VAR_CONTROL_CERT_FILE = 358, /* VAR_CONTROL_CERT_FILE */ + VAR_CONTROL_USE_CERT = 359, /* VAR_CONTROL_USE_CERT */ + VAR_TCP_REUSE_TIMEOUT = 360, /* VAR_TCP_REUSE_TIMEOUT */ + VAR_MAX_REUSE_TCP_QUERIES = 361, /* VAR_MAX_REUSE_TCP_QUERIES */ + VAR_EXTENDED_STATISTICS = 362, /* VAR_EXTENDED_STATISTICS */ + VAR_LOCAL_DATA_PTR = 363, /* VAR_LOCAL_DATA_PTR */ + VAR_JOSTLE_TIMEOUT = 364, /* VAR_JOSTLE_TIMEOUT */ + VAR_STUB_PRIME = 365, /* VAR_STUB_PRIME */ + VAR_UNWANTED_REPLY_THRESHOLD = 366, /* VAR_UNWANTED_REPLY_THRESHOLD */ + VAR_LOG_TIME_ASCII = 367, /* VAR_LOG_TIME_ASCII */ + VAR_DOMAIN_INSECURE = 368, /* VAR_DOMAIN_INSECURE */ + VAR_PYTHON = 369, /* VAR_PYTHON */ + VAR_PYTHON_SCRIPT = 370, /* VAR_PYTHON_SCRIPT */ + VAR_VAL_SIG_SKEW_MIN = 371, /* VAR_VAL_SIG_SKEW_MIN */ + VAR_VAL_SIG_SKEW_MAX = 372, /* VAR_VAL_SIG_SKEW_MAX */ + VAR_CACHE_MIN_TTL = 373, /* VAR_CACHE_MIN_TTL */ + VAR_VAL_LOG_LEVEL = 374, /* VAR_VAL_LOG_LEVEL */ + VAR_AUTO_TRUST_ANCHOR_FILE = 375, /* VAR_AUTO_TRUST_ANCHOR_FILE */ + VAR_KEEP_MISSING = 376, /* VAR_KEEP_MISSING */ + VAR_ADD_HOLDDOWN = 377, /* VAR_ADD_HOLDDOWN */ + VAR_DEL_HOLDDOWN = 378, /* VAR_DEL_HOLDDOWN */ + VAR_SO_RCVBUF = 379, /* VAR_SO_RCVBUF */ + VAR_EDNS_BUFFER_SIZE = 380, /* VAR_EDNS_BUFFER_SIZE */ + VAR_PREFETCH = 381, /* VAR_PREFETCH */ + VAR_PREFETCH_KEY = 382, /* VAR_PREFETCH_KEY */ + VAR_SO_SNDBUF = 383, /* VAR_SO_SNDBUF */ + VAR_SO_REUSEPORT = 384, /* VAR_SO_REUSEPORT */ + VAR_HARDEN_BELOW_NXDOMAIN = 385, /* VAR_HARDEN_BELOW_NXDOMAIN */ + VAR_IGNORE_CD_FLAG = 386, /* VAR_IGNORE_CD_FLAG */ + VAR_LOG_QUERIES = 387, /* VAR_LOG_QUERIES */ + VAR_LOG_REPLIES = 388, /* VAR_LOG_REPLIES */ + VAR_LOG_LOCAL_ACTIONS = 389, /* VAR_LOG_LOCAL_ACTIONS */ + VAR_TCP_UPSTREAM = 390, /* VAR_TCP_UPSTREAM */ + VAR_SSL_UPSTREAM = 391, /* VAR_SSL_UPSTREAM */ + VAR_TCP_AUTH_QUERY_TIMEOUT = 392, /* VAR_TCP_AUTH_QUERY_TIMEOUT */ + VAR_SSL_SERVICE_KEY = 393, /* VAR_SSL_SERVICE_KEY */ + VAR_SSL_SERVICE_PEM = 394, /* VAR_SSL_SERVICE_PEM */ + VAR_SSL_PORT = 395, /* VAR_SSL_PORT */ + VAR_FORWARD_FIRST = 396, /* VAR_FORWARD_FIRST */ + VAR_STUB_SSL_UPSTREAM = 397, /* VAR_STUB_SSL_UPSTREAM */ + VAR_FORWARD_SSL_UPSTREAM = 398, /* VAR_FORWARD_SSL_UPSTREAM */ + VAR_TLS_CERT_BUNDLE = 399, /* VAR_TLS_CERT_BUNDLE */ + VAR_HTTPS_PORT = 400, /* VAR_HTTPS_PORT */ + VAR_HTTP_ENDPOINT = 401, /* VAR_HTTP_ENDPOINT */ + VAR_HTTP_MAX_STREAMS = 402, /* VAR_HTTP_MAX_STREAMS */ + VAR_HTTP_QUERY_BUFFER_SIZE = 403, /* VAR_HTTP_QUERY_BUFFER_SIZE */ + VAR_HTTP_RESPONSE_BUFFER_SIZE = 404, /* VAR_HTTP_RESPONSE_BUFFER_SIZE */ + VAR_HTTP_NODELAY = 405, /* VAR_HTTP_NODELAY */ + VAR_HTTP_NOTLS_DOWNSTREAM = 406, /* VAR_HTTP_NOTLS_DOWNSTREAM */ + VAR_STUB_FIRST = 407, /* VAR_STUB_FIRST */ + VAR_MINIMAL_RESPONSES = 408, /* VAR_MINIMAL_RESPONSES */ + VAR_RRSET_ROUNDROBIN = 409, /* VAR_RRSET_ROUNDROBIN */ + VAR_MAX_UDP_SIZE = 410, /* VAR_MAX_UDP_SIZE */ + VAR_DELAY_CLOSE = 411, /* VAR_DELAY_CLOSE */ + VAR_UDP_CONNECT = 412, /* VAR_UDP_CONNECT */ + VAR_UNBLOCK_LAN_ZONES = 413, /* VAR_UNBLOCK_LAN_ZONES */ + VAR_INSECURE_LAN_ZONES = 414, /* VAR_INSECURE_LAN_ZONES */ + VAR_INFRA_CACHE_MIN_RTT = 415, /* VAR_INFRA_CACHE_MIN_RTT */ + VAR_INFRA_KEEP_PROBING = 416, /* VAR_INFRA_KEEP_PROBING */ + VAR_DNS64_PREFIX = 417, /* VAR_DNS64_PREFIX */ + VAR_DNS64_SYNTHALL = 418, /* VAR_DNS64_SYNTHALL */ + VAR_DNS64_IGNORE_AAAA = 419, /* VAR_DNS64_IGNORE_AAAA */ + VAR_DNSTAP = 420, /* VAR_DNSTAP */ + VAR_DNSTAP_ENABLE = 421, /* VAR_DNSTAP_ENABLE */ + VAR_DNSTAP_SOCKET_PATH = 422, /* VAR_DNSTAP_SOCKET_PATH */ + VAR_DNSTAP_IP = 423, /* VAR_DNSTAP_IP */ + VAR_DNSTAP_TLS = 424, /* VAR_DNSTAP_TLS */ + VAR_DNSTAP_TLS_SERVER_NAME = 425, /* VAR_DNSTAP_TLS_SERVER_NAME */ + VAR_DNSTAP_TLS_CERT_BUNDLE = 426, /* VAR_DNSTAP_TLS_CERT_BUNDLE */ + VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 427, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE */ + VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 428, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE */ + VAR_DNSTAP_SEND_IDENTITY = 429, /* VAR_DNSTAP_SEND_IDENTITY */ + VAR_DNSTAP_SEND_VERSION = 430, /* VAR_DNSTAP_SEND_VERSION */ + VAR_DNSTAP_BIDIRECTIONAL = 431, /* VAR_DNSTAP_BIDIRECTIONAL */ + VAR_DNSTAP_IDENTITY = 432, /* VAR_DNSTAP_IDENTITY */ + VAR_DNSTAP_VERSION = 433, /* VAR_DNSTAP_VERSION */ + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 434, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES */ + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 435, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES */ + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 436, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES */ + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 437, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES */ + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 438, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES */ + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 439, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES */ + VAR_RESPONSE_IP_TAG = 440, /* VAR_RESPONSE_IP_TAG */ + VAR_RESPONSE_IP = 441, /* VAR_RESPONSE_IP */ + VAR_RESPONSE_IP_DATA = 442, /* VAR_RESPONSE_IP_DATA */ + VAR_HARDEN_ALGO_DOWNGRADE = 443, /* VAR_HARDEN_ALGO_DOWNGRADE */ + VAR_IP_TRANSPARENT = 444, /* VAR_IP_TRANSPARENT */ + VAR_IP_DSCP = 445, /* VAR_IP_DSCP */ + VAR_DISABLE_DNSSEC_LAME_CHECK = 446, /* VAR_DISABLE_DNSSEC_LAME_CHECK */ + VAR_IP_RATELIMIT = 447, /* VAR_IP_RATELIMIT */ + VAR_IP_RATELIMIT_SLABS = 448, /* VAR_IP_RATELIMIT_SLABS */ + VAR_IP_RATELIMIT_SIZE = 449, /* VAR_IP_RATELIMIT_SIZE */ + VAR_RATELIMIT = 450, /* VAR_RATELIMIT */ + VAR_RATELIMIT_SLABS = 451, /* VAR_RATELIMIT_SLABS */ + VAR_RATELIMIT_SIZE = 452, /* VAR_RATELIMIT_SIZE */ + VAR_RATELIMIT_FOR_DOMAIN = 453, /* VAR_RATELIMIT_FOR_DOMAIN */ + VAR_RATELIMIT_BELOW_DOMAIN = 454, /* VAR_RATELIMIT_BELOW_DOMAIN */ + VAR_IP_RATELIMIT_FACTOR = 455, /* VAR_IP_RATELIMIT_FACTOR */ + VAR_RATELIMIT_FACTOR = 456, /* VAR_RATELIMIT_FACTOR */ + VAR_SEND_CLIENT_SUBNET = 457, /* VAR_SEND_CLIENT_SUBNET */ + VAR_CLIENT_SUBNET_ZONE = 458, /* VAR_CLIENT_SUBNET_ZONE */ + VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 459, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD */ + VAR_CLIENT_SUBNET_OPCODE = 460, /* VAR_CLIENT_SUBNET_OPCODE */ + VAR_MAX_CLIENT_SUBNET_IPV4 = 461, /* VAR_MAX_CLIENT_SUBNET_IPV4 */ + VAR_MAX_CLIENT_SUBNET_IPV6 = 462, /* VAR_MAX_CLIENT_SUBNET_IPV6 */ + VAR_MIN_CLIENT_SUBNET_IPV4 = 463, /* VAR_MIN_CLIENT_SUBNET_IPV4 */ + VAR_MIN_CLIENT_SUBNET_IPV6 = 464, /* VAR_MIN_CLIENT_SUBNET_IPV6 */ + VAR_MAX_ECS_TREE_SIZE_IPV4 = 465, /* VAR_MAX_ECS_TREE_SIZE_IPV4 */ + VAR_MAX_ECS_TREE_SIZE_IPV6 = 466, /* VAR_MAX_ECS_TREE_SIZE_IPV6 */ + VAR_CAPS_WHITELIST = 467, /* VAR_CAPS_WHITELIST */ + VAR_CACHE_MAX_NEGATIVE_TTL = 468, /* VAR_CACHE_MAX_NEGATIVE_TTL */ + VAR_PERMIT_SMALL_HOLDDOWN = 469, /* VAR_PERMIT_SMALL_HOLDDOWN */ + VAR_QNAME_MINIMISATION = 470, /* VAR_QNAME_MINIMISATION */ + VAR_QNAME_MINIMISATION_STRICT = 471, /* VAR_QNAME_MINIMISATION_STRICT */ + VAR_IP_FREEBIND = 472, /* VAR_IP_FREEBIND */ + VAR_DEFINE_TAG = 473, /* VAR_DEFINE_TAG */ + VAR_LOCAL_ZONE_TAG = 474, /* VAR_LOCAL_ZONE_TAG */ + VAR_ACCESS_CONTROL_TAG = 475, /* VAR_ACCESS_CONTROL_TAG */ + VAR_LOCAL_ZONE_OVERRIDE = 476, /* VAR_LOCAL_ZONE_OVERRIDE */ + VAR_ACCESS_CONTROL_TAG_ACTION = 477, /* VAR_ACCESS_CONTROL_TAG_ACTION */ + VAR_ACCESS_CONTROL_TAG_DATA = 478, /* VAR_ACCESS_CONTROL_TAG_DATA */ + VAR_VIEW = 479, /* VAR_VIEW */ + VAR_ACCESS_CONTROL_VIEW = 480, /* VAR_ACCESS_CONTROL_VIEW */ + VAR_VIEW_FIRST = 481, /* VAR_VIEW_FIRST */ + VAR_SERVE_EXPIRED = 482, /* VAR_SERVE_EXPIRED */ + VAR_SERVE_EXPIRED_TTL = 483, /* VAR_SERVE_EXPIRED_TTL */ + VAR_SERVE_EXPIRED_TTL_RESET = 484, /* VAR_SERVE_EXPIRED_TTL_RESET */ + VAR_SERVE_EXPIRED_REPLY_TTL = 485, /* VAR_SERVE_EXPIRED_REPLY_TTL */ + VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 486, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT */ + VAR_SERVE_ORIGINAL_TTL = 487, /* VAR_SERVE_ORIGINAL_TTL */ + VAR_FAKE_DSA = 488, /* VAR_FAKE_DSA */ + VAR_FAKE_SHA1 = 489, /* VAR_FAKE_SHA1 */ + VAR_LOG_IDENTITY = 490, /* VAR_LOG_IDENTITY */ + VAR_HIDE_TRUSTANCHOR = 491, /* VAR_HIDE_TRUSTANCHOR */ + VAR_TRUST_ANCHOR_SIGNALING = 492, /* VAR_TRUST_ANCHOR_SIGNALING */ + VAR_AGGRESSIVE_NSEC = 493, /* VAR_AGGRESSIVE_NSEC */ + VAR_USE_SYSTEMD = 494, /* VAR_USE_SYSTEMD */ + VAR_SHM_ENABLE = 495, /* VAR_SHM_ENABLE */ + VAR_SHM_KEY = 496, /* VAR_SHM_KEY */ + VAR_ROOT_KEY_SENTINEL = 497, /* VAR_ROOT_KEY_SENTINEL */ + VAR_DNSCRYPT = 498, /* VAR_DNSCRYPT */ + VAR_DNSCRYPT_ENABLE = 499, /* VAR_DNSCRYPT_ENABLE */ + VAR_DNSCRYPT_PORT = 500, /* VAR_DNSCRYPT_PORT */ + VAR_DNSCRYPT_PROVIDER = 501, /* VAR_DNSCRYPT_PROVIDER */ + VAR_DNSCRYPT_SECRET_KEY = 502, /* VAR_DNSCRYPT_SECRET_KEY */ + VAR_DNSCRYPT_PROVIDER_CERT = 503, /* VAR_DNSCRYPT_PROVIDER_CERT */ + VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 504, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED */ + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 505, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE */ + VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 506, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS */ + VAR_DNSCRYPT_NONCE_CACHE_SIZE = 507, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE */ + VAR_DNSCRYPT_NONCE_CACHE_SLABS = 508, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS */ + VAR_PAD_RESPONSES = 509, /* VAR_PAD_RESPONSES */ + VAR_PAD_RESPONSES_BLOCK_SIZE = 510, /* VAR_PAD_RESPONSES_BLOCK_SIZE */ + VAR_PAD_QUERIES = 511, /* VAR_PAD_QUERIES */ + VAR_PAD_QUERIES_BLOCK_SIZE = 512, /* VAR_PAD_QUERIES_BLOCK_SIZE */ + VAR_IPSECMOD_ENABLED = 513, /* VAR_IPSECMOD_ENABLED */ + VAR_IPSECMOD_HOOK = 514, /* VAR_IPSECMOD_HOOK */ + VAR_IPSECMOD_IGNORE_BOGUS = 515, /* VAR_IPSECMOD_IGNORE_BOGUS */ + VAR_IPSECMOD_MAX_TTL = 516, /* VAR_IPSECMOD_MAX_TTL */ + VAR_IPSECMOD_WHITELIST = 517, /* VAR_IPSECMOD_WHITELIST */ + VAR_IPSECMOD_STRICT = 518, /* VAR_IPSECMOD_STRICT */ + VAR_CACHEDB = 519, /* VAR_CACHEDB */ + VAR_CACHEDB_BACKEND = 520, /* VAR_CACHEDB_BACKEND */ + VAR_CACHEDB_SECRETSEED = 521, /* VAR_CACHEDB_SECRETSEED */ + VAR_CACHEDB_REDISHOST = 522, /* VAR_CACHEDB_REDISHOST */ + VAR_CACHEDB_REDISPORT = 523, /* VAR_CACHEDB_REDISPORT */ + VAR_CACHEDB_REDISTIMEOUT = 524, /* VAR_CACHEDB_REDISTIMEOUT */ + VAR_CACHEDB_REDISEXPIRERECORDS = 525, /* VAR_CACHEDB_REDISEXPIRERECORDS */ + VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 526, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM */ + VAR_FOR_UPSTREAM = 527, /* VAR_FOR_UPSTREAM */ + VAR_AUTH_ZONE = 528, /* VAR_AUTH_ZONE */ + VAR_ZONEFILE = 529, /* VAR_ZONEFILE */ + VAR_MASTER = 530, /* VAR_MASTER */ + VAR_URL = 531, /* VAR_URL */ + VAR_FOR_DOWNSTREAM = 532, /* VAR_FOR_DOWNSTREAM */ + VAR_FALLBACK_ENABLED = 533, /* VAR_FALLBACK_ENABLED */ + VAR_TLS_ADDITIONAL_PORT = 534, /* VAR_TLS_ADDITIONAL_PORT */ + VAR_LOW_RTT = 535, /* VAR_LOW_RTT */ + VAR_LOW_RTT_PERMIL = 536, /* VAR_LOW_RTT_PERMIL */ + VAR_FAST_SERVER_PERMIL = 537, /* VAR_FAST_SERVER_PERMIL */ + VAR_FAST_SERVER_NUM = 538, /* VAR_FAST_SERVER_NUM */ + VAR_ALLOW_NOTIFY = 539, /* VAR_ALLOW_NOTIFY */ + VAR_TLS_WIN_CERT = 540, /* VAR_TLS_WIN_CERT */ + VAR_TCP_CONNECTION_LIMIT = 541, /* VAR_TCP_CONNECTION_LIMIT */ + VAR_FORWARD_NO_CACHE = 542, /* VAR_FORWARD_NO_CACHE */ + VAR_STUB_NO_CACHE = 543, /* VAR_STUB_NO_CACHE */ + VAR_LOG_SERVFAIL = 544, /* VAR_LOG_SERVFAIL */ + VAR_DENY_ANY = 545, /* VAR_DENY_ANY */ + VAR_UNKNOWN_SERVER_TIME_LIMIT = 546, /* VAR_UNKNOWN_SERVER_TIME_LIMIT */ + VAR_LOG_TAG_QUERYREPLY = 547, /* VAR_LOG_TAG_QUERYREPLY */ + VAR_STREAM_WAIT_SIZE = 548, /* VAR_STREAM_WAIT_SIZE */ + VAR_TLS_CIPHERS = 549, /* VAR_TLS_CIPHERS */ + VAR_TLS_CIPHERSUITES = 550, /* VAR_TLS_CIPHERSUITES */ + VAR_TLS_USE_SNI = 551, /* VAR_TLS_USE_SNI */ + VAR_IPSET = 552, /* VAR_IPSET */ + VAR_IPSET_NAME_V4 = 553, /* VAR_IPSET_NAME_V4 */ + VAR_IPSET_NAME_V6 = 554, /* VAR_IPSET_NAME_V6 */ + VAR_TLS_SESSION_TICKET_KEYS = 555, /* VAR_TLS_SESSION_TICKET_KEYS */ + VAR_RPZ = 556, /* VAR_RPZ */ + VAR_TAGS = 557, /* VAR_TAGS */ + VAR_RPZ_ACTION_OVERRIDE = 558, /* VAR_RPZ_ACTION_OVERRIDE */ + VAR_RPZ_CNAME_OVERRIDE = 559, /* VAR_RPZ_CNAME_OVERRIDE */ + VAR_RPZ_LOG = 560, /* VAR_RPZ_LOG */ + VAR_RPZ_LOG_NAME = 561, /* VAR_RPZ_LOG_NAME */ + VAR_DYNLIB = 562, /* VAR_DYNLIB */ + VAR_DYNLIB_FILE = 563, /* VAR_DYNLIB_FILE */ + VAR_EDNS_CLIENT_STRING = 564, /* VAR_EDNS_CLIENT_STRING */ + VAR_EDNS_CLIENT_STRING_OPCODE = 565, /* VAR_EDNS_CLIENT_STRING_OPCODE */ + VAR_NSID = 566, /* VAR_NSID */ + VAR_ZONEMD_PERMISSIVE_MODE = 567, /* VAR_ZONEMD_PERMISSIVE_MODE */ + VAR_ZONEMD_REJECT_ABSENCE = 568 /* VAR_ZONEMD_REJECT_ABSENCE */ + }; + typedef enum yytokentype yytoken_kind_t; #endif -/* Tokens. */ +/* Token kinds. */ +#define YYEOF 0 +#define YYerror 256 +#define YYUNDEF 257 #define SPACE 258 #define LETTER 259 #define NEWLINE 260 @@ -665,22 +684,25 @@ #define VAR_ZONEMD_PERMISSIVE_MODE 567 #define VAR_ZONEMD_REJECT_ABSENCE 568 - - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 66 "util/configparser.y" +union YYSTYPE { +#line 66 "./util/configparser.y" + char* str; -} -/* Line 1529 of yacc.c. */ -#line 679 "util/configparser.h" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 + +#line 696 "util/configparser.h" + +}; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 #endif + extern YYSTYPE yylval; +int yyparse (void); + +#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED */