From c52c07c0863a62ec2f0037bdbe1593f8c21a4316 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Mon, 17 Jul 2017 08:21:19 +0000 Subject: [PATCH] - Fix #1350: make cachedb backend configurable (from JINMEI Tatuya). git-svn-id: file:///svn/unbound/trunk@4275 be551aaa-1e26-0410-a405-d3ace91eadb9 --- cachedb/cachedb.c | 19 +- doc/Changelog | 3 + doc/example.conf.in | 8 + util/config_file.c | 9 + util/config_file.h | 6 + util/configlexer.c | 3263 +++++++++++++++++++++--------------------- util/configlexer.lex | 2 + util/configparser.c | 2148 +++++++++++++-------------- util/configparser.h | 8 +- util/configparser.y | 28 +- 10 files changed, 2801 insertions(+), 2693 deletions(-) diff --git a/cachedb/cachedb.c b/cachedb/cachedb.c index 9a63101ed..607097928 100644 --- a/cachedb/cachedb.c +++ b/cachedb/cachedb.c @@ -170,16 +170,17 @@ cachedb_find_backend(const char* str) static int cachedb_apply_cfg(struct cachedb_env* cachedb_env, struct config_file* cfg) { - const char* backend_str = "testframe"; /* TODO get from cfg */ - (void)cfg; /* need this until the TODO is implemented */ - if(backend_str && backend_str[0]) { - cachedb_env->backend = cachedb_find_backend(backend_str); - if(!cachedb_env->backend) { - log_err("cachedb: cannot find backend name '%s", - backend_str); - return 0; - } + const char* backend_str = cfg->cachedb_backend; + + /* If unspecified we use the in-memory test DB. */ + if(!backend_str) + backend_str = "testframe"; + cachedb_env->backend = cachedb_find_backend(backend_str); + if(!cachedb_env->backend) { + log_err("cachedb: cannot find backend name '%s'", backend_str); + return 0; } + /* TODO see if more configuration needs to be applied or not */ return 1; } diff --git a/doc/Changelog b/doc/Changelog index 293db449f..03d0593f1 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +17 July 2017: Wouter + - Fix #1350: make cachedb backend configurable (from JINMEI Tatuya). + 11 July 2017: Wouter - Fix #1344: RFC6761-reserved domains: test. and invalid. - Redirect all localhost names to localhost address for RFC6761. diff --git a/doc/example.conf.in b/doc/example.conf.in index 657ee54de..6f547aa3c 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -840,3 +840,11 @@ remote-control: # dnscrypt-secret-key: /path/unbound-conf/keys2/1.key # dnscrypt-provider-cert: /path/unbound-conf/keys1/1.cert # dnscrypt-provider-cert: /path/unbound-conf/keys2/1.cert + +# CacheDB +# Enable external backend DB as auxiliary cache. Specify the backend name +# (default is "testframe", which has no use other than for debugging and +# testing) and backend-specific options. The 'cachedb' module must be +# included in module-config. +# cachedb: +# backend: "testframe" diff --git a/util/config_file.c b/util/config_file.c index d0fdb2daa..68f0dd6c5 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -289,6 +289,9 @@ config_create(void) cfg->ipsecmod_max_ttl = 3600; cfg->ipsecmod_whitelist = NULL; cfg->ipsecmod_strict = 0; +#endif +#ifdef USE_CACHEDB + cfg->cachedb_backend = NULL; #endif return cfg; error_exit: @@ -957,6 +960,9 @@ config_get_option(struct config_file* cfg, const char* opt, else O_DEC(opt, "ipsecmod-max-ttl", ipsecmod_max_ttl) else O_LST(opt, "ipsecmod-whitelist", ipsecmod_whitelist) else O_YNO(opt, "ipsecmod-strict", ipsecmod_strict) +#endif +#ifdef USE_CACHEDB + else O_STR(opt, "backend", cachedb_backend) #endif /* not here: * outgoing-permit, outgoing-avoid - have list of ports @@ -1258,6 +1264,9 @@ config_delete(struct config_file* cfg) #ifdef USE_IPSECMOD free(cfg->ipsecmod_hook); config_delstrlist(cfg->ipsecmod_whitelist); +#endif +#ifdef USE_CACHEDB + free(cfg->cachedb_backend); #endif free(cfg); } diff --git a/util/config_file.h b/util/config_file.h index bb7a29205..72c4da1c7 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -480,6 +480,12 @@ struct config_file { /** false to proceed even when ipsecmod_hook fails */ int ipsecmod_strict; #endif + + /* cachedb module */ +#ifdef USE_CACHEDB + /** backend DB name */ + char* cachedb_backend; +#endif }; /** from cfg username, after daemonise setup performed */ diff --git a/util/configlexer.c b/util/configlexer.c index 4293642c5..644fcaa3b 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -378,8 +378,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 229 -#define YY_END_OF_BUFFER 230 +#define YY_NUM_RULES 231 +#define YY_END_OF_BUFFER 232 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -387,254 +387,255 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[2238] = +static yyconst flex_int16_t yy_accept[2249] = { 0, - 1, 1, 211, 211, 215, 215, 219, 219, 223, 223, - 1, 1, 230, 227, 1, 209, 209, 228, 2, 228, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 211, 212, 212, 213, 228, 215, 216, 216, 217, 228, - 222, 219, 220, 220, 221, 228, 223, 224, 224, 225, - 228, 226, 210, 2, 214, 228, 226, 227, 0, 1, - 2, 2, 2, 2, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 1, 1, 213, 213, 217, 217, 221, 221, 225, 225, + 1, 1, 232, 229, 1, 211, 211, 230, 2, 230, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 213, 214, 214, 215, 230, 217, 218, 218, 219, + 230, 224, 221, 222, 222, 223, 230, 225, 226, 226, + 227, 230, 228, 212, 2, 216, 230, 228, 229, 0, + 1, 2, 2, 2, 2, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 211, 0, 215, 0, 222, 0, 219, 223, 0, 226, - 0, 2, 2, 226, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 213, 0, 217, 0, 224, 0, 221, 225, + 0, 228, 0, 2, 2, 228, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 226, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 228, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 226, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 77, - 227, 227, 227, 227, 227, 227, 8, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 228, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 77, 229, 229, 229, 229, 229, + 229, 8, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 88, 226, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 88, 228, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 226, 227, 227, 227, 227, 227, 37, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 170, 227, 14, 15, 227, 18, 17, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 156, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 228, 229, 229, 229, 229, 229, 229, 229, 37, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 170, 229, 14, 15, 229, 18, 17, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 3, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 226, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 218, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 156, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 3, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 228, 229, 229, 229, 210, + 229, 229, 209, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 40, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 41, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 145, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 20, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 103, 227, 218, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 197, 227, 227, + 220, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 40, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 41, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 145, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 20, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 103, 229, 220, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 120, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 102, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 75, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 25, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 38, + 229, 229, 229, 229, 229, 229, 229, 229, 197, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 120, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 102, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 75, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 25, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 39, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 121, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 28, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 38, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 39, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 121, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 28, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 185, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 32, 227, 33, 227, 227, 227, 78, 227, 79, 227, - 227, 76, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 7, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 163, 227, 227, 227, 227, 105, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 185, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 32, 229, 33, 229, 229, 229, 78, 229, 79, + 229, 229, 76, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 7, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 163, 229, 229, 229, 229, + 105, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 29, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 137, 227, 136, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 16, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 42, 227, 227, 227, - 227, 227, 227, 144, 227, 227, 227, 227, 81, 80, - 227, 227, 227, 227, 227, 227, 227, 227, 131, 227, - 227, 227, 227, 227, 227, 227, 227, 89, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 29, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 137, 229, 136, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 16, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 42, 229, 229, + 229, 229, 229, 229, 144, 229, 229, 229, 229, 81, + 80, 229, 229, 229, 229, 229, 229, 229, 229, 131, + 229, 229, 229, 229, 229, 229, 229, 229, 89, 229, - 227, 227, 227, 60, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 64, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 36, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 134, 135, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 6, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 195, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 60, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 64, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 36, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 134, 135, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 6, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 26, 227, 227, 227, 227, - 227, 227, 227, 227, 127, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 149, 227, 128, 227, 227, - 161, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 27, 227, 227, 227, 227, - 84, 227, 85, 227, 83, 227, 227, 227, 227, 227, - 227, 227, 227, 100, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 184, 227, 227, 227, 227, - 227, 227, 227, 227, 129, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 195, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 26, 229, 229, 229, + 229, 229, 229, 229, 229, 127, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 149, 229, 128, 229, + 229, 161, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 27, 229, 229, 229, + 229, 84, 229, 85, 229, 83, 229, 229, 229, 229, + 229, 229, 229, 229, 100, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 184, 229, 229, 229, - 132, 227, 227, 160, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 74, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 34, 227, 227, 22, - 227, 227, 227, 227, 19, 227, 110, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 49, 51, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 199, 227, 227, 171, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 86, 227, 227, 227, 227, 227, 227, 227, 99, + 229, 229, 229, 229, 229, 129, 229, 229, 229, 229, + 229, 132, 229, 229, 160, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 74, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 34, 229, 229, + 22, 229, 229, 229, 229, 19, 229, 110, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 49, 51, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 199, 229, 229, 171, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 205, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 104, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 155, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 119, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 115, 227, 122, 227, 227, 227, 227, 227, - 92, 227, 227, 70, 227, 227, 227, 227, 147, 227, - 227, 227, 227, 227, 162, 227, 227, 227, 227, 227, + 229, 229, 86, 229, 229, 229, 229, 229, 229, 229, + 99, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 205, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 104, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 155, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 119, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 115, 229, 122, 229, 229, 229, 229, + 229, 92, 229, 229, 70, 229, 229, 229, 229, 147, - 227, 227, 227, 227, 227, 176, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 118, - 227, 227, 227, 227, 227, 52, 53, 227, 227, 227, - 227, 227, 35, 227, 227, 227, 227, 227, 59, 123, - 227, 138, 227, 164, 133, 227, 227, 227, 45, 227, - 125, 227, 227, 227, 227, 227, 9, 227, 227, 227, - 73, 227, 227, 227, 227, 189, 227, 146, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 162, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 176, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 118, 229, 229, 229, 229, 229, 52, 53, 229, 229, + 229, 229, 229, 35, 229, 229, 229, 229, 229, 59, + 123, 229, 138, 229, 164, 133, 229, 229, 229, 45, + 229, 125, 229, 229, 229, 229, 229, 9, 229, 229, + 229, 73, 229, 229, 229, 229, 189, 229, 146, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 106, 198, 227, 227, - 175, 227, 227, 227, 227, 227, 227, 227, 227, 157, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 208, 227, 124, 227, 227, 227, 44, - 46, 227, 227, 227, 227, 227, 227, 227, 72, 227, - 227, 227, 227, 187, 227, 194, 227, 227, 227, 227, - 227, 151, 23, 24, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 69, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 153, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 106, 198, 229, + 229, 175, 229, 229, 229, 229, 229, 229, 229, 229, + 157, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 208, 229, 124, 229, 229, 229, + 44, 46, 229, 229, 229, 229, 229, 229, 229, 72, + 229, 229, 229, 229, 187, 229, 194, 229, 229, 229, + 229, 229, 151, 23, 24, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 69, 229, 229, 229, 229, 229, - 150, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 43, 227, 227, 227, 227, 227, 227, 227, - 227, 101, 13, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 203, 227, 206, 227, 227, 227, 227, 227, - 227, 12, 227, 227, 21, 227, 227, 227, 193, 227, - 196, 47, 227, 159, 227, 152, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 114, - 113, 227, 227, 227, 227, 227, 227, 227, 154, 148, - 227, 227, 200, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 153, 150, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 43, 229, 229, 229, 229, 229, 229, + 229, 229, 101, 13, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 203, 229, 206, 229, 229, 229, 229, + 229, 229, 12, 229, 229, 21, 229, 229, 229, 193, + 229, 196, 47, 229, 159, 229, 152, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 114, 113, 229, 229, 229, 229, 229, 229, 229, 154, + 148, 229, 229, 200, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 54, 227, 227, 227, 188, 227, 227, - 227, 227, 227, 158, 227, 227, 227, 227, 227, 227, - 227, 227, 48, 227, 227, 227, 82, 227, 107, 227, - 109, 139, 227, 227, 227, 112, 227, 227, 165, 227, - 227, 227, 227, 227, 94, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 172, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 140, 227, - 227, 186, 227, 207, 227, 227, 227, 30, 227, 227, - 227, 227, 4, 227, 227, 93, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 168, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 54, 229, 229, 229, 188, 229, + 229, 229, 229, 229, 158, 229, 229, 229, 229, 229, + 229, 229, 229, 48, 229, 229, 229, 82, 229, 107, + 229, 109, 139, 229, 229, 229, 112, 229, 229, 165, + 229, 229, 229, 229, 229, 94, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 172, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 140, + 229, 229, 186, 229, 207, 229, 229, 229, 30, 229, + 229, 229, 229, 4, 229, 229, 93, 229, 229, 229, - 227, 227, 227, 201, 227, 227, 227, 227, 227, 174, - 227, 227, 143, 227, 227, 227, 227, 227, 227, 227, - 227, 57, 227, 31, 192, 227, 169, 227, 227, 11, - 227, 227, 227, 227, 227, 227, 141, 61, 227, 227, - 227, 227, 117, 227, 227, 227, 227, 227, 96, 227, - 227, 227, 227, 227, 227, 227, 173, 90, 227, 87, - 227, 227, 227, 63, 67, 62, 227, 55, 227, 227, - 227, 10, 227, 227, 227, 190, 227, 227, 227, 116, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 68, 66, 227, 56, 204, + 229, 229, 229, 229, 229, 229, 229, 168, 229, 229, + 229, 229, 229, 229, 201, 229, 229, 229, 229, 229, + 174, 229, 229, 143, 229, 229, 229, 229, 229, 229, + 229, 229, 57, 229, 31, 192, 229, 169, 229, 229, + 11, 229, 229, 229, 229, 229, 229, 141, 61, 229, + 229, 229, 229, 117, 229, 229, 229, 229, 229, 96, + 229, 229, 229, 229, 229, 229, 229, 173, 90, 229, + 87, 229, 229, 229, 63, 67, 62, 229, 55, 229, + 229, 229, 10, 229, 229, 229, 190, 229, 229, 229, + 116, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 227, 227, 227, 130, 227, 227, 142, 227, 227, 227, - 227, 227, 108, 50, 227, 227, 202, 227, 227, 227, - 227, 227, 227, 91, 65, 97, 98, 58, 227, 191, - 111, 227, 227, 227, 167, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 71, 227, 166, 227, - 183, 227, 227, 227, 227, 227, 227, 5, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 95, 227, 227, 227, 227, - 227, 227, 126, 227, 227, 227, 227, 227, 227, 227, + 229, 229, 229, 229, 229, 229, 68, 66, 229, 56, + 204, 229, 229, 229, 130, 229, 229, 142, 229, 229, + 229, 229, 229, 108, 50, 229, 229, 202, 229, 229, + 229, 229, 229, 229, 91, 65, 97, 98, 58, 229, + 191, 111, 229, 229, 229, 167, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 71, 229, 166, + 229, 183, 229, 229, 229, 229, 229, 229, 5, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 95, 229, 229, 229, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 179, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 177, 227, 180, 181, 227, - 227, 227, 227, 227, 178, 182, 0 + 229, 229, 229, 126, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 179, 229, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 229, 177, 229, 180, 181, + 229, 229, 229, 229, 229, 178, 182, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -677,1003 +678,1006 @@ static yyconst YY_CHAR yy_meta[41] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst flex_uint16_t yy_base[2252] = +static yyconst flex_uint16_t yy_base[2263] = { 0, 0, 0, 38, 41, 44, 46, 59, 65, 71, 77, - 90, 112, 2503, 2455, 81, 4392, 4392, 4392, 96, 52, - 72, 107, 111, 70, 91, 109, 124, 98, 127, 114, - 133, 136, 64, 144, 146, 150, 156, 177, 167, 182, - 1910, 4392, 4392, 4392, 182, 1672, 4392, 4392, 4392, 173, - 1553, 1246, 4392, 4392, 4392, 206, 957, 4392, 4392, 4392, - 194, 879, 4392, 210, 4392, 214, 174, 843, 218, 147, - 0, 225, 0, 0, 189, 143, 97, 219, 212, 145, - 179, 214, 221, 223, 227, 234, 229, 170, 231, 232, - 233, 237, 244, 238, 253, 260, 236, 257, 258, 263, + 90, 112, 3360, 3232, 81, 4407, 4407, 4407, 96, 52, + 72, 63, 107, 111, 70, 91, 109, 124, 98, 127, + 114, 133, 136, 130, 144, 146, 163, 165, 171, 147, + 182, 3196, 4407, 4407, 4407, 164, 3062, 4407, 4407, 4407, + 95, 2411, 2139, 4407, 4407, 4407, 202, 1781, 4407, 4407, + 4407, 185, 1721, 4407, 206, 4407, 210, 188, 1641, 217, + 147, 0, 221, 0, 0, 215, 213, 97, 219, 223, + 186, 158, 224, 225, 227, 228, 229, 236, 233, 232, + 145, 235, 240, 251, 254, 242, 257, 267, 243, 264, - 264, 266, 267, 268, 269, 271, 275, 280, 285, 283, - 288, 286, 290, 292, 294, 296, 299, 302, 304, 63, - 303, 308, 305, 310, 300, 322, 314, 325, 328, 327, - 833, 340, 751, 343, 551, 350, 289, 248, 344, 158, - 359, 363, 0, 339, 355, 364, 344, 357, 348, 361, - 366, 362, 368, 378, 369, 380, 389, 387, 384, 391, - 375, 395, 396, 386, 399, 397, 406, 408, 410, 411, - 412, 413, 415, 414, 424, 426, 434, 430, 443, 438, - 427, 439, 446, 445, 447, 454, 451, 452, 453, 455, - 456, 457, 461, 463, 466, 467, 464, 468, 472, 470, + 265, 266, 270, 271, 143, 274, 234, 278, 273, 279, + 281, 280, 283, 282, 294, 296, 299, 300, 301, 303, + 306, 310, 311, 307, 309, 313, 305, 322, 325, 331, + 314, 333, 1451, 344, 968, 346, 902, 356, 713, 433, + 350, 423, 360, 364, 0, 356, 337, 366, 358, 361, + 362, 363, 365, 369, 367, 368, 384, 371, 388, 381, + 392, 393, 398, 386, 391, 401, 394, 379, 403, 404, + 400, 409, 410, 411, 420, 426, 429, 419, 422, 436, + 440, 437, 448, 445, 435, 453, 450, 457, 458, 459, + 449, 461, 460, 463, 464, 465, 468, 470, 472, 474, - 473, 484, 481, 489, 485, 490, 486, 497, 487, 496, - 501, 504, 509, 510, 494, 507, 511, 513, 520, 518, - 531, 524, 526, 515, 527, 528, 532, 370, 535, 542, - 547, 516, 545, 548, 538, 550, 552, 556, 553, 564, - 559, 567, 568, 566, 576, 563, 572, 574, 575, 577, - 579, 580, 581, 584, 586, 589, 591, 592, 599, 597, - 596, 601, 603, 606, 611, 605, 613, 623, 625, 614, - 620, 629, 630, 633, 636, 642, 637, 640, 644, 626, - 647, 654, 649, 657, 650, 653, 660, 659, 661, 666, - 674, 667, 670, 676, 671, 678, 681, 679, 701, 687, + 471, 477, 479, 476, 484, 485, 494, 489, 177, 492, + 501, 493, 496, 505, 513, 516, 500, 497, 511, 514, + 517, 521, 522, 524, 532, 528, 530, 518, 534, 537, + 535, 538, 540, 546, 552, 539, 550, 553, 555, 558, + 556, 561, 563, 568, 564, 575, 566, 574, 576, 577, + 580, 581, 582, 583, 585, 586, 587, 589, 592, 590, + 596, 594, 609, 610, 600, 605, 611, 615, 616, 619, + 624, 633, 634, 621, 628, 630, 635, 646, 642, 648, + 640, 651, 650, 652, 653, 660, 657, 664, 661, 665, + 675, 659, 663, 674, 687, 685, 686, 669, 688, 691, - 685, 711, 688, 689, 697, 698, 725, 699, 706, 707, - 714, 690, 721, 730, 723, 728, 731, 738, 733, 734, - 737, 749, 735, 741, 744, 739, 752, 759, 761, 748, - 756, 762, 764, 767, 774, 768, 775, 776, 779, 783, - 781, 788, 789, 791, 793, 792, 794, 802, 799, 800, - 801, 807, 810, 811, 809, 814, 812, 818, 819, 4392, - 824, 826, 827, 828, 829, 830, 4392, 832, 831, 834, - 844, 836, 841, 840, 853, 862, 855, 863, 859, 860, - 864, 866, 867, 868, 869, 872, 870, 890, 875, 878, - 876, 899, 877, 882, 884, 894, 900, 903, 905, 907, + 692, 694, 712, 698, 693, 710, 696, 697, 706, 700, + 718, 725, 722, 723, 730, 733, 734, 736, 741, 737, + 740, 742, 744, 746, 601, 749, 761, 747, 753, 760, + 763, 762, 667, 766, 755, 765, 772, 774, 775, 778, + 784, 795, 786, 790, 787, 797, 768, 798, 800, 801, + 803, 804, 814, 811, 809, 812, 810, 820, 821, 818, + 823, 826, 825, 827, 4407, 834, 829, 836, 838, 837, + 839, 4407, 840, 841, 842, 849, 845, 848, 852, 855, + 865, 864, 868, 869, 870, 871, 873, 872, 874, 877, + 879, 878, 898, 880, 884, 885, 887, 888, 890, 907, - 908, 910, 915, 912, 911, 913, 923, 4392, 931, 939, - 914, 924, 925, 936, 941, 943, 934, 951, 947, 949, - 948, 950, 953, 954, 958, 966, 962, 968, 972, 982, - 978, 980, 987, 964, 983, 984, 961, 986, 995, 992, - 991, 993, 994, 1005, 997, 1001, 1004, 1000, 1010, 1006, - 1008, 1017, 1019, 1020, 1027, 1023, 1025, 1026, 1029, 1031, - 1037, 1038, 1039, 1040, 1041, 1042, 1056, 1055, 1043, 1045, - 1058, 1047, 1059, 1066, 1062, 1070, 1068, 1069, 1078, 1075, - 1076, 1085, 1080, 1081, 1083, 1082, 1087, 1097, 1102, 1084, - 1093, 1098, 1104, 1100, 1105, 1107, 1108, 1110, 1111, 1112, + 896, 911, 905, 913, 915, 909, 916, 918, 922, 926, + 919, 927, 4407, 932, 935, 937, 939, 940, 941, 946, + 942, 952, 953, 943, 962, 958, 960, 959, 961, 964, + 965, 969, 977, 973, 979, 983, 993, 989, 991, 998, + 975, 994, 995, 972, 997, 1006, 1003, 1002, 1004, 1005, + 1016, 1008, 1012, 1015, 1011, 1021, 1017, 1019, 1028, 1030, + 1031, 1038, 1034, 1036, 1037, 1040, 1042, 1048, 1049, 1050, + 1051, 1052, 1053, 1067, 1066, 1054, 1056, 1069, 1058, 1070, + 1077, 1073, 1081, 1079, 1080, 1089, 1086, 1087, 1096, 1091, + 1092, 1094, 1093, 1098, 1108, 1113, 1095, 1104, 1109, 1115, - 1113, 1115, 1121, 1122, 1119, 1124, 1129, 1133, 1135, 1139, - 1125, 1132, 1140, 1142, 1145, 1147, 1152, 1155, 1148, 1156, - 1158, 1159, 1161, 1164, 1162, 1168, 1171, 1174, 1176, 4392, - 1177, 1184, 1179, 1182, 1181, 1180, 1194, 1187, 1189, 1190, - 1191, 1197, 4392, 1203, 4392, 4392, 1200, 4392, 4392, 1201, - 1208, 1220, 1204, 1212, 1227, 1228, 1226, 1222, 1223, 1225, - 1233, 1238, 1242, 1244, 1239, 1251, 1248, 1255, 1256, 1257, - 1260, 1262, 1263, 1264, 1266, 1265, 1268, 1271, 1274, 1275, - 1270, 1278, 1277, 1287, 1295, 1296, 1291, 1297, 1298, 1299, - 1300, 1304, 1301, 1302, 1280, 1305, 1311, 1316, 1312, 4392, + 1111, 1116, 1118, 1119, 1121, 1122, 1123, 1124, 1126, 1132, + 1133, 1130, 1135, 1140, 1144, 1146, 1150, 1136, 1143, 1151, + 1153, 1156, 1158, 1163, 1166, 1159, 1167, 1169, 1170, 1172, + 1175, 1173, 1179, 1182, 1186, 1187, 1190, 1191, 4407, 1192, + 1199, 1194, 1197, 1195, 1198, 1208, 1204, 1205, 1206, 1209, + 1213, 4407, 1215, 4407, 4407, 1210, 4407, 4407, 1217, 1228, + 1220, 1236, 1238, 1246, 1247, 1245, 1221, 1243, 1219, 1252, + 1257, 1253, 1262, 1258, 1267, 1264, 1271, 1270, 1276, 1272, + 1277, 1279, 1280, 1282, 1233, 1285, 1287, 1281, 1288, 1291, + 1289, 1293, 1299, 1311, 1313, 1309, 1308, 1290, 1310, 1297, - 1313, 1315, 1317, 1323, 1325, 1326, 1329, 1332, 1330, 1334, - 4392, 1333, 1343, 1336, 1346, 1338, 1340, 1347, 1348, 1349, - 1352, 1353, 1355, 1361, 1350, 1363, 1366, 1365, 1367, 1375, - 1379, 1382, 1380, 1378, 1381, 1383, 1385, 1390, 1392, 1395, - 1394, 1396, 1405, 1400, 1403, 1404, 1408, 1410, 1411, 1413, - 1414, 1416, 1417, 1418, 1440, 1423, 1427, 1419, 1421, 1429, - 1426, 1442, 1436, 1454, 1444, 1455, 1452, 1457, 1460, 1463, - 1464, 1466, 1468, 1475, 1471, 1478, 1481, 1476, 1479, 1483, - 1486, 1490, 1494, 1493, 1492, 1495, 1496, 1503, 1504, 4392, - 1511, 1509, 1510, 1513, 1522, 1518, 1517, 1519, 1521, 1524, + 1316, 1317, 1319, 1323, 1320, 1325, 1332, 1327, 4407, 1328, + 1330, 1331, 1335, 1336, 1341, 1343, 1344, 1345, 1348, 4407, + 1347, 1355, 1352, 1356, 1357, 1360, 1362, 1363, 1365, 1364, + 1367, 1370, 1366, 1376, 1372, 1371, 1382, 1379, 1387, 1396, + 1397, 1394, 1392, 1393, 1395, 1402, 1403, 1412, 1407, 1408, + 1409, 1420, 1415, 1417, 1418, 1425, 1419, 1427, 1421, 4407, + 1428, 1429, 4407, 1430, 1432, 1454, 1437, 1441, 1433, 1439, + 1442, 1447, 1444, 1455, 1467, 1458, 1456, 1468, 1471, 1473, + 1474, 1477, 1479, 1481, 1490, 1492, 1485, 1494, 1489, 1499, + 1482, 1497, 1505, 1503, 1507, 1510, 1511, 1512, 1517, 1514, - 1531, 1532, 1520, 1533, 1527, 1534, 1535, 1537, 1542, 1549, - 4392, 1544, 1545, 1550, 1552, 1554, 1556, 1557, 1560, 1565, - 1576, 1571, 4392, 1563, 1578, 1581, 1580, 1573, 1574, 1575, - 1592, 1588, 1593, 1589, 1595, 1591, 1597, 1598, 1599, 4392, - 1606, 1601, 1609, 1605, 1613, 1614, 1616, 1618, 1620, 1621, - 1624, 1629, 1625, 1626, 4392, 1627, 1635, 1633, 1628, 1648, - 1649, 1646, 1647, 1651, 1634, 1654, 1655, 1660, 1657, 1662, - 1658, 1659, 4392, 1663, 130, 1664, 1665, 1666, 1676, 1679, - 1669, 1681, 1685, 1687, 1688, 1689, 1691, 1692, 1428, 1693, - 1695, 1697, 1698, 1699, 1703, 1700, 1705, 4392, 1715, 1713, + 4407, 1525, 1523, 1521, 1522, 1533, 1529, 1528, 1532, 1536, + 1537, 1544, 1539, 1542, 1546, 1543, 1550, 1549, 1556, 1557, + 1558, 4407, 1554, 1555, 1559, 1560, 1562, 1571, 1573, 1570, + 1580, 1588, 1572, 4407, 1583, 1590, 1591, 1593, 1586, 1587, + 1594, 1603, 1598, 1601, 1602, 1605, 1606, 1608, 1611, 1612, + 4407, 1614, 1615, 1619, 1627, 1621, 1617, 1629, 1628, 1633, + 1634, 1636, 1643, 1639, 1640, 4407, 1638, 1647, 1642, 1648, + 1657, 1661, 1658, 1659, 1663, 1665, 1666, 1667, 1672, 1669, + 1674, 1670, 1671, 4407, 1675, 244, 1676, 1677, 1678, 1688, + 1691, 1681, 1693, 1697, 1699, 1700, 1701, 1703, 1704, 1705, - 1719, 1722, 1704, 1723, 1725, 1727, 1728, 1730, 1729, 4392, - 1738, 1739, 1731, 1742, 1733, 1744, 1746, 1749, 1745, 1750, - 1751, 1754, 1755, 1756, 1758, 1763, 4392, 1768, 1765, 1766, - 1767, 1775, 1773, 1783, 1781, 1784, 1786, 1788, 1801, 1790, - 1793, 1797, 1794, 1807, 1796, 1808, 1811, 1817, 1815, 1819, - 1821, 1822, 1823, 1831, 1833, 1829, 1838, 1830, 1851, 1845, - 1847, 4392, 1849, 1840, 1854, 1856, 1863, 1859, 1860, 1861, - 1866, 1864, 1867, 1868, 1870, 1871, 1832, 1876, 1879, 1883, - 4392, 1884, 1885, 1886, 1892, 1889, 1898, 1895, 1893, 1902, - 1899, 1903, 1904, 1906, 1915, 1907, 1917, 1913, 1918, 4392, + 1707, 1708, 1710, 1711, 1715, 1720, 1716, 1719, 4407, 1728, + 1732, 1734, 1717, 1739, 1730, 1740, 1745, 1743, 1746, 1744, + 4407, 1753, 1754, 1747, 1755, 1757, 1759, 1760, 1761, 1764, + 1765, 1766, 1769, 1772, 1768, 1771, 1780, 4407, 1785, 1778, + 1782, 1777, 1793, 1794, 1801, 1796, 1799, 1803, 1804, 1817, + 1807, 1802, 1814, 1809, 1818, 1812, 1819, 1827, 1828, 1831, + 1833, 1834, 1835, 1837, 1844, 1847, 1843, 1846, 1845, 1852, + 1858, 1857, 4407, 1860, 1862, 1866, 1867, 1875, 1871, 1870, + 1872, 1873, 1878, 1880, 1886, 1882, 1883, 1888, 1890, 1887, + 1897, 4407, 1898, 1899, 1903, 1906, 1907, 1910, 1911, 1912, - 1927, 1928, 1924, 1932, 1930, 1933, 1934, 1936, 1937, 1938, - 1940, 1947, 1942, 1944, 1792, 1946, 1943, 1948, 1950, 1951, - 1953, 1954, 1966, 1955, 1967, 4392, 1968, 1975, 1973, 1977, - 1979, 1980, 1981, 1988, 1983, 2000, 1992, 1991, 1984, 1989, - 1999, 2001, 2004, 2005, 4392, 2007, 2008, 2009, 2012, 2013, - 2014, 2016, 2018, 2030, 2032, 2033, 2023, 2010, 2020, 2034, - 2036, 2040, 2043, 2050, 2051, 2046, 2052, 4392, 2055, 2056, - 2057, 2058, 2059, 2062, 2063, 2064, 2067, 2071, 2069, 2068, - 2072, 2081, 2084, 2085, 2088, 2089, 2090, 2092, 2093, 2094, - 2095, 2102, 2097, 2098, 2099, 2103, 2100, 2104, 2106, 2110, + 1914, 1915, 1918, 1917, 1919, 1920, 1926, 1928, 1929, 1930, + 4407, 1937, 1938, 1940, 1947, 1939, 1942, 1946, 1950, 1951, + 1952, 1953, 1960, 1955, 1958, 1956, 1959, 1962, 1963, 1965, + 1966, 1970, 1974, 1982, 1967, 1984, 4407, 1977, 1993, 1986, + 1994, 1983, 1998, 1999, 2001, 2000, 2011, 2006, 2007, 2008, + 2009, 2012, 2015, 2019, 2021, 4407, 2022, 2024, 2017, 2028, + 2025, 2023, 2029, 2031, 2043, 2045, 2046, 2047, 2049, 2032, + 2053, 2054, 2034, 2056, 2063, 2070, 2066, 2071, 4407, 2074, + 2075, 2069, 2059, 2062, 2080, 2081, 2082, 2084, 2085, 2086, + 2087, 2089, 2098, 2100, 2090, 2096, 2102, 2103, 2111, 2106, - 2112, 2120, 2124, 2126, 2129, 2127, 2128, 2130, 2136, 4392, - 2134, 2135, 2145, 2141, 2148, 2139, 2147, 2149, 2156, 2158, - 4392, 2153, 4392, 2161, 2162, 2170, 4392, 2168, 4392, 2173, - 2160, 4392, 2174, 2178, 2175, 2180, 2181, 2182, 2183, 2185, - 2188, 2186, 2193, 2189, 2191, 2196, 2197, 2199, 4392, 2208, - 2201, 2203, 2209, 2213, 2212, 2214, 2215, 2220, 2221, 2226, - 2222, 2229, 2230, 2237, 4392, 2233, 2236, 2238, 2239, 4392, - 2240, 2242, 2248, 2244, 2246, 2251, 2253, 2252, 2260, 2273, - 2269, 2259, 2270, 2255, 2276, 2277, 2281, 2283, 2284, 2285, - 2292, 2288, 2295, 2287, 2291, 2298, 2294, 2290, 2300, 2302, + 2107, 2112, 2119, 2109, 2114, 2116, 2117, 2120, 2123, 2124, + 2129, 2137, 2131, 2142, 2145, 2147, 2125, 2146, 2148, 2152, + 4407, 2149, 2156, 2160, 2157, 2163, 2153, 2164, 2165, 2174, + 2176, 4407, 2166, 4407, 2178, 2179, 2187, 4407, 2189, 4407, + 2191, 2170, 4407, 2192, 2193, 2196, 2177, 2198, 2199, 2200, + 2206, 2197, 2203, 2207, 2209, 2210, 2213, 2214, 2219, 4407, + 2226, 2216, 2218, 2227, 2230, 2220, 2222, 2229, 2236, 2237, + 2243, 2239, 2252, 2247, 2254, 4407, 2249, 2251, 2253, 2255, + 4407, 2256, 2258, 2264, 2260, 2262, 2266, 2270, 2268, 2273, + 2281, 2284, 2274, 2285, 2271, 2292, 2293, 2297, 2286, 2294, - 2304, 2307, 2311, 2306, 2315, 2312, 2313, 2314, 2316, 4392, - 2325, 2326, 2329, 2330, 2327, 2335, 2317, 2336, 2338, 2340, - 2343, 2339, 2344, 4392, 2352, 4392, 2345, 2357, 2359, 2361, - 2362, 2363, 2353, 2365, 2366, 2371, 2373, 2384, 2376, 2377, - 2379, 2386, 2387, 2389, 2388, 4392, 2390, 2391, 2393, 2395, - 2398, 2403, 2412, 2410, 2396, 2424, 4392, 2426, 2399, 2431, - 2416, 2434, 2429, 4392, 2430, 2438, 2433, 2436, 4392, 4392, - 2437, 2440, 2441, 2442, 2443, 2453, 2449, 2451, 4392, 2458, - 2444, 2402, 2461, 2463, 2467, 2470, 2452, 4392, 2459, 2477, - 2471, 2473, 2478, 2481, 2482, 2483, 2492, 2484, 2487, 2488, + 2299, 2306, 2302, 2309, 2301, 2305, 2312, 2315, 2308, 2314, + 2316, 2317, 2318, 2321, 2322, 2329, 2325, 2327, 2328, 2330, + 4407, 2338, 2339, 2341, 2343, 2340, 2348, 2349, 2350, 2352, + 2354, 2353, 2358, 2356, 4407, 2363, 4407, 2357, 2365, 2375, + 2376, 2366, 2381, 2371, 2380, 2377, 2388, 2384, 2398, 2391, + 2394, 2395, 2399, 2401, 2402, 2404, 4407, 2403, 2405, 2406, + 2409, 2410, 2421, 2412, 2420, 2422, 2436, 4407, 2437, 2424, + 2439, 2438, 2447, 2444, 4407, 2434, 2451, 2446, 2449, 4407, + 4407, 2448, 2453, 2455, 2456, 2457, 2466, 2462, 2463, 4407, + 2465, 2469, 2471, 2472, 2479, 2480, 2473, 2470, 4407, 2483, - 2498, 2499, 2507, 4392, 2495, 2504, 2509, 2510, 2256, 2491, - 2512, 2514, 2515, 2516, 2517, 2518, 2519, 2521, 2526, 2523, - 2528, 2537, 2535, 2536, 2539, 2541, 2542, 2545, 2547, 2549, - 2550, 2557, 2558, 4392, 2566, 2552, 2569, 2553, 2564, 2572, - 2573, 2581, 2576, 2565, 2577, 2586, 2579, 4392, 2593, 2582, - 2598, 2583, 2591, 2607, 2602, 2584, 2603, 2609, 2605, 2612, - 2610, 2614, 2615, 2618, 4392, 4392, 2619, 2620, 2622, 2623, - 2625, 2626, 2627, 2633, 2629, 2640, 4392, 2637, 2645, 2643, - 2644, 2652, 2654, 2650, 2657, 2658, 2659, 2647, 2660, 2661, - 2665, 2668, 2669, 2671, 2673, 4392, 2676, 2674, 2678, 2680, + 2487, 2488, 2490, 2491, 2492, 2494, 2495, 2505, 2496, 2500, + 2501, 2510, 2511, 2517, 4407, 2519, 2512, 2523, 2520, 2525, + 2506, 2528, 2529, 2530, 2531, 2533, 2534, 2536, 2537, 2538, + 2539, 2543, 2557, 2544, 2548, 2552, 2556, 2553, 2561, 2562, + 2564, 2566, 2574, 2575, 4407, 2577, 2569, 2582, 2579, 2581, + 2586, 2588, 2596, 2580, 2591, 2595, 2603, 2598, 4407, 2606, + 2602, 2607, 2601, 2608, 2619, 2617, 2610, 2614, 2621, 2622, + 2624, 2627, 2628, 2631, 2634, 4407, 4407, 2629, 2636, 2640, + 2637, 2642, 2644, 2641, 2645, 2643, 2654, 4407, 2651, 2661, + 2658, 2659, 2668, 2671, 2664, 2672, 2673, 2660, 2674, 2675, - 2675, 2682, 2688, 2685, 2699, 2690, 2692, 2700, 2708, 2704, - 2713, 2715, 2705, 2710, 2723, 4392, 2714, 2721, 2716, 2718, - 2730, 2719, 2733, 2732, 4392, 2734, 2735, 2739, 2746, 2729, - 2748, 2747, 2750, 2751, 2752, 4392, 2754, 4392, 2760, 2756, - 4392, 2758, 2762, 2765, 2766, 2767, 2777, 2769, 2771, 2773, - 2778, 2779, 2781, 2788, 2784, 4392, 2792, 2785, 2787, 2790, - 4392, 2795, 4392, 2800, 4392, 2802, 2801, 2811, 2806, 2807, - 2810, 2814, 2818, 4392, 2820, 2809, 2821, 2819, 2824, 2825, - 2830, 2831, 2832, 2833, 2834, 4392, 2835, 2838, 2847, 2836, - 2839, 2841, 2851, 2849, 4392, 2852, 2860, 2861, 2863, 2864, + 2676, 2681, 2683, 2684, 2686, 2688, 4407, 2691, 2689, 2694, + 2696, 2697, 2698, 2706, 2711, 2715, 2695, 2712, 2717, 2724, + 2720, 2729, 2731, 2721, 2690, 2736, 4407, 2732, 2734, 2733, + 2735, 2746, 2739, 2748, 2741, 4407, 2749, 2750, 2755, 2757, + 2743, 2764, 2759, 2762, 2766, 2768, 4407, 2769, 4407, 2770, + 2771, 4407, 2775, 2776, 2779, 2780, 2781, 2785, 2782, 2790, + 2791, 2792, 2793, 2795, 2804, 2794, 4407, 2805, 2796, 2801, + 2803, 4407, 2816, 4407, 2807, 4407, 2813, 2818, 2825, 2820, + 2821, 2824, 2830, 2827, 4407, 2831, 2833, 2839, 2834, 2836, + 2842, 2844, 2846, 2841, 2845, 2849, 4407, 2850, 2847, 2852, - 4392, 2865, 2870, 4392, 2866, 2876, 2867, 2873, 2881, 2877, - 2884, 2885, 2886, 2894, 2887, 2891, 2890, 4392, 2895, 2896, - 2900, 2901, 2897, 2905, 2913, 2911, 2915, 2908, 2918, 2921, - 2923, 2924, 2909, 2928, 2929, 2931, 4392, 2934, 2936, 4392, - 2933, 2937, 2940, 2944, 4392, 2942, 4392, 2945, 2947, 2949, - 2950, 2953, 2954, 2956, 2964, 2965, 2966, 2967, 2976, 2973, - 2968, 4392, 4392, 2978, 2984, 2982, 2987, 2989, 2992, 2979, - 3000, 2993, 2996, 3001, 4392, 3003, 3002, 4392, 3005, 3008, - 3009, 3011, 3012, 3015, 3018, 3020, 3021, 3014, 3023, 3016, - 3024, 4392, 3027, 3031, 3035, 3036, 3037, 3038, 3039, 4392, + 2848, 2861, 2862, 2864, 2863, 4407, 2871, 2872, 2873, 2875, + 2877, 4407, 2878, 2886, 4407, 2879, 2890, 2882, 2892, 2894, + 2895, 2898, 2899, 2885, 2907, 2904, 2902, 2906, 4407, 2910, + 2911, 2913, 2918, 2916, 2920, 2927, 2923, 2922, 2926, 2932, + 2934, 2930, 2941, 2936, 2945, 2937, 2947, 4407, 2948, 2949, + 4407, 2950, 2951, 2952, 2956, 4407, 2955, 4407, 2958, 2960, + 2962, 2967, 2966, 2968, 2979, 2969, 2980, 2981, 2982, 2991, + 2989, 2973, 4407, 4407, 2999, 3000, 2983, 3003, 3004, 2994, + 2996, 3013, 3011, 3009, 3012, 4407, 3018, 3010, 4407, 3019, + 3020, 3023, 3021, 3024, 3027, 3031, 3033, 3034, 3028, 3035, - 3041, 3045, 3048, 3040, 3047, 3049, 3063, 3066, 3068, 3057, - 3069, 3070, 3074, 3076, 3073, 4392, 3079, 3077, 3080, 3081, - 3088, 3090, 3085, 3092, 3094, 3096, 3099, 3101, 3102, 4392, - 3103, 3106, 3107, 3110, 3111, 3113, 3114, 3122, 3125, 3116, - 3118, 3120, 3128, 4392, 3130, 3131, 3132, 3136, 3142, 3134, - 3144, 3137, 3145, 3146, 3148, 3151, 3156, 4392, 3155, 3159, - 3161, 3162, 3163, 3165, 3166, 3168, 3169, 3173, 3176, 3174, - 3187, 3189, 4392, 3177, 4392, 3190, 3179, 3198, 3194, 3191, - 4392, 3200, 3196, 4392, 3202, 3201, 3204, 3206, 4392, 3207, - 3216, 3208, 3212, 3223, 4392, 3226, 3227, 3235, 3231, 3220, + 3037, 3039, 4407, 3041, 3042, 3048, 3049, 3050, 3052, 3053, + 4407, 3051, 3055, 3056, 3057, 3061, 3067, 3076, 3079, 3082, + 3069, 3073, 3087, 3083, 3090, 3091, 4407, 3093, 3085, 3094, + 3097, 3100, 3102, 3103, 3107, 3108, 3111, 3113, 3104, 3115, + 4407, 3116, 3120, 3117, 3124, 3125, 3127, 3128, 3129, 3138, + 3132, 3135, 3139, 3141, 4407, 3142, 3144, 3146, 3148, 3154, + 3147, 3156, 3149, 3157, 3159, 3170, 3163, 3173, 4407, 3165, + 3174, 3168, 3176, 3160, 3178, 3182, 3180, 3188, 3190, 3191, + 3184, 3192, 3201, 4407, 3194, 4407, 3202, 3203, 3212, 3207, + 3209, 4407, 3210, 3213, 4407, 3215, 3217, 3219, 3218, 4407, - 3236, 3233, 3238, 3239, 3240, 4392, 3242, 3244, 3249, 3250, - 3243, 3251, 3253, 3256, 3254, 3257, 3265, 3264, 3261, 4392, - 3266, 3268, 3275, 3272, 3276, 4392, 4392, 3277, 3283, 3285, - 3281, 3286, 4392, 3289, 3296, 3292, 3295, 3297, 4392, 4392, - 3299, 4392, 3300, 4392, 4392, 3303, 3305, 3302, 4392, 3312, - 4392, 3315, 3313, 3316, 3317, 3319, 4392, 3321, 3322, 3326, - 4392, 3320, 3333, 3323, 3328, 4392, 3331, 4392, 3335, 3338, - 3342, 3344, 3345, 3348, 3349, 3351, 3353, 3356, 3357, 3358, - 3360, 3363, 3365, 3364, 3366, 3367, 3368, 3374, 3370, 3380, - 3381, 3382, 3383, 3384, 3385, 3387, 3390, 3389, 3391, 3394, + 3220, 3221, 3224, 3228, 3236, 4407, 3238, 3241, 3245, 3243, + 3247, 3248, 3250, 3251, 3252, 3253, 4407, 3255, 3257, 3264, + 3267, 3256, 3258, 3266, 3269, 3268, 3270, 3283, 3279, 3274, + 4407, 3281, 3282, 3290, 3286, 3289, 4407, 4407, 3293, 3295, + 3298, 3299, 3302, 4407, 3300, 3311, 3306, 3309, 3310, 4407, + 4407, 3313, 4407, 3314, 4407, 4407, 3315, 3316, 3323, 4407, + 3327, 4407, 3330, 3328, 3317, 3331, 3334, 4407, 3335, 3336, + 3338, 4407, 3340, 3347, 3342, 3343, 4407, 3345, 4407, 3350, + 3356, 3352, 3359, 3362, 3363, 3364, 3366, 3368, 3371, 3372, + 3373, 3374, 3378, 3380, 3379, 3381, 3382, 3383, 3389, 3385, - 3399, 3400, 3404, 3393, 3403, 3415, 4392, 4392, 3410, 3412, - 4392, 3417, 3418, 3419, 3420, 3421, 3422, 3425, 3426, 4392, - 3432, 3424, 3429, 3438, 3434, 3435, 3439, 3444, 3446, 3451, - 3455, 3458, 3448, 3456, 3459, 3462, 3461, 3463, 3464, 3468, - 3473, 3474, 3480, 4392, 3475, 4392, 3477, 3482, 3484, 4392, - 4392, 3485, 3487, 3489, 3491, 3492, 3496, 3493, 4392, 3498, - 3500, 3508, 3499, 4392, 3515, 4392, 3517, 3501, 3519, 3521, - 3523, 4392, 4392, 4392, 3524, 3509, 3527, 3528, 3529, 3530, - 3533, 3532, 3535, 4392, 3539, 3536, 3542, 3545, 3549, 3553, - 3550, 3556, 3564, 3562, 3565, 3555, 3563, 3572, 3574, 4392, + 3395, 3396, 3397, 3398, 3399, 3400, 3402, 3405, 3404, 3406, + 3409, 3414, 3415, 3419, 3408, 3418, 3430, 4407, 4407, 3425, + 3427, 4407, 3432, 3433, 3434, 3435, 3436, 3437, 3440, 3441, + 4407, 3447, 3439, 3444, 3453, 3449, 3450, 3454, 3459, 3461, + 3466, 3470, 3473, 3463, 3471, 3474, 3477, 3476, 3478, 3479, + 3483, 3488, 3489, 3495, 4407, 3490, 4407, 3492, 3497, 3499, + 4407, 4407, 3500, 3502, 3504, 3506, 3507, 3511, 3508, 4407, + 3513, 3515, 3523, 3514, 4407, 3530, 4407, 3532, 3516, 3534, + 3536, 3538, 4407, 4407, 4407, 3539, 3524, 3542, 3543, 3544, + 3545, 3548, 3547, 3550, 4407, 3554, 3551, 3557, 3560, 3564, - 4392, 3546, 3581, 3577, 3584, 3579, 3585, 3586, 3576, 3588, - 3587, 3589, 4392, 3594, 3593, 3599, 3600, 3602, 3603, 3604, - 3606, 4392, 4392, 3607, 3608, 3610, 3619, 3614, 3616, 3609, - 3621, 3622, 4392, 3623, 4392, 3627, 3630, 3637, 3636, 3632, - 3639, 4392, 3642, 3643, 4392, 3645, 3646, 3648, 4392, 3652, - 4392, 4392, 3655, 4392, 3650, 4392, 3657, 3658, 3662, 3664, - 3666, 3668, 3672, 3674, 3675, 3676, 3684, 3680, 3681, 4392, - 4392, 3688, 3683, 3686, 3695, 3691, 3694, 3697, 4392, 4392, - 3699, 3700, 4392, 3701, 3702, 3705, 3707, 3708, 3709, 3712, - 3713, 3714, 3715, 3717, 3729, 3735, 3721, 3733, 3724, 3727, + 3568, 3565, 3571, 3579, 3577, 3580, 3570, 3578, 3587, 3589, + 4407, 4407, 3561, 3596, 3592, 3599, 3594, 3600, 3601, 3591, + 3603, 3602, 3604, 4407, 3609, 3608, 3614, 3615, 3617, 3618, + 3619, 3621, 4407, 4407, 3622, 3623, 3625, 3634, 3629, 3631, + 3624, 3636, 3637, 4407, 3638, 4407, 3642, 3645, 3652, 3651, + 3647, 3654, 4407, 3657, 3658, 4407, 3660, 3661, 3663, 4407, + 3667, 4407, 4407, 3670, 4407, 3665, 4407, 3672, 3673, 3677, + 3679, 3681, 3683, 3687, 3689, 3690, 3691, 3699, 3695, 3696, + 4407, 4407, 3703, 3698, 3701, 3710, 3706, 3709, 3712, 4407, + 4407, 3714, 3715, 4407, 3716, 3717, 3720, 3722, 3723, 3724, - 3731, 3739, 3741, 4392, 3743, 3745, 3746, 4392, 3750, 3747, - 3752, 3755, 3756, 4392, 3757, 3763, 3766, 3758, 3768, 3777, - 3769, 3772, 4392, 3774, 3778, 3779, 4392, 3780, 4392, 3784, - 4392, 4392, 3785, 3788, 3786, 4392, 3792, 3798, 4392, 3794, - 3800, 3801, 3803, 3806, 4392, 3810, 3807, 3814, 3808, 3815, - 3816, 3823, 3818, 3825, 4392, 3819, 3826, 3828, 3831, 3832, - 3830, 3833, 3835, 3837, 3842, 3840, 3851, 3846, 4392, 3853, - 3856, 4392, 3848, 4392, 3858, 3859, 3862, 4392, 3861, 3863, - 3864, 3870, 4392, 3871, 3868, 4392, 3873, 3877, 3879, 3881, - 3874, 3880, 3884, 3886, 3888, 3896, 4392, 3894, 3898, 3905, + 3727, 3728, 3729, 3730, 3732, 3744, 3750, 3736, 3748, 3739, + 3742, 3746, 3754, 3756, 4407, 3758, 3760, 3761, 4407, 3765, + 3762, 3767, 3770, 3771, 4407, 3772, 3778, 3781, 3773, 3783, + 3792, 3784, 3787, 4407, 3789, 3793, 3794, 4407, 3795, 4407, + 3799, 4407, 4407, 3800, 3803, 3801, 4407, 3807, 3813, 4407, + 3809, 3815, 3816, 3818, 3821, 4407, 3825, 3822, 3829, 3823, + 3830, 3831, 3838, 3833, 3840, 4407, 3834, 3841, 3843, 3846, + 3847, 3845, 3848, 3850, 3852, 3857, 3855, 3866, 3861, 4407, + 3868, 3871, 4407, 3863, 4407, 3873, 3874, 3877, 4407, 3876, + 3878, 3879, 3885, 4407, 3886, 3883, 4407, 3888, 3892, 3894, - 3901, 3907, 3902, 4392, 3903, 3909, 3917, 3912, 3914, 4392, - 3916, 3919, 4392, 3922, 3926, 3923, 3927, 3925, 3934, 3936, - 3939, 4392, 3941, 4392, 4392, 3942, 4392, 3943, 3945, 4392, - 3948, 3949, 3950, 3951, 3953, 3954, 4392, 4392, 3955, 3956, - 3958, 3962, 4392, 3966, 3968, 3971, 3972, 3973, 4392, 3974, - 3975, 3978, 3977, 3980, 3981, 3985, 4392, 4392, 3983, 4392, - 3992, 4000, 4001, 4392, 4392, 4392, 4007, 4392, 4009, 4013, - 4012, 4392, 4015, 4004, 4017, 4392, 4019, 3987, 4020, 4392, - 4021, 4023, 4024, 4027, 4029, 4030, 4033, 4037, 4034, 4040, - 4041, 4042, 4043, 4044, 4050, 4392, 4392, 4052, 4392, 4392, + 3896, 3889, 3895, 3899, 3901, 3903, 3911, 4407, 3909, 3913, + 3920, 3916, 3922, 3917, 4407, 3918, 3924, 3932, 3927, 3929, + 4407, 3931, 3934, 4407, 3937, 3941, 3938, 3942, 3940, 3949, + 3951, 3954, 4407, 3956, 4407, 4407, 3957, 4407, 3958, 3960, + 4407, 3963, 3964, 3965, 3966, 3968, 3969, 4407, 4407, 3970, + 3971, 3973, 3977, 4407, 3981, 3983, 3986, 3987, 3988, 4407, + 3989, 3990, 3993, 3992, 3995, 3996, 4000, 4407, 4407, 3998, + 4407, 4007, 4015, 4016, 4407, 4407, 4407, 4022, 4407, 4024, + 4028, 4027, 4407, 4030, 4019, 4032, 4407, 4034, 4002, 4035, + 4407, 4036, 4038, 4039, 4042, 4044, 4045, 4048, 4052, 4049, - 4054, 4057, 4061, 4392, 4058, 4065, 4392, 4069, 4066, 4070, - 4072, 4074, 4392, 4392, 4075, 4076, 4392, 4083, 4080, 4081, - 4082, 4084, 4088, 4392, 4392, 4392, 4392, 4392, 4089, 4392, - 4392, 4091, 4085, 4096, 4392, 4090, 4097, 4098, 4099, 4103, - 4100, 4106, 4107, 4109, 4115, 4117, 4120, 4123, 4128, 4125, - 4132, 4133, 4134, 4141, 4136, 4139, 4392, 4140, 4392, 4142, - 4392, 4143, 4151, 4152, 4147, 4144, 4148, 4392, 4154, 4159, - 4153, 4156, 4164, 4165, 4166, 4170, 4173, 4179, 4180, 4182, - 4183, 4185, 4174, 4195, 4197, 4392, 4191, 4186, 4194, 4206, - 4199, 4201, 4392, 4202, 4203, 4204, 4208, 4209, 4211, 4212, + 4055, 4056, 4057, 4058, 4059, 4065, 4407, 4407, 4067, 4407, + 4407, 4069, 4072, 4076, 4407, 4073, 4080, 4407, 4084, 4081, + 4085, 4087, 4089, 4407, 4407, 4090, 4091, 4407, 4098, 4095, + 4096, 4097, 4099, 4103, 4407, 4407, 4407, 4407, 4407, 4104, + 4407, 4407, 4106, 4100, 4111, 4407, 4105, 4112, 4113, 4114, + 4118, 4115, 4121, 4122, 4124, 4130, 4132, 4135, 4138, 4143, + 4140, 4147, 4148, 4149, 4156, 4151, 4154, 4407, 4155, 4407, + 4157, 4407, 4158, 4166, 4167, 4162, 4159, 4163, 4407, 4169, + 4174, 4168, 4171, 4179, 4180, 4181, 4185, 4188, 4194, 4195, + 4197, 4198, 4200, 4189, 4210, 4212, 4407, 4206, 4201, 4209, - 4219, 4224, 4227, 4226, 4215, 4229, 4230, 4235, 4217, 4238, - 4239, 4392, 4240, 4241, 4244, 4247, 4248, 4250, 4251, 4252, - 4255, 4257, 4260, 4262, 4265, 4392, 4268, 4392, 4392, 4271, - 4256, 4267, 4278, 4280, 4392, 4392, 4392, 4300, 4307, 4314, - 4321, 4328, 101, 4335, 4342, 4349, 4356, 4363, 4370, 4377, - 4384 + 4221, 4214, 4216, 4407, 4217, 4218, 4219, 4223, 4224, 4226, + 4227, 4234, 4239, 4242, 4241, 4230, 4244, 4245, 4250, 4232, + 4253, 4254, 4407, 4255, 4256, 4259, 4262, 4263, 4265, 4266, + 4267, 4270, 4272, 4275, 4277, 4280, 4407, 4283, 4407, 4407, + 4286, 4271, 4282, 4293, 4295, 4407, 4407, 4407, 4315, 4322, + 4329, 4336, 4343, 70, 4350, 4357, 4364, 4371, 4378, 4385, + 4392, 4399 } ; -static yyconst flex_int16_t yy_def[2252] = +static yyconst flex_int16_t yy_def[2263] = { 0, - 2237, 1, 2238, 2238, 2239, 2239, 2240, 2240, 2241, 2241, - 2242, 2242, 2237, 2243, 2237, 2237, 2237, 2237, 2244, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2245, 2237, 2237, 2237, 2245, 2246, 2237, 2237, 2237, 2246, - 2247, 2237, 2237, 2237, 2237, 2247, 2248, 2237, 2237, 2237, - 2248, 2249, 2237, 2250, 2237, 2249, 2249, 2243, 2243, 2237, - 2251, 2244, 2251, 2244, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2248, 1, 2249, 2249, 2250, 2250, 2251, 2251, 2252, 2252, + 2253, 2253, 2248, 2254, 2248, 2248, 2248, 2248, 2255, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2256, 2248, 2248, 2248, 2256, 2257, 2248, 2248, 2248, + 2257, 2258, 2248, 2248, 2248, 2248, 2258, 2259, 2248, 2248, + 2248, 2259, 2260, 2248, 2261, 2248, 2260, 2260, 2254, 2254, + 2248, 2262, 2255, 2262, 2255, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2245, 2245, 2246, 2246, 2247, 2247, 2237, 2248, 2248, 2249, - 2249, 2250, 2250, 2249, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2256, 2256, 2257, 2257, 2258, 2258, 2248, 2259, + 2259, 2260, 2260, 2261, 2261, 2260, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2249, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2260, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2249, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2260, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2249, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2248, 2260, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2249, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2237, 2237, 2243, 2237, 2237, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2260, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2248, 2254, 2248, 2248, 2254, 2248, 2248, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2249, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2260, 2254, 2254, 2254, 2248, + 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2249, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2248, 2254, 2260, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2237, 2243, 2237, 2243, 2243, 2243, 2237, 2243, 2237, 2243, - 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2248, 2254, 2248, 2254, 2254, 2254, 2248, 2254, 2248, + 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2237, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2248, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2248, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2237, 2243, 2243, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2237, 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2248, 2254, + 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2254, 2248, 2254, 2248, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, - 2237, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2237, 2243, 2237, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2237, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2248, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2248, 2254, 2248, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2248, 2248, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2237, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2237, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2248, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2248, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2248, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2237, 2237, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2237, 2237, - 2243, 2237, 2243, 2237, 2237, 2243, 2243, 2243, 2237, 2243, - 2237, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, - 2237, 2243, 2243, 2243, 2243, 2237, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2248, 2248, 2254, 2254, + 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2248, + 2248, 2254, 2248, 2254, 2248, 2248, 2254, 2254, 2254, 2248, + 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, + 2254, 2248, 2254, 2254, 2254, 2254, 2248, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2237, 2243, 2243, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2237, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, - 2243, 2243, 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2237, 2237, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2248, 2254, + 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2248, 2254, 2254, 2254, + 2248, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, + 2254, 2254, 2254, 2254, 2248, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2248, 2248, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2237, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2237, 2243, 2243, 2237, 2243, 2243, 2243, 2237, 2243, - 2237, 2237, 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2237, - 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2248, 2248, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2248, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2248, 2254, 2254, 2248, 2254, 2254, 2254, 2248, + 2254, 2248, 2248, 2254, 2248, 2254, 2248, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2248, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, + 2248, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2243, 2243, 2237, 2243, 2237, 2243, - 2237, 2237, 2243, 2243, 2243, 2237, 2243, 2243, 2237, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, - 2243, 2237, 2243, 2237, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2237, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2248, 2254, 2248, + 2254, 2248, 2248, 2254, 2254, 2254, 2248, 2254, 2254, 2248, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, + 2254, 2254, 2248, 2254, 2248, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2248, 2254, 2254, 2248, 2254, 2254, 2254, - 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2237, - 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2237, 2243, 2237, 2237, 2243, 2237, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2237, 2243, 2243, - 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2237, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2237, 2243, 2237, - 2243, 2243, 2243, 2237, 2237, 2237, 2243, 2237, 2243, 2243, - 2243, 2237, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2237, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2237, 2243, 2237, 2237, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, + 2248, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2248, 2254, 2248, 2248, 2254, 2248, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2248, 2254, + 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2248, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2248, 2254, + 2248, 2254, 2254, 2254, 2248, 2248, 2248, 2254, 2248, 2254, + 2254, 2254, 2248, 2254, 2254, 2254, 2248, 2254, 2254, 2254, + 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, - 2243, 2243, 2243, 2237, 2243, 2243, 2237, 2243, 2243, 2243, - 2243, 2243, 2237, 2237, 2243, 2243, 2237, 2243, 2243, 2243, - 2243, 2243, 2243, 2237, 2237, 2237, 2237, 2237, 2243, 2237, - 2237, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2237, 2243, - 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2243, 2243, 2243, - 2243, 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2248, 2254, 2248, + 2248, 2254, 2254, 2254, 2248, 2254, 2254, 2248, 2254, 2254, + 2254, 2254, 2254, 2248, 2248, 2254, 2254, 2248, 2254, 2254, + 2254, 2254, 2254, 2254, 2248, 2248, 2248, 2248, 2248, 2254, + 2248, 2248, 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2248, + 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2254, 2254, - 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2237, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, - 2243, 2243, 2243, 2243, 2243, 2237, 2243, 2237, 2237, 2243, - 2243, 2243, 2243, 2243, 2237, 2237, 0, 2237, 2237, 2237, - 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, - 2237 + 2254, 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2248, 2254, 2254, 2254, 2254, 2254, 2254, 2254, + 2254, 2254, 2254, 2254, 2254, 2254, 2248, 2254, 2248, 2248, + 2254, 2254, 2254, 2254, 2254, 2248, 2248, 0, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, + 2248, 2248 } ; -static yyconst flex_uint16_t yy_nxt[4433] = +static yyconst flex_uint16_t yy_nxt[4448] = { 0, 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, - 14, 14, 18, 20, 21, 14, 22, 23, 24, 25, - 14, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 14, 14, 14, 14, - 42, 43, 44, 42, 43, 44, 47, 48, 47, 48, - 49, 45, 49, 68, 45, 68, 68, 50, 68, 50, - 52, 53, 54, 55, 68, 18, 52, 53, 54, 55, - 203, 18, 56, 58, 59, 60, 69, 69, 56, 58, - 59, 60, 70, 69, 61, 69, 71, 87, 75, 76, - 61, 15, 16, 17, 63, 64, 65, 73, 107, 73, + 14, 14, 18, 20, 21, 22, 23, 24, 25, 26, + 14, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 14, 14, 14, 14, + 43, 44, 45, 43, 44, 45, 48, 49, 48, 49, + 50, 46, 50, 69, 46, 69, 69, 51, 69, 51, + 53, 54, 55, 56, 69, 18, 53, 54, 55, 56, + 69, 18, 57, 59, 60, 61, 70, 79, 57, 59, + 60, 61, 71, 70, 62, 70, 72, 89, 76, 77, + 62, 15, 16, 17, 64, 65, 66, 74, 135, 74, - 73, 68, 73, 66, 69, 89, 77, 88, 73, 74, - 69, 69, 67, 15, 16, 17, 63, 64, 65, 90, - 69, 78, 69, 91, 69, 66, 97, 69, 79, 82, - 147, 92, 80, 83, 67, 81, 84, 69, 85, 86, - 69, 93, 99, 141, 94, 98, 69, 100, 70, 69, - 104, 95, 71, 96, 105, 101, 69, 69, 69, 69, - 146, 102, 108, 69, 114, 103, 109, 151, 115, 69, - 106, 141, 110, 113, 118, 111, 133, 119, 116, 133, - 69, 117, 112, 69, 120, 131, 131, 141, 121, 122, - 69, 123, 69, 124, 126, 69, 128, 138, 138, 127, + 74, 135, 74, 67, 70, 91, 78, 90, 74, 75, + 70, 70, 68, 15, 16, 17, 64, 65, 66, 92, + 70, 80, 70, 93, 70, 67, 99, 70, 81, 84, + 149, 94, 82, 85, 68, 83, 86, 70, 87, 88, + 70, 95, 101, 70, 96, 100, 70, 102, 71, 70, + 106, 97, 72, 98, 107, 103, 70, 70, 70, 70, + 70, 104, 110, 186, 109, 105, 111, 133, 133, 166, + 108, 70, 112, 115, 128, 113, 70, 116, 70, 129, + 154, 117, 114, 120, 70, 125, 121, 126, 140, 140, + 70, 118, 295, 122, 119, 70, 130, 123, 124, 70, - 129, 144, 69, 162, 130, 145, 152, 135, 125, 135, - 135, 73, 135, 73, 73, 140, 73, 140, 140, 68, - 140, 68, 68, 143, 68, 69, 73, 69, 73, 73, - 68, 73, 69, 153, 69, 148, 69, 73, 74, 154, - 69, 159, 69, 150, 69, 69, 69, 69, 149, 69, - 69, 69, 155, 156, 166, 163, 161, 69, 157, 158, - 160, 139, 167, 164, 165, 168, 69, 173, 175, 169, - 69, 69, 170, 69, 178, 176, 69, 69, 179, 69, - 69, 69, 69, 182, 69, 171, 172, 183, 69, 185, - 137, 181, 174, 69, 184, 177, 69, 186, 69, 69, + 131, 143, 127, 137, 132, 137, 137, 74, 137, 74, + 74, 142, 74, 142, 142, 146, 142, 153, 69, 145, + 69, 69, 74, 69, 74, 74, 70, 74, 70, 69, + 148, 147, 70, 74, 75, 150, 70, 70, 70, 151, + 70, 70, 70, 162, 156, 70, 70, 70, 70, 70, + 157, 155, 152, 70, 188, 70, 70, 143, 158, 159, + 164, 161, 163, 160, 70, 165, 167, 70, 169, 171, + 70, 168, 170, 172, 176, 178, 173, 70, 70, 70, + 70, 181, 179, 70, 70, 182, 70, 70, 185, 174, + 175, 70, 70, 70, 70, 70, 70, 184, 192, 177, - 180, 69, 189, 69, 194, 69, 191, 69, 187, 69, - 192, 188, 69, 69, 190, 69, 69, 69, 69, 193, - 196, 69, 205, 69, 198, 195, 197, 69, 204, 200, - 202, 199, 212, 201, 209, 69, 207, 210, 69, 208, - 69, 69, 206, 131, 131, 215, 133, 138, 138, 133, - 213, 135, 141, 135, 135, 216, 135, 69, 211, 214, - 140, 69, 140, 140, 73, 140, 73, 73, 69, 73, - 69, 218, 219, 217, 69, 69, 143, 69, 220, 69, - 221, 69, 69, 69, 223, 226, 315, 228, 69, 222, - 225, 69, 227, 69, 229, 224, 230, 69, 231, 69, + 187, 194, 180, 183, 189, 195, 190, 70, 197, 70, + 191, 193, 70, 70, 70, 196, 70, 206, 70, 70, + 70, 208, 70, 70, 70, 199, 70, 70, 201, 198, + 203, 200, 205, 202, 204, 70, 207, 213, 70, 212, + 210, 209, 211, 215, 70, 217, 70, 133, 133, 135, + 70, 218, 135, 140, 140, 220, 216, 137, 214, 137, + 137, 142, 137, 142, 142, 74, 142, 74, 74, 143, + 74, 70, 219, 221, 70, 70, 70, 145, 70, 70, + 70, 70, 70, 224, 70, 223, 222, 227, 234, 232, + 229, 230, 70, 226, 70, 225, 248, 70, 231, 70, - 69, 234, 69, 232, 69, 239, 235, 240, 69, 69, - 69, 236, 69, 241, 242, 245, 244, 237, 238, 69, - 233, 69, 243, 69, 69, 69, 69, 69, 69, 253, - 251, 252, 257, 246, 254, 248, 247, 69, 249, 69, - 69, 260, 250, 69, 261, 264, 255, 69, 256, 265, - 262, 69, 69, 267, 269, 259, 69, 258, 69, 69, - 69, 270, 263, 268, 69, 69, 69, 69, 69, 69, - 69, 271, 273, 266, 69, 275, 69, 69, 272, 69, - 69, 69, 277, 69, 279, 69, 69, 284, 274, 278, - 283, 286, 276, 281, 69, 280, 289, 69, 69, 69, + 228, 70, 233, 235, 70, 70, 70, 70, 236, 245, + 238, 70, 243, 70, 70, 239, 70, 70, 244, 246, + 240, 249, 70, 70, 70, 237, 241, 242, 251, 255, + 247, 250, 70, 70, 252, 70, 143, 253, 256, 70, + 257, 254, 70, 264, 266, 258, 141, 261, 70, 70, + 70, 263, 262, 70, 265, 268, 267, 259, 70, 260, + 271, 70, 70, 70, 273, 274, 70, 269, 272, 270, + 70, 70, 70, 70, 70, 276, 70, 70, 70, 275, + 277, 70, 279, 70, 70, 70, 281, 70, 283, 70, + 70, 290, 70, 278, 282, 287, 288, 70, 70, 280, - 69, 282, 69, 69, 293, 291, 292, 69, 285, 69, - 69, 297, 287, 288, 69, 296, 299, 69, 290, 294, - 141, 295, 69, 69, 69, 300, 69, 306, 69, 69, - 302, 69, 303, 69, 305, 298, 307, 69, 308, 69, - 69, 69, 301, 304, 69, 69, 311, 319, 69, 313, - 316, 69, 309, 310, 312, 69, 317, 318, 69, 320, - 69, 69, 321, 69, 136, 69, 69, 322, 324, 69, - 314, 327, 69, 325, 329, 326, 69, 69, 323, 69, - 69, 69, 330, 332, 331, 69, 328, 69, 69, 69, - 69, 337, 69, 69, 69, 338, 333, 69, 340, 69, + 284, 293, 70, 285, 286, 70, 70, 70, 297, 70, + 70, 289, 296, 70, 70, 304, 291, 292, 70, 300, + 301, 299, 294, 303, 143, 298, 70, 70, 310, 70, + 70, 70, 305, 306, 70, 70, 307, 70, 309, 313, + 311, 70, 312, 70, 302, 70, 308, 70, 70, 316, + 70, 70, 70, 70, 320, 321, 314, 315, 318, 70, + 322, 317, 323, 70, 325, 70, 70, 326, 70, 70, + 324, 70, 329, 319, 70, 332, 70, 70, 330, 70, + 335, 70, 334, 337, 327, 331, 328, 70, 70, 70, + 70, 333, 336, 70, 70, 70, 70, 342, 70, 70, - 342, 336, 69, 334, 69, 69, 346, 344, 335, 69, - 69, 339, 69, 347, 69, 341, 69, 345, 69, 69, - 343, 348, 354, 349, 69, 353, 69, 69, 358, 359, - 357, 350, 351, 69, 352, 360, 69, 356, 69, 69, - 355, 361, 69, 69, 362, 367, 69, 363, 364, 69, - 69, 365, 366, 69, 368, 69, 369, 69, 371, 373, - 69, 375, 69, 69, 377, 370, 69, 69, 378, 372, - 69, 379, 69, 69, 69, 374, 381, 380, 382, 69, - 69, 388, 376, 69, 69, 389, 383, 69, 387, 69, - 384, 69, 69, 385, 69, 386, 390, 395, 69, 393, + 70, 343, 70, 70, 345, 70, 347, 70, 341, 70, + 338, 339, 349, 70, 70, 340, 351, 344, 70, 350, + 346, 348, 70, 70, 70, 353, 352, 354, 70, 70, + 433, 359, 70, 358, 70, 355, 356, 70, 357, 363, + 364, 70, 361, 70, 362, 365, 70, 70, 70, 360, + 366, 367, 370, 70, 368, 70, 369, 371, 372, 70, + 373, 70, 374, 70, 70, 70, 70, 380, 375, 376, + 70, 382, 70, 70, 70, 377, 70, 70, 70, 383, + 70, 379, 70, 384, 442, 378, 388, 70, 70, 385, + 381, 386, 389, 387, 393, 390, 392, 391, 70, 70, - 69, 141, 69, 69, 391, 394, 397, 406, 418, 392, - 69, 69, 69, 396, 69, 405, 398, 399, 407, 69, - 69, 410, 409, 408, 69, 411, 400, 69, 401, 402, - 403, 412, 413, 404, 69, 414, 69, 420, 69, 415, - 416, 69, 417, 69, 69, 424, 69, 69, 69, 419, - 69, 69, 69, 422, 69, 427, 421, 69, 423, 428, - 429, 69, 69, 426, 134, 69, 433, 434, 430, 69, - 431, 425, 69, 432, 69, 69, 435, 69, 436, 438, - 69, 69, 447, 439, 440, 444, 443, 69, 69, 69, - 446, 445, 69, 437, 69, 441, 69, 442, 449, 451, + 70, 70, 397, 394, 70, 70, 70, 70, 400, 143, + 70, 70, 395, 70, 139, 411, 398, 412, 399, 70, + 396, 402, 413, 70, 401, 70, 410, 403, 404, 415, + 414, 70, 419, 417, 416, 70, 70, 405, 70, 406, + 407, 408, 420, 70, 409, 418, 70, 70, 427, 70, + 70, 431, 425, 70, 70, 70, 422, 70, 421, 70, + 70, 424, 70, 423, 426, 429, 70, 434, 70, 430, + 428, 435, 436, 70, 70, 70, 70, 441, 70, 70, + 437, 70, 438, 443, 432, 70, 445, 70, 70, 439, + 440, 70, 446, 451, 447, 452, 450, 70, 444, 70, - 450, 69, 69, 453, 69, 69, 69, 69, 457, 458, - 448, 455, 69, 69, 69, 69, 459, 454, 456, 461, - 69, 452, 69, 69, 69, 69, 465, 69, 466, 462, - 467, 69, 69, 469, 460, 463, 464, 69, 470, 69, - 69, 69, 69, 69, 69, 69, 132, 69, 472, 69, - 473, 480, 468, 69, 69, 475, 69, 69, 481, 482, - 471, 479, 474, 476, 478, 477, 69, 483, 69, 485, - 487, 486, 69, 69, 484, 69, 69, 69, 490, 69, - 69, 69, 69, 69, 493, 69, 489, 495, 69, 69, - 69, 69, 141, 509, 488, 69, 494, 69, 511, 491, + 70, 459, 454, 70, 457, 448, 453, 449, 70, 456, + 70, 70, 460, 70, 70, 458, 70, 70, 464, 462, + 455, 465, 70, 70, 70, 70, 461, 70, 466, 463, + 468, 70, 469, 70, 70, 472, 70, 473, 70, 70, + 70, 476, 70, 467, 474, 470, 471, 70, 477, 70, + 70, 70, 70, 70, 70, 70, 487, 479, 70, 475, + 480, 70, 70, 478, 482, 70, 489, 488, 70, 486, + 481, 483, 492, 484, 485, 494, 491, 70, 70, 490, + 493, 70, 70, 70, 70, 70, 70, 70, 497, 500, + 70, 70, 70, 70, 514, 502, 496, 70, 70, 495, - 492, 496, 497, 69, 498, 506, 507, 69, 504, 499, - 505, 500, 69, 69, 513, 510, 69, 508, 69, 501, - 69, 69, 502, 69, 69, 69, 69, 69, 69, 503, - 515, 514, 512, 519, 520, 516, 69, 69, 69, 526, - 517, 522, 523, 521, 141, 518, 525, 69, 524, 69, - 531, 528, 69, 530, 69, 527, 69, 529, 533, 532, - 69, 69, 69, 69, 69, 535, 69, 69, 537, 538, - 139, 69, 534, 542, 69, 69, 536, 69, 543, 69, - 545, 69, 554, 539, 546, 69, 540, 541, 544, 547, - 548, 69, 549, 69, 550, 69, 69, 69, 551, 69, + 70, 70, 501, 70, 516, 515, 498, 499, 503, 70, + 504, 70, 505, 511, 513, 138, 512, 506, 70, 507, + 70, 518, 70, 517, 70, 520, 70, 508, 70, 70, + 509, 70, 70, 521, 519, 70, 526, 510, 522, 70, + 70, 524, 532, 523, 527, 143, 530, 529, 70, 531, + 70, 525, 70, 70, 70, 70, 70, 535, 528, 70, + 540, 537, 533, 538, 539, 70, 70, 536, 541, 542, + 534, 70, 70, 70, 70, 70, 544, 70, 70, 546, + 547, 136, 70, 543, 551, 70, 70, 545, 70, 552, + 70, 554, 70, 563, 548, 555, 70, 549, 550, 553, - 69, 552, 556, 555, 69, 69, 69, 69, 69, 557, - 69, 559, 561, 69, 69, 562, 553, 69, 69, 69, - 564, 69, 558, 69, 568, 565, 570, 560, 563, 566, - 69, 567, 69, 69, 574, 571, 69, 569, 69, 69, - 69, 576, 69, 577, 69, 575, 572, 579, 573, 580, - 69, 69, 69, 69, 69, 69, 69, 583, 69, 589, - 69, 590, 584, 587, 582, 578, 581, 586, 69, 69, - 585, 69, 69, 594, 588, 69, 591, 596, 592, 69, - 595, 69, 69, 69, 597, 599, 593, 598, 69, 69, - 600, 69, 603, 69, 69, 69, 69, 69, 69, 606, + 556, 557, 70, 558, 70, 559, 70, 70, 70, 560, + 70, 70, 561, 565, 564, 70, 70, 70, 70, 70, + 566, 70, 568, 570, 70, 70, 571, 562, 70, 70, + 70, 573, 70, 567, 70, 577, 574, 579, 569, 572, + 575, 70, 576, 70, 70, 583, 580, 70, 578, 70, + 70, 70, 585, 70, 586, 70, 584, 581, 588, 582, + 589, 70, 70, 70, 70, 70, 70, 70, 592, 70, + 598, 70, 599, 593, 596, 591, 587, 590, 595, 70, + 70, 594, 70, 70, 603, 597, 70, 600, 605, 601, + 70, 604, 70, 70, 70, 606, 608, 602, 607, 70, - 69, 601, 602, 605, 610, 609, 69, 608, 614, 611, - 69, 69, 604, 69, 607, 69, 612, 69, 69, 616, - 69, 69, 613, 69, 69, 69, 69, 621, 69, 627, - 615, 617, 69, 622, 69, 69, 618, 69, 69, 619, - 623, 620, 69, 630, 624, 69, 69, 625, 69, 626, - 631, 628, 69, 69, 634, 69, 629, 633, 69, 632, - 69, 69, 637, 638, 635, 69, 636, 639, 69, 69, - 640, 69, 69, 641, 69, 69, 643, 141, 648, 642, - 644, 69, 647, 646, 69, 649, 645, 69, 651, 69, - 69, 655, 69, 69, 69, 69, 652, 69, 653, 657, + 70, 609, 70, 612, 70, 70, 70, 70, 70, 70, + 615, 70, 610, 611, 614, 619, 618, 70, 617, 623, + 620, 70, 70, 613, 70, 616, 70, 621, 70, 70, + 625, 70, 70, 622, 70, 70, 70, 70, 630, 70, + 636, 624, 626, 70, 631, 70, 70, 627, 70, 70, + 628, 632, 629, 70, 639, 633, 70, 70, 634, 70, + 635, 640, 637, 70, 70, 643, 70, 638, 642, 70, + 641, 70, 70, 646, 647, 644, 70, 645, 648, 70, + 70, 649, 70, 70, 650, 70, 70, 652, 143, 657, + 651, 653, 70, 656, 655, 70, 658, 654, 660, 70, - 69, 660, 69, 69, 69, 650, 658, 69, 661, 654, - 69, 659, 656, 69, 69, 665, 69, 69, 675, 666, - 662, 69, 667, 672, 664, 69, 676, 673, 663, 668, - 671, 670, 669, 69, 677, 69, 69, 674, 69, 69, - 69, 69, 678, 679, 685, 680, 69, 137, 681, 689, - 690, 69, 69, 682, 687, 69, 686, 69, 692, 683, - 684, 69, 691, 688, 69, 694, 695, 693, 69, 69, - 69, 696, 698, 69, 697, 69, 69, 69, 69, 69, - 701, 69, 705, 69, 69, 699, 704, 69, 69, 711, - 69, 69, 723, 69, 700, 709, 710, 702, 703, 706, + 70, 661, 663, 70, 70, 70, 666, 70, 70, 662, + 70, 70, 70, 664, 668, 671, 659, 70, 70, 70, + 669, 70, 70, 70, 665, 672, 70, 667, 70, 670, + 70, 676, 70, 70, 70, 677, 673, 685, 678, 683, + 682, 70, 675, 681, 674, 679, 70, 684, 680, 70, + 686, 70, 687, 688, 715, 697, 70, 699, 70, 70, + 70, 689, 690, 696, 691, 70, 70, 692, 700, 701, + 70, 70, 693, 702, 698, 70, 703, 70, 694, 695, + 70, 705, 706, 70, 70, 70, 704, 707, 708, 70, + 70, 709, 70, 70, 70, 70, 712, 710, 70, 716, - 69, 707, 713, 714, 69, 712, 708, 715, 69, 69, - 69, 69, 69, 69, 69, 69, 716, 69, 69, 717, - 718, 721, 720, 726, 69, 69, 69, 724, 69, 69, - 69, 719, 725, 730, 722, 728, 69, 729, 69, 69, - 733, 731, 69, 69, 727, 69, 69, 69, 739, 69, - 737, 69, 732, 69, 735, 740, 69, 734, 738, 69, - 69, 69, 69, 69, 742, 69, 69, 736, 69, 748, - 741, 747, 743, 744, 69, 752, 69, 755, 69, 69, - 69, 746, 745, 751, 749, 754, 758, 750, 69, 759, - 753, 69, 69, 69, 69, 69, 69, 760, 69, 767, + 70, 70, 70, 70, 70, 722, 70, 721, 718, 711, + 70, 728, 70, 713, 714, 717, 720, 723, 724, 719, + 725, 70, 70, 70, 70, 726, 70, 727, 730, 70, + 70, 729, 70, 70, 731, 734, 70, 732, 70, 737, + 70, 70, 735, 70, 70, 70, 736, 741, 70, 70, + 739, 733, 740, 742, 70, 744, 70, 70, 70, 738, + 70, 70, 750, 743, 748, 70, 746, 751, 70, 70, + 70, 745, 749, 70, 753, 70, 70, 70, 70, 70, + 70, 759, 747, 70, 70, 70, 752, 758, 762, 70, + 765, 754, 70, 755, 766, 70, 757, 756, 760, 764, - 756, 764, 757, 69, 766, 69, 762, 69, 69, 69, - 761, 768, 771, 69, 763, 773, 69, 69, 69, 765, - 775, 141, 770, 69, 69, 769, 69, 69, 777, 69, - 69, 69, 69, 772, 69, 774, 69, 789, 776, 69, - 69, 69, 69, 780, 790, 778, 793, 791, 923, 69, - 781, 779, 782, 69, 794, 69, 783, 69, 784, 792, - 795, 797, 785, 796, 786, 69, 798, 69, 69, 787, - 69, 799, 800, 69, 788, 802, 69, 69, 804, 69, - 801, 69, 809, 810, 69, 803, 811, 808, 69, 69, - 805, 69, 69, 807, 69, 812, 69, 818, 806, 69, + 70, 763, 761, 769, 770, 70, 70, 70, 70, 70, + 70, 771, 767, 775, 768, 70, 70, 777, 773, 778, + 70, 70, 70, 779, 772, 70, 774, 782, 70, 784, + 70, 70, 70, 70, 70, 781, 776, 786, 143, 780, + 70, 70, 70, 70, 788, 70, 70, 787, 783, 785, + 70, 800, 70, 789, 70, 70, 791, 70, 801, 804, + 70, 802, 806, 792, 134, 790, 793, 70, 70, 70, + 794, 70, 795, 811, 808, 805, 796, 803, 797, 809, + 70, 70, 807, 798, 70, 810, 70, 70, 799, 813, + 70, 815, 70, 822, 70, 70, 812, 820, 70, 814, - 813, 817, 814, 69, 821, 69, 69, 69, 69, 69, - 819, 820, 822, 815, 823, 827, 69, 69, 829, 824, - 816, 828, 69, 69, 69, 830, 69, 825, 826, 833, - 69, 69, 69, 69, 69, 69, 834, 69, 839, 832, - 69, 836, 831, 837, 69, 69, 69, 69, 69, 835, - 69, 842, 841, 838, 840, 69, 848, 69, 69, 846, - 843, 844, 69, 69, 847, 69, 136, 69, 845, 69, - 69, 849, 853, 69, 854, 855, 69, 850, 69, 857, - 852, 851, 856, 858, 69, 861, 69, 69, 69, 69, - 862, 69, 860, 69, 69, 863, 865, 859, 864, 869, + 819, 816, 70, 70, 821, 70, 818, 70, 823, 830, + 70, 817, 70, 824, 828, 825, 70, 829, 70, 832, + 70, 833, 831, 70, 70, 70, 826, 70, 834, 838, + 70, 839, 840, 827, 70, 70, 70, 835, 70, 841, + 844, 70, 70, 836, 837, 70, 70, 845, 843, 70, + 70, 850, 70, 842, 847, 70, 70, 70, 848, 70, + 846, 851, 70, 70, 853, 859, 849, 70, 70, 70, + 70, 70, 70, 70, 852, 70, 854, 855, 857, 858, + 864, 860, 856, 70, 70, 70, 70, 861, 863, 865, + 862, 866, 867, 70, 868, 869, 70, 872, 870, 70, - 866, 69, 69, 868, 69, 69, 69, 867, 69, 871, - 69, 69, 69, 873, 69, 875, 876, 881, 69, 69, - 874, 870, 69, 872, 877, 878, 69, 69, 880, 69, - 879, 69, 884, 69, 69, 882, 889, 69, 69, 69, - 69, 69, 69, 890, 891, 883, 69, 69, 69, 885, - 888, 893, 886, 895, 887, 896, 897, 894, 892, 69, - 69, 69, 69, 900, 69, 899, 901, 69, 69, 904, - 69, 69, 69, 69, 898, 69, 69, 69, 69, 69, - 903, 902, 69, 913, 906, 134, 914, 915, 905, 69, - 907, 910, 69, 911, 69, 909, 916, 908, 69, 912, + 70, 70, 873, 70, 70, 874, 70, 70, 875, 876, + 880, 70, 871, 877, 70, 70, 70, 882, 70, 70, + 878, 70, 879, 884, 70, 70, 886, 70, 70, 887, + 70, 881, 70, 889, 70, 885, 883, 888, 891, 892, + 70, 70, 70, 893, 890, 895, 70, 70, 894, 70, + 900, 70, 70, 70, 70, 70, 70, 901, 902, 896, + 70, 70, 899, 904, 907, 897, 905, 898, 908, 903, + 70, 70, 70, 906, 70, 911, 70, 910, 70, 70, + 70, 915, 70, 70, 70, 70, 909, 70, 70, 70, + 70, 70, 914, 913, 70, 924, 917, 912, 925, 926, - 69, 69, 69, 917, 69, 69, 69, 920, 69, 926, - 69, 69, 69, 69, 918, 919, 69, 69, 69, 921, - 938, 924, 929, 931, 922, 927, 69, 925, 69, 934, - 928, 935, 69, 930, 932, 69, 69, 933, 69, 936, - 69, 69, 69, 69, 69, 941, 69, 940, 943, 937, - 945, 69, 69, 947, 939, 69, 946, 69, 69, 69, - 942, 944, 69, 69, 69, 949, 951, 69, 69, 69, - 948, 69, 950, 956, 952, 961, 69, 953, 69, 69, - 69, 69, 955, 957, 954, 960, 69, 963, 69, 958, - 967, 959, 962, 965, 69, 968, 69, 69, 966, 69, + 916, 70, 918, 921, 70, 922, 70, 920, 927, 919, + 70, 923, 70, 70, 70, 928, 70, 70, 70, 931, + 70, 70, 937, 70, 70, 934, 929, 930, 70, 70, + 70, 932, 70, 70, 143, 935, 933, 942, 938, 940, + 936, 70, 945, 70, 948, 70, 939, 70, 943, 941, + 946, 944, 70, 70, 947, 949, 70, 70, 70, 70, + 70, 950, 951, 952, 954, 956, 70, 70, 70, 958, + 70, 957, 70, 70, 70, 953, 955, 70, 70, 70, + 962, 70, 70, 959, 70, 70, 963, 961, 967, 960, + 70, 70, 972, 70, 141, 70, 964, 966, 70, 965, - 964, 69, 972, 69, 981, 69, 69, 69, 982, 69, - 69, 970, 971, 969, 69, 980, 979, 1057, 984, 973, - 69, 69, 974, 975, 69, 983, 985, 976, 69, 986, - 69, 987, 69, 977, 69, 69, 69, 978, 993, 990, - 994, 989, 69, 69, 69, 69, 69, 995, 988, 991, - 1020, 69, 997, 69, 992, 996, 1003, 998, 69, 999, - 69, 1000, 69, 1001, 69, 1002, 1005, 69, 1006, 69, - 1009, 1004, 69, 69, 69, 1010, 69, 69, 1008, 69, - 69, 69, 1012, 69, 69, 1007, 1011, 1014, 1021, 69, - 1017, 1015, 69, 1013, 1016, 1023, 69, 69, 69, 69, + 968, 969, 971, 974, 970, 973, 70, 70, 978, 70, + 975, 976, 70, 979, 70, 70, 70, 70, 983, 977, + 70, 992, 70, 993, 991, 70, 981, 70, 980, 982, + 70, 70, 70, 990, 995, 984, 994, 996, 985, 986, + 70, 70, 998, 987, 70, 997, 70, 70, 70, 988, + 70, 1004, 1001, 989, 1005, 1000, 70, 70, 70, 70, + 70, 1006, 1002, 1007, 999, 70, 1013, 1008, 1003, 1014, + 70, 70, 1009, 70, 1010, 70, 1011, 1016, 1012, 70, + 70, 1015, 1020, 70, 70, 70, 70, 1021, 70, 1019, + 1017, 70, 1023, 70, 1025, 70, 70, 1018, 1022, 70, - 1024, 1018, 69, 1025, 1027, 69, 69, 1022, 69, 1019, - 1029, 69, 69, 1030, 1032, 69, 69, 69, 1026, 69, - 69, 1034, 1028, 132, 1036, 1035, 69, 1031, 69, 1037, - 69, 69, 1033, 1040, 1042, 1043, 1039, 69, 1038, 1045, - 69, 69, 1044, 69, 1041, 69, 69, 69, 1049, 69, - 69, 69, 1046, 69, 1053, 69, 69, 69, 1048, 69, - 69, 69, 1060, 69, 69, 1047, 69, 69, 69, 1054, - 1050, 1051, 1064, 1058, 1059, 1055, 1052, 1056, 1065, 69, - 69, 69, 1069, 1061, 1063, 1067, 69, 1070, 69, 1062, - 69, 1066, 69, 69, 69, 1071, 69, 69, 1072, 1076, + 70, 70, 1032, 70, 1024, 1026, 1031, 1027, 1028, 1034, + 70, 70, 70, 1029, 1035, 1033, 70, 1036, 1038, 70, + 70, 1030, 1040, 70, 70, 70, 1043, 70, 70, 1041, + 70, 70, 70, 70, 1048, 1037, 1045, 1047, 1046, 70, + 1039, 70, 70, 70, 1053, 1054, 1042, 1050, 1044, 1051, + 70, 70, 70, 70, 1056, 70, 1052, 1049, 1055, 70, + 70, 1057, 1060, 70, 70, 70, 70, 1064, 70, 70, + 1059, 70, 70, 70, 1058, 70, 70, 1071, 70, 70, + 70, 1068, 1065, 70, 1061, 1062, 1069, 70, 1066, 1063, + 70, 1067, 1075, 1070, 1076, 70, 70, 70, 1072, 70, - 1068, 69, 69, 1077, 69, 69, 1073, 1079, 1074, 1080, - 1078, 1075, 69, 69, 69, 1081, 1082, 69, 69, 1085, - 69, 69, 69, 69, 1088, 69, 69, 69, 1083, 69, - 1084, 69, 1100, 69, 1101, 1086, 69, 1091, 1087, 1089, - 1092, 1090, 1093, 69, 1094, 69, 69, 69, 1096, 69, - 1095, 1098, 1097, 69, 1099, 1103, 69, 1106, 1107, 69, - 1108, 1105, 1102, 69, 69, 69, 1109, 1110, 69, 69, - 69, 69, 69, 1111, 1104, 69, 69, 69, 1117, 1112, - 69, 69, 69, 1116, 69, 69, 1114, 1120, 1123, 1113, - 1115, 1125, 1119, 1124, 69, 1121, 1126, 69, 69, 1131, + 1080, 1074, 1078, 1077, 1073, 1081, 70, 70, 1082, 1079, + 1084, 70, 70, 70, 70, 1083, 1088, 1087, 1090, 70, + 70, 70, 70, 1091, 70, 70, 1085, 1089, 70, 1086, + 70, 1092, 70, 1096, 70, 70, 70, 70, 70, 1099, + 1093, 70, 70, 1095, 70, 70, 1112, 70, 1094, 1101, + 1097, 1104, 1103, 1102, 1098, 1100, 70, 1105, 70, 70, + 70, 1107, 70, 1106, 1109, 1108, 70, 70, 1115, 70, + 1117, 1111, 70, 1114, 1116, 70, 70, 1118, 1110, 70, + 1119, 1113, 70, 70, 70, 1120, 1121, 70, 70, 1125, + 1124, 1123, 1122, 70, 70, 70, 1128, 70, 70, 70, - 1118, 69, 69, 69, 1122, 69, 69, 69, 69, 1135, - 69, 69, 69, 69, 1134, 69, 69, 69, 1127, 69, - 1128, 1129, 1130, 69, 1143, 69, 1133, 1140, 1144, 1136, - 1137, 1138, 1132, 69, 1142, 1139, 1146, 69, 1141, 69, - 69, 69, 69, 69, 1147, 1145, 1148, 69, 69, 69, - 1150, 1152, 69, 1149, 69, 1153, 1151, 1157, 69, 1158, - 69, 69, 69, 1163, 1156, 1159, 69, 1155, 1154, 69, - 1164, 69, 1160, 69, 69, 69, 1167, 1168, 1161, 1166, - 1169, 69, 1162, 69, 1165, 1170, 69, 69, 69, 1171, - 1172, 69, 1173, 69, 69, 69, 69, 1179, 69, 69, + 70, 1127, 70, 70, 1131, 1134, 1130, 1136, 1126, 70, + 1135, 70, 1137, 70, 1132, 70, 70, 1129, 1142, 70, + 70, 1133, 70, 1138, 70, 70, 1146, 70, 1139, 70, + 70, 1145, 70, 70, 1140, 1141, 70, 70, 70, 1144, + 139, 1147, 70, 1154, 70, 1143, 1148, 1151, 1149, 1150, + 70, 1160, 1153, 1155, 1157, 70, 1156, 1152, 70, 70, + 70, 70, 70, 1158, 1159, 70, 70, 1163, 1161, 70, + 70, 1164, 1168, 70, 1162, 1169, 70, 70, 70, 70, + 1170, 1174, 1166, 70, 1165, 1167, 1171, 70, 1175, 70, + 70, 70, 70, 1178, 1179, 1172, 1177, 1176, 1173, 1182, - 1177, 69, 69, 1174, 69, 1180, 69, 1182, 1176, 69, - 69, 1178, 69, 1185, 69, 1184, 69, 1187, 1175, 1181, - 1188, 69, 69, 1191, 1183, 69, 69, 69, 69, 1186, - 1190, 1192, 1189, 69, 69, 69, 1200, 1195, 1196, 69, - 1199, 1198, 69, 69, 1202, 1193, 69, 1194, 1204, 69, - 69, 69, 69, 69, 1197, 69, 1208, 69, 1206, 69, - 1203, 69, 1209, 1201, 69, 69, 69, 1212, 69, 69, - 1205, 1343, 69, 69, 1211, 1210, 1215, 1207, 1213, 1216, - 1218, 1220, 69, 69, 1224, 1214, 69, 1219, 1221, 69, - 69, 1217, 1223, 1222, 69, 1225, 69, 69, 69, 1229, + 70, 1180, 70, 1181, 70, 70, 70, 1184, 1183, 70, + 70, 70, 70, 70, 1191, 1186, 70, 1188, 1190, 70, + 70, 1193, 70, 70, 1185, 1187, 70, 70, 1189, 70, + 1196, 70, 70, 70, 1195, 70, 1192, 1198, 1199, 70, + 70, 1202, 70, 70, 1194, 1201, 1197, 1200, 1203, 70, + 70, 1206, 70, 1204, 1207, 1205, 70, 1210, 1209, 1211, + 70, 1213, 70, 1215, 70, 70, 70, 70, 70, 70, + 1208, 70, 1219, 70, 1217, 70, 1214, 70, 1220, 70, + 1212, 70, 1223, 70, 70, 1216, 70, 70, 1229, 1226, + 1222, 1221, 1227, 1218, 70, 1224, 1231, 70, 70, 70, - 69, 69, 1231, 69, 69, 69, 1230, 69, 69, 1233, - 1234, 69, 1235, 69, 1226, 69, 1227, 69, 1228, 69, - 69, 1236, 1243, 1232, 69, 69, 69, 69, 69, 69, - 69, 1239, 1242, 1237, 1240, 1238, 1241, 1248, 69, 69, - 69, 1246, 69, 69, 1251, 1244, 1245, 1250, 69, 69, - 1247, 69, 69, 69, 1254, 1252, 69, 69, 69, 1249, - 1256, 1259, 1253, 1258, 1260, 69, 69, 1255, 1257, 1265, - 69, 1266, 69, 1261, 69, 69, 69, 1267, 69, 69, - 1262, 1269, 1270, 1264, 69, 1263, 69, 1271, 1277, 69, - 69, 1276, 69, 1273, 1268, 1275, 1274, 69, 1272, 69, + 1235, 1225, 1230, 1232, 1228, 70, 70, 70, 1234, 1233, + 70, 1236, 70, 1240, 70, 70, 1242, 1237, 70, 70, + 1241, 70, 70, 1244, 1245, 70, 1238, 70, 70, 70, + 70, 70, 1239, 1246, 70, 70, 1254, 1243, 70, 1247, + 70, 70, 70, 70, 1250, 1251, 1252, 1248, 1253, 1249, + 1259, 70, 70, 70, 70, 1257, 70, 1262, 1255, 1261, + 1256, 70, 70, 70, 1258, 70, 70, 70, 1263, 70, + 70, 70, 1260, 1269, 1267, 1264, 70, 1276, 70, 70, + 1270, 1266, 1268, 1271, 70, 1272, 1265, 1277, 70, 70, + 70, 1273, 1278, 70, 70, 1275, 1274, 70, 1279, 1280, - 69, 69, 69, 69, 69, 1279, 69, 1286, 69, 69, - 1278, 69, 69, 1283, 1281, 69, 69, 1280, 1282, 1318, - 1288, 1289, 1285, 69, 1287, 69, 1290, 1294, 1284, 69, - 1298, 1295, 1292, 1297, 1300, 1293, 1296, 69, 1299, 69, - 1291, 1301, 69, 69, 69, 1304, 69, 69, 1302, 69, - 69, 69, 1306, 69, 69, 69, 69, 69, 1307, 1305, - 1313, 1309, 69, 1303, 69, 69, 69, 1310, 69, 1308, - 1316, 69, 69, 1311, 69, 1312, 69, 1317, 1314, 1319, - 69, 1320, 1315, 69, 69, 1321, 69, 1324, 1323, 1325, - 69, 69, 1322, 1327, 69, 69, 69, 69, 1326, 1332, + 1281, 70, 1282, 1288, 70, 1287, 1286, 70, 70, 1283, + 1284, 70, 70, 1285, 70, 70, 70, 70, 70, 70, + 1297, 1290, 70, 70, 138, 70, 1301, 1289, 1292, 1294, + 1291, 1293, 1299, 70, 70, 70, 1296, 70, 1298, 1300, + 1302, 1295, 1303, 1306, 1308, 1304, 1310, 70, 1307, 70, + 70, 70, 70, 1305, 1312, 1309, 1311, 70, 1315, 70, + 70, 70, 70, 1313, 70, 1317, 70, 1314, 70, 70, + 70, 1318, 1316, 1324, 1320, 70, 70, 1327, 70, 70, + 1319, 1321, 70, 70, 70, 70, 70, 1322, 1329, 1323, + 1330, 1325, 70, 70, 1326, 1333, 70, 1331, 1332, 1336, - 69, 69, 2237, 1328, 69, 69, 1329, 1335, 69, 1333, - 1336, 69, 69, 1339, 1330, 1337, 1331, 69, 1334, 1338, - 69, 1341, 69, 69, 1344, 69, 1340, 69, 69, 69, - 69, 69, 69, 1347, 69, 1342, 69, 1351, 1348, 69, - 1356, 69, 1349, 1352, 1357, 1346, 1350, 1345, 69, 69, - 69, 1355, 69, 1361, 69, 69, 1353, 1363, 69, 1354, - 69, 1365, 69, 69, 1367, 69, 69, 1366, 1359, 1358, - 69, 69, 1360, 1369, 1368, 1362, 1371, 69, 69, 69, - 1373, 1364, 69, 1370, 1374, 69, 69, 1375, 1376, 69, - 69, 1372, 69, 1383, 69, 69, 69, 69, 1381, 69, + 70, 70, 1328, 70, 70, 70, 1334, 70, 70, 70, + 1338, 1335, 1343, 70, 70, 1337, 1339, 1340, 70, 70, + 1346, 1344, 1347, 70, 70, 70, 1341, 1348, 1342, 1349, + 70, 1345, 70, 70, 1351, 1352, 70, 1350, 70, 1355, + 1354, 70, 70, 70, 70, 1353, 70, 70, 1358, 70, + 70, 70, 70, 1359, 1362, 1367, 70, 70, 1360, 1363, + 1357, 70, 1361, 1356, 1368, 70, 70, 1366, 1372, 70, + 70, 1365, 1364, 1374, 70, 70, 1376, 70, 1369, 70, + 1370, 1378, 70, 1377, 1380, 1371, 1373, 70, 70, 1382, + 70, 1379, 70, 70, 70, 70, 1375, 1384, 1385, 70, - 1385, 1377, 1378, 1379, 69, 1386, 69, 1389, 1380, 1387, - 1382, 69, 1384, 1388, 1391, 69, 69, 1393, 69, 1390, - 69, 1395, 69, 69, 1392, 69, 1397, 69, 69, 1400, - 1401, 69, 69, 69, 1404, 69, 69, 1394, 69, 69, - 69, 1402, 69, 1398, 1396, 1406, 69, 1409, 1407, 1399, - 69, 1405, 1413, 69, 1403, 1412, 69, 69, 69, 1416, - 69, 1417, 1418, 69, 1415, 69, 1408, 69, 1410, 1411, - 69, 69, 69, 69, 69, 1419, 1414, 1424, 69, 1422, - 1420, 69, 69, 1427, 69, 1423, 69, 69, 69, 69, - 1429, 69, 1421, 69, 1435, 69, 1425, 1434, 69, 1428, + 1381, 70, 1386, 1387, 70, 1388, 1389, 1390, 70, 70, + 1394, 70, 1391, 1396, 70, 70, 70, 1383, 1397, 70, + 70, 70, 1399, 70, 1392, 1400, 1402, 70, 1393, 1398, + 70, 1395, 70, 1406, 70, 70, 1401, 70, 1408, 1403, + 70, 70, 70, 1404, 70, 1411, 1412, 70, 1405, 70, + 70, 1413, 1415, 70, 70, 70, 70, 70, 70, 1420, + 1409, 1407, 1417, 1410, 70, 1416, 1418, 70, 1424, 1423, + 1414, 70, 70, 70, 70, 1427, 1429, 70, 1428, 1426, + 1419, 70, 1421, 1422, 70, 70, 70, 70, 70, 70, + 1430, 1425, 1435, 1432, 70, 1431, 70, 70, 1438, 70, - 1437, 69, 1432, 69, 1436, 69, 1430, 1426, 1431, 1438, - 1433, 1440, 69, 69, 1439, 1444, 1445, 69, 69, 1442, - 1446, 69, 1448, 69, 1441, 1447, 69, 69, 69, 69, - 1451, 69, 69, 1443, 69, 1450, 69, 1456, 1453, 1452, - 1458, 1454, 69, 69, 1449, 69, 69, 69, 69, 1461, - 1460, 1462, 69, 2237, 1457, 1465, 1455, 1459, 1463, 69, - 69, 69, 1464, 69, 69, 69, 1466, 69, 1467, 69, - 1468, 69, 1470, 69, 1469, 69, 1471, 1475, 69, 69, - 69, 1472, 69, 1473, 69, 1477, 69, 1474, 1476, 1478, - 69, 69, 69, 1480, 69, 1485, 1483, 69, 69, 1484, + 1434, 70, 70, 70, 70, 1440, 1433, 70, 70, 70, + 70, 70, 1436, 1445, 1439, 1461, 1446, 1443, 1448, 70, + 1447, 1441, 1437, 1442, 70, 70, 1444, 1451, 70, 1452, + 70, 1455, 1456, 70, 70, 1449, 1457, 70, 1459, 1453, + 1450, 1458, 70, 1462, 70, 70, 70, 70, 70, 70, + 1454, 1464, 70, 1467, 70, 1469, 70, 1463, 1465, 70, + 1460, 70, 70, 70, 1472, 1471, 1470, 1473, 70, 1474, + 70, 1476, 70, 1466, 1468, 70, 1475, 70, 1477, 70, + 1478, 70, 70, 70, 70, 1479, 1482, 1481, 70, 70, + 1480, 1486, 70, 70, 70, 70, 1483, 1489, 70, 1488, - 69, 69, 1479, 69, 1481, 69, 1487, 1492, 69, 1490, - 1482, 1486, 1491, 69, 69, 69, 1489, 1488, 1496, 69, - 69, 1498, 69, 69, 69, 1499, 1500, 69, 1495, 1493, - 1494, 69, 69, 69, 69, 1504, 1497, 69, 69, 1501, - 1502, 1505, 1503, 69, 69, 69, 69, 69, 69, 69, - 1507, 69, 69, 1512, 69, 1508, 1509, 1519, 1506, 1516, - 69, 1511, 69, 1515, 69, 69, 1513, 1517, 1514, 1520, - 1522, 1510, 1518, 69, 69, 1523, 69, 69, 69, 69, - 69, 1525, 1521, 69, 1526, 1528, 69, 1527, 1530, 69, - 69, 1532, 1524, 1529, 69, 1534, 1533, 69, 69, 69, + 1484, 1485, 1487, 70, 70, 70, 70, 70, 70, 70, + 1494, 1496, 1491, 1495, 70, 1490, 70, 70, 70, 1498, + 70, 1497, 1492, 1501, 1493, 1502, 70, 1500, 1503, 70, + 1499, 70, 1507, 70, 70, 1509, 1504, 70, 70, 1510, + 70, 1505, 1511, 70, 70, 1506, 70, 70, 1512, 70, + 1508, 1513, 70, 1515, 70, 70, 1516, 70, 70, 70, + 70, 70, 70, 70, 1527, 70, 1514, 1518, 1523, 1519, + 1517, 1520, 1526, 1522, 70, 70, 70, 70, 1530, 1528, + 1521, 1524, 1531, 1525, 70, 70, 70, 1534, 70, 1533, + 70, 70, 70, 1536, 1529, 70, 1532, 1537, 70, 70, - 69, 1538, 1535, 69, 69, 1539, 1531, 69, 69, 69, - 69, 1541, 1544, 69, 69, 1545, 1536, 1540, 69, 1537, - 1548, 69, 69, 1543, 69, 1546, 69, 1542, 69, 1549, - 1550, 69, 1552, 1551, 69, 1553, 69, 69, 1547, 1556, - 1558, 69, 69, 1557, 69, 1554, 69, 69, 1555, 69, - 69, 1559, 1561, 69, 1562, 69, 1560, 69, 69, 1563, - 69, 1567, 69, 69, 1569, 1573, 69, 69, 1575, 69, - 1564, 1565, 1572, 1566, 1568, 1570, 1574, 69, 69, 69, - 69, 69, 1577, 1580, 1578, 2237, 69, 1571, 1581, 69, - 1584, 69, 69, 1579, 1582, 69, 1576, 69, 1585, 1589, + 1538, 1539, 1541, 70, 1535, 70, 1540, 70, 70, 1544, + 1543, 70, 70, 1545, 1549, 70, 1546, 70, 1548, 70, + 70, 1542, 1550, 70, 70, 1555, 70, 1552, 1551, 70, + 1547, 70, 1556, 70, 1559, 70, 70, 1561, 1554, 70, + 70, 1560, 1553, 70, 1557, 70, 1563, 70, 1564, 70, + 70, 1562, 1565, 1558, 70, 1566, 1567, 1569, 70, 1570, + 70, 70, 70, 70, 70, 70, 1572, 1573, 70, 70, + 1568, 70, 1571, 70, 1578, 70, 1574, 1580, 1584, 70, + 70, 70, 70, 1576, 1575, 1577, 70, 1579, 1581, 1583, + 1585, 1586, 70, 70, 70, 70, 70, 1588, 1591, 1589, - 69, 1583, 69, 1590, 1588, 69, 69, 1593, 1595, 69, - 1592, 1594, 1586, 69, 69, 69, 69, 1591, 69, 1596, - 1597, 69, 69, 1587, 69, 69, 1600, 69, 69, 69, - 1603, 69, 1606, 69, 69, 1598, 69, 69, 1607, 1602, - 69, 1609, 1608, 1599, 69, 1601, 1604, 1605, 69, 69, - 69, 69, 69, 69, 69, 1610, 1611, 1620, 69, 1612, - 69, 69, 69, 1617, 1621, 2237, 1622, 1613, 1615, 1619, - 69, 1616, 1614, 1618, 1623, 1624, 69, 1625, 1626, 69, - 1627, 69, 69, 69, 1630, 1628, 69, 69, 1633, 69, - 69, 1634, 69, 69, 69, 1629, 1631, 1635, 69, 1632, + 1582, 1587, 70, 1592, 70, 1599, 1594, 70, 1590, 70, + 1593, 1595, 70, 70, 1596, 1600, 70, 70, 1601, 1602, + 1604, 1606, 70, 70, 70, 70, 70, 1603, 1597, 1605, + 1607, 70, 70, 70, 70, 1608, 70, 70, 1611, 1598, + 70, 70, 1614, 1609, 70, 1617, 70, 70, 70, 1613, + 70, 1618, 70, 1620, 70, 70, 1619, 1610, 1615, 1612, + 1616, 70, 70, 70, 70, 70, 70, 1631, 70, 70, + 70, 1622, 1632, 1623, 70, 136, 1621, 1628, 1624, 1630, + 70, 1626, 70, 1633, 1627, 1625, 70, 1629, 1634, 70, + 1636, 1637, 70, 1635, 1638, 70, 70, 1639, 70, 1640, - 1639, 69, 1640, 69, 1642, 69, 1638, 69, 1644, 69, - 1636, 1645, 69, 1637, 69, 69, 69, 1641, 1649, 69, - 69, 1648, 1651, 69, 69, 1643, 69, 69, 1646, 69, - 1654, 69, 1653, 69, 1647, 69, 1655, 1657, 69, 1650, - 1661, 69, 1652, 69, 69, 69, 1659, 69, 1658, 69, - 69, 1656, 1660, 1665, 1666, 69, 1668, 69, 69, 69, - 1664, 69, 1672, 1662, 69, 1670, 1667, 1663, 69, 69, - 1669, 1674, 69, 1673, 69, 69, 69, 1676, 69, 69, - 1675, 69, 69, 1680, 1681, 1671, 69, 69, 1678, 69, - 69, 1683, 69, 1691, 1687, 1684, 1682, 1679, 1685, 1677, + 70, 1641, 1644, 70, 70, 1642, 70, 70, 1643, 1645, + 70, 1646, 1650, 70, 1651, 70, 70, 70, 1647, 1653, + 70, 70, 1649, 1655, 70, 1656, 70, 1648, 70, 70, + 70, 1657, 1660, 70, 1659, 1652, 1662, 70, 70, 1654, + 70, 70, 70, 1666, 1665, 70, 1664, 1658, 70, 1661, + 1668, 70, 70, 1672, 70, 70, 1663, 70, 1667, 70, + 70, 70, 70, 1670, 1669, 1676, 1677, 70, 1679, 70, + 70, 1671, 70, 70, 1675, 1673, 70, 1681, 70, 1678, + 1674, 70, 1680, 70, 1683, 1684, 70, 70, 1685, 70, + 1686, 70, 1687, 70, 1690, 70, 1691, 70, 1682, 1698, - 69, 1686, 69, 69, 69, 1692, 1688, 69, 1693, 69, - 1689, 69, 1690, 69, 69, 69, 1694, 69, 1698, 69, - 69, 69, 2237, 1703, 1695, 69, 1696, 1699, 1697, 69, - 1700, 1702, 1701, 69, 1704, 1707, 69, 1706, 1708, 69, - 69, 1705, 1710, 1711, 69, 1709, 69, 1712, 69, 69, - 1713, 69, 69, 69, 1717, 69, 69, 69, 1714, 1718, - 1719, 1720, 69, 69, 69, 1715, 69, 69, 1721, 69, - 69, 1716, 1728, 1725, 69, 1727, 1722, 69, 69, 69, - 1724, 69, 1733, 1729, 1723, 69, 1732, 1726, 69, 69, - 69, 1735, 1730, 1734, 69, 1731, 69, 1737, 69, 69, + 1692, 70, 1689, 70, 70, 70, 1688, 70, 1693, 134, + 1694, 1697, 1695, 1696, 70, 70, 70, 1702, 1699, 1703, + 70, 1704, 70, 70, 1701, 70, 70, 1700, 70, 1705, + 70, 70, 70, 70, 70, 1709, 1714, 70, 1708, 1715, + 1710, 70, 1706, 1713, 1707, 70, 1711, 1712, 1718, 70, + 1719, 70, 1721, 1717, 70, 1722, 70, 1716, 70, 1720, + 70, 70, 1724, 70, 70, 70, 70, 1728, 70, 70, + 70, 70, 1729, 1730, 1723, 1725, 1731, 70, 1726, 70, + 70, 70, 70, 70, 1727, 1732, 1736, 70, 1738, 1733, + 1739, 1734, 70, 1735, 70, 70, 70, 1744, 1740, 70, - 1740, 1738, 69, 1742, 1736, 69, 1741, 1744, 69, 69, - 69, 1746, 69, 69, 1750, 69, 69, 1743, 69, 1745, - 1739, 1748, 1752, 1749, 1751, 69, 69, 1753, 69, 69, - 69, 1747, 69, 69, 69, 69, 69, 1756, 1759, 69, - 1761, 69, 1760, 1764, 69, 1754, 69, 1758, 69, 1765, - 1766, 69, 1755, 1757, 1762, 69, 1763, 69, 69, 1768, - 1767, 69, 69, 1772, 69, 1773, 69, 1771, 1774, 69, - 69, 69, 1769, 69, 1777, 1770, 69, 69, 69, 69, - 69, 69, 1775, 69, 1780, 1782, 1784, 69, 1778, 1776, - 1779, 1781, 1785, 69, 69, 69, 69, 69, 69, 1791, + 1743, 1737, 70, 70, 1746, 1741, 70, 1745, 70, 1748, + 1742, 70, 70, 70, 1749, 70, 1751, 1752, 1753, 70, + 1747, 1755, 70, 70, 70, 1757, 70, 70, 70, 70, + 70, 1754, 1756, 1759, 1760, 1761, 70, 1763, 1750, 1762, + 70, 70, 1764, 70, 70, 1758, 1765, 70, 70, 70, + 1770, 70, 1767, 70, 1772, 70, 70, 1775, 70, 2248, + 70, 1769, 1771, 70, 1776, 70, 1766, 1768, 1777, 70, + 1778, 1774, 70, 1773, 1779, 70, 70, 70, 1783, 70, + 1784, 70, 1782, 1785, 70, 70, 70, 70, 1788, 1780, + 1781, 70, 70, 70, 70, 70, 70, 1786, 70, 1791, - 69, 1783, 69, 69, 69, 1800, 69, 69, 1788, 1792, - 1796, 1790, 69, 69, 1787, 1801, 69, 69, 1798, 1786, - 1789, 1793, 1799, 69, 1794, 69, 1797, 1795, 69, 1802, - 69, 69, 69, 69, 69, 69, 1804, 69, 69, 69, - 1812, 1803, 69, 1809, 1813, 69, 1814, 69, 69, 1806, - 1805, 69, 69, 1808, 1807, 1810, 1811, 69, 1816, 69, - 1815, 69, 1817, 1822, 69, 1824, 1818, 1823, 69, 69, - 1819, 69, 69, 1820, 69, 69, 69, 69, 1821, 1825, - 1828, 69, 1831, 1832, 1826, 1833, 69, 69, 69, 1834, - 69, 1827, 1835, 69, 1829, 69, 1830, 69, 69, 1837, + 1793, 1795, 70, 1789, 1787, 1790, 1792, 1796, 70, 70, + 70, 70, 70, 70, 1802, 70, 1794, 70, 70, 70, + 1811, 70, 70, 1799, 1803, 1807, 1801, 70, 70, 1798, + 1812, 70, 70, 1809, 1797, 1800, 1804, 1810, 70, 1805, + 70, 1808, 1806, 70, 1813, 70, 70, 70, 70, 70, + 70, 1815, 70, 70, 70, 1823, 1814, 70, 1820, 1824, + 70, 1825, 70, 70, 1817, 1816, 70, 70, 1819, 1818, + 1821, 1822, 70, 1827, 70, 1826, 70, 1828, 1833, 70, + 1835, 1829, 1834, 70, 70, 1830, 70, 70, 1831, 70, + 70, 70, 70, 1832, 1836, 1839, 70, 1842, 1843, 1837, - 69, 1842, 69, 1841, 69, 69, 69, 1836, 1845, 69, - 1846, 69, 69, 69, 69, 1838, 1839, 1848, 1840, 1843, - 1849, 69, 69, 1844, 2237, 1850, 1847, 1851, 69, 1852, - 69, 1854, 69, 1853, 69, 1856, 69, 69, 1857, 1855, - 69, 69, 69, 69, 1858, 69, 69, 1861, 69, 69, - 1860, 1863, 69, 1859, 1867, 69, 1865, 1862, 69, 69, - 1868, 1870, 69, 69, 1864, 1871, 69, 1866, 69, 69, - 1872, 1874, 1881, 1869, 1873, 69, 69, 69, 69, 1876, - 1875, 1878, 2237, 1877, 1879, 69, 1880, 69, 1882, 69, - 69, 1885, 69, 1883, 69, 1884, 1886, 69, 69, 69, + 1844, 70, 70, 70, 1845, 70, 1838, 1846, 70, 1840, + 70, 1841, 70, 70, 1848, 70, 1853, 70, 1852, 70, + 70, 70, 1847, 1856, 70, 1857, 70, 70, 70, 70, + 1849, 1850, 1859, 1851, 1854, 1860, 70, 70, 1855, 2248, + 1861, 1858, 1862, 70, 1863, 70, 1865, 70, 1864, 70, + 1867, 70, 70, 1868, 1866, 70, 70, 70, 70, 1869, + 70, 70, 1872, 70, 70, 1871, 1874, 70, 1870, 1878, + 70, 1876, 1873, 70, 70, 1879, 1881, 70, 70, 1875, + 1882, 70, 1877, 70, 70, 1883, 1885, 1892, 1880, 1884, + 70, 70, 70, 70, 1887, 1886, 1889, 2248, 1888, 1890, - 69, 69, 69, 1887, 1889, 1891, 69, 69, 1888, 1890, - 1893, 1894, 69, 69, 1892, 69, 69, 69, 1899, 69, - 69, 69, 69, 69, 1897, 1898, 1896, 69, 1900, 69, - 1895, 1904, 69, 1908, 69, 69, 69, 1907, 1906, 1901, - 69, 1902, 1903, 69, 1913, 69, 1905, 1912, 1914, 69, - 69, 1910, 69, 1915, 1909, 69, 69, 1916, 69, 69, - 1911, 69, 1919, 69, 1917, 69, 1922, 1923, 69, 1918, - 69, 69, 1926, 1920, 1927, 69, 1921, 69, 1929, 69, - 1928, 69, 1930, 1924, 1931, 69, 1932, 69, 69, 69, - 1925, 1935, 1936, 69, 69, 1938, 69, 69, 1937, 69, + 70, 1891, 70, 1893, 70, 70, 1896, 70, 1894, 70, + 1895, 1897, 70, 70, 70, 70, 70, 70, 1898, 1900, + 1902, 70, 70, 1899, 1901, 1904, 1905, 70, 70, 1903, + 70, 70, 70, 1910, 70, 70, 70, 70, 70, 1908, + 1909, 1907, 70, 1911, 70, 1906, 1915, 70, 1919, 70, + 70, 70, 1918, 1917, 1912, 70, 1913, 1914, 70, 1924, + 70, 1916, 1923, 1925, 70, 70, 1921, 70, 1926, 1920, + 70, 70, 1927, 70, 70, 1922, 70, 1930, 70, 1928, + 70, 1933, 1934, 70, 1929, 70, 70, 1937, 1931, 1938, + 70, 1932, 70, 1940, 70, 1939, 70, 1941, 1935, 1942, - 1939, 69, 1942, 1934, 69, 1941, 1933, 69, 69, 1945, - 69, 1944, 69, 69, 69, 69, 1947, 1946, 69, 1940, - 69, 69, 69, 1951, 1955, 69, 69, 69, 69, 1943, - 69, 1959, 1949, 1950, 69, 1957, 1954, 69, 1952, 1948, - 69, 1953, 69, 1960, 69, 1956, 69, 1958, 69, 1961, - 1962, 1963, 69, 1966, 69, 1969, 69, 1964, 69, 69, - 69, 1970, 1972, 69, 1974, 69, 1965, 1973, 69, 69, - 69, 69, 1967, 1975, 1968, 1978, 69, 1971, 1976, 69, - 1980, 69, 69, 1979, 1982, 69, 1986, 69, 1977, 1983, - 69, 69, 69, 69, 1985, 1984, 1981, 69, 69, 69, + 70, 1943, 70, 70, 70, 1936, 1946, 1947, 70, 70, + 1949, 70, 70, 1948, 70, 1950, 70, 1953, 1945, 70, + 1952, 1944, 70, 70, 1956, 70, 1955, 70, 70, 70, + 70, 1958, 1957, 70, 1951, 70, 70, 70, 1962, 1966, + 70, 70, 70, 70, 1954, 70, 1970, 1960, 1961, 70, + 1968, 1965, 70, 1963, 1959, 70, 1964, 70, 1971, 70, + 1967, 70, 1969, 70, 1972, 1973, 1974, 70, 1977, 70, + 1980, 70, 1975, 70, 70, 70, 1981, 1983, 70, 1985, + 70, 1976, 1984, 70, 70, 70, 70, 1978, 1986, 1979, + 1989, 70, 1982, 1987, 70, 1991, 70, 70, 1990, 1993, - 1987, 69, 1992, 1991, 1988, 69, 1997, 69, 1993, 1990, - 1994, 69, 1995, 69, 69, 1996, 69, 2002, 1989, 69, - 69, 69, 1998, 69, 2001, 2003, 2004, 69, 69, 69, - 2008, 69, 69, 2006, 1999, 2000, 69, 2010, 69, 69, - 2013, 69, 2005, 69, 69, 69, 69, 2007, 69, 2015, - 69, 2011, 2016, 69, 2012, 69, 2009, 2014, 2019, 69, - 2020, 69, 2017, 2022, 69, 2024, 69, 2018, 2025, 69, - 2027, 69, 69, 2030, 69, 69, 69, 69, 2023, 2021, - 2029, 69, 2026, 69, 69, 2034, 69, 69, 2028, 2037, - 69, 2038, 69, 69, 69, 2035, 2031, 69, 2043, 69, + 70, 1997, 70, 1988, 1994, 70, 70, 70, 70, 1996, + 1995, 1992, 70, 70, 70, 1998, 70, 2003, 2002, 1999, + 70, 2008, 70, 2004, 2001, 2005, 70, 2006, 70, 70, + 2007, 70, 2013, 2000, 70, 70, 70, 2009, 70, 2012, + 2014, 2015, 70, 70, 70, 2019, 70, 70, 2017, 2010, + 2011, 70, 2021, 70, 70, 2024, 70, 2016, 70, 70, + 70, 70, 2018, 70, 2026, 70, 2022, 2027, 70, 2023, + 70, 2020, 2025, 2030, 70, 2031, 70, 2028, 2033, 70, + 2035, 70, 2029, 2036, 70, 2038, 70, 70, 2041, 70, + 70, 70, 70, 2034, 2032, 2040, 70, 2037, 70, 70, - 2032, 69, 2033, 2039, 2044, 2041, 2040, 69, 2036, 69, - 2045, 69, 2048, 2049, 69, 69, 69, 2042, 69, 2046, - 69, 2052, 69, 2050, 2054, 69, 2057, 69, 2058, 69, - 69, 2047, 69, 2051, 2060, 69, 69, 2064, 69, 69, - 69, 2053, 2055, 2056, 2061, 2063, 2065, 69, 2066, 69, - 2062, 2059, 69, 2068, 69, 69, 69, 2067, 69, 2071, - 2072, 69, 69, 69, 69, 2076, 69, 69, 69, 69, - 2080, 69, 2077, 2075, 2069, 69, 2073, 2079, 2070, 69, - 2081, 69, 2078, 2074, 69, 69, 69, 69, 69, 2084, - 69, 69, 2086, 69, 69, 2087, 69, 2085, 69, 2082, + 2045, 70, 70, 2039, 2048, 70, 2049, 70, 70, 70, + 2046, 2042, 70, 2054, 70, 2043, 70, 2044, 2050, 2055, + 2052, 2051, 70, 2047, 70, 2056, 70, 2059, 2060, 70, + 70, 70, 2053, 70, 2057, 70, 2063, 70, 2061, 2065, + 70, 2068, 70, 2069, 70, 70, 2058, 70, 2062, 2071, + 70, 70, 2075, 70, 70, 70, 2064, 2066, 2067, 2072, + 2074, 2076, 70, 2077, 70, 2073, 2070, 70, 2079, 70, + 70, 70, 2078, 70, 2082, 2083, 70, 70, 70, 70, + 2087, 70, 70, 70, 70, 2091, 70, 2088, 2086, 2080, + 70, 2084, 2090, 2081, 70, 2092, 70, 2089, 2085, 70, - 69, 2083, 2237, 2094, 2096, 69, 2090, 2108, 2088, 2089, - 2091, 2092, 2097, 69, 69, 2093, 2095, 69, 2098, 2099, - 69, 2100, 69, 2101, 2102, 69, 69, 2104, 69, 2103, - 69, 2107, 69, 69, 69, 2105, 69, 69, 2112, 2113, - 69, 2114, 69, 69, 2106, 2111, 69, 69, 2109, 2117, - 69, 2116, 2110, 69, 69, 69, 69, 69, 2115, 2237, - 2121, 2122, 2124, 69, 2125, 69, 2126, 69, 2119, 2127, - 69, 69, 2118, 2128, 69, 2120, 2123, 2130, 69, 69, - 2129, 2131, 69, 69, 2133, 69, 2135, 69, 69, 69, - 2138, 2132, 2137, 69, 69, 69, 69, 69, 69, 2140, + 70, 70, 70, 70, 2095, 70, 70, 2097, 70, 70, + 2098, 70, 2096, 70, 2093, 70, 2094, 2248, 2105, 2107, + 70, 2101, 2119, 2099, 2100, 2102, 2103, 2108, 70, 70, + 2104, 2106, 70, 2109, 2110, 70, 2111, 70, 2112, 2113, + 70, 70, 2115, 70, 2114, 70, 2118, 70, 70, 70, + 2116, 70, 70, 2123, 2124, 70, 2125, 70, 70, 2117, + 2122, 70, 70, 2120, 2128, 70, 2127, 2121, 70, 70, + 70, 70, 70, 2126, 2248, 2132, 2133, 2135, 70, 2136, + 70, 2137, 70, 2130, 2138, 70, 70, 2129, 2139, 70, + 2131, 2134, 2141, 70, 70, 2140, 2142, 70, 70, 2144, - 2134, 69, 69, 69, 69, 2144, 2136, 2139, 2145, 69, - 69, 69, 69, 69, 2141, 2142, 69, 2143, 2146, 69, - 69, 2149, 69, 2147, 2150, 2237, 2148, 2157, 69, 2153, - 69, 2151, 2159, 69, 2152, 2155, 69, 2160, 69, 2158, - 2161, 69, 2156, 2162, 2154, 69, 69, 69, 2166, 69, - 2163, 2168, 69, 69, 69, 69, 69, 69, 2172, 2173, - 69, 69, 2165, 2167, 69, 69, 69, 69, 2169, 69, - 2175, 2164, 69, 2170, 2174, 2171, 2178, 69, 69, 69, - 2176, 2177, 2180, 69, 2183, 2179, 69, 69, 2184, 2237, - 2181, 2186, 69, 69, 2187, 69, 69, 2182, 69, 69, + 70, 2146, 70, 70, 70, 2149, 2143, 2148, 70, 70, + 70, 70, 70, 70, 2151, 2145, 70, 70, 70, 70, + 2155, 2147, 2150, 2156, 70, 70, 70, 70, 70, 2152, + 2153, 70, 2154, 2157, 70, 70, 2160, 70, 2158, 2161, + 2248, 2159, 2168, 70, 2164, 70, 2162, 2170, 70, 2163, + 2166, 70, 2171, 70, 2169, 2172, 70, 2167, 2173, 2165, + 70, 70, 70, 2177, 70, 2174, 2179, 70, 70, 70, + 70, 70, 70, 2183, 2184, 70, 70, 2176, 2178, 70, + 70, 70, 70, 2180, 70, 2186, 2175, 70, 2181, 2185, + 2182, 2189, 70, 70, 70, 2187, 2188, 2191, 70, 2194, - 2188, 2189, 2192, 2190, 69, 2185, 2191, 69, 69, 2193, - 69, 2194, 69, 2197, 69, 69, 69, 69, 2195, 69, - 2200, 69, 69, 2204, 69, 69, 2196, 2199, 69, 2205, - 69, 2198, 69, 2207, 2203, 2201, 2202, 69, 2208, 69, - 69, 2212, 69, 69, 2206, 2209, 2210, 2211, 69, 2215, - 2213, 69, 69, 69, 69, 2214, 2216, 69, 2218, 2219, - 69, 69, 2222, 69, 69, 69, 2225, 2226, 69, 69, - 69, 2217, 2228, 69, 2229, 69, 2220, 2227, 69, 2221, - 69, 69, 2223, 2224, 69, 2230, 2231, 2237, 2233, 2232, - 2235, 69, 2236, 69, 2237, 2237, 2237, 2237, 2237, 2234, + 2190, 70, 70, 2195, 2248, 2192, 2197, 70, 70, 2198, + 70, 70, 2193, 70, 70, 2199, 2200, 2203, 2201, 70, + 2196, 2202, 70, 70, 2204, 70, 2205, 70, 2208, 70, + 70, 70, 70, 2206, 70, 2211, 70, 70, 2215, 70, + 70, 2207, 2210, 70, 2216, 70, 2209, 70, 2218, 2214, + 2212, 2213, 70, 2219, 70, 70, 2223, 70, 70, 2217, + 2220, 2221, 2222, 70, 2226, 2224, 70, 70, 70, 70, + 2225, 2227, 70, 2229, 2230, 70, 70, 2233, 70, 70, + 70, 2236, 2237, 70, 70, 70, 2228, 2239, 70, 2240, + 70, 2231, 2238, 70, 2232, 70, 70, 2234, 2235, 70, - 41, 41, 41, 41, 41, 41, 41, 46, 46, 46, - 46, 46, 46, 46, 51, 51, 51, 51, 51, 51, - 51, 57, 57, 57, 57, 57, 57, 57, 62, 62, - 62, 62, 62, 62, 62, 72, 72, 2237, 72, 72, - 72, 72, 131, 131, 2237, 2237, 2237, 131, 131, 133, - 133, 2237, 2237, 133, 2237, 133, 135, 2237, 2237, 2237, - 2237, 2237, 135, 138, 138, 2237, 2237, 2237, 138, 138, - 140, 2237, 2237, 2237, 2237, 2237, 140, 142, 142, 2237, - 142, 142, 142, 142, 73, 73, 2237, 73, 73, 73, - 73, 13, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, + 2241, 2242, 2248, 2244, 2243, 2246, 70, 2247, 70, 2248, + 2248, 2248, 2248, 2248, 2245, 42, 42, 42, 42, 42, + 42, 42, 47, 47, 47, 47, 47, 47, 47, 52, + 52, 52, 52, 52, 52, 52, 58, 58, 58, 58, + 58, 58, 58, 63, 63, 63, 63, 63, 63, 63, + 73, 73, 2248, 73, 73, 73, 73, 133, 133, 2248, + 2248, 2248, 133, 133, 135, 135, 2248, 2248, 135, 2248, + 135, 137, 2248, 2248, 2248, 2248, 2248, 137, 140, 140, + 2248, 2248, 2248, 140, 140, 142, 2248, 2248, 2248, 2248, + 2248, 142, 144, 144, 2248, 144, 144, 144, 144, 74, - 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, - 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, - 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, - 2237, 2237 + 74, 2248, 74, 74, 74, 74, 13, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248 } ; -static yyconst flex_int16_t yy_chk[4433] = +static yyconst flex_int16_t yy_chk[4448] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1682,487 +1686,488 @@ static yyconst flex_int16_t yy_chk[4433] = 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 5, 3, 6, 20, 4, 20, 20, 5, 20, 6, 7, 7, 7, 7, 20, 7, 8, 8, 8, 8, - 120, 8, 7, 9, 9, 9, 120, 33, 8, 10, - 10, 10, 15, 24, 9, 21, 15, 24, 21, 21, - 10, 11, 11, 11, 11, 11, 11, 19, 33, 19, + 2254, 8, 7, 9, 9, 9, 22, 22, 8, 10, + 10, 10, 15, 25, 9, 21, 15, 25, 21, 21, + 10, 11, 11, 11, 11, 11, 11, 19, 51, 19, - 19, 2243, 19, 11, 25, 25, 21, 24, 19, 19, - 77, 28, 11, 12, 12, 12, 12, 12, 12, 25, - 22, 22, 26, 26, 23, 12, 28, 30, 22, 23, - 77, 26, 22, 23, 12, 22, 23, 27, 23, 23, - 29, 27, 30, 775, 27, 29, 31, 31, 70, 32, - 32, 27, 70, 27, 32, 31, 76, 34, 80, 35, - 76, 31, 34, 36, 36, 31, 34, 80, 36, 37, - 32, 140, 34, 35, 37, 34, 50, 37, 36, 50, - 39, 36, 34, 88, 37, 45, 45, 67, 37, 37, - 38, 38, 81, 38, 39, 40, 40, 61, 61, 39, + 19, 51, 19, 11, 26, 26, 21, 25, 19, 19, + 78, 29, 11, 12, 12, 12, 12, 12, 12, 26, + 23, 23, 27, 27, 24, 12, 29, 31, 23, 24, + 78, 27, 23, 24, 12, 23, 24, 28, 24, 24, + 30, 28, 31, 34, 28, 30, 32, 32, 71, 33, + 33, 28, 71, 28, 33, 32, 105, 35, 91, 36, + 40, 32, 35, 105, 34, 32, 35, 46, 46, 91, + 33, 82, 35, 36, 40, 35, 37, 37, 38, 40, + 82, 37, 35, 38, 39, 39, 38, 39, 62, 62, + 209, 37, 209, 38, 37, 41, 41, 38, 38, 81, - 40, 67, 75, 88, 40, 75, 81, 56, 38, 56, - 56, 64, 56, 64, 64, 66, 64, 66, 66, 69, - 66, 69, 69, 64, 69, 79, 72, 82, 72, 72, - 69, 72, 78, 82, 83, 78, 84, 72, 72, 82, - 85, 86, 87, 79, 89, 90, 91, 86, 78, 97, - 92, 94, 83, 83, 92, 89, 87, 93, 84, 85, - 86, 138, 93, 90, 91, 94, 95, 96, 97, 95, - 98, 99, 95, 96, 99, 98, 100, 101, 99, 102, - 103, 104, 105, 102, 106, 95, 95, 103, 107, 105, - 137, 101, 96, 108, 104, 98, 110, 106, 109, 112, + 41, 68, 39, 57, 41, 57, 57, 65, 57, 65, + 65, 67, 65, 67, 67, 68, 67, 81, 70, 65, + 70, 70, 73, 70, 73, 73, 77, 73, 76, 70, + 77, 76, 79, 73, 73, 79, 80, 83, 84, 80, + 85, 86, 87, 88, 84, 90, 89, 107, 92, 88, + 84, 83, 80, 93, 107, 96, 99, 786, 85, 85, + 89, 87, 88, 86, 94, 90, 92, 95, 94, 96, + 97, 93, 95, 97, 98, 99, 97, 100, 101, 102, + 98, 101, 100, 103, 104, 101, 109, 106, 104, 97, + 97, 108, 110, 112, 111, 114, 113, 103, 111, 98, - 100, 111, 109, 113, 113, 114, 111, 115, 107, 116, - 111, 108, 117, 125, 110, 118, 121, 119, 123, 112, - 115, 122, 122, 124, 116, 114, 115, 127, 121, 118, - 119, 117, 127, 118, 125, 126, 123, 126, 128, 124, - 130, 129, 122, 132, 132, 130, 134, 139, 139, 134, - 128, 136, 144, 136, 136, 144, 136, 147, 126, 129, - 141, 149, 141, 141, 142, 141, 142, 142, 145, 142, - 148, 146, 147, 145, 150, 152, 142, 146, 148, 151, - 149, 153, 155, 228, 151, 154, 228, 155, 161, 150, - 153, 154, 154, 156, 156, 152, 157, 159, 158, 164, + 106, 113, 100, 102, 108, 113, 109, 115, 115, 116, + 110, 112, 117, 118, 119, 114, 120, 122, 127, 121, + 124, 124, 125, 122, 123, 117, 126, 131, 118, 116, + 120, 117, 121, 119, 120, 128, 123, 128, 129, 127, + 125, 124, 126, 129, 130, 131, 132, 134, 134, 136, + 147, 132, 136, 141, 141, 147, 130, 138, 128, 138, + 138, 143, 138, 143, 143, 144, 143, 144, 144, 146, + 144, 149, 146, 148, 150, 151, 152, 144, 153, 148, + 155, 156, 154, 151, 158, 150, 149, 154, 160, 158, + 156, 157, 168, 153, 160, 152, 168, 157, 157, 164, - 158, 159, 157, 158, 160, 160, 159, 161, 162, 163, - 166, 159, 165, 162, 163, 166, 165, 159, 159, 167, - 158, 168, 164, 169, 170, 171, 172, 174, 173, 173, - 171, 172, 174, 167, 173, 169, 168, 175, 169, 176, - 181, 177, 170, 178, 178, 180, 173, 177, 173, 181, - 179, 180, 182, 183, 185, 176, 179, 175, 184, 183, - 185, 186, 179, 184, 187, 188, 189, 186, 190, 191, - 192, 187, 189, 182, 193, 191, 194, 197, 188, 195, - 196, 198, 193, 200, 195, 199, 201, 200, 190, 194, - 199, 202, 192, 197, 203, 196, 204, 202, 205, 207, + 155, 159, 159, 161, 165, 161, 162, 167, 161, 165, + 162, 163, 163, 171, 166, 162, 169, 170, 164, 166, + 162, 169, 172, 173, 174, 161, 162, 162, 171, 174, + 167, 170, 178, 175, 172, 179, 142, 172, 175, 176, + 176, 173, 177, 180, 182, 176, 140, 177, 185, 180, + 182, 179, 178, 181, 181, 183, 182, 176, 184, 176, + 186, 183, 191, 187, 188, 189, 186, 184, 187, 185, + 188, 189, 190, 193, 192, 191, 194, 195, 196, 190, + 192, 197, 194, 198, 201, 199, 196, 200, 198, 204, + 202, 205, 203, 193, 197, 202, 203, 205, 206, 195, - 209, 198, 204, 206, 208, 206, 207, 215, 201, 210, - 208, 212, 203, 203, 211, 211, 213, 212, 205, 209, - 216, 210, 213, 214, 217, 214, 218, 219, 224, 232, - 215, 220, 216, 219, 218, 212, 220, 222, 221, 223, - 225, 226, 214, 217, 221, 227, 224, 232, 229, 226, - 229, 235, 222, 223, 225, 230, 230, 231, 233, 233, - 231, 234, 234, 236, 135, 237, 239, 235, 237, 238, - 227, 240, 241, 238, 242, 239, 246, 240, 236, 244, - 242, 243, 243, 245, 244, 247, 241, 248, 249, 245, - 250, 250, 251, 252, 253, 251, 246, 254, 253, 255, + 199, 207, 208, 200, 201, 210, 212, 207, 211, 213, + 218, 204, 210, 217, 211, 217, 206, 206, 214, 214, + 215, 213, 208, 216, 219, 212, 215, 220, 222, 216, + 221, 228, 217, 218, 222, 223, 219, 224, 221, 225, + 223, 226, 224, 227, 215, 225, 220, 229, 231, 228, + 230, 232, 236, 233, 232, 233, 226, 227, 230, 234, + 234, 229, 235, 237, 237, 235, 238, 238, 239, 241, + 236, 240, 241, 231, 242, 244, 243, 245, 242, 247, + 247, 244, 246, 249, 239, 243, 240, 248, 246, 249, + 250, 245, 248, 251, 252, 253, 254, 254, 255, 256, - 255, 249, 256, 247, 257, 258, 259, 257, 248, 261, - 260, 252, 259, 260, 262, 254, 263, 258, 266, 264, - 256, 261, 264, 262, 265, 263, 267, 270, 267, 267, - 266, 262, 262, 271, 262, 268, 268, 265, 269, 280, - 264, 269, 272, 273, 270, 274, 274, 270, 271, 275, - 277, 272, 273, 278, 275, 276, 276, 279, 278, 280, - 281, 282, 283, 285, 284, 277, 286, 282, 285, 279, - 284, 286, 288, 287, 289, 281, 287, 286, 287, 290, - 292, 291, 283, 293, 295, 292, 288, 291, 290, 294, - 289, 296, 298, 289, 297, 289, 293, 297, 301, 295, + 257, 255, 258, 260, 257, 259, 259, 262, 253, 261, + 250, 251, 261, 265, 325, 252, 263, 256, 266, 262, + 258, 260, 263, 264, 267, 265, 264, 266, 268, 269, + 325, 268, 270, 267, 274, 266, 266, 271, 266, 271, + 271, 275, 269, 276, 270, 272, 272, 273, 277, 268, + 273, 274, 276, 281, 274, 279, 275, 277, 278, 278, + 279, 280, 280, 283, 282, 284, 285, 286, 281, 282, + 287, 288, 292, 286, 289, 283, 293, 288, 290, 289, + 333, 285, 298, 290, 333, 284, 292, 294, 291, 290, + 287, 291, 293, 291, 295, 293, 294, 293, 296, 297, - 300, 303, 304, 312, 293, 296, 298, 301, 312, 294, - 305, 306, 308, 297, 299, 300, 299, 299, 302, 309, - 310, 304, 303, 302, 302, 305, 299, 311, 299, 299, - 299, 306, 307, 299, 313, 308, 315, 314, 307, 309, - 310, 316, 311, 314, 317, 318, 319, 320, 323, 313, - 321, 318, 326, 316, 324, 321, 315, 325, 317, 322, - 322, 330, 322, 320, 133, 327, 326, 327, 323, 331, - 324, 319, 328, 325, 329, 332, 328, 333, 329, 330, - 334, 336, 337, 331, 332, 334, 333, 335, 337, 338, - 336, 335, 339, 329, 341, 332, 340, 332, 339, 341, + 295, 299, 298, 296, 300, 301, 305, 302, 301, 307, + 308, 304, 297, 310, 139, 305, 299, 306, 300, 309, + 297, 302, 306, 306, 301, 303, 304, 303, 303, 308, + 307, 311, 312, 310, 309, 313, 314, 303, 312, 303, + 303, 303, 312, 315, 303, 311, 316, 317, 319, 318, + 320, 323, 317, 321, 319, 322, 314, 323, 313, 324, + 328, 316, 326, 315, 318, 321, 329, 326, 335, 322, + 320, 327, 327, 330, 327, 332, 331, 332, 336, 334, + 328, 347, 329, 334, 324, 337, 335, 338, 339, 330, + 331, 340, 336, 339, 337, 340, 338, 341, 334, 343, - 340, 342, 343, 343, 344, 346, 345, 347, 347, 348, - 338, 345, 349, 350, 351, 348, 349, 344, 346, 351, - 352, 342, 355, 353, 354, 357, 355, 356, 356, 352, - 357, 358, 359, 359, 350, 353, 354, 361, 361, 362, - 363, 364, 365, 366, 369, 368, 131, 370, 363, 372, - 364, 371, 358, 374, 373, 366, 68, 371, 372, 373, - 362, 370, 365, 368, 369, 368, 375, 374, 377, 376, - 378, 377, 379, 380, 375, 376, 378, 381, 380, 382, - 383, 384, 385, 387, 383, 386, 379, 385, 389, 391, - 393, 390, 62, 393, 378, 394, 384, 395, 395, 381, + 345, 347, 342, 344, 345, 337, 341, 337, 342, 344, + 346, 348, 348, 349, 350, 346, 351, 352, 352, 350, + 343, 353, 355, 357, 354, 356, 349, 353, 354, 351, + 356, 360, 357, 358, 359, 360, 361, 361, 363, 362, + 364, 364, 367, 355, 362, 358, 359, 366, 366, 368, + 370, 369, 371, 373, 374, 375, 376, 368, 377, 363, + 369, 378, 376, 367, 371, 379, 378, 377, 380, 375, + 370, 373, 381, 373, 374, 383, 380, 382, 381, 379, + 382, 383, 384, 385, 386, 388, 387, 389, 385, 388, + 390, 392, 391, 394, 397, 390, 384, 395, 396, 383, - 382, 386, 387, 388, 388, 391, 392, 396, 389, 388, - 390, 388, 392, 397, 397, 394, 398, 392, 399, 388, - 400, 401, 388, 402, 405, 404, 406, 411, 403, 388, - 399, 398, 396, 403, 404, 400, 407, 412, 413, 411, - 401, 406, 407, 405, 409, 402, 410, 417, 409, 414, - 416, 413, 410, 415, 415, 412, 416, 414, 418, 417, - 419, 421, 420, 422, 418, 420, 423, 424, 422, 423, - 57, 425, 419, 426, 437, 427, 421, 434, 426, 426, - 428, 428, 437, 424, 429, 429, 424, 425, 427, 430, - 431, 431, 432, 432, 433, 430, 435, 436, 434, 438, + 397, 398, 389, 399, 398, 397, 386, 387, 391, 401, + 392, 393, 393, 394, 396, 137, 395, 393, 403, 393, + 400, 400, 406, 399, 402, 402, 404, 393, 405, 407, + 393, 408, 411, 403, 401, 409, 408, 393, 404, 410, + 412, 406, 415, 405, 409, 414, 412, 411, 415, 414, + 416, 407, 417, 418, 419, 421, 424, 418, 410, 420, + 423, 420, 416, 421, 422, 422, 423, 419, 424, 425, + 417, 426, 428, 427, 429, 425, 427, 430, 431, 429, + 430, 135, 432, 426, 433, 444, 434, 428, 441, 433, + 433, 435, 435, 444, 431, 436, 436, 431, 432, 434, - 433, 435, 439, 438, 441, 440, 442, 443, 439, 440, - 445, 442, 444, 448, 446, 445, 436, 447, 444, 450, - 447, 451, 441, 449, 449, 447, 451, 443, 446, 447, - 452, 448, 453, 454, 455, 452, 456, 450, 457, 458, - 455, 457, 459, 458, 460, 456, 453, 459, 454, 460, - 461, 462, 463, 464, 465, 466, 469, 463, 470, 469, - 472, 470, 464, 467, 462, 458, 461, 466, 468, 467, - 465, 471, 473, 474, 468, 475, 471, 476, 472, 474, - 475, 477, 478, 476, 477, 479, 473, 478, 480, 481, - 479, 479, 482, 483, 484, 486, 485, 490, 482, 485, + 437, 438, 438, 439, 439, 440, 437, 442, 443, 441, + 445, 440, 442, 446, 445, 448, 447, 449, 450, 446, + 447, 452, 449, 451, 455, 453, 452, 443, 454, 451, + 457, 454, 458, 448, 456, 456, 454, 458, 450, 453, + 454, 459, 455, 460, 461, 462, 459, 463, 457, 464, + 465, 462, 464, 466, 465, 467, 463, 460, 466, 461, + 467, 468, 469, 470, 471, 472, 473, 476, 470, 477, + 476, 479, 477, 471, 474, 469, 465, 468, 473, 475, + 474, 472, 478, 480, 481, 475, 482, 478, 483, 479, + 481, 482, 484, 485, 483, 484, 486, 480, 485, 487, - 487, 480, 481, 484, 488, 487, 491, 486, 491, 488, - 488, 492, 483, 494, 485, 489, 489, 493, 495, 493, - 496, 497, 490, 498, 499, 500, 501, 498, 502, 504, - 492, 494, 505, 499, 503, 504, 495, 506, 511, 496, - 500, 497, 507, 507, 501, 512, 508, 502, 509, 503, - 508, 505, 510, 513, 511, 514, 506, 510, 515, 509, - 516, 519, 514, 515, 512, 517, 513, 516, 518, 520, - 517, 521, 522, 518, 523, 525, 520, 524, 525, 519, - 521, 526, 524, 523, 527, 526, 522, 528, 528, 529, - 531, 532, 533, 536, 535, 534, 528, 532, 529, 534, + 488, 486, 486, 489, 490, 491, 493, 492, 497, 489, + 492, 494, 487, 488, 491, 495, 494, 498, 493, 498, + 495, 495, 499, 490, 501, 492, 496, 496, 500, 502, + 500, 503, 504, 497, 505, 506, 507, 508, 505, 509, + 511, 499, 501, 512, 506, 510, 511, 502, 513, 518, + 503, 507, 504, 514, 514, 508, 519, 515, 509, 516, + 510, 515, 512, 517, 520, 518, 521, 513, 517, 522, + 516, 523, 526, 521, 522, 519, 524, 520, 523, 525, + 527, 524, 528, 529, 525, 530, 532, 527, 531, 532, + 526, 528, 533, 531, 530, 534, 533, 529, 535, 535, - 538, 537, 539, 540, 541, 527, 535, 537, 538, 531, - 542, 536, 533, 547, 550, 542, 544, 553, 553, 542, - 539, 551, 542, 550, 541, 554, 554, 551, 540, 542, - 547, 544, 542, 552, 555, 558, 559, 552, 560, 557, - 555, 556, 556, 556, 557, 556, 561, 52, 556, 561, - 562, 562, 565, 556, 559, 563, 558, 564, 564, 556, - 556, 567, 563, 560, 566, 566, 567, 565, 568, 569, - 570, 568, 570, 571, 569, 572, 573, 574, 576, 575, - 573, 577, 577, 581, 578, 571, 576, 579, 580, 583, - 583, 582, 595, 595, 572, 581, 582, 574, 575, 578, + 536, 536, 537, 537, 538, 540, 541, 542, 544, 536, + 543, 545, 541, 538, 543, 546, 534, 547, 548, 549, + 544, 546, 550, 556, 540, 547, 551, 542, 553, 545, + 559, 551, 569, 561, 567, 551, 548, 561, 551, 559, + 556, 560, 550, 553, 549, 551, 585, 560, 551, 562, + 562, 563, 563, 564, 585, 567, 568, 569, 566, 564, + 565, 565, 565, 566, 565, 570, 572, 565, 570, 571, + 571, 574, 565, 572, 568, 573, 573, 576, 565, 565, + 575, 575, 576, 578, 577, 580, 574, 577, 578, 579, + 581, 579, 582, 583, 588, 584, 582, 580, 586, 586, - 584, 579, 585, 586, 587, 584, 580, 587, 585, 586, - 588, 589, 590, 591, 593, 594, 588, 592, 596, 589, - 590, 593, 592, 598, 597, 599, 601, 596, 602, 598, - 603, 591, 597, 603, 594, 601, 604, 602, 605, 606, - 606, 604, 607, 609, 599, 608, 612, 610, 612, 614, - 610, 616, 605, 617, 608, 613, 613, 607, 610, 615, - 618, 619, 620, 625, 615, 621, 622, 609, 623, 621, - 614, 620, 616, 617, 624, 625, 626, 628, 628, 627, - 629, 619, 618, 624, 622, 627, 631, 623, 630, 632, - 626, 634, 631, 633, 635, 632, 636, 633, 637, 639, + 587, 589, 591, 598, 590, 592, 592, 591, 588, 581, + 600, 598, 593, 583, 584, 587, 590, 593, 594, 589, + 595, 597, 596, 599, 594, 596, 595, 597, 600, 601, + 602, 599, 603, 605, 601, 604, 604, 602, 606, 607, + 608, 610, 605, 611, 612, 607, 606, 612, 613, 614, + 610, 603, 611, 613, 615, 615, 616, 617, 618, 608, + 621, 619, 621, 614, 619, 623, 617, 622, 622, 624, + 625, 616, 619, 626, 624, 627, 628, 630, 629, 633, + 631, 630, 618, 632, 636, 635, 623, 629, 633, 634, + 636, 625, 638, 626, 637, 637, 628, 627, 631, 635, - 629, 636, 630, 638, 638, 639, 635, 641, 640, 642, - 634, 640, 643, 644, 635, 645, 645, 646, 643, 637, - 647, 647, 642, 648, 649, 641, 650, 651, 649, 652, - 653, 654, 658, 644, 659, 646, 656, 656, 648, 661, - 657, 789, 660, 652, 657, 650, 660, 658, 789, 663, - 653, 651, 654, 655, 661, 662, 655, 665, 655, 659, - 662, 664, 655, 663, 655, 667, 664, 664, 666, 655, - 668, 665, 666, 669, 655, 668, 670, 671, 669, 672, - 667, 673, 674, 675, 675, 668, 676, 673, 674, 678, - 670, 676, 679, 672, 677, 677, 680, 679, 671, 681, + 639, 634, 632, 640, 641, 643, 644, 642, 645, 640, + 641, 642, 638, 645, 639, 646, 647, 647, 644, 648, + 649, 650, 651, 649, 643, 648, 644, 652, 653, 654, + 654, 655, 657, 652, 659, 651, 646, 656, 656, 650, + 658, 661, 662, 664, 658, 665, 669, 657, 653, 655, + 667, 667, 670, 659, 668, 671, 662, 673, 668, 671, + 672, 669, 673, 664, 133, 661, 665, 666, 674, 677, + 666, 676, 666, 677, 675, 672, 666, 670, 666, 675, + 675, 678, 674, 666, 679, 676, 680, 681, 666, 679, + 682, 680, 683, 687, 684, 691, 678, 685, 687, 679, - 677, 678, 677, 682, 682, 685, 684, 683, 686, 687, - 680, 681, 683, 677, 684, 688, 688, 689, 691, 685, - 677, 689, 692, 693, 691, 692, 694, 686, 687, 695, - 697, 696, 698, 703, 699, 695, 696, 700, 701, 694, - 705, 698, 693, 699, 701, 702, 704, 706, 707, 697, - 708, 704, 703, 700, 702, 709, 710, 712, 713, 708, - 705, 706, 710, 714, 709, 715, 51, 716, 707, 717, - 718, 712, 716, 719, 717, 718, 724, 713, 720, 720, - 715, 714, 719, 721, 722, 725, 728, 729, 730, 721, - 725, 725, 724, 727, 726, 726, 727, 722, 726, 731, + 684, 681, 689, 685, 686, 686, 683, 688, 688, 691, + 692, 682, 690, 688, 689, 688, 694, 690, 693, 693, + 695, 694, 692, 696, 697, 698, 688, 700, 695, 699, + 699, 700, 702, 688, 704, 705, 703, 696, 702, 703, + 706, 708, 707, 697, 698, 709, 706, 707, 705, 710, + 711, 712, 713, 704, 709, 714, 716, 712, 710, 715, + 708, 713, 718, 717, 715, 721, 711, 723, 724, 719, + 720, 721, 725, 726, 714, 727, 716, 717, 719, 720, + 727, 723, 718, 730, 728, 733, 729, 724, 726, 728, + 725, 729, 730, 731, 731, 732, 735, 736, 733, 739, - 728, 732, 734, 730, 736, 731, 733, 729, 735, 733, - 737, 738, 739, 735, 742, 737, 738, 744, 744, 741, - 736, 732, 743, 734, 739, 741, 745, 746, 743, 747, - 742, 748, 747, 749, 750, 745, 752, 751, 753, 754, - 756, 759, 752, 753, 754, 746, 758, 765, 757, 748, - 751, 757, 749, 759, 750, 760, 761, 758, 756, 762, - 763, 760, 761, 764, 764, 763, 765, 766, 767, 768, - 769, 771, 772, 768, 762, 770, 774, 776, 777, 778, - 767, 766, 781, 779, 770, 46, 780, 781, 769, 779, - 771, 776, 780, 777, 782, 774, 782, 772, 783, 778, + 740, 732, 736, 736, 737, 737, 738, 741, 737, 738, + 742, 743, 735, 739, 744, 745, 742, 744, 746, 747, + 740, 748, 741, 746, 749, 750, 748, 752, 753, 749, + 757, 743, 754, 752, 756, 747, 745, 750, 754, 755, + 755, 759, 758, 756, 753, 758, 760, 761, 757, 762, + 763, 767, 764, 765, 69, 769, 763, 764, 765, 759, + 768, 770, 762, 768, 771, 760, 769, 761, 772, 767, + 771, 773, 774, 770, 772, 775, 775, 774, 776, 777, + 778, 779, 780, 782, 783, 779, 773, 781, 785, 787, + 788, 789, 778, 777, 792, 790, 781, 776, 791, 792, - 784, 785, 786, 783, 787, 788, 790, 786, 791, 792, - 792, 793, 794, 796, 784, 785, 795, 803, 797, 787, - 803, 790, 795, 797, 788, 793, 800, 791, 799, 799, - 794, 800, 801, 796, 797, 802, 804, 797, 805, 801, - 806, 807, 809, 808, 813, 806, 815, 805, 808, 802, - 811, 811, 812, 813, 804, 814, 812, 816, 819, 817, - 807, 809, 818, 820, 821, 815, 817, 822, 823, 824, - 814, 825, 816, 822, 818, 828, 826, 819, 829, 830, - 831, 828, 821, 823, 820, 826, 833, 830, 832, 824, - 834, 825, 829, 832, 835, 834, 834, 836, 833, 837, + 780, 790, 782, 787, 791, 788, 793, 785, 793, 783, + 794, 789, 795, 796, 797, 794, 798, 799, 800, 797, + 801, 802, 803, 803, 804, 800, 795, 796, 805, 807, + 813, 798, 808, 806, 63, 801, 799, 808, 804, 806, + 802, 810, 810, 815, 813, 811, 805, 812, 808, 807, + 811, 808, 814, 816, 812, 814, 818, 820, 817, 819, + 824, 815, 816, 817, 819, 822, 822, 823, 825, 824, + 826, 823, 827, 828, 829, 818, 820, 830, 831, 832, + 828, 835, 833, 825, 836, 834, 829, 827, 833, 826, + 842, 840, 839, 837, 58, 841, 830, 832, 839, 831, - 831, 838, 838, 840, 842, 915, 841, 843, 843, 845, - 842, 836, 837, 835, 839, 841, 840, 915, 845, 839, - 844, 846, 839, 839, 847, 844, 846, 839, 849, 847, - 848, 848, 850, 839, 851, 852, 853, 839, 854, 851, - 855, 850, 856, 858, 854, 877, 855, 856, 849, 852, - 877, 857, 858, 864, 853, 857, 860, 858, 860, 858, - 861, 858, 863, 858, 859, 859, 863, 865, 864, 866, - 867, 861, 868, 869, 870, 867, 867, 872, 866, 871, - 873, 874, 869, 875, 876, 865, 868, 871, 878, 878, - 874, 872, 879, 870, 873, 880, 880, 882, 883, 884, + 834, 835, 837, 841, 836, 840, 843, 844, 845, 846, + 842, 843, 847, 845, 845, 852, 848, 849, 849, 844, + 851, 853, 854, 854, 852, 856, 847, 853, 846, 848, + 850, 855, 857, 851, 856, 850, 855, 857, 850, 850, + 858, 859, 859, 850, 860, 858, 861, 862, 863, 850, + 864, 865, 862, 850, 866, 861, 867, 865, 869, 868, + 866, 867, 863, 868, 860, 870, 870, 869, 864, 871, + 872, 871, 869, 874, 869, 875, 869, 874, 869, 876, + 877, 872, 878, 880, 879, 881, 882, 878, 878, 877, + 875, 883, 880, 884, 882, 886, 887, 876, 879, 885, - 882, 875, 886, 883, 885, 885, 889, 879, 888, 876, - 887, 887, 891, 888, 890, 890, 892, 893, 884, 894, - 896, 892, 886, 41, 894, 893, 898, 889, 895, 895, - 897, 899, 891, 898, 901, 902, 897, 903, 896, 904, - 901, 902, 903, 905, 899, 904, 906, 907, 908, 908, - 909, 910, 905, 911, 912, 913, 917, 914, 907, 916, - 912, 918, 918, 919, 920, 906, 921, 922, 924, 913, - 909, 910, 922, 916, 917, 913, 911, 914, 923, 923, - 925, 927, 928, 919, 921, 925, 929, 928, 928, 920, - 930, 924, 931, 932, 933, 929, 935, 939, 930, 933, + 890, 888, 889, 889, 881, 883, 888, 884, 885, 891, + 891, 893, 894, 886, 893, 890, 895, 894, 896, 896, + 897, 887, 898, 898, 899, 900, 901, 901, 902, 899, + 904, 903, 905, 906, 906, 895, 903, 905, 904, 907, + 897, 908, 909, 910, 912, 913, 900, 908, 902, 909, + 912, 913, 916, 914, 915, 917, 910, 907, 914, 918, + 915, 916, 919, 919, 920, 921, 922, 923, 924, 926, + 918, 925, 927, 923, 917, 928, 929, 929, 930, 931, + 935, 926, 924, 932, 920, 921, 927, 933, 924, 922, + 938, 925, 933, 928, 934, 934, 942, 936, 930, 940, - 927, 934, 940, 934, 938, 937, 931, 936, 932, 937, - 935, 932, 941, 936, 942, 938, 939, 943, 944, 942, - 946, 947, 948, 958, 946, 949, 950, 951, 940, 952, - 941, 953, 958, 959, 959, 943, 957, 949, 944, 947, - 950, 948, 951, 954, 952, 955, 956, 960, 954, 961, - 953, 956, 955, 962, 957, 961, 963, 964, 965, 966, - 966, 963, 960, 964, 965, 967, 967, 969, 969, 970, - 971, 972, 973, 970, 962, 974, 975, 976, 976, 971, - 977, 980, 979, 975, 978, 981, 973, 979, 982, 972, - 974, 983, 978, 982, 982, 980, 983, 983, 984, 988, + 939, 932, 936, 935, 931, 939, 939, 941, 940, 938, + 942, 943, 944, 946, 945, 941, 945, 944, 947, 948, + 949, 950, 951, 948, 947, 952, 943, 946, 953, 943, + 959, 949, 954, 953, 955, 957, 962, 958, 961, 957, + 950, 960, 963, 952, 964, 970, 970, 973, 951, 959, + 954, 962, 961, 960, 955, 958, 965, 963, 966, 967, + 968, 965, 969, 964, 967, 966, 971, 972, 973, 974, + 975, 969, 983, 972, 974, 984, 975, 976, 968, 977, + 977, 971, 982, 976, 978, 978, 980, 980, 981, 984, + 983, 982, 981, 985, 986, 987, 987, 988, 989, 990, - 977, 985, 986, 987, 981, 988, 989, 990, 991, 992, - 993, 994, 995, 997, 991, 992, 996, 998, 984, 999, - 985, 986, 987, 1000, 1000, 1001, 990, 997, 1001, 993, - 994, 995, 989, 1002, 999, 996, 1003, 1003, 998, 1004, - 1006, 1007, 1005, 1008, 1004, 1002, 1005, 1011, 1012, 1009, - 1007, 1009, 1016, 1006, 1014, 1009, 1008, 1013, 1013, 1014, - 1017, 1015, 1018, 1019, 1012, 1015, 1022, 1011, 1009, 1019, - 1020, 1020, 1016, 1031, 1024, 1025, 1025, 1026, 1017, 1024, - 1028, 1028, 1018, 1026, 1022, 1030, 1030, 1033, 1035, 1031, - 1033, 1034, 1034, 1036, 1037, 1038, 1039, 1040, 1040, 1042, + 991, 986, 992, 995, 990, 993, 989, 994, 985, 996, + 993, 993, 994, 994, 991, 997, 998, 988, 999, 1000, + 1001, 992, 1004, 995, 999, 1002, 1003, 1005, 996, 1006, + 1007, 1002, 1003, 1008, 997, 998, 1009, 1010, 1017, 1001, + 53, 1004, 1011, 1011, 1013, 1000, 1005, 1008, 1006, 1007, + 1012, 1017, 1010, 1012, 1014, 1014, 1013, 1009, 1015, 1018, + 1016, 1019, 1022, 1015, 1016, 1020, 1027, 1020, 1018, 1023, + 1025, 1020, 1024, 1024, 1019, 1025, 1026, 1028, 1029, 1033, + 1026, 1030, 1022, 1042, 1020, 1023, 1027, 1030, 1031, 1031, + 1047, 1035, 1036, 1036, 1037, 1028, 1035, 1033, 1029, 1042, - 1038, 1041, 1044, 1035, 1045, 1041, 1043, 1043, 1037, 1046, - 1047, 1039, 1048, 1046, 1051, 1045, 1052, 1048, 1036, 1042, - 1050, 1050, 1053, 1053, 1044, 1055, 1054, 1056, 1057, 1047, - 1052, 1054, 1051, 1058, 1059, 1061, 1062, 1057, 1058, 1060, - 1061, 1060, 1062, 1063, 1064, 1055, 1066, 1056, 1067, 1067, - 1064, 1068, 1069, 1071, 1059, 1072, 1072, 1074, 1069, 1075, - 1066, 1073, 1073, 1063, 1076, 1078, 1077, 1076, 1084, 1209, - 1068, 1209, 1082, 1079, 1075, 1074, 1079, 1071, 1077, 1079, - 1080, 1082, 1081, 1083, 1086, 1078, 1080, 1081, 1083, 1085, - 1086, 1079, 1085, 1084, 1087, 1087, 1088, 1089, 1090, 1091, + 1037, 1039, 1039, 1041, 1041, 1044, 1045, 1045, 1044, 1046, + 1052, 1048, 1049, 1050, 1052, 1047, 1053, 1049, 1051, 1051, + 1054, 1054, 1055, 1056, 1046, 1048, 1057, 1058, 1050, 1062, + 1057, 1063, 1059, 1066, 1056, 1067, 1053, 1059, 1061, 1061, + 1064, 1064, 1068, 1065, 1055, 1063, 1058, 1062, 1065, 1069, + 1070, 1068, 1072, 1066, 1069, 1067, 1071, 1072, 1071, 1073, + 1074, 1075, 1077, 1078, 1078, 1073, 1079, 1075, 1080, 1082, + 1070, 1083, 1083, 1085, 1080, 1086, 1077, 1084, 1084, 1087, + 1074, 1089, 1087, 1088, 1095, 1079, 1090, 1093, 1091, 1090, + 1086, 1085, 1090, 1082, 1091, 1088, 1093, 1092, 1094, 1099, - 1094, 1092, 1093, 1098, 1095, 1091, 1092, 1097, 1093, 1095, - 1096, 1096, 1097, 1099, 1088, 1100, 1089, 1101, 1090, 1104, - 1102, 1098, 1105, 1094, 1103, 1106, 1107, 1108, 1105, 1109, - 1117, 1101, 1104, 1099, 1102, 1100, 1103, 1111, 1111, 1112, - 1115, 1108, 1113, 1114, 1114, 1106, 1107, 1113, 1116, 1118, - 1109, 1119, 1122, 1120, 1117, 1115, 1121, 1123, 1127, 1112, - 1119, 1122, 1116, 1121, 1122, 1125, 1133, 1118, 1120, 1128, - 1128, 1129, 1129, 1123, 1130, 1131, 1132, 1130, 1134, 1135, - 1125, 1132, 1133, 1127, 1136, 1125, 1137, 1134, 1139, 1139, - 1140, 1138, 1141, 1136, 1131, 1137, 1136, 1138, 1135, 1142, + 1097, 1089, 1092, 1094, 1090, 1096, 1097, 1100, 1096, 1095, + 1098, 1098, 1101, 1102, 1105, 1103, 1104, 1099, 1106, 1102, + 1103, 1109, 1104, 1106, 1107, 1107, 1100, 1110, 1108, 1111, + 1112, 1113, 1101, 1108, 1114, 1115, 1116, 1105, 1117, 1109, + 1118, 1119, 1116, 1120, 1112, 1113, 1114, 1110, 1115, 1111, + 1122, 1122, 1123, 1126, 1124, 1119, 1125, 1125, 1117, 1124, + 1118, 1127, 1128, 1129, 1120, 1130, 1132, 1131, 1126, 1134, + 1138, 1133, 1123, 1132, 1130, 1127, 1136, 1139, 1139, 1142, + 1133, 1129, 1131, 1133, 1144, 1134, 1128, 1140, 1140, 1141, + 1146, 1136, 1141, 1145, 1143, 1138, 1136, 1148, 1142, 1143, - 1143, 1145, 1144, 1147, 1148, 1141, 1149, 1149, 1150, 1155, - 1140, 1151, 1159, 1145, 1143, 1182, 1152, 1142, 1144, 1182, - 1151, 1152, 1148, 1154, 1150, 1153, 1153, 1155, 1147, 1161, - 1159, 1156, 1154, 1158, 1161, 1154, 1156, 1156, 1160, 1158, - 1153, 1162, 1163, 1165, 1160, 1166, 1167, 1162, 1163, 1168, - 1171, 1166, 1168, 1172, 1173, 1174, 1175, 1181, 1168, 1167, - 1176, 1172, 1177, 1165, 1178, 1187, 1176, 1173, 14, 1171, - 1180, 1180, 1189, 1174, 1183, 1175, 1184, 1181, 1177, 1183, - 1185, 1184, 1178, 1186, 1191, 1185, 1192, 1189, 1187, 1190, - 1190, 1193, 1186, 1192, 1194, 1195, 1196, 1198, 1191, 1197, + 1144, 1147, 1145, 1150, 1150, 1149, 1148, 1151, 1152, 1146, + 1147, 1149, 1153, 1147, 1154, 1155, 1158, 1156, 1159, 1160, + 1160, 1152, 1161, 1162, 52, 1164, 1164, 1151, 1154, 1156, + 1153, 1155, 1162, 1165, 1163, 1166, 1159, 1170, 1161, 1163, + 1164, 1158, 1165, 1167, 1169, 1165, 1171, 1176, 1167, 1167, + 1169, 1172, 1171, 1166, 1173, 1170, 1172, 1174, 1177, 1178, + 1173, 1182, 1179, 1174, 1177, 1179, 1183, 1176, 1184, 1185, + 1186, 1179, 1178, 1187, 1183, 1188, 1189, 1191, 1191, 1187, + 1182, 1184, 1192, 1198, 1193, 1194, 1197, 1185, 1193, 1186, + 1194, 1188, 1195, 1196, 1189, 1197, 1200, 1195, 1196, 1201, - 1199, 1200, 13, 1193, 1210, 1197, 1194, 1200, 1205, 1198, - 1201, 1201, 1202, 1205, 1195, 1202, 1196, 1206, 1199, 1203, - 1203, 1207, 1207, 1208, 1210, 1211, 1206, 1212, 1213, 1214, - 1215, 1216, 1217, 1213, 1218, 1208, 1220, 1217, 1214, 1219, - 1221, 1221, 1215, 1218, 1222, 1212, 1216, 1211, 1223, 1224, - 1222, 1220, 1225, 1226, 1226, 1227, 1218, 1228, 1228, 1219, - 1229, 1230, 1230, 1231, 1232, 1236, 1238, 1231, 1224, 1223, - 1232, 1233, 1225, 1235, 1233, 1227, 1237, 1239, 1244, 1235, - 1239, 1229, 1237, 1236, 1240, 1240, 1241, 1241, 1242, 1243, - 1245, 1238, 1247, 1246, 1242, 1250, 1252, 1256, 1244, 1246, + 1201, 1202, 1192, 1203, 1204, 1205, 1198, 1206, 1207, 1209, + 1203, 1200, 1208, 1210, 1211, 1202, 1204, 1205, 1208, 1221, + 1211, 1209, 1212, 1212, 1213, 1217, 1206, 1213, 1207, 1214, + 1214, 1210, 1216, 1219, 1217, 1218, 1218, 1216, 1220, 1221, + 1220, 1222, 1223, 1224, 1225, 1219, 1226, 1227, 1224, 1228, + 1229, 1230, 1231, 1225, 1228, 1232, 1232, 1234, 1226, 1229, + 1223, 1235, 1227, 1222, 1233, 1236, 1238, 1231, 1237, 1237, + 1233, 1230, 1229, 1239, 1239, 1240, 1241, 1241, 1234, 1242, + 1235, 1243, 1247, 1242, 1246, 1236, 1238, 1243, 1244, 1248, + 1246, 1244, 1249, 1254, 1250, 1248, 1240, 1250, 1251, 1251, - 1249, 1243, 1243, 1243, 1253, 1249, 1249, 1252, 1243, 1250, - 1245, 1251, 1247, 1251, 1254, 1255, 1257, 1256, 1259, 1253, - 1254, 1258, 1258, 1261, 1255, 1260, 1260, 1262, 1263, 1263, - 1264, 1264, 1267, 1268, 1269, 1269, 1270, 1257, 1271, 1272, - 1273, 1267, 1275, 1261, 1259, 1271, 1274, 1274, 1272, 1262, - 1278, 1270, 1279, 1276, 1268, 1278, 1280, 1281, 1279, 1282, - 1288, 1283, 1284, 1284, 1281, 1282, 1273, 1283, 1275, 1276, - 1285, 1286, 1287, 1289, 1290, 1285, 1280, 1290, 1291, 1288, - 1286, 1292, 1293, 1293, 1294, 1289, 1295, 1298, 1301, 1297, - 1295, 1299, 1287, 1300, 1301, 1302, 1291, 1300, 1304, 1294, + 1247, 1252, 1252, 1253, 1255, 1254, 1254, 1254, 1256, 1253, + 1257, 1258, 1254, 1260, 1263, 1261, 1257, 1249, 1260, 1260, + 1262, 1264, 1262, 1267, 1255, 1263, 1265, 1268, 1256, 1261, + 1266, 1258, 1265, 1269, 1269, 1270, 1264, 1271, 1271, 1266, + 1272, 1273, 1278, 1267, 1274, 1274, 1275, 1275, 1268, 1279, + 1281, 1278, 1280, 1280, 1284, 1282, 1286, 1283, 1285, 1285, + 1272, 1270, 1282, 1273, 1289, 1281, 1283, 1287, 1290, 1289, + 1279, 1291, 1292, 1298, 1290, 1293, 1295, 1295, 1294, 1292, + 1284, 1293, 1286, 1287, 1294, 1296, 1297, 1299, 1300, 1301, + 1296, 1291, 1301, 1298, 1302, 1297, 1303, 1304, 1304, 1305, - 1303, 1303, 1298, 1306, 1302, 1307, 1295, 1292, 1297, 1304, - 1299, 1305, 1305, 1308, 1304, 1309, 1310, 1310, 1313, 1307, - 1311, 1309, 1312, 1314, 1306, 1311, 1311, 1317, 1312, 1319, - 1315, 1320, 1322, 1308, 1318, 1314, 1315, 1321, 1318, 1317, - 1323, 1319, 1330, 1321, 1313, 1324, 1323, 1326, 1327, 1327, - 1326, 1328, 1328, 0, 1322, 1331, 1320, 1324, 1329, 1329, - 1332, 1331, 1330, 1333, 1334, 1335, 1332, 1337, 1333, 1340, - 1334, 1342, 1337, 1339, 1335, 1343, 1339, 1344, 1344, 1345, - 1346, 1340, 1348, 1342, 1349, 1346, 1350, 1343, 1345, 1347, - 1347, 1351, 1352, 1349, 1353, 1354, 1352, 1355, 1358, 1353, + 1300, 1306, 1309, 1325, 1308, 1306, 1299, 1310, 1317, 1311, + 1312, 1313, 1302, 1311, 1305, 1325, 1312, 1309, 1314, 1314, + 1313, 1306, 1303, 1308, 1315, 1318, 1310, 1316, 1316, 1317, + 1319, 1320, 1321, 1321, 1324, 1315, 1322, 1320, 1323, 1318, + 1315, 1322, 1322, 1326, 1323, 1328, 1330, 1329, 1331, 1326, + 1319, 1329, 1333, 1332, 1335, 1334, 1341, 1328, 1330, 1332, + 1324, 1334, 1337, 1338, 1338, 1337, 1335, 1339, 1339, 1340, + 1340, 1342, 1343, 1331, 1333, 1344, 1341, 1342, 1343, 1345, + 1344, 1346, 1348, 1350, 1351, 1345, 1350, 1348, 1353, 1354, + 1346, 1355, 1355, 1356, 1357, 1359, 1351, 1358, 1358, 1357, - 1359, 1354, 1348, 1360, 1350, 1357, 1357, 1362, 1362, 1359, - 1351, 1355, 1360, 1364, 1367, 1366, 1358, 1357, 1368, 1369, - 1370, 1370, 1376, 1371, 1368, 1371, 1372, 1372, 1367, 1364, - 1366, 1373, 1378, 1375, 1377, 1377, 1369, 1379, 1380, 1373, - 1375, 1378, 1376, 1381, 1382, 1383, 1384, 1385, 1387, 1390, - 1380, 1388, 1391, 1385, 1392, 1381, 1382, 1392, 1379, 1389, - 1389, 1384, 1394, 1388, 1393, 1396, 1385, 1390, 1387, 1393, - 1396, 1383, 1391, 1397, 1398, 1397, 1399, 1400, 1402, 1405, - 1407, 1399, 1394, 1403, 1400, 1403, 1408, 1402, 1406, 1406, - 1410, 1408, 1398, 1405, 1409, 1410, 1409, 1411, 1412, 1413, + 1353, 1354, 1356, 1360, 1361, 1362, 1363, 1366, 1364, 1369, + 1363, 1365, 1360, 1364, 1370, 1359, 1371, 1365, 1368, 1368, + 1375, 1366, 1361, 1370, 1362, 1371, 1377, 1369, 1373, 1373, + 1368, 1378, 1379, 1380, 1381, 1381, 1375, 1382, 1379, 1382, + 1384, 1377, 1383, 1383, 1386, 1378, 1387, 1389, 1384, 1390, + 1380, 1386, 1388, 1388, 1394, 1391, 1389, 1392, 1395, 1393, + 1399, 1401, 1396, 1398, 1400, 1400, 1387, 1391, 1396, 1392, + 1390, 1393, 1399, 1395, 1402, 1403, 1405, 1404, 1403, 1401, + 1394, 1396, 1404, 1398, 1407, 1408, 1409, 1408, 1410, 1407, + 1411, 1413, 1416, 1410, 1402, 1418, 1405, 1411, 1424, 1414, - 1415, 1414, 1411, 1417, 1416, 1415, 1407, 1414, 1419, 1420, - 1423, 1417, 1421, 1421, 1422, 1422, 1412, 1416, 1424, 1413, - 1425, 1428, 1433, 1420, 1426, 1423, 1425, 1419, 1427, 1426, - 1427, 1429, 1429, 1428, 1430, 1430, 1431, 1432, 1424, 1432, - 1434, 1434, 1435, 1433, 1436, 1431, 1441, 1438, 1431, 1439, - 1442, 1435, 1438, 1443, 1439, 1446, 1436, 1444, 1448, 1441, - 1449, 1446, 1450, 1451, 1448, 1452, 1452, 1453, 1454, 1454, - 1442, 1443, 1451, 1444, 1446, 1449, 1453, 1455, 1456, 1457, - 1458, 1461, 1456, 1459, 1457, 0, 1460, 1450, 1459, 1459, - 1464, 1464, 1470, 1458, 1460, 1466, 1455, 1465, 1465, 1467, + 1413, 1414, 1417, 1417, 1409, 1419, 1416, 1420, 1421, 1420, + 1419, 1422, 1423, 1421, 1425, 1427, 1422, 1426, 1424, 1428, + 1425, 1418, 1426, 1430, 1431, 1432, 1432, 1428, 1427, 1434, + 1423, 1433, 1433, 1435, 1436, 1438, 1437, 1438, 1431, 1439, + 1436, 1437, 1430, 1442, 1434, 1440, 1440, 1441, 1441, 1444, + 1446, 1439, 1442, 1435, 1443, 1442, 1443, 1445, 1445, 1446, + 1447, 1449, 1450, 1452, 1453, 1454, 1449, 1450, 1457, 1455, + 1444, 1459, 1447, 1460, 1457, 1461, 1452, 1459, 1463, 1463, + 1462, 1464, 1466, 1454, 1453, 1455, 1472, 1457, 1460, 1462, + 1464, 1465, 1465, 1467, 1468, 1469, 1477, 1467, 1470, 1468, - 1467, 1461, 1468, 1468, 1466, 1469, 1472, 1471, 1473, 1473, - 1470, 1472, 1465, 1471, 1474, 1477, 1476, 1469, 1479, 1474, - 1476, 1480, 1481, 1465, 1482, 1483, 1480, 1488, 1484, 1490, - 1483, 1485, 1486, 1486, 1487, 1477, 1489, 1491, 1487, 1482, - 1493, 1489, 1488, 1479, 1494, 1481, 1484, 1485, 1495, 1496, - 1497, 1498, 1499, 1504, 1501, 1490, 1491, 1502, 1502, 1493, - 1505, 1503, 1506, 1498, 1503, 0, 1504, 1494, 1496, 1501, - 1510, 1497, 1495, 1499, 1505, 1506, 1507, 1507, 1508, 1508, - 1509, 1509, 1511, 1512, 1512, 1510, 1515, 1513, 1514, 1514, - 1518, 1515, 1517, 1519, 1520, 1511, 1513, 1517, 1523, 1513, + 1461, 1466, 1471, 1470, 1470, 1477, 1472, 1480, 1469, 1481, + 1471, 1475, 1475, 1476, 1476, 1478, 1478, 1479, 1479, 1480, + 1482, 1484, 1484, 1488, 1483, 1485, 1482, 1481, 1476, 1483, + 1485, 1487, 1490, 1491, 1493, 1487, 1492, 1494, 1491, 1476, + 1495, 1499, 1494, 1488, 1496, 1497, 1497, 1498, 1500, 1493, + 1501, 1498, 1502, 1500, 1504, 1505, 1499, 1490, 1495, 1492, + 1496, 1506, 1507, 1508, 1512, 1509, 1510, 1513, 1513, 1514, + 1515, 1502, 1514, 1504, 1516, 47, 1501, 1509, 1505, 1512, + 1517, 1507, 1521, 1515, 1508, 1506, 1522, 1510, 1516, 1518, + 1518, 1519, 1519, 1517, 1520, 1520, 1524, 1521, 1529, 1522, - 1521, 1521, 1522, 1522, 1524, 1524, 1520, 1525, 1526, 1526, - 1518, 1527, 1527, 1519, 1528, 1529, 1531, 1523, 1532, 1532, - 1533, 1531, 1534, 1534, 1535, 1525, 1536, 1537, 1528, 1540, - 1537, 1541, 1536, 1542, 1529, 1538, 1538, 1539, 1539, 1533, - 1543, 1543, 1535, 1545, 1546, 1547, 1541, 1550, 1540, 1548, - 1552, 1538, 1542, 1548, 1549, 1549, 1551, 1551, 1553, 1554, - 1547, 1555, 1555, 1545, 1556, 1553, 1550, 1546, 1559, 1557, - 1552, 1557, 1560, 1556, 1561, 1562, 1563, 1560, 1564, 1565, - 1559, 1566, 1567, 1564, 1565, 1554, 1568, 1570, 1562, 1569, - 1574, 1567, 1577, 1577, 1571, 1568, 1566, 1563, 1569, 1561, + 1523, 1523, 1525, 1525, 1526, 1524, 1528, 1530, 1524, 1526, + 1531, 1528, 1532, 1532, 1533, 1533, 1534, 1539, 1529, 1535, + 1535, 1536, 1531, 1537, 1537, 1538, 1538, 1530, 1540, 1542, + 1544, 1539, 1543, 1543, 1542, 1534, 1545, 1545, 1546, 1536, + 1547, 1548, 1549, 1549, 1548, 1551, 1547, 1540, 1552, 1544, + 1550, 1550, 1553, 1554, 1554, 1556, 1546, 1557, 1549, 1558, + 1561, 1559, 1563, 1552, 1551, 1559, 1560, 1560, 1562, 1562, + 1564, 1553, 1565, 1574, 1558, 1556, 1567, 1564, 1570, 1561, + 1557, 1572, 1563, 1566, 1566, 1567, 1568, 1571, 1568, 1573, + 1570, 1575, 1571, 1577, 1574, 1576, 1575, 1581, 1565, 1582, - 1571, 1570, 1572, 1576, 1580, 1578, 1572, 1579, 1579, 1583, - 1574, 1578, 1576, 1582, 1586, 1585, 1579, 1587, 1583, 1588, - 1590, 1592, 0, 1590, 1580, 1593, 1580, 1585, 1582, 1591, - 1586, 1588, 1587, 1600, 1591, 1594, 1594, 1593, 1596, 1596, - 1597, 1592, 1598, 1599, 1599, 1597, 1602, 1600, 1598, 1601, - 1601, 1603, 1604, 1605, 1605, 1607, 1611, 1608, 1602, 1607, - 1608, 1609, 1609, 1610, 1612, 1603, 1613, 1615, 1610, 1614, - 1616, 1604, 1617, 1614, 1619, 1616, 1611, 1618, 1617, 1621, - 1613, 1622, 1623, 1618, 1612, 1624, 1622, 1615, 1623, 1625, - 1628, 1625, 1619, 1624, 1631, 1621, 1629, 1629, 1630, 1632, + 1576, 1578, 1573, 1579, 1580, 1582, 1572, 1585, 1577, 42, + 1578, 1581, 1579, 1580, 1583, 1587, 1588, 1588, 1583, 1589, + 1590, 1590, 1591, 1593, 1587, 1589, 1594, 1585, 1596, 1590, + 1597, 1599, 1598, 1601, 1602, 1594, 1601, 1603, 1593, 1602, + 1596, 1604, 1591, 1599, 1591, 14, 1597, 1598, 1605, 1605, + 1607, 1607, 1609, 1604, 1608, 1610, 1610, 1603, 1609, 1608, + 1611, 1612, 1612, 1613, 1614, 1615, 1616, 1616, 1618, 1622, + 1619, 1623, 1618, 1619, 1611, 1613, 1620, 1620, 1614, 1624, + 1621, 1626, 1625, 1627, 1615, 1621, 1625, 1630, 1627, 1622, + 1628, 1623, 1629, 1624, 1632, 1633, 1628, 1634, 1629, 1635, - 1632, 1630, 1634, 1635, 1628, 1636, 1634, 1637, 1637, 1635, - 1638, 1641, 1641, 1643, 1648, 1648, 1646, 1636, 1647, 1638, - 1631, 1646, 1652, 1647, 1650, 1650, 1653, 1653, 1652, 1654, - 1655, 1643, 1656, 1662, 1658, 1659, 1664, 1656, 1660, 1660, - 1663, 1665, 1662, 1667, 1667, 1654, 1663, 1659, 1669, 1669, - 1670, 1670, 1655, 1658, 1664, 1671, 1665, 1672, 1673, 1672, - 1671, 1674, 1675, 1676, 1676, 1677, 1677, 1675, 1678, 1678, - 1679, 1680, 1673, 1681, 1681, 1674, 1682, 1684, 1683, 1685, - 1686, 1687, 1679, 1689, 1684, 1686, 1688, 1688, 1682, 1680, - 1683, 1685, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1695, + 1633, 1626, 1636, 1634, 1636, 1630, 1639, 1635, 1640, 1640, + 1632, 1641, 1642, 1645, 1641, 1643, 1643, 1645, 1646, 1647, + 1639, 1648, 1648, 1649, 1646, 1652, 1652, 1654, 1657, 1658, + 1665, 1647, 1649, 1657, 1658, 1659, 1659, 1663, 1642, 1661, + 1661, 1664, 1664, 1663, 1666, 1654, 1665, 1667, 1669, 1670, + 1671, 1671, 1667, 1673, 1674, 1675, 1676, 1678, 1678, 13, + 1674, 1670, 1673, 1680, 1680, 1682, 1666, 1669, 1681, 1681, + 1682, 1676, 1683, 1675, 1683, 1684, 1685, 1686, 1687, 1687, + 1688, 1688, 1686, 1689, 1689, 1690, 1691, 1692, 1692, 1684, + 1685, 1693, 1695, 1694, 1696, 1697, 1698, 1690, 1700, 1695, - 1696, 1687, 1698, 1697, 1699, 1704, 1704, 1700, 1692, 1696, - 1700, 1694, 1701, 1702, 1691, 1705, 1705, 1703, 1702, 1690, - 1693, 1697, 1703, 1709, 1698, 1710, 1701, 1699, 1706, 1706, - 1712, 1713, 1714, 1715, 1716, 1717, 1710, 1722, 1718, 1719, - 1719, 1709, 1723, 1716, 1721, 1721, 1722, 1725, 1726, 1713, - 1712, 1724, 1727, 1715, 1714, 1717, 1718, 1728, 1724, 1729, - 1723, 1733, 1725, 1730, 1730, 1732, 1726, 1731, 1731, 1734, - 1727, 1732, 1735, 1728, 1737, 1736, 1738, 1739, 1729, 1733, - 1736, 1740, 1739, 1740, 1734, 1741, 1741, 1742, 1745, 1742, - 1747, 1735, 1743, 1743, 1737, 1748, 1738, 1749, 1752, 1747, + 1697, 1699, 1699, 1693, 1691, 1694, 1696, 1700, 1701, 1702, + 1703, 1704, 1705, 1706, 1706, 1707, 1698, 1709, 1708, 1710, + 1715, 1715, 1711, 1703, 1707, 1711, 1705, 1712, 1713, 1702, + 1716, 1716, 1714, 1713, 1701, 1704, 1708, 1714, 1720, 1709, + 1721, 1712, 1710, 1717, 1717, 1723, 1724, 1725, 1726, 1727, + 1728, 1721, 1733, 1729, 1730, 1730, 1720, 1734, 1727, 1732, + 1732, 1733, 1736, 1737, 1724, 1723, 1735, 1738, 1726, 1725, + 1728, 1729, 1739, 1735, 1740, 1734, 1744, 1736, 1741, 1741, + 1743, 1737, 1742, 1742, 1745, 1738, 1743, 1746, 1739, 1748, + 1747, 1749, 1750, 1740, 1744, 1747, 1751, 1750, 1751, 1745, - 1753, 1754, 1754, 1753, 1755, 1756, 1758, 1745, 1757, 1757, - 1758, 1760, 1763, 1761, 1768, 1748, 1749, 1761, 1752, 1755, - 1762, 1762, 1776, 1756, 0, 1763, 1760, 1765, 1765, 1767, - 1767, 1769, 1769, 1768, 1770, 1771, 1771, 1775, 1775, 1770, - 1777, 1778, 1779, 1780, 1776, 1782, 1781, 1779, 1783, 1786, - 1778, 1781, 1785, 1777, 1786, 1787, 1783, 1780, 1788, 1802, - 1787, 1789, 1789, 1791, 1782, 1790, 1790, 1785, 1796, 1792, - 1791, 1793, 1802, 1788, 1792, 1794, 1797, 1793, 1795, 1795, - 1794, 1797, 0, 1796, 1798, 1798, 1799, 1799, 1803, 1809, - 1804, 1805, 1806, 1803, 1803, 1804, 1806, 1805, 1807, 1808, + 1752, 1752, 1753, 1756, 1753, 1758, 1746, 1754, 1754, 1748, + 1759, 1749, 1760, 1763, 1758, 1764, 1765, 1765, 1764, 1766, + 1767, 1769, 1756, 1768, 1768, 1769, 1771, 1774, 1772, 1779, + 1759, 1760, 1772, 1763, 1766, 1773, 1773, 1787, 1767, 0, + 1774, 1771, 1776, 1776, 1778, 1778, 1780, 1780, 1779, 1781, + 1782, 1782, 1786, 1786, 1781, 1788, 1789, 1790, 1791, 1787, + 1793, 1792, 1790, 1794, 1797, 1789, 1792, 1796, 1788, 1797, + 1798, 1794, 1791, 1799, 1813, 1798, 1800, 1800, 1802, 1793, + 1801, 1801, 1796, 1807, 1803, 1802, 1804, 1813, 1799, 1803, + 1805, 1808, 1804, 1806, 1806, 1805, 1808, 0, 1807, 1809, - 1811, 1810, 1812, 1807, 1809, 1811, 1815, 1814, 1808, 1810, - 1814, 1815, 1816, 1817, 1812, 1818, 1819, 1820, 1820, 1821, - 1824, 1825, 1830, 1826, 1818, 1819, 1817, 1828, 1821, 1829, - 1816, 1827, 1827, 1831, 1831, 1832, 1834, 1830, 1829, 1824, - 1836, 1825, 1826, 1837, 1838, 1840, 1828, 1837, 1839, 1839, - 1838, 1834, 1841, 1840, 1832, 1843, 1844, 1841, 1846, 1847, - 1836, 1848, 1846, 1855, 1843, 1850, 1850, 1853, 1853, 1844, - 1857, 1858, 1858, 1847, 1859, 1859, 1848, 1860, 1861, 1861, - 1860, 1862, 1862, 1855, 1863, 1863, 1864, 1864, 1865, 1866, - 1857, 1867, 1868, 1868, 1869, 1872, 1873, 1867, 1869, 1874, + 1809, 1810, 1810, 1814, 1820, 1815, 1816, 1817, 1814, 1814, + 1815, 1817, 1816, 1818, 1819, 1822, 1821, 1823, 1818, 1820, + 1822, 1826, 1825, 1819, 1821, 1825, 1826, 1827, 1828, 1823, + 1829, 1830, 1831, 1831, 1832, 1835, 1836, 1841, 1837, 1829, + 1830, 1828, 1839, 1832, 1840, 1827, 1838, 1838, 1842, 1842, + 1843, 1845, 1841, 1840, 1835, 1847, 1836, 1837, 1848, 1849, + 1851, 1839, 1848, 1850, 1850, 1849, 1845, 1852, 1851, 1843, + 1854, 1855, 1852, 1857, 1858, 1847, 1859, 1857, 1866, 1854, + 1861, 1861, 1864, 1864, 1855, 1868, 1869, 1869, 1858, 1870, + 1870, 1859, 1871, 1872, 1872, 1871, 1873, 1873, 1866, 1874, - 1872, 1872, 1875, 1866, 1876, 1874, 1865, 1877, 1875, 1878, - 1878, 1877, 1881, 1882, 1884, 1885, 1882, 1881, 1886, 1873, - 1887, 1888, 1889, 1886, 1890, 1890, 1891, 1892, 1893, 1876, - 1894, 1894, 1885, 1885, 1897, 1892, 1889, 1899, 1887, 1884, - 1900, 1888, 1895, 1895, 1901, 1891, 1898, 1893, 1896, 1896, - 1897, 1898, 1902, 1901, 1903, 1905, 1905, 1899, 1906, 1907, - 1910, 1906, 1909, 1909, 1911, 1911, 1900, 1910, 1912, 1913, - 1915, 1918, 1902, 1912, 1903, 1916, 1916, 1907, 1913, 1917, - 1918, 1919, 1921, 1917, 1920, 1922, 1924, 1924, 1915, 1920, - 1920, 1925, 1926, 1928, 1922, 1921, 1919, 1930, 1933, 1935, + 1874, 1875, 1875, 1876, 1877, 1868, 1878, 1879, 1879, 1880, + 1883, 1884, 1878, 1880, 1885, 1883, 1883, 1886, 1877, 1887, + 1885, 1876, 1888, 1886, 1889, 1889, 1888, 1892, 1893, 1895, + 1896, 1893, 1892, 1897, 1884, 1898, 1899, 1900, 1897, 1901, + 1901, 1902, 1903, 1904, 1887, 1905, 1905, 1896, 1896, 1908, + 1903, 1900, 1910, 1898, 1895, 1911, 1899, 1906, 1906, 1912, + 1902, 1909, 1904, 1907, 1907, 1908, 1909, 1913, 1912, 1914, + 1916, 1916, 1910, 1917, 1918, 1921, 1917, 1920, 1920, 1922, + 1922, 1911, 1921, 1923, 1924, 1926, 1929, 1913, 1923, 1914, + 1927, 1927, 1918, 1924, 1928, 1929, 1930, 1932, 1928, 1931, - 1925, 1934, 1934, 1933, 1926, 1937, 1940, 1940, 1935, 1930, - 1937, 1938, 1938, 1941, 1942, 1938, 1943, 1946, 1928, 1944, - 1947, 1949, 1941, 1946, 1944, 1947, 1948, 1948, 1950, 1951, - 1952, 1953, 1956, 1950, 1942, 1943, 1952, 1954, 1954, 1957, - 1958, 1958, 1949, 1961, 1959, 1960, 1962, 1951, 1963, 1960, - 1964, 1956, 1961, 1966, 1957, 1965, 1953, 1959, 1964, 1968, - 1965, 1973, 1962, 1967, 1967, 1970, 1970, 1963, 1971, 1971, - 1975, 1975, 1976, 1979, 1979, 1977, 1980, 1981, 1968, 1966, - 1977, 1985, 1973, 1982, 1984, 1984, 1987, 1991, 1976, 1988, - 1988, 1989, 1989, 1992, 1990, 1985, 1980, 1993, 1994, 1994, + 1933, 1935, 1935, 1926, 1931, 1931, 1936, 1937, 1939, 1933, + 1932, 1930, 1941, 1944, 1946, 1936, 1945, 1945, 1944, 1937, + 1948, 1951, 1951, 1946, 1941, 1948, 1949, 1949, 1952, 1953, + 1949, 1954, 1957, 1939, 1955, 1958, 1960, 1952, 1957, 1955, + 1958, 1959, 1959, 1961, 1962, 1963, 1964, 1967, 1961, 1953, + 1954, 1963, 1965, 1965, 1968, 1969, 1969, 1960, 1972, 1970, + 1971, 1973, 1962, 1974, 1971, 1975, 1967, 1972, 1977, 1968, + 1976, 1964, 1970, 1975, 1979, 1976, 1984, 1973, 1978, 1978, + 1981, 1981, 1974, 1982, 1982, 1986, 1986, 1987, 1990, 1990, + 1988, 1991, 1992, 1979, 1977, 1988, 1996, 1984, 1993, 1995, - 1981, 1995, 1982, 1990, 1995, 1992, 1991, 1998, 1987, 1996, - 1996, 1999, 2000, 2001, 2001, 2003, 2005, 1993, 2000, 1998, - 2002, 2005, 2006, 2002, 2007, 2008, 2009, 2009, 2011, 2011, - 2007, 1999, 2012, 2003, 2014, 2014, 2016, 2018, 2018, 2015, - 2017, 2006, 2008, 2008, 2015, 2017, 2019, 2019, 2020, 2020, - 2016, 2012, 2021, 2023, 2023, 2026, 2028, 2021, 2029, 2029, - 2031, 2031, 2032, 2033, 2034, 2035, 2035, 2036, 2039, 2040, - 2041, 2041, 2036, 2034, 2026, 2042, 2032, 2040, 2028, 2044, - 2042, 2045, 2039, 2033, 2046, 2047, 2048, 2050, 2051, 2046, - 2053, 2052, 2048, 2054, 2055, 2050, 2059, 2047, 2056, 2044, + 1995, 1998, 2002, 1987, 1999, 1999, 2000, 2000, 2003, 2001, + 1996, 1991, 2004, 2005, 2005, 1992, 2006, 1993, 2001, 2006, + 2003, 2002, 2009, 1998, 2007, 2007, 2010, 2011, 2012, 2012, + 2014, 2016, 2004, 2011, 2009, 2013, 2016, 2017, 2013, 2018, + 2019, 2020, 2020, 2022, 2022, 2018, 2010, 2023, 2014, 2025, + 2025, 2027, 2029, 2029, 2026, 2028, 2017, 2019, 2019, 2026, + 2028, 2030, 2030, 2031, 2031, 2027, 2023, 2032, 2034, 2034, + 2037, 2039, 2032, 2040, 2040, 2042, 2042, 2043, 2044, 2045, + 2046, 2046, 2047, 2050, 2051, 2052, 2052, 2047, 2045, 2037, + 2053, 2043, 2051, 2039, 2055, 2053, 2056, 2050, 2044, 2057, - 2078, 2045, 0, 2056, 2061, 2061, 2053, 2078, 2051, 2052, - 2054, 2054, 2062, 2062, 2063, 2055, 2059, 2074, 2063, 2067, - 2067, 2069, 2069, 2070, 2070, 2071, 2070, 2073, 2073, 2071, - 2075, 2077, 2077, 2079, 2081, 2074, 2082, 2083, 2083, 2084, - 2084, 2085, 2085, 2086, 2075, 2082, 2087, 2089, 2079, 2088, - 2088, 2087, 2081, 2090, 2091, 2092, 2093, 2094, 2086, 0, - 2092, 2093, 2095, 2095, 2098, 2098, 2101, 2101, 2090, 2102, - 2102, 2105, 2089, 2103, 2103, 2091, 2094, 2106, 2106, 2109, - 2105, 2108, 2108, 2110, 2110, 2111, 2112, 2112, 2115, 2116, - 2118, 2109, 2116, 2119, 2120, 2121, 2118, 2122, 2133, 2120, + 2058, 2059, 2061, 2062, 2057, 2064, 2063, 2059, 2065, 2066, + 2061, 2070, 2058, 2067, 2055, 2089, 2056, 0, 2067, 2072, + 2072, 2064, 2089, 2062, 2063, 2065, 2065, 2073, 2073, 2074, + 2066, 2070, 2085, 2074, 2078, 2078, 2080, 2080, 2081, 2081, + 2082, 2081, 2084, 2084, 2082, 2086, 2088, 2088, 2090, 2092, + 2085, 2093, 2094, 2094, 2095, 2095, 2096, 2096, 2097, 2086, + 2093, 2098, 2100, 2090, 2099, 2099, 2098, 2092, 2101, 2102, + 2103, 2104, 2105, 2097, 0, 2103, 2104, 2106, 2106, 2109, + 2109, 2112, 2112, 2101, 2113, 2113, 2116, 2100, 2114, 2114, + 2102, 2105, 2117, 2117, 2120, 2116, 2119, 2119, 2121, 2121, - 2111, 2123, 2129, 2136, 2132, 2129, 2115, 2119, 2132, 2134, - 2137, 2138, 2139, 2141, 2121, 2122, 2140, 2123, 2133, 2142, - 2143, 2137, 2144, 2134, 2138, 0, 2136, 2145, 2145, 2141, - 2146, 2139, 2147, 2147, 2140, 2143, 2148, 2148, 2150, 2146, - 2149, 2149, 2144, 2150, 2142, 2151, 2152, 2153, 2154, 2155, - 2151, 2156, 2156, 2158, 2154, 2160, 2162, 2166, 2163, 2164, - 2165, 2167, 2153, 2155, 2163, 2164, 2171, 2169, 2158, 2172, - 2166, 2152, 2170, 2160, 2165, 2162, 2170, 2173, 2174, 2175, - 2167, 2169, 2172, 2176, 2175, 2171, 2177, 2183, 2176, 0, - 2173, 2178, 2178, 2179, 2179, 2180, 2181, 2174, 2182, 2188, + 2122, 2123, 2123, 2126, 2127, 2129, 2120, 2127, 2130, 2131, + 2132, 2129, 2133, 2144, 2131, 2122, 2134, 2140, 2147, 2143, + 2140, 2126, 2130, 2143, 2145, 2148, 2149, 2150, 2152, 2132, + 2133, 2151, 2134, 2144, 2153, 2154, 2148, 2155, 2145, 2149, + 0, 2147, 2156, 2156, 2152, 2157, 2150, 2158, 2158, 2151, + 2154, 2159, 2159, 2161, 2157, 2160, 2160, 2155, 2161, 2153, + 2162, 2163, 2164, 2165, 2166, 2162, 2167, 2167, 2169, 2165, + 2171, 2173, 2177, 2174, 2175, 2176, 2178, 2164, 2166, 2174, + 2175, 2182, 2180, 2169, 2183, 2177, 2163, 2181, 2171, 2176, + 2173, 2181, 2184, 2185, 2186, 2178, 2180, 2183, 2187, 2186, - 2180, 2181, 2184, 2182, 2187, 2177, 2183, 2189, 2184, 2185, - 2185, 2187, 2191, 2190, 2192, 2194, 2195, 2196, 2188, 2190, - 2194, 2197, 2198, 2198, 2199, 2200, 2189, 2192, 2205, 2199, - 2209, 2191, 2201, 2201, 2197, 2195, 2196, 2202, 2202, 2204, - 2203, 2206, 2206, 2207, 2200, 2203, 2204, 2205, 2208, 2209, - 2207, 2210, 2211, 2213, 2214, 2208, 2210, 2215, 2213, 2214, - 2216, 2217, 2217, 2218, 2219, 2220, 2220, 2221, 2221, 2231, - 2222, 2211, 2223, 2223, 2224, 2224, 2215, 2222, 2225, 2216, - 2232, 2227, 2218, 2219, 2230, 2225, 2227, 0, 2231, 2230, - 2233, 2233, 2234, 2234, 0, 0, 0, 0, 0, 2232, + 2182, 2188, 2194, 2187, 0, 2184, 2189, 2189, 2190, 2190, + 2191, 2192, 2185, 2193, 2199, 2191, 2192, 2195, 2193, 2198, + 2188, 2194, 2200, 2195, 2196, 2196, 2198, 2202, 2201, 2203, + 2205, 2206, 2207, 2199, 2201, 2205, 2208, 2209, 2209, 2210, + 2211, 2200, 2203, 2216, 2210, 2220, 2202, 2212, 2212, 2208, + 2206, 2207, 2213, 2213, 2215, 2214, 2217, 2217, 2218, 2211, + 2214, 2215, 2216, 2219, 2220, 2218, 2221, 2222, 2224, 2225, + 2219, 2221, 2226, 2224, 2225, 2227, 2228, 2228, 2229, 2230, + 2231, 2231, 2232, 2232, 2242, 2233, 2222, 2234, 2234, 2235, + 2235, 2226, 2233, 2236, 2227, 2243, 2238, 2229, 2230, 2241, - 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2239, 2239, 2239, - 2239, 2239, 2239, 2239, 2240, 2240, 2240, 2240, 2240, 2240, - 2240, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2242, 2242, - 2242, 2242, 2242, 2242, 2242, 2244, 2244, 0, 2244, 2244, - 2244, 2244, 2245, 2245, 0, 0, 0, 2245, 2245, 2246, - 2246, 0, 0, 2246, 0, 2246, 2247, 0, 0, 0, - 0, 0, 2247, 2248, 2248, 0, 0, 0, 2248, 2248, - 2249, 0, 0, 0, 0, 0, 2249, 2250, 2250, 0, - 2250, 2250, 2250, 2250, 2251, 2251, 0, 2251, 2251, 2251, - 2251, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, + 2236, 2238, 0, 2242, 2241, 2244, 2244, 2245, 2245, 0, + 0, 0, 0, 0, 2243, 2249, 2249, 2249, 2249, 2249, + 2249, 2249, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251, + 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252, 2252, 2252, + 2252, 2252, 2252, 2253, 2253, 2253, 2253, 2253, 2253, 2253, + 2255, 2255, 0, 2255, 2255, 2255, 2255, 2256, 2256, 0, + 0, 0, 2256, 2256, 2257, 2257, 0, 0, 2257, 0, + 2257, 2258, 0, 0, 0, 0, 0, 2258, 2259, 2259, + 0, 0, 0, 2259, 2259, 2260, 0, 0, 0, 0, + 0, 2260, 2261, 2261, 0, 2261, 2261, 2261, 2261, 2262, - 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, - 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, - 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, - 2237, 2237 + 2262, 0, 2262, 2262, 2262, 2262, 2248, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, + 2248, 2248, 2248, 2248, 2248, 2248, 2248 } ; static yy_state_type yy_last_accepting_state; @@ -2373,7 +2378,7 @@ static void config_end_include(void) #define YY_NO_INPUT 1 #endif -#line 2375 "" +#line 2380 "" #define INITIAL 0 #define quotedstring 1 @@ -2596,7 +2601,7 @@ YY_DECL { #line 207 "./util/configlexer.lex" -#line 2598 "" +#line 2603 "" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2629,13 +2634,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 >= 2238 ) + if ( yy_current_state >= 2249 ) 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] != 4392 ); + while ( yy_base[yy_current_state] != 4407 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3710,40 +3715,50 @@ YY_RULE_SETUP { YDVAR(1, VAR_IPSECMOD_STRICT) } YY_BREAK case 209: -/* rule 209 can match eol */ YY_RULE_SETUP #line 426 "./util/configlexer.lex" +{ YDVAR(0, VAR_CACHEDB) } + YY_BREAK +case 210: +YY_RULE_SETUP +#line 427 "./util/configlexer.lex" +{ YDVAR(1, VAR_CACHEDB_BACKEND) } + YY_BREAK +case 211: +/* rule 211 can match eol */ +YY_RULE_SETUP +#line 428 "./util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 210: +case 212: YY_RULE_SETUP -#line 429 "./util/configlexer.lex" +#line 431 "./util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 430 "./util/configlexer.lex" +#line 432 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 211: +case 213: YY_RULE_SETUP -#line 435 "./util/configlexer.lex" +#line 437 "./util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 212: -/* rule 212 can match eol */ +case 214: +/* rule 214 can match eol */ YY_RULE_SETUP -#line 436 "./util/configlexer.lex" +#line 438 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 213: +case 215: YY_RULE_SETUP -#line 438 "./util/configlexer.lex" +#line 440 "./util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -3756,34 +3771,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 214: +case 216: YY_RULE_SETUP -#line 450 "./util/configlexer.lex" +#line 452 "./util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 451 "./util/configlexer.lex" +#line 453 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 215: +case 217: YY_RULE_SETUP -#line 456 "./util/configlexer.lex" +#line 458 "./util/configlexer.lex" { LEXOUT(("STR(%s) ", yytext)); yymore(); } YY_BREAK -case 216: -/* rule 216 can match eol */ +case 218: +/* rule 218 can match eol */ YY_RULE_SETUP -#line 457 "./util/configlexer.lex" +#line 459 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 217: +case 219: YY_RULE_SETUP -#line 459 "./util/configlexer.lex" +#line 461 "./util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -3796,38 +3811,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 218: +case 220: YY_RULE_SETUP -#line 471 "./util/configlexer.lex" +#line 473 "./util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 473 "./util/configlexer.lex" +#line 475 "./util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 219: -YY_RULE_SETUP -#line 477 "./util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK -case 220: -/* rule 220 can match eol */ -YY_RULE_SETUP -#line 478 "./util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} - YY_BREAK case 221: YY_RULE_SETUP #line 479 "./util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } +{ LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 222: +/* rule 222 can match eol */ YY_RULE_SETUP #line 480 "./util/configlexer.lex" +{ LEXOUT(("NL\n")); cfg_parser->line++;} + YY_BREAK +case 223: +YY_RULE_SETUP +#line 481 "./util/configlexer.lex" +{ LEXOUT(("IQS ")); BEGIN(include_quoted); } + YY_BREAK +case 224: +YY_RULE_SETUP +#line 482 "./util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include_glob(yytext); @@ -3835,27 +3850,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 485 "./util/configlexer.lex" +#line 487 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 223: +case 225: YY_RULE_SETUP -#line 489 "./util/configlexer.lex" +#line 491 "./util/configlexer.lex" { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } YY_BREAK -case 224: -/* rule 224 can match eol */ +case 226: +/* rule 226 can match eol */ YY_RULE_SETUP -#line 490 "./util/configlexer.lex" +#line 492 "./util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 225: +case 227: YY_RULE_SETUP -#line 492 "./util/configlexer.lex" +#line 494 "./util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -3865,7 +3880,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 498 "./util/configlexer.lex" +#line 500 "./util/configlexer.lex" { LEXOUT(("LEXEOF ")); yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ @@ -3877,33 +3892,33 @@ case YY_STATE_EOF(val): } } YY_BREAK -case 226: +case 228: YY_RULE_SETUP -#line 509 "./util/configlexer.lex" +#line 511 "./util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 227: +case 229: YY_RULE_SETUP -#line 513 "./util/configlexer.lex" +#line 515 "./util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 228: +case 230: YY_RULE_SETUP -#line 517 "./util/configlexer.lex" +#line 519 "./util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 229: +case 231: YY_RULE_SETUP -#line 521 "./util/configlexer.lex" +#line 523 "./util/configlexer.lex" ECHO; YY_BREAK -#line 3905 "" +#line 3920 "" case YY_END_OF_BUFFER: { @@ -4194,7 +4209,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 >= 2238 ) + if ( yy_current_state >= 2249 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -4222,11 +4237,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 >= 2238 ) + if ( yy_current_state >= 2249 ) 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 == 2237); + yy_is_jam = (yy_current_state == 2248); return yy_is_jam ? 0 : yy_current_state; } @@ -4865,7 +4880,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 521 "./util/configlexer.lex" +#line 523 "./util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index d9b8e281c..a976439bc 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -423,6 +423,8 @@ ipsecmod-hook{COLON} { YDVAR(1, VAR_IPSECMOD_HOOK) } ipsecmod-max-ttl{COLON} { YDVAR(1, VAR_IPSECMOD_MAX_TTL) } ipsecmod-whitelist{COLON} { YDVAR(1, VAR_IPSECMOD_WHITELIST) } ipsecmod-strict{COLON} { YDVAR(1, VAR_IPSECMOD_STRICT) } +cachedb{COLON} { YDVAR(0, VAR_CACHEDB) } +backend{COLON} { YDVAR(1, VAR_CACHEDB_BACKEND) } {NEWLINE} { LEXOUT(("NL\n")); cfg_parser->line++; } /* Quoted strings. Strip leading and ending quotes */ diff --git a/util/configparser.c b/util/configparser.c index 87b982cc7..da2d77eb4 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -338,7 +338,9 @@ extern int yydebug; VAR_IPSECMOD_IGNORE_BOGUS = 467, VAR_IPSECMOD_MAX_TTL = 468, VAR_IPSECMOD_WHITELIST = 469, - VAR_IPSECMOD_STRICT = 470 + VAR_IPSECMOD_STRICT = 470, + VAR_CACHEDB = 471, + VAR_CACHEDB_BACKEND = 472 }; #endif /* Tokens. */ @@ -555,6 +557,8 @@ extern int yydebug; #define VAR_IPSECMOD_MAX_TTL 468 #define VAR_IPSECMOD_WHITELIST 469 #define VAR_IPSECMOD_STRICT 470 +#define VAR_CACHEDB 471 +#define VAR_CACHEDB_BACKEND 472 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -565,7 +569,7 @@ union YYSTYPE char* str; -#line 569 "util/configparser.c" /* yacc.c:355 */ +#line 573 "util/configparser.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -582,7 +586,7 @@ int yyparse (void); /* Copy the second part of user declarations. */ -#line 586 "util/configparser.c" /* yacc.c:358 */ +#line 590 "util/configparser.c" /* yacc.c:358 */ #ifdef short # undef short @@ -824,21 +828,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 442 +#define YYLAST 440 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 216 +#define YYNTOKENS 218 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 231 +#define YYNNTS 235 /* YYNRULES -- Number of rules. */ -#define YYNRULES 443 +#define YYNRULES 449 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 667 +#define YYNSTATES 674 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 470 +#define YYMAXUTOK 472 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -894,58 +898,58 @@ static const yytype_uint8 yytranslate[] = 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215 + 215, 216, 217 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 151, 151, 151, 152, 152, 153, 153, 154, 154, - 154, 156, 160, 165, 166, 167, 167, 167, 168, 168, - 169, 169, 170, 170, 171, 171, 172, 172, 172, 173, - 173, 173, 174, 174, 175, 175, 176, 176, 177, 177, - 178, 178, 179, 179, 180, 180, 181, 181, 182, 182, - 182, 183, 183, 183, 184, 184, 184, 185, 185, 186, - 186, 187, 187, 188, 188, 189, 189, 189, 190, 190, - 191, 191, 192, 192, 192, 193, 193, 194, 194, 195, - 195, 196, 196, 196, 197, 197, 198, 198, 199, 199, - 200, 200, 201, 201, 202, 202, 202, 203, 203, 204, - 204, 204, 205, 205, 205, 206, 206, 206, 207, 207, - 207, 207, 208, 208, 208, 209, 209, 209, 210, 210, - 211, 211, 212, 212, 213, 213, 214, 214, 214, 215, - 215, 216, 216, 217, 218, 218, 219, 219, 220, 220, - 221, 222, 222, 223, 223, 224, 224, 225, 225, 225, - 226, 226, 227, 227, 228, 228, 229, 229, 230, 230, - 230, 231, 231, 231, 232, 232, 232, 233, 233, 234, - 234, 235, 235, 236, 236, 238, 250, 251, 252, 252, - 252, 252, 252, 253, 255, 267, 268, 269, 269, 269, - 269, 270, 272, 286, 287, 288, 288, 288, 288, 289, - 289, 289, 291, 300, 309, 320, 329, 338, 347, 358, - 367, 378, 391, 406, 417, 434, 451, 464, 479, 488, - 497, 506, 515, 524, 533, 542, 551, 560, 569, 578, - 587, 596, 605, 614, 621, 628, 637, 646, 655, 669, - 678, 687, 696, 703, 710, 736, 744, 751, 758, 765, - 772, 780, 788, 796, 803, 814, 821, 830, 839, 848, - 855, 862, 870, 878, 888, 898, 908, 921, 932, 940, - 953, 962, 971, 980, 990, 1000, 1008, 1021, 1030, 1038, - 1047, 1055, 1068, 1077, 1084, 1094, 1104, 1114, 1124, 1134, - 1144, 1154, 1164, 1171, 1178, 1185, 1194, 1203, 1212, 1219, - 1229, 1246, 1253, 1271, 1284, 1297, 1306, 1315, 1324, 1333, - 1343, 1353, 1362, 1371, 1384, 1397, 1406, 1413, 1422, 1431, - 1440, 1449, 1457, 1470, 1478, 1506, 1513, 1528, 1538, 1548, - 1555, 1562, 1571, 1585, 1604, 1623, 1635, 1647, 1659, 1670, - 1689, 1699, 1708, 1716, 1724, 1737, 1750, 1763, 1776, 1785, - 1794, 1804, 1814, 1827, 1840, 1851, 1864, 1875, 1888, 1898, - 1905, 1912, 1921, 1931, 1941, 1951, 1958, 1965, 1974, 1984, - 1994, 2023, 2033, 2041, 2050, 2065, 2074, 2079, 2080, 2081, - 2081, 2081, 2082, 2082, 2082, 2083, 2083, 2085, 2095, 2104, - 2111, 2121, 2128, 2135, 2142, 2149, 2154, 2155, 2156, 2156, - 2157, 2157, 2158, 2158, 2159, 2160, 2161, 2162, 2163, 2164, - 2166, 2174, 2181, 2189, 2197, 2204, 2211, 2220, 2229, 2238, - 2247, 2256, 2265, 2270, 2271, 2272, 2274, 2280, 2290, 2297, - 2306, 2314, 2320, 2321, 2323, 2323, 2323, 2324, 2324, 2326, - 2336, 2346, 2353, 2360 + 0, 152, 152, 152, 153, 153, 154, 154, 155, 155, + 155, 157, 158, 162, 167, 168, 169, 169, 169, 170, + 170, 171, 171, 172, 172, 173, 173, 174, 174, 174, + 175, 175, 175, 176, 176, 177, 177, 178, 178, 179, + 179, 180, 180, 181, 181, 182, 182, 183, 183, 184, + 184, 184, 185, 185, 185, 186, 186, 186, 187, 187, + 188, 188, 189, 189, 190, 190, 191, 191, 191, 192, + 192, 193, 193, 194, 194, 194, 195, 195, 196, 196, + 197, 197, 198, 198, 198, 199, 199, 200, 200, 201, + 201, 202, 202, 203, 203, 204, 204, 204, 205, 205, + 206, 206, 206, 207, 207, 207, 208, 208, 208, 209, + 209, 209, 209, 210, 210, 210, 211, 211, 211, 212, + 212, 213, 213, 214, 214, 215, 215, 216, 216, 216, + 217, 217, 218, 218, 219, 220, 220, 221, 221, 222, + 222, 223, 224, 224, 225, 225, 226, 226, 227, 227, + 227, 228, 228, 229, 229, 230, 230, 231, 231, 232, + 232, 232, 233, 233, 233, 234, 234, 234, 235, 235, + 236, 236, 237, 237, 238, 238, 240, 252, 253, 254, + 254, 254, 254, 254, 255, 257, 269, 270, 271, 271, + 271, 271, 272, 274, 288, 289, 290, 290, 290, 290, + 291, 291, 291, 293, 302, 311, 322, 331, 340, 349, + 360, 369, 380, 393, 408, 419, 436, 453, 466, 481, + 490, 499, 508, 517, 526, 535, 544, 553, 562, 571, + 580, 589, 598, 607, 616, 623, 630, 639, 648, 657, + 671, 680, 689, 698, 705, 712, 738, 746, 753, 760, + 767, 774, 782, 790, 798, 805, 816, 823, 832, 841, + 850, 857, 864, 872, 880, 890, 900, 910, 923, 934, + 942, 955, 964, 973, 982, 992, 1002, 1010, 1023, 1032, + 1040, 1049, 1057, 1070, 1079, 1086, 1096, 1106, 1116, 1126, + 1136, 1146, 1156, 1166, 1173, 1180, 1187, 1196, 1205, 1214, + 1221, 1231, 1248, 1255, 1273, 1286, 1299, 1308, 1317, 1326, + 1335, 1345, 1355, 1364, 1373, 1386, 1399, 1408, 1415, 1424, + 1433, 1442, 1451, 1459, 1472, 1480, 1508, 1515, 1530, 1540, + 1550, 1557, 1564, 1573, 1587, 1606, 1625, 1637, 1649, 1661, + 1672, 1691, 1701, 1710, 1718, 1726, 1739, 1752, 1765, 1778, + 1787, 1796, 1806, 1816, 1829, 1842, 1853, 1866, 1877, 1890, + 1900, 1907, 1914, 1923, 1933, 1943, 1953, 1960, 1967, 1976, + 1986, 1996, 2025, 2035, 2043, 2052, 2067, 2076, 2081, 2082, + 2083, 2083, 2083, 2084, 2084, 2084, 2085, 2085, 2087, 2097, + 2106, 2113, 2123, 2130, 2137, 2144, 2151, 2156, 2157, 2158, + 2158, 2159, 2159, 2160, 2160, 2161, 2162, 2163, 2164, 2165, + 2166, 2168, 2176, 2183, 2191, 2199, 2206, 2213, 2222, 2231, + 2240, 2249, 2258, 2267, 2272, 2273, 2274, 2276, 2282, 2292, + 2299, 2308, 2316, 2322, 2323, 2325, 2325, 2325, 2326, 2326, + 2328, 2338, 2348, 2355, 2362, 2370, 2375, 2376, 2377, 2379 }; #endif @@ -1030,14 +1034,14 @@ static const char *const yytname[] = "VAR_DNSCRYPT_SECRET_KEY", "VAR_DNSCRYPT_PROVIDER_CERT", "VAR_IPSECMOD_ENABLED", "VAR_IPSECMOD_HOOK", "VAR_IPSECMOD_IGNORE_BOGUS", "VAR_IPSECMOD_MAX_TTL", "VAR_IPSECMOD_WHITELIST", "VAR_IPSECMOD_STRICT", - "$accept", "toplevelvars", "toplevelvar", "serverstart", - "contents_server", "content_server", "stubstart", "contents_stub", - "content_stub", "forwardstart", "contents_forward", "content_forward", - "viewstart", "contents_view", "content_view", "server_num_threads", - "server_verbosity", "server_statistics_interval", - "server_statistics_cumulative", "server_extended_statistics", - "server_shm_enable", "server_shm_key", "server_port", - "server_send_client_subnet", "server_client_subnet_zone", + "VAR_CACHEDB", "VAR_CACHEDB_BACKEND", "$accept", "toplevelvars", + "toplevelvar", "serverstart", "contents_server", "content_server", + "stubstart", "contents_stub", "content_stub", "forwardstart", + "contents_forward", "content_forward", "viewstart", "contents_view", + "content_view", "server_num_threads", "server_verbosity", + "server_statistics_interval", "server_statistics_cumulative", + "server_extended_statistics", "server_shm_enable", "server_shm_key", + "server_port", "server_send_client_subnet", "server_client_subnet_zone", "server_client_subnet_always_forward", "server_client_subnet_opcode", "server_max_client_subnet_ipv4", "server_max_client_subnet_ipv6", "server_interface", "server_outgoing_interface", "server_outgoing_range", @@ -1122,7 +1126,9 @@ static const char *const yytname[] = "server_response_ip", "server_response_ip_data", "dnscstart", "contents_dnsc", "content_dnsc", "dnsc_dnscrypt_enable", "dnsc_dnscrypt_port", "dnsc_dnscrypt_provider", - "dnsc_dnscrypt_provider_cert", "dnsc_dnscrypt_secret_key", YY_NULLPTR + "dnsc_dnscrypt_provider_cert", "dnsc_dnscrypt_secret_key", + "cachedbstart", "contents_cachedb", "content_cachedb", + "cachedb_backend_name", YY_NULLPTR }; #endif @@ -1152,14 +1158,14 @@ static const yytype_uint16 yytoknum[] = 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 + 465, 466, 467, 468, 469, 470, 471, 472 }; # endif -#define YYPACT_NINF -200 +#define YYPACT_NINF -211 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-200))) + (!!((Yystate) == (-211))) #define YYTABLE_NINF -1 @@ -1170,73 +1176,74 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -200, 0, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - 96, -39, -35, 248, -65, -131, -106, -199, 2, 25, - 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 82, 83, 85, 88, 90, 91, 92, 93, - 94, 95, 126, 127, 128, 129, 133, 134, 177, 178, - 179, 180, 181, 183, 184, 185, 189, 193, 218, 219, - 220, 221, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 280, 290, 291, 292, 293, - 294, 295, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, 361, - 362, 363, 364, 365, 366, -200, -200, -200, -200, -200, - -200, -200, 367, 368, 369, 370, 371, -200, -200, -200, - -200, -200, -200, 372, 373, 374, 375, 376, 377, 378, - -200, -200, -200, -200, -200, -200, -200, -200, 379, 380, - 381, 382, 383, 384, 385, 386, -200, -200, -200, -200, - -200, -200, -200, -200, -200, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 399, 400, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - 401, -200, -200, 402, 403, 404, 405, 406, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - 407, 408, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, 409, 410, 411, -200, -200, -200, - -200, -200, -200, -200, -200, -200, 412, 413, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, 414, 415, 416, 417, 418, 419, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, 420, -200, -200, 421, - 422, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, 423, 424, 425, - -200, -200, -200, -200, -200, -200, -200 + -211, 0, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, 205, -38, -34, -39, -64, -130, -105, -163, + -210, -2, -1, 2, 3, 26, 29, 30, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 53, 54, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, + 83, 84, 86, 89, 91, 92, 93, 94, 95, 96, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, 235, 236, 237, 238, 242, 243, -211, -211, + -211, -211, -211, -211, -211, 244, 286, 287, 288, 289, + -211, -211, -211, -211, -211, -211, 290, 291, 292, 293, + 294, 298, 302, -211, -211, -211, -211, -211, -211, -211, + -211, 303, 327, 328, 329, 330, 340, 341, 342, -211, + -211, -211, -211, -211, -211, -211, -211, -211, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 387, 389, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, 399, -211, -211, 400, 401, 402, 403, + 404, -211, -211, -211, -211, -211, -211, 411, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, 412, 413, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + 414, 415, 416, -211, -211, -211, -211, -211, -211, -211, + -211, -211, 417, 418, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, 419, + 420, 421, 422, 423, 424, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, 425, -211, -211, 426, 427, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, 428, 429, 430, -211, -211, -211, + -211, -211, -211, -211 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1244,9 +1251,10 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 2, 0, 1, 12, 175, 184, 376, 422, 395, 192, - 431, 3, 14, 177, 186, 194, 378, 397, 424, 433, - 4, 5, 6, 10, 8, 9, 7, 11, 0, 0, + 2, 0, 1, 13, 176, 185, 377, 423, 396, 193, + 432, 445, 3, 15, 178, 187, 195, 379, 398, 425, + 434, 447, 4, 5, 6, 10, 8, 9, 7, 11, + 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1262,113 +1270,113 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 15, - 16, 75, 78, 87, 164, 165, 17, 137, 138, 139, - 140, 141, 142, 26, 66, 18, 79, 80, 37, 59, - 74, 19, 20, 22, 23, 21, 24, 25, 110, 111, - 112, 113, 114, 160, 76, 65, 91, 108, 109, 27, - 28, 29, 30, 31, 67, 81, 82, 97, 53, 63, - 54, 168, 92, 47, 48, 167, 49, 50, 101, 105, - 118, 126, 147, 102, 60, 32, 33, 34, 89, 119, - 120, 121, 35, 36, 38, 39, 41, 42, 40, 124, - 43, 44, 45, 51, 70, 106, 84, 125, 77, 143, - 85, 86, 103, 104, 90, 46, 68, 71, 52, 55, - 93, 94, 69, 144, 95, 56, 57, 58, 107, 157, - 158, 166, 96, 64, 98, 99, 100, 145, 61, 62, - 83, 72, 73, 88, 115, 116, 117, 122, 123, 148, - 149, 151, 153, 154, 152, 155, 161, 127, 128, 131, - 132, 129, 130, 133, 134, 136, 135, 146, 156, 169, - 171, 170, 172, 173, 174, 150, 159, 162, 163, 0, - 0, 0, 0, 0, 0, 176, 178, 179, 180, 182, - 183, 181, 0, 0, 0, 0, 0, 185, 187, 188, - 189, 190, 191, 0, 0, 0, 0, 0, 0, 0, - 193, 195, 196, 199, 200, 197, 201, 198, 0, 0, - 0, 0, 0, 0, 0, 0, 377, 379, 381, 380, - 386, 382, 383, 384, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 396, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 0, 423, 425, 0, 0, 0, 0, 0, 432, 434, - 435, 436, 438, 437, 203, 202, 209, 218, 216, 224, - 225, 228, 226, 227, 229, 230, 242, 243, 244, 245, - 246, 268, 269, 270, 275, 276, 221, 277, 278, 281, - 279, 280, 283, 284, 285, 298, 256, 257, 259, 260, - 286, 301, 251, 253, 302, 308, 309, 310, 222, 267, - 321, 322, 252, 316, 238, 217, 247, 299, 305, 287, - 0, 0, 325, 223, 204, 237, 291, 205, 219, 220, - 248, 249, 323, 289, 293, 294, 206, 326, 271, 297, - 239, 255, 303, 304, 307, 315, 250, 319, 317, 318, - 261, 266, 295, 296, 262, 263, 288, 311, 240, 241, - 231, 232, 233, 234, 235, 327, 328, 329, 272, 273, - 274, 282, 330, 331, 0, 0, 0, 290, 264, 427, - 340, 344, 342, 341, 345, 343, 0, 0, 348, 349, - 210, 211, 212, 213, 214, 215, 292, 306, 320, 350, - 351, 265, 332, 0, 0, 0, 0, 0, 0, 312, - 313, 314, 428, 258, 254, 236, 207, 208, 352, 354, - 353, 355, 356, 357, 358, 359, 360, 363, 362, 361, - 364, 365, 366, 367, 368, 369, 0, 373, 374, 0, - 0, 375, 387, 389, 388, 391, 392, 393, 394, 390, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 426, 439, 440, 441, 443, 442, 300, 324, - 339, 429, 430, 346, 347, 333, 334, 0, 0, 0, - 338, 370, 371, 372, 337, 335, 336 + 0, 14, 16, 17, 76, 79, 88, 165, 166, 18, + 138, 139, 140, 141, 142, 143, 27, 67, 19, 80, + 81, 38, 60, 75, 20, 21, 23, 24, 22, 25, + 26, 111, 112, 113, 114, 115, 161, 77, 66, 92, + 109, 110, 28, 29, 30, 31, 32, 68, 82, 83, + 98, 54, 64, 55, 169, 93, 48, 49, 168, 50, + 51, 102, 106, 119, 127, 148, 103, 61, 33, 34, + 35, 90, 120, 121, 122, 36, 37, 39, 40, 42, + 43, 41, 125, 44, 45, 46, 52, 71, 107, 85, + 126, 78, 144, 86, 87, 104, 105, 91, 47, 69, + 72, 53, 56, 94, 95, 70, 145, 96, 57, 58, + 59, 108, 158, 159, 167, 97, 65, 99, 100, 101, + 146, 62, 63, 84, 73, 74, 89, 116, 117, 118, + 123, 124, 149, 150, 152, 154, 155, 153, 156, 162, + 128, 129, 132, 133, 130, 131, 134, 135, 137, 136, + 147, 157, 170, 172, 171, 173, 174, 175, 151, 160, + 163, 164, 0, 0, 0, 0, 0, 0, 177, 179, + 180, 181, 183, 184, 182, 0, 0, 0, 0, 0, + 186, 188, 189, 190, 191, 192, 0, 0, 0, 0, + 0, 0, 0, 194, 196, 197, 200, 201, 198, 202, + 199, 0, 0, 0, 0, 0, 0, 0, 0, 378, + 380, 382, 381, 387, 383, 384, 385, 386, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 397, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 0, 424, 426, 0, 0, 0, 0, + 0, 433, 435, 436, 437, 439, 438, 0, 446, 448, + 204, 203, 210, 219, 217, 225, 226, 229, 227, 228, + 230, 231, 243, 244, 245, 246, 247, 269, 270, 271, + 276, 277, 222, 278, 279, 282, 280, 281, 284, 285, + 286, 299, 257, 258, 260, 261, 287, 302, 252, 254, + 303, 309, 310, 311, 223, 268, 322, 323, 253, 317, + 239, 218, 248, 300, 306, 288, 0, 0, 326, 224, + 205, 238, 292, 206, 220, 221, 249, 250, 324, 290, + 294, 295, 207, 327, 272, 298, 240, 256, 304, 305, + 308, 316, 251, 320, 318, 319, 262, 267, 296, 297, + 263, 264, 289, 312, 241, 242, 232, 233, 234, 235, + 236, 328, 329, 330, 273, 274, 275, 283, 331, 332, + 0, 0, 0, 291, 265, 428, 341, 345, 343, 342, + 346, 344, 0, 0, 349, 350, 211, 212, 213, 214, + 215, 216, 293, 307, 321, 351, 352, 266, 333, 0, + 0, 0, 0, 0, 0, 313, 314, 315, 429, 259, + 255, 237, 208, 209, 353, 355, 354, 356, 357, 358, + 359, 360, 361, 364, 363, 362, 365, 366, 367, 368, + 369, 370, 0, 374, 375, 0, 0, 376, 388, 390, + 389, 392, 393, 394, 395, 391, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 427, 440, + 441, 442, 444, 443, 449, 301, 325, 340, 430, 431, + 347, 348, 334, 335, 0, 0, 0, 339, 371, 372, + 373, 338, 336, 337 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200 + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, -211, -211 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 11, 12, 20, 188, 13, 21, 355, 14, - 22, 367, 15, 23, 380, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 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, 356, 357, 358, 359, 360, 361, 368, 369, 370, - 371, 372, 381, 382, 383, 384, 385, 386, 387, 16, - 24, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 17, 25, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 18, 26, 431, 432, 345, - 346, 347, 348, 19, 27, 438, 439, 440, 441, 442, - 443 + -1, 1, 12, 13, 22, 191, 14, 23, 358, 15, + 24, 370, 16, 25, 383, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 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, 359, 360, 361, 362, 363, 364, 371, 372, 373, + 374, 375, 384, 385, 386, 387, 388, 389, 390, 17, + 26, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 18, 27, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 19, 28, 434, 435, 348, + 349, 350, 351, 20, 29, 441, 442, 443, 444, 445, + 446, 21, 30, 448, 449 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1376,151 +1384,151 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint16 yytable[] = { - 2, 349, 430, 350, 351, 362, 433, 434, 435, 436, - 437, 3, 444, 363, 364, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 388, 389, 390, - 391, 392, 393, 394, 395, 445, 446, 447, 448, 449, - 450, 4, 451, 452, 453, 454, 455, 5, 456, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 352, 472, 473, 474, 475, 476, + 2, 376, 352, 433, 353, 354, 365, 447, 450, 451, + 0, 3, 452, 453, 366, 367, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 391, 392, + 393, 394, 395, 396, 397, 398, 454, 377, 378, 455, + 456, 4, 436, 437, 438, 439, 440, 5, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 379, 471, 472, 355, 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, 6, 498, 499, 353, 500, 354, 365, 501, 366, - 502, 503, 504, 505, 506, 507, 0, 7, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 508, 509, 510, 511, - 56, 57, 58, 512, 513, 8, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 514, 515, 516, - 517, 518, 9, 519, 520, 521, 100, 101, 102, 522, - 103, 104, 105, 523, 10, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 524, 525, - 526, 527, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 373, 172, - 541, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 542, 543, 544, 545, 546, 547, 182, 183, 184, 185, - 186, 187, 548, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 374, 375, 560, 561, 562, 563, - 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, - 574, 575, 576, 577, 578, 579, 580, 581, 582, 376, - 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, - 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, - 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 636, 637, 638, 639, 377, 378, 640, - 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, - 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, - 661, 662, 663, 664, 665, 666, 0, 0, 0, 0, - 0, 0, 379 + 497, 6, 498, 499, 500, 356, 501, 357, 368, 502, + 369, 503, 504, 505, 506, 507, 508, 7, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, + 380, 381, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 8, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 382, 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, 582, 583, 584, 585, 586, + 587, 588, 9, 589, 590, 591, 592, 593, 594, 595, + 596, 597, 598, 599, 10, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 609, 0, 11, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 610, 611, 612, 613, 59, + 60, 61, 614, 615, 616, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 617, 618, 619, 620, + 621, 622, 623, 624, 625, 103, 104, 105, 626, 106, + 107, 108, 627, 628, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 629, 630, 631, + 632, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 646, 175, 647, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 648, + 649, 650, 651, 652, 653, 185, 186, 187, 188, 189, + 190, 654, 655, 656, 657, 658, 659, 660, 661, 662, + 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, + 673 }; static const yytype_int16 yycheck[] = { - 0, 40, 108, 42, 43, 40, 205, 206, 207, 208, - 209, 11, 10, 48, 49, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 92, 93, 94, - 95, 96, 97, 98, 99, 10, 10, 10, 10, 10, - 10, 41, 10, 10, 10, 10, 10, 47, 10, 10, + 0, 40, 40, 108, 42, 43, 40, 217, 10, 10, + -1, 11, 10, 10, 48, 49, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 92, 93, + 94, 95, 96, 97, 98, 99, 10, 76, 77, 10, + 10, 41, 205, 206, 207, 208, 209, 47, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 103, 10, 10, 10, 10, 10, + 10, 10, 101, 10, 10, 103, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 91, 10, 10, 133, 10, 135, 132, 10, 134, - 10, 10, 10, 10, 10, 10, -1, 107, 12, 13, - 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, 10, 10, 10, 10, - 44, 45, 46, 10, 10, 145, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 10, 10, 10, - 10, 10, 192, 10, 10, 10, 100, 101, 102, 10, - 104, 105, 106, 10, 204, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 10, 10, - 10, 10, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 40, 193, - 10, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 10, 10, 10, 10, 10, 10, 210, 211, 212, 213, - 214, 215, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 76, 77, 10, 10, 10, 10, + 10, 91, 10, 10, 10, 133, 10, 135, 132, 10, + 134, 10, 10, 10, 10, 10, 10, 107, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 101, + 159, 160, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 145, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 194, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 192, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 204, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, -1, 216, 12, 13, 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, 10, 10, 10, 10, 44, + 45, 46, 10, 10, 10, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 100, 101, 102, 10, 104, + 105, 106, 10, 10, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 10, 10, 10, + 10, 136, 137, 138, 139, 140, 141, 142, 143, 144, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 10, 193, 10, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 10, + 10, 10, 10, 10, 10, 210, 211, 212, 213, 214, + 215, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 159, 160, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, -1, -1, -1, -1, - -1, -1, 194 + 10 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 217, 0, 11, 41, 47, 91, 107, 145, 192, - 204, 218, 219, 222, 225, 228, 405, 416, 431, 439, - 220, 223, 226, 229, 406, 417, 432, 440, 12, 13, - 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, 44, 45, 46, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 100, 101, 102, 104, 105, 106, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 193, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 210, 211, 212, 213, 214, 215, 221, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 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, 435, 436, 437, 438, 40, - 42, 43, 103, 133, 135, 224, 387, 388, 389, 390, - 391, 392, 40, 48, 49, 132, 134, 227, 393, 394, - 395, 396, 397, 40, 76, 77, 101, 159, 160, 194, - 230, 398, 399, 400, 401, 402, 403, 404, 92, 93, - 94, 95, 96, 97, 98, 99, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 108, 433, 434, 205, 206, 207, 208, 209, 441, 442, - 443, 444, 445, 446, 10, 10, 10, 10, 10, 10, + 0, 219, 0, 11, 41, 47, 91, 107, 145, 192, + 204, 216, 220, 221, 224, 227, 230, 407, 418, 433, + 441, 449, 222, 225, 228, 231, 408, 419, 434, 442, + 450, 12, 13, 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, 44, + 45, 46, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 100, 101, 102, 104, 105, 106, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 193, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 210, 211, 212, 213, 214, + 215, 223, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 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, 437, 438, + 439, 440, 40, 42, 43, 103, 133, 135, 226, 389, + 390, 391, 392, 393, 394, 40, 48, 49, 132, 134, + 229, 395, 396, 397, 398, 399, 40, 76, 77, 101, + 159, 160, 194, 232, 400, 401, 402, 403, 404, 405, + 406, 92, 93, 94, 95, 96, 97, 98, 99, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 108, 435, 436, 205, 206, 207, 208, + 209, 443, 444, 445, 446, 447, 448, 217, 451, 452, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -1542,64 +1550,65 @@ static const yytype_uint16 yystos[] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 216, 217, 217, 218, 218, 218, 218, 218, 218, - 218, 218, 219, 220, 220, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 222, 223, 223, 224, 224, - 224, 224, 224, 224, 225, 226, 226, 227, 227, 227, - 227, 227, 228, 229, 229, 230, 230, 230, 230, 230, - 230, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 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, 406, 407, - 407, 407, 407, 407, 407, 407, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 417, 418, 418, - 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 440, 441, 441, 441, 441, 441, 442, - 443, 444, 445, 446 + 0, 218, 219, 219, 220, 220, 220, 220, 220, 220, + 220, 220, 220, 221, 222, 222, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 224, 225, 225, 226, + 226, 226, 226, 226, 226, 227, 228, 228, 229, 229, + 229, 229, 229, 230, 231, 231, 232, 232, 232, 232, + 232, 232, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 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, 408, + 409, 409, 409, 409, 409, 409, 409, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 419, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 442, 443, 443, 443, 443, 443, + 444, 445, 446, 447, 448, 449, 450, 450, 451, 452 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 2, 0, 1, 1, 1, 1, 1, + 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1615,10 +1624,10 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 2, 0, 1, 1, - 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, - 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 1, 2, 0, 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, @@ -1628,21 +1637,21 @@ static const yytype_uint8 yyr2[] = 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, 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, 3, 3, 4, 4, 4, 3, 3, - 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, + 2, 2, 2, 2, 2, 3, 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, 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, + 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, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 2, 0, 1, 2, 2, 2, 3, - 3, 1, 2, 0, 1, 1, 1, 1, 1, 2, - 2, 2, 2, 2 + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 2, 0, 1, 2, 2, 2, + 3, 3, 1, 2, 0, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 1, 2, 0, 1, 2 }; @@ -2318,16 +2327,16 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 12: -#line 161 "./util/configparser.y" /* yacc.c:1646 */ + case 13: +#line 163 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(server:)\n")); } -#line 2327 "util/configparser.c" /* yacc.c:1646 */ +#line 2336 "util/configparser.c" /* yacc.c:1646 */ break; - case 175: -#line 239 "./util/configparser.y" /* yacc.c:1646 */ + case 176: +#line 241 "./util/configparser.y" /* yacc.c:1646 */ { struct config_stub* s; OUTYY(("\nP(stub_zone:)\n")); @@ -2338,11 +2347,11 @@ yyreduce: } else yyerror("out of memory"); } -#line 2342 "util/configparser.c" /* yacc.c:1646 */ +#line 2351 "util/configparser.c" /* yacc.c:1646 */ break; - case 184: -#line 256 "./util/configparser.y" /* yacc.c:1646 */ + case 185: +#line 258 "./util/configparser.y" /* yacc.c:1646 */ { struct config_stub* s; OUTYY(("\nP(forward_zone:)\n")); @@ -2353,11 +2362,11 @@ yyreduce: } else yyerror("out of memory"); } -#line 2357 "util/configparser.c" /* yacc.c:1646 */ +#line 2366 "util/configparser.c" /* yacc.c:1646 */ break; - case 192: -#line 273 "./util/configparser.y" /* yacc.c:1646 */ + case 193: +#line 275 "./util/configparser.y" /* yacc.c:1646 */ { struct config_view* s; OUTYY(("\nP(view:)\n")); @@ -2370,11 +2379,11 @@ yyreduce: } else yyerror("out of memory"); } -#line 2374 "util/configparser.c" /* yacc.c:1646 */ +#line 2383 "util/configparser.c" /* yacc.c:1646 */ break; - case 202: -#line 292 "./util/configparser.y" /* yacc.c:1646 */ + case 203: +#line 294 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2382,11 +2391,11 @@ yyreduce: else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2386 "util/configparser.c" /* yacc.c:1646 */ +#line 2395 "util/configparser.c" /* yacc.c:1646 */ break; - case 203: -#line 301 "./util/configparser.y" /* yacc.c:1646 */ + case 204: +#line 303 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2394,11 +2403,11 @@ yyreduce: else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2398 "util/configparser.c" /* yacc.c:1646 */ +#line 2407 "util/configparser.c" /* yacc.c:1646 */ break; - case 204: -#line 310 "./util/configparser.y" /* yacc.c:1646 */ + case 205: +#line 312 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) @@ -2408,11 +2417,11 @@ yyreduce: else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2412 "util/configparser.c" /* yacc.c:1646 */ +#line 2421 "util/configparser.c" /* yacc.c:1646 */ break; - case 205: -#line 321 "./util/configparser.y" /* yacc.c:1646 */ + case 206: +#line 323 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2420,11 +2429,11 @@ yyreduce: else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2424 "util/configparser.c" /* yacc.c:1646 */ +#line 2433 "util/configparser.c" /* yacc.c:1646 */ break; - case 206: -#line 330 "./util/configparser.y" /* yacc.c:1646 */ + case 207: +#line 332 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2432,11 +2441,11 @@ yyreduce: else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2436 "util/configparser.c" /* yacc.c:1646 */ +#line 2445 "util/configparser.c" /* yacc.c:1646 */ break; - case 207: -#line 339 "./util/configparser.y" /* yacc.c:1646 */ + case 208: +#line 341 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2444,11 +2453,11 @@ yyreduce: else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2448 "util/configparser.c" /* yacc.c:1646 */ +#line 2457 "util/configparser.c" /* yacc.c:1646 */ break; - case 208: -#line 348 "./util/configparser.y" /* yacc.c:1646 */ + case 209: +#line 350 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) @@ -2458,11 +2467,11 @@ yyreduce: else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2462 "util/configparser.c" /* yacc.c:1646 */ +#line 2471 "util/configparser.c" /* yacc.c:1646 */ break; - case 209: -#line 359 "./util/configparser.y" /* yacc.c:1646 */ + case 210: +#line 361 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2470,11 +2479,11 @@ yyreduce: else cfg_parser->cfg->port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2474 "util/configparser.c" /* yacc.c:1646 */ +#line 2483 "util/configparser.c" /* yacc.c:1646 */ break; - case 210: -#line 368 "./util/configparser.y" /* yacc.c:1646 */ + case 211: +#line 370 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef CLIENT_SUBNET OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[0].str))); @@ -2484,11 +2493,11 @@ yyreduce: OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif } -#line 2488 "util/configparser.c" /* yacc.c:1646 */ +#line 2497 "util/configparser.c" /* yacc.c:1646 */ break; - case 211: -#line 379 "./util/configparser.y" /* yacc.c:1646 */ + case 212: +#line 381 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef CLIENT_SUBNET OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[0].str))); @@ -2499,11 +2508,11 @@ yyreduce: OUTYY(("P(Compiled without edns subnet option, ignoring)\n")); #endif } -#line 2503 "util/configparser.c" /* yacc.c:1646 */ +#line 2512 "util/configparser.c" /* yacc.c:1646 */ break; - case 212: -#line 392 "./util/configparser.y" /* yacc.c:1646 */ + case 213: +#line 394 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef CLIENT_SUBNET OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[0].str))); @@ -2517,11 +2526,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2521 "util/configparser.c" /* yacc.c:1646 */ +#line 2530 "util/configparser.c" /* yacc.c:1646 */ break; - case 213: -#line 407 "./util/configparser.y" /* yacc.c:1646 */ + case 214: +#line 409 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef CLIENT_SUBNET OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[0].str))); @@ -2531,11 +2540,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2535 "util/configparser.c" /* yacc.c:1646 */ +#line 2544 "util/configparser.c" /* yacc.c:1646 */ break; - case 214: -#line 418 "./util/configparser.y" /* yacc.c:1646 */ + case 215: +#line 420 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef CLIENT_SUBNET OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[0].str))); @@ -2551,11 +2560,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2555 "util/configparser.c" /* yacc.c:1646 */ +#line 2564 "util/configparser.c" /* yacc.c:1646 */ break; - case 215: -#line 435 "./util/configparser.y" /* yacc.c:1646 */ + case 216: +#line 437 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef CLIENT_SUBNET OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[0].str))); @@ -2571,11 +2580,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2575 "util/configparser.c" /* yacc.c:1646 */ +#line 2584 "util/configparser.c" /* yacc.c:1646 */ break; - case 216: -#line 452 "./util/configparser.y" /* yacc.c:1646 */ + case 217: +#line 454 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_ifs == 0) @@ -2587,11 +2596,11 @@ yyreduce: else cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); } -#line 2591 "util/configparser.c" /* yacc.c:1646 */ +#line 2600 "util/configparser.c" /* yacc.c:1646 */ break; - case 217: -#line 465 "./util/configparser.y" /* yacc.c:1646 */ + case 218: +#line 467 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_out_ifs == 0) @@ -2605,11 +2614,11 @@ yyreduce: cfg_parser->cfg->out_ifs[ cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); } -#line 2609 "util/configparser.c" /* yacc.c:1646 */ +#line 2618 "util/configparser.c" /* yacc.c:1646 */ break; - case 218: -#line 480 "./util/configparser.y" /* yacc.c:1646 */ + case 219: +#line 482 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2617,11 +2626,11 @@ yyreduce: else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2621 "util/configparser.c" /* yacc.c:1646 */ +#line 2630 "util/configparser.c" /* yacc.c:1646 */ break; - case 219: -#line 489 "./util/configparser.y" /* yacc.c:1646 */ + case 220: +#line 491 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str))); if(!cfg_mark_ports((yyvsp[0].str), 1, @@ -2629,11 +2638,11 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 2633 "util/configparser.c" /* yacc.c:1646 */ +#line 2642 "util/configparser.c" /* yacc.c:1646 */ break; - case 220: -#line 498 "./util/configparser.y" /* yacc.c:1646 */ + case 221: +#line 500 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str))); if(!cfg_mark_ports((yyvsp[0].str), 0, @@ -2641,11 +2650,11 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 2645 "util/configparser.c" /* yacc.c:1646 */ +#line 2654 "util/configparser.c" /* yacc.c:1646 */ break; - case 221: -#line 507 "./util/configparser.y" /* yacc.c:1646 */ + case 222: +#line 509 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2653,11 +2662,11 @@ yyreduce: else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2657 "util/configparser.c" /* yacc.c:1646 */ +#line 2666 "util/configparser.c" /* yacc.c:1646 */ break; - case 222: -#line 516 "./util/configparser.y" /* yacc.c:1646 */ + case 223: +#line 518 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2665,11 +2674,11 @@ yyreduce: else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2669 "util/configparser.c" /* yacc.c:1646 */ +#line 2678 "util/configparser.c" /* yacc.c:1646 */ break; - case 223: -#line 525 "./util/configparser.y" /* yacc.c:1646 */ + case 224: +#line 527 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2677,11 +2686,11 @@ yyreduce: else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2681 "util/configparser.c" /* yacc.c:1646 */ +#line 2690 "util/configparser.c" /* yacc.c:1646 */ break; - case 224: -#line 534 "./util/configparser.y" /* yacc.c:1646 */ + case 225: +#line 536 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2689,11 +2698,11 @@ yyreduce: else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2693 "util/configparser.c" /* yacc.c:1646 */ +#line 2702 "util/configparser.c" /* yacc.c:1646 */ break; - case 225: -#line 543 "./util/configparser.y" /* yacc.c:1646 */ + case 226: +#line 545 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2701,11 +2710,11 @@ yyreduce: else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2705 "util/configparser.c" /* yacc.c:1646 */ +#line 2714 "util/configparser.c" /* yacc.c:1646 */ break; - case 226: -#line 552 "./util/configparser.y" /* yacc.c:1646 */ + case 227: +#line 554 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2713,11 +2722,11 @@ yyreduce: else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2717 "util/configparser.c" /* yacc.c:1646 */ +#line 2726 "util/configparser.c" /* yacc.c:1646 */ break; - case 227: -#line 561 "./util/configparser.y" /* yacc.c:1646 */ + case 228: +#line 563 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2725,11 +2734,11 @@ yyreduce: else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2729 "util/configparser.c" /* yacc.c:1646 */ +#line 2738 "util/configparser.c" /* yacc.c:1646 */ break; - case 228: -#line 570 "./util/configparser.y" /* yacc.c:1646 */ + case 229: +#line 572 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2737,11 +2746,11 @@ yyreduce: else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2741 "util/configparser.c" /* yacc.c:1646 */ +#line 2750 "util/configparser.c" /* yacc.c:1646 */ break; - case 229: -#line 579 "./util/configparser.y" /* yacc.c:1646 */ + case 230: +#line 581 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2749,11 +2758,11 @@ yyreduce: else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2753 "util/configparser.c" /* yacc.c:1646 */ +#line 2762 "util/configparser.c" /* yacc.c:1646 */ break; - case 230: -#line 588 "./util/configparser.y" /* yacc.c:1646 */ + case 231: +#line 590 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2761,11 +2770,11 @@ yyreduce: else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2765 "util/configparser.c" /* yacc.c:1646 */ +#line 2774 "util/configparser.c" /* yacc.c:1646 */ break; - case 231: -#line 597 "./util/configparser.y" /* yacc.c:1646 */ + case 232: +#line 599 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2773,11 +2782,11 @@ yyreduce: else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2777 "util/configparser.c" /* yacc.c:1646 */ +#line 2786 "util/configparser.c" /* yacc.c:1646 */ break; - case 232: -#line 606 "./util/configparser.y" /* yacc.c:1646 */ + case 233: +#line 608 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2785,31 +2794,31 @@ yyreduce: else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2789 "util/configparser.c" /* yacc.c:1646 */ +#line 2798 "util/configparser.c" /* yacc.c:1646 */ break; - case 233: -#line 615 "./util/configparser.y" /* yacc.c:1646 */ + case 234: +#line 617 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 2799 "util/configparser.c" /* yacc.c:1646 */ +#line 2808 "util/configparser.c" /* yacc.c:1646 */ break; - case 234: -#line 622 "./util/configparser.y" /* yacc.c:1646 */ + case 235: +#line 624 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 2809 "util/configparser.c" /* yacc.c:1646 */ +#line 2818 "util/configparser.c" /* yacc.c:1646 */ break; - case 235: -#line 629 "./util/configparser.y" /* yacc.c:1646 */ + case 236: +#line 631 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2817,11 +2826,11 @@ yyreduce: else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2821 "util/configparser.c" /* yacc.c:1646 */ +#line 2830 "util/configparser.c" /* yacc.c:1646 */ break; - case 236: -#line 638 "./util/configparser.y" /* yacc.c:1646 */ + case 237: +#line 640 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2829,11 +2838,11 @@ yyreduce: else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2833 "util/configparser.c" /* yacc.c:1646 */ +#line 2842 "util/configparser.c" /* yacc.c:1646 */ break; - case 237: -#line 647 "./util/configparser.y" /* yacc.c:1646 */ + case 238: +#line 649 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2841,11 +2850,11 @@ yyreduce: else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2845 "util/configparser.c" /* yacc.c:1646 */ +#line 2854 "util/configparser.c" /* yacc.c:1646 */ break; - case 238: -#line 656 "./util/configparser.y" /* yacc.c:1646 */ + case 239: +#line 658 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2858,11 +2867,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2862 "util/configparser.c" /* yacc.c:1646 */ +#line 2871 "util/configparser.c" /* yacc.c:1646 */ break; - case 239: -#line 670 "./util/configparser.y" /* yacc.c:1646 */ + case 240: +#line 672 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2870,11 +2879,11 @@ yyreduce: else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2874 "util/configparser.c" /* yacc.c:1646 */ +#line 2883 "util/configparser.c" /* yacc.c:1646 */ break; - case 240: -#line 679 "./util/configparser.y" /* yacc.c:1646 */ + case 241: +#line 681 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2882,11 +2891,11 @@ yyreduce: else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2886 "util/configparser.c" /* yacc.c:1646 */ +#line 2895 "util/configparser.c" /* yacc.c:1646 */ break; - case 241: -#line 688 "./util/configparser.y" /* yacc.c:1646 */ + case 242: +#line 690 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2894,31 +2903,31 @@ yyreduce: else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2898 "util/configparser.c" /* yacc.c:1646 */ +#line 2907 "util/configparser.c" /* yacc.c:1646 */ break; - case 242: -#line 697 "./util/configparser.y" /* yacc.c:1646 */ + case 243: +#line 699 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->chrootdir); cfg_parser->cfg->chrootdir = (yyvsp[0].str); } -#line 2908 "util/configparser.c" /* yacc.c:1646 */ +#line 2917 "util/configparser.c" /* yacc.c:1646 */ break; - case 243: -#line 704 "./util/configparser.y" /* yacc.c:1646 */ + case 244: +#line 706 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_username:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->username); cfg_parser->cfg->username = (yyvsp[0].str); } -#line 2918 "util/configparser.c" /* yacc.c:1646 */ +#line 2927 "util/configparser.c" /* yacc.c:1646 */ break; - case 244: -#line 711 "./util/configparser.y" /* yacc.c:1646 */ + case 245: +#line 713 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->directory); @@ -2943,105 +2952,105 @@ yyreduce: } } } -#line 2947 "util/configparser.c" /* yacc.c:1646 */ +#line 2956 "util/configparser.c" /* yacc.c:1646 */ break; - case 245: -#line 737 "./util/configparser.y" /* yacc.c:1646 */ + case 246: +#line 739 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->logfile); cfg_parser->cfg->logfile = (yyvsp[0].str); cfg_parser->cfg->use_syslog = 0; } -#line 2958 "util/configparser.c" /* yacc.c:1646 */ +#line 2967 "util/configparser.c" /* yacc.c:1646 */ break; - case 246: -#line 745 "./util/configparser.y" /* yacc.c:1646 */ + case 247: +#line 747 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->pidfile); cfg_parser->cfg->pidfile = (yyvsp[0].str); } -#line 2968 "util/configparser.c" /* yacc.c:1646 */ +#line 2977 "util/configparser.c" /* yacc.c:1646 */ break; - case 247: -#line 752 "./util/configparser.y" /* yacc.c:1646 */ + case 248: +#line 754 "./util/configparser.y" /* yacc.c:1646 */ { 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 2978 "util/configparser.c" /* yacc.c:1646 */ +#line 2987 "util/configparser.c" /* yacc.c:1646 */ break; - case 248: -#line 759 "./util/configparser.y" /* yacc.c:1646 */ + case 249: +#line 761 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dlv_anchor_file); cfg_parser->cfg->dlv_anchor_file = (yyvsp[0].str); } -#line 2988 "util/configparser.c" /* yacc.c:1646 */ +#line 2997 "util/configparser.c" /* yacc.c:1646 */ break; - case 249: -#line 766 "./util/configparser.y" /* yacc.c:1646 */ + case 250: +#line 768 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2998 "util/configparser.c" /* yacc.c:1646 */ +#line 3007 "util/configparser.c" /* yacc.c:1646 */ break; - case 250: -#line 773 "./util/configparser.y" /* yacc.c:1646 */ + case 251: +#line 775 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str))) yyerror("out of memory"); } -#line 3009 "util/configparser.c" /* yacc.c:1646 */ +#line 3018 "util/configparser.c" /* yacc.c:1646 */ break; - case 251: -#line 781 "./util/configparser.y" /* yacc.c:1646 */ + case 252: +#line 783 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3020 "util/configparser.c" /* yacc.c:1646 */ +#line 3029 "util/configparser.c" /* yacc.c:1646 */ break; - case 252: -#line 789 "./util/configparser.y" /* yacc.c:1646 */ + case 253: +#line 791 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trusted_keys_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3031 "util/configparser.c" /* yacc.c:1646 */ +#line 3040 "util/configparser.c" /* yacc.c:1646 */ break; - case 253: -#line 797 "./util/configparser.y" /* yacc.c:1646 */ + case 254: +#line 799 "./util/configparser.y" /* yacc.c:1646 */ { 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 3041 "util/configparser.c" /* yacc.c:1646 */ +#line 3050 "util/configparser.c" /* yacc.c:1646 */ break; - case 254: -#line 804 "./util/configparser.y" /* yacc.c:1646 */ + case 255: +#line 806 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3051,21 +3060,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3055 "util/configparser.c" /* yacc.c:1646 */ +#line 3064 "util/configparser.c" /* yacc.c:1646 */ break; - case 255: -#line 815 "./util/configparser.y" /* yacc.c:1646 */ + case 256: +#line 817 "./util/configparser.y" /* yacc.c:1646 */ { 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 3065 "util/configparser.c" /* yacc.c:1646 */ +#line 3074 "util/configparser.c" /* yacc.c:1646 */ break; - case 256: -#line 822 "./util/configparser.y" /* yacc.c:1646 */ + case 257: +#line 824 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3073,11 +3082,11 @@ yyreduce: else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3077 "util/configparser.c" /* yacc.c:1646 */ +#line 3086 "util/configparser.c" /* yacc.c:1646 */ break; - case 257: -#line 831 "./util/configparser.y" /* yacc.c:1646 */ + case 258: +#line 833 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3085,11 +3094,11 @@ yyreduce: else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3089 "util/configparser.c" /* yacc.c:1646 */ +#line 3098 "util/configparser.c" /* yacc.c:1646 */ break; - case 258: -#line 840 "./util/configparser.y" /* yacc.c:1646 */ + case 259: +#line 842 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3097,53 +3106,53 @@ yyreduce: else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3101 "util/configparser.c" /* yacc.c:1646 */ +#line 3110 "util/configparser.c" /* yacc.c:1646 */ break; - case 259: -#line 849 "./util/configparser.y" /* yacc.c:1646 */ + case 260: +#line 851 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->identity); cfg_parser->cfg->identity = (yyvsp[0].str); } -#line 3111 "util/configparser.c" /* yacc.c:1646 */ +#line 3120 "util/configparser.c" /* yacc.c:1646 */ break; - case 260: -#line 856 "./util/configparser.y" /* yacc.c:1646 */ + case 261: +#line 858 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->version); cfg_parser->cfg->version = (yyvsp[0].str); } -#line 3121 "util/configparser.c" /* yacc.c:1646 */ +#line 3130 "util/configparser.c" /* yacc.c:1646 */ break; - case 261: -#line 863 "./util/configparser.y" /* yacc.c:1646 */ + case 262: +#line 865 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 3132 "util/configparser.c" /* yacc.c:1646 */ +#line 3141 "util/configparser.c" /* yacc.c:1646 */ break; - case 262: -#line 871 "./util/configparser.y" /* yacc.c:1646 */ + case 263: +#line 873 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 3143 "util/configparser.c" /* yacc.c:1646 */ +#line 3152 "util/configparser.c" /* yacc.c:1646 */ break; - case 263: -#line 879 "./util/configparser.y" /* yacc.c:1646 */ + case 264: +#line 881 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3152,11 +3161,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3156 "util/configparser.c" /* yacc.c:1646 */ +#line 3165 "util/configparser.c" /* yacc.c:1646 */ break; - case 264: -#line 889 "./util/configparser.y" /* yacc.c:1646 */ + case 265: +#line 891 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3165,11 +3174,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3169 "util/configparser.c" /* yacc.c:1646 */ +#line 3178 "util/configparser.c" /* yacc.c:1646 */ break; - case 265: -#line 899 "./util/configparser.y" /* yacc.c:1646 */ + case 266: +#line 901 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3178,11 +3187,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3182 "util/configparser.c" /* yacc.c:1646 */ +#line 3191 "util/configparser.c" /* yacc.c:1646 */ break; - case 266: -#line 909 "./util/configparser.y" /* yacc.c:1646 */ + case 267: +#line 911 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3194,11 +3203,11 @@ yyreduce: else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3198 "util/configparser.c" /* yacc.c:1646 */ +#line 3207 "util/configparser.c" /* yacc.c:1646 */ break; - case 267: -#line 922 "./util/configparser.y" /* yacc.c:1646 */ + case 268: +#line 924 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3208,22 +3217,22 @@ yyreduce: else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3212 "util/configparser.c" /* yacc.c:1646 */ +#line 3221 "util/configparser.c" /* yacc.c:1646 */ break; - case 268: -#line 933 "./util/configparser.y" /* yacc.c:1646 */ + case 269: +#line 935 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 3223 "util/configparser.c" /* yacc.c:1646 */ +#line 3232 "util/configparser.c" /* yacc.c:1646 */ break; - case 269: -#line 941 "./util/configparser.y" /* yacc.c:1646 */ + case 270: +#line 943 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3235,11 +3244,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3239 "util/configparser.c" /* yacc.c:1646 */ +#line 3248 "util/configparser.c" /* yacc.c:1646 */ break; - case 270: -#line 954 "./util/configparser.y" /* yacc.c:1646 */ + case 271: +#line 956 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3247,11 +3256,11 @@ yyreduce: else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3251 "util/configparser.c" /* yacc.c:1646 */ +#line 3260 "util/configparser.c" /* yacc.c:1646 */ break; - case 271: -#line 963 "./util/configparser.y" /* yacc.c:1646 */ + case 272: +#line 965 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3259,11 +3268,11 @@ yyreduce: else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3263 "util/configparser.c" /* yacc.c:1646 */ +#line 3272 "util/configparser.c" /* yacc.c:1646 */ break; - case 272: -#line 972 "./util/configparser.y" /* yacc.c:1646 */ + case 273: +#line 974 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3271,11 +3280,11 @@ yyreduce: else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3275 "util/configparser.c" /* yacc.c:1646 */ +#line 3284 "util/configparser.c" /* yacc.c:1646 */ break; - case 273: -#line 981 "./util/configparser.y" /* yacc.c:1646 */ + case 274: +#line 983 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3284,11 +3293,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3288 "util/configparser.c" /* yacc.c:1646 */ +#line 3297 "util/configparser.c" /* yacc.c:1646 */ break; - case 274: -#line 991 "./util/configparser.y" /* yacc.c:1646 */ + case 275: +#line 993 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3297,22 +3306,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3301 "util/configparser.c" /* yacc.c:1646 */ +#line 3310 "util/configparser.c" /* yacc.c:1646 */ break; - case 275: -#line 1001 "./util/configparser.y" /* yacc.c:1646 */ + case 276: +#line 1003 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 3312 "util/configparser.c" /* yacc.c:1646 */ +#line 3321 "util/configparser.c" /* yacc.c:1646 */ break; - case 276: -#line 1009 "./util/configparser.y" /* yacc.c:1646 */ + case 277: +#line 1011 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3324,11 +3333,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3328 "util/configparser.c" /* yacc.c:1646 */ +#line 3337 "util/configparser.c" /* yacc.c:1646 */ break; - case 277: -#line 1022 "./util/configparser.y" /* yacc.c:1646 */ + case 278: +#line 1024 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3336,22 +3345,22 @@ yyreduce: else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3340 "util/configparser.c" /* yacc.c:1646 */ +#line 3349 "util/configparser.c" /* yacc.c:1646 */ break; - case 278: -#line 1031 "./util/configparser.y" /* yacc.c:1646 */ + case 279: +#line 1033 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); free((yyvsp[0].str)); } -#line 3351 "util/configparser.c" /* yacc.c:1646 */ +#line 3360 "util/configparser.c" /* yacc.c:1646 */ break; - case 279: -#line 1039 "./util/configparser.y" /* yacc.c:1646 */ + case 280: +#line 1041 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3359,22 +3368,22 @@ yyreduce: else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3363 "util/configparser.c" /* yacc.c:1646 */ +#line 3372 "util/configparser.c" /* yacc.c:1646 */ break; - case 280: -#line 1048 "./util/configparser.y" /* yacc.c:1646 */ + case 281: +#line 1050 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); free((yyvsp[0].str)); } -#line 3374 "util/configparser.c" /* yacc.c:1646 */ +#line 3383 "util/configparser.c" /* yacc.c:1646 */ break; - case 281: -#line 1056 "./util/configparser.y" /* yacc.c:1646 */ + case 282: +#line 1058 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3386,11 +3395,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3390 "util/configparser.c" /* yacc.c:1646 */ +#line 3399 "util/configparser.c" /* yacc.c:1646 */ break; - case 282: -#line 1069 "./util/configparser.y" /* yacc.c:1646 */ + case 283: +#line 1071 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3398,21 +3407,21 @@ yyreduce: else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3402 "util/configparser.c" /* yacc.c:1646 */ +#line 3411 "util/configparser.c" /* yacc.c:1646 */ break; - case 283: -#line 1078 "./util/configparser.y" /* yacc.c:1646 */ + case 284: +#line 1080 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 3412 "util/configparser.c" /* yacc.c:1646 */ +#line 3421 "util/configparser.c" /* yacc.c:1646 */ break; - case 284: -#line 1085 "./util/configparser.y" /* yacc.c:1646 */ + case 285: +#line 1087 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3421,11 +3430,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3425 "util/configparser.c" /* yacc.c:1646 */ +#line 3434 "util/configparser.c" /* yacc.c:1646 */ break; - case 285: -#line 1095 "./util/configparser.y" /* yacc.c:1646 */ + case 286: +#line 1097 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3434,11 +3443,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3438 "util/configparser.c" /* yacc.c:1646 */ +#line 3447 "util/configparser.c" /* yacc.c:1646 */ break; - case 286: -#line 1105 "./util/configparser.y" /* yacc.c:1646 */ + case 287: +#line 1107 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3447,11 +3456,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3451 "util/configparser.c" /* yacc.c:1646 */ +#line 3460 "util/configparser.c" /* yacc.c:1646 */ break; - case 287: -#line 1115 "./util/configparser.y" /* yacc.c:1646 */ + case 288: +#line 1117 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3460,11 +3469,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3464 "util/configparser.c" /* yacc.c:1646 */ +#line 3473 "util/configparser.c" /* yacc.c:1646 */ break; - case 288: -#line 1125 "./util/configparser.y" /* yacc.c:1646 */ + case 289: +#line 1127 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3473,11 +3482,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3477 "util/configparser.c" /* yacc.c:1646 */ +#line 3486 "util/configparser.c" /* yacc.c:1646 */ break; - case 289: -#line 1135 "./util/configparser.y" /* yacc.c:1646 */ + case 290: +#line 1137 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3486,11 +3495,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3490 "util/configparser.c" /* yacc.c:1646 */ +#line 3499 "util/configparser.c" /* yacc.c:1646 */ break; - case 290: -#line 1145 "./util/configparser.y" /* yacc.c:1646 */ + case 291: +#line 1147 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3499,11 +3508,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3503 "util/configparser.c" /* yacc.c:1646 */ +#line 3512 "util/configparser.c" /* yacc.c:1646 */ break; - case 291: -#line 1155 "./util/configparser.y" /* yacc.c:1646 */ + case 292: +#line 1157 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -3512,41 +3521,41 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3516 "util/configparser.c" /* yacc.c:1646 */ +#line 3525 "util/configparser.c" /* yacc.c:1646 */ break; - case 292: -#line 1165 "./util/configparser.y" /* yacc.c:1646 */ + case 293: +#line 1167 "./util/configparser.y" /* yacc.c:1646 */ { 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 3526 "util/configparser.c" /* yacc.c:1646 */ +#line 3535 "util/configparser.c" /* yacc.c:1646 */ break; - case 293: -#line 1172 "./util/configparser.y" /* yacc.c:1646 */ + case 294: +#line 1174 "./util/configparser.y" /* yacc.c:1646 */ { 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 3536 "util/configparser.c" /* yacc.c:1646 */ +#line 3545 "util/configparser.c" /* yacc.c:1646 */ break; - case 294: -#line 1179 "./util/configparser.y" /* yacc.c:1646 */ + case 295: +#line 1181 "./util/configparser.y" /* yacc.c:1646 */ { 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 3546 "util/configparser.c" /* yacc.c:1646 */ +#line 3555 "util/configparser.c" /* yacc.c:1646 */ break; - case 295: -#line 1186 "./util/configparser.y" /* yacc.c:1646 */ + case 296: +#line 1188 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3554,11 +3563,11 @@ yyreduce: else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3558 "util/configparser.c" /* yacc.c:1646 */ +#line 3567 "util/configparser.c" /* yacc.c:1646 */ break; - case 296: -#line 1195 "./util/configparser.y" /* yacc.c:1646 */ + case 297: +#line 1197 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3566,11 +3575,11 @@ yyreduce: else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3570 "util/configparser.c" /* yacc.c:1646 */ +#line 3579 "util/configparser.c" /* yacc.c:1646 */ break; - case 297: -#line 1204 "./util/configparser.y" /* yacc.c:1646 */ + case 298: +#line 1206 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3578,21 +3587,21 @@ yyreduce: else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3582 "util/configparser.c" /* yacc.c:1646 */ +#line 3591 "util/configparser.c" /* yacc.c:1646 */ break; - case 298: -#line 1213 "./util/configparser.y" /* yacc.c:1646 */ + case 299: +#line 1215 "./util/configparser.y" /* yacc.c:1646 */ { 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 3592 "util/configparser.c" /* yacc.c:1646 */ +#line 3601 "util/configparser.c" /* yacc.c:1646 */ break; - case 299: -#line 1220 "./util/configparser.y" /* yacc.c:1646 */ + case 300: +#line 1222 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -3601,11 +3610,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3605 "util/configparser.c" /* yacc.c:1646 */ +#line 3614 "util/configparser.c" /* yacc.c:1646 */ break; - case 300: -#line 1230 "./util/configparser.y" /* yacc.c:1646 */ + case 301: +#line 1232 "./util/configparser.y" /* yacc.c:1646 */ { 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 && @@ -3621,21 +3630,21 @@ yyreduce: fatal_exit("out of memory adding acl"); } } -#line 3625 "util/configparser.c" /* yacc.c:1646 */ +#line 3634 "util/configparser.c" /* yacc.c:1646 */ break; - case 301: -#line 1247 "./util/configparser.y" /* yacc.c:1646 */ + case 302: +#line 1249 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->module_conf); cfg_parser->cfg->module_conf = (yyvsp[0].str); } -#line 3635 "util/configparser.c" /* yacc.c:1646 */ +#line 3644 "util/configparser.c" /* yacc.c:1646 */ break; - case 302: -#line 1254 "./util/configparser.y" /* yacc.c:1646 */ + case 303: +#line 1256 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -3652,11 +3661,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3656 "util/configparser.c" /* yacc.c:1646 */ +#line 3665 "util/configparser.c" /* yacc.c:1646 */ break; - case 303: -#line 1272 "./util/configparser.y" /* yacc.c:1646 */ + case 304: +#line 1274 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -3668,11 +3677,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3672 "util/configparser.c" /* yacc.c:1646 */ +#line 3681 "util/configparser.c" /* yacc.c:1646 */ break; - case 304: -#line 1285 "./util/configparser.y" /* yacc.c:1646 */ + case 305: +#line 1287 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -3684,11 +3693,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3688 "util/configparser.c" /* yacc.c:1646 */ +#line 3697 "util/configparser.c" /* yacc.c:1646 */ break; - case 305: -#line 1298 "./util/configparser.y" /* yacc.c:1646 */ + case 306: +#line 1300 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3696,11 +3705,11 @@ yyreduce: else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3700 "util/configparser.c" /* yacc.c:1646 */ +#line 3709 "util/configparser.c" /* yacc.c:1646 */ break; - case 306: -#line 1307 "./util/configparser.y" /* yacc.c:1646 */ + case 307: +#line 1309 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3708,11 +3717,11 @@ yyreduce: else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3712 "util/configparser.c" /* yacc.c:1646 */ +#line 3721 "util/configparser.c" /* yacc.c:1646 */ break; - case 307: -#line 1316 "./util/configparser.y" /* yacc.c:1646 */ + case 308: +#line 1318 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3720,11 +3729,11 @@ yyreduce: else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3724 "util/configparser.c" /* yacc.c:1646 */ +#line 3733 "util/configparser.c" /* yacc.c:1646 */ break; - case 308: -#line 1325 "./util/configparser.y" /* yacc.c:1646 */ + case 309: +#line 1327 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3732,11 +3741,11 @@ yyreduce: else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3736 "util/configparser.c" /* yacc.c:1646 */ +#line 3745 "util/configparser.c" /* yacc.c:1646 */ break; - case 309: -#line 1334 "./util/configparser.y" /* yacc.c:1646 */ + case 310: +#line 1336 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3745,11 +3754,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3749 "util/configparser.c" /* yacc.c:1646 */ +#line 3758 "util/configparser.c" /* yacc.c:1646 */ break; - case 310: -#line 1344 "./util/configparser.y" /* yacc.c:1646 */ + case 311: +#line 1346 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3758,11 +3767,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3762 "util/configparser.c" /* yacc.c:1646 */ +#line 3771 "util/configparser.c" /* yacc.c:1646 */ break; - case 311: -#line 1354 "./util/configparser.y" /* yacc.c:1646 */ + case 312: +#line 1356 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3770,11 +3779,11 @@ yyreduce: else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3774 "util/configparser.c" /* yacc.c:1646 */ +#line 3783 "util/configparser.c" /* yacc.c:1646 */ break; - case 312: -#line 1363 "./util/configparser.y" /* yacc.c:1646 */ + case 313: +#line 1365 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3782,11 +3791,11 @@ yyreduce: else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3786 "util/configparser.c" /* yacc.c:1646 */ +#line 3795 "util/configparser.c" /* yacc.c:1646 */ break; - case 313: -#line 1372 "./util/configparser.y" /* yacc.c:1646 */ + case 314: +#line 1374 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3798,11 +3807,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3802 "util/configparser.c" /* yacc.c:1646 */ +#line 3811 "util/configparser.c" /* yacc.c:1646 */ break; - case 314: -#line 1385 "./util/configparser.y" /* yacc.c:1646 */ + case 315: +#line 1387 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3814,11 +3823,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3818 "util/configparser.c" /* yacc.c:1646 */ +#line 3827 "util/configparser.c" /* yacc.c:1646 */ break; - case 315: -#line 1398 "./util/configparser.y" /* yacc.c:1646 */ + case 316: +#line 1400 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3826,21 +3835,21 @@ yyreduce: else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3830 "util/configparser.c" /* yacc.c:1646 */ +#line 3839 "util/configparser.c" /* yacc.c:1646 */ break; - case 316: -#line 1407 "./util/configparser.y" /* yacc.c:1646 */ + case 317: +#line 1409 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 3840 "util/configparser.c" /* yacc.c:1646 */ +#line 3849 "util/configparser.c" /* yacc.c:1646 */ break; - case 317: -#line 1414 "./util/configparser.y" /* yacc.c:1646 */ + case 318: +#line 1416 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3848,11 +3857,11 @@ yyreduce: else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3852 "util/configparser.c" /* yacc.c:1646 */ +#line 3861 "util/configparser.c" /* yacc.c:1646 */ break; - case 318: -#line 1423 "./util/configparser.y" /* yacc.c:1646 */ + case 319: +#line 1425 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3860,11 +3869,11 @@ yyreduce: else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3864 "util/configparser.c" /* yacc.c:1646 */ +#line 3873 "util/configparser.c" /* yacc.c:1646 */ break; - case 319: -#line 1432 "./util/configparser.y" /* yacc.c:1646 */ + case 320: +#line 1434 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3872,11 +3881,11 @@ yyreduce: else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3876 "util/configparser.c" /* yacc.c:1646 */ +#line 3885 "util/configparser.c" /* yacc.c:1646 */ break; - case 320: -#line 1441 "./util/configparser.y" /* yacc.c:1646 */ + case 321: +#line 1443 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3885,22 +3894,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3889 "util/configparser.c" /* yacc.c:1646 */ +#line 3898 "util/configparser.c" /* yacc.c:1646 */ break; - case 321: -#line 1450 "./util/configparser.y" /* yacc.c:1646 */ + case 322: +#line 1452 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 3900 "util/configparser.c" /* yacc.c:1646 */ +#line 3909 "util/configparser.c" /* yacc.c:1646 */ break; - case 322: -#line 1458 "./util/configparser.y" /* yacc.c:1646 */ + case 323: +#line 1460 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3912,22 +3921,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3916 "util/configparser.c" /* yacc.c:1646 */ +#line 3925 "util/configparser.c" /* yacc.c:1646 */ break; - case 323: -#line 1471 "./util/configparser.y" /* yacc.c:1646 */ + case 324: +#line 1473 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 3927 "util/configparser.c" /* yacc.c:1646 */ +#line 3936 "util/configparser.c" /* yacc.c:1646 */ break; - case 324: -#line 1479 "./util/configparser.y" /* yacc.c:1646 */ + case 325: +#line 1481 "./util/configparser.y" /* yacc.c:1646 */ { 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 && @@ -3954,21 +3963,21 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 3958 "util/configparser.c" /* yacc.c:1646 */ +#line 3967 "util/configparser.c" /* yacc.c:1646 */ break; - case 325: -#line 1507 "./util/configparser.y" /* yacc.c:1646 */ + case 326: +#line 1509 "./util/configparser.y" /* yacc.c:1646 */ { 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 3968 "util/configparser.c" /* yacc.c:1646 */ +#line 3977 "util/configparser.c" /* yacc.c:1646 */ break; - case 326: -#line 1514 "./util/configparser.y" /* yacc.c:1646 */ + case 327: +#line 1516 "./util/configparser.y" /* yacc.c:1646 */ { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -3982,11 +3991,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 3986 "util/configparser.c" /* yacc.c:1646 */ +#line 3995 "util/configparser.c" /* yacc.c:1646 */ break; - case 327: -#line 1529 "./util/configparser.y" /* yacc.c:1646 */ + case 328: +#line 1531 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3995,11 +4004,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3999 "util/configparser.c" /* yacc.c:1646 */ +#line 4008 "util/configparser.c" /* yacc.c:1646 */ break; - case 328: -#line 1539 "./util/configparser.y" /* yacc.c:1646 */ + case 329: +#line 1541 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4008,31 +4017,31 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4012 "util/configparser.c" /* yacc.c:1646 */ +#line 4021 "util/configparser.c" /* yacc.c:1646 */ break; - case 329: -#line 1549 "./util/configparser.y" /* yacc.c:1646 */ + case 330: +#line 1551 "./util/configparser.y" /* yacc.c:1646 */ { 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 4022 "util/configparser.c" /* yacc.c:1646 */ +#line 4031 "util/configparser.c" /* yacc.c:1646 */ break; - case 330: -#line 1556 "./util/configparser.y" /* yacc.c:1646 */ + case 331: +#line 1558 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dns64_prefix); cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); } -#line 4032 "util/configparser.c" /* yacc.c:1646 */ +#line 4041 "util/configparser.c" /* yacc.c:1646 */ break; - case 331: -#line 1563 "./util/configparser.y" /* yacc.c:1646 */ + case 332: +#line 1565 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4040,11 +4049,11 @@ yyreduce: else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4044 "util/configparser.c" /* yacc.c:1646 */ +#line 4053 "util/configparser.c" /* yacc.c:1646 */ break; - case 332: -#line 1572 "./util/configparser.y" /* yacc.c:1646 */ + case 333: +#line 1574 "./util/configparser.y" /* yacc.c:1646 */ { char* p, *s = (yyvsp[0].str); OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); @@ -4057,11 +4066,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4061 "util/configparser.c" /* yacc.c:1646 */ +#line 4070 "util/configparser.c" /* yacc.c:1646 */ break; - case 333: -#line 1586 "./util/configparser.y" /* yacc.c:1646 */ + case 334: +#line 1588 "./util/configparser.y" /* yacc.c:1646 */ { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -4079,11 +4088,11 @@ yyreduce: } } } -#line 4083 "util/configparser.c" /* yacc.c:1646 */ +#line 4092 "util/configparser.c" /* yacc.c:1646 */ break; - case 334: -#line 1605 "./util/configparser.y" /* yacc.c:1646 */ + case 335: +#line 1607 "./util/configparser.y" /* yacc.c:1646 */ { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -4101,11 +4110,11 @@ yyreduce: } } } -#line 4105 "util/configparser.c" /* yacc.c:1646 */ +#line 4114 "util/configparser.c" /* yacc.c:1646 */ break; - case 335: -#line 1624 "./util/configparser.y" /* yacc.c:1646 */ + case 336: +#line 1626 "./util/configparser.y" /* yacc.c:1646 */ { 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, @@ -4116,11 +4125,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4120 "util/configparser.c" /* yacc.c:1646 */ +#line 4129 "util/configparser.c" /* yacc.c:1646 */ break; - case 336: -#line 1636 "./util/configparser.y" /* yacc.c:1646 */ + case 337: +#line 1638 "./util/configparser.y" /* yacc.c:1646 */ { 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, @@ -4131,11 +4140,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4135 "util/configparser.c" /* yacc.c:1646 */ +#line 4144 "util/configparser.c" /* yacc.c:1646 */ break; - case 337: -#line 1648 "./util/configparser.y" /* yacc.c:1646 */ + case 338: +#line 1650 "./util/configparser.y" /* yacc.c:1646 */ { 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, @@ -4146,11 +4155,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4150 "util/configparser.c" /* yacc.c:1646 */ +#line 4159 "util/configparser.c" /* yacc.c:1646 */ break; - case 338: -#line 1660 "./util/configparser.y" /* yacc.c:1646 */ + case 339: +#line 1662 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, @@ -4160,11 +4169,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4164 "util/configparser.c" /* yacc.c:1646 */ +#line 4173 "util/configparser.c" /* yacc.c:1646 */ break; - case 339: -#line 1671 "./util/configparser.y" /* yacc.c:1646 */ + case 340: +#line 1673 "./util/configparser.y" /* yacc.c:1646 */ { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -4182,11 +4191,11 @@ yyreduce: } } } -#line 4186 "util/configparser.c" /* yacc.c:1646 */ +#line 4195 "util/configparser.c" /* yacc.c:1646 */ break; - case 340: -#line 1690 "./util/configparser.y" /* yacc.c:1646 */ + case 341: +#line 1692 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4194,11 +4203,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4198 "util/configparser.c" /* yacc.c:1646 */ +#line 4207 "util/configparser.c" /* yacc.c:1646 */ break; - case 341: -#line 1700 "./util/configparser.y" /* yacc.c:1646 */ + case 342: +#line 1702 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4206,33 +4215,33 @@ yyreduce: else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4210 "util/configparser.c" /* yacc.c:1646 */ +#line 4219 "util/configparser.c" /* yacc.c:1646 */ break; - case 342: -#line 1709 "./util/configparser.y" /* yacc.c:1646 */ + case 343: +#line 1711 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 4221 "util/configparser.c" /* yacc.c:1646 */ +#line 4230 "util/configparser.c" /* yacc.c:1646 */ break; - case 343: -#line 1717 "./util/configparser.y" /* yacc.c:1646 */ + case 344: +#line 1719 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str)); } -#line 4232 "util/configparser.c" /* yacc.c:1646 */ +#line 4241 "util/configparser.c" /* yacc.c:1646 */ break; - case 344: -#line 1725 "./util/configparser.y" /* yacc.c:1646 */ + case 345: +#line 1727 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4244,11 +4253,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4248 "util/configparser.c" /* yacc.c:1646 */ +#line 4257 "util/configparser.c" /* yacc.c:1646 */ break; - case 345: -#line 1738 "./util/configparser.y" /* yacc.c:1646 */ + case 346: +#line 1740 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4260,11 +4269,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 4264 "util/configparser.c" /* yacc.c:1646 */ +#line 4273 "util/configparser.c" /* yacc.c:1646 */ break; - case 346: -#line 1751 "./util/configparser.y" /* yacc.c:1646 */ + case 347: +#line 1753 "./util/configparser.y" /* yacc.c:1646 */ { 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) { @@ -4276,11 +4285,11 @@ yyreduce: "ratelimit-for-domain"); } } -#line 4280 "util/configparser.c" /* yacc.c:1646 */ +#line 4289 "util/configparser.c" /* yacc.c:1646 */ break; - case 347: -#line 1764 "./util/configparser.y" /* yacc.c:1646 */ + case 348: +#line 1766 "./util/configparser.y" /* yacc.c:1646 */ { 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) { @@ -4292,11 +4301,11 @@ yyreduce: "ratelimit-below-domain"); } } -#line 4296 "util/configparser.c" /* yacc.c:1646 */ +#line 4305 "util/configparser.c" /* yacc.c:1646 */ break; - case 348: -#line 1777 "./util/configparser.y" /* yacc.c:1646 */ + case 349: +#line 1779 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4304,11 +4313,11 @@ yyreduce: else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4308 "util/configparser.c" /* yacc.c:1646 */ +#line 4317 "util/configparser.c" /* yacc.c:1646 */ break; - case 349: -#line 1786 "./util/configparser.y" /* yacc.c:1646 */ + case 350: +#line 1788 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -4316,11 +4325,11 @@ yyreduce: else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4320 "util/configparser.c" /* yacc.c:1646 */ +#line 4329 "util/configparser.c" /* yacc.c:1646 */ break; - case 350: -#line 1795 "./util/configparser.y" /* yacc.c:1646 */ + case 351: +#line 1797 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4329,11 +4338,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4333 "util/configparser.c" /* yacc.c:1646 */ +#line 4342 "util/configparser.c" /* yacc.c:1646 */ break; - case 351: -#line 1805 "./util/configparser.y" /* yacc.c:1646 */ + case 352: +#line 1807 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4342,11 +4351,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4346 "util/configparser.c" /* yacc.c:1646 */ +#line 4355 "util/configparser.c" /* yacc.c:1646 */ break; - case 352: -#line 1815 "./util/configparser.y" /* yacc.c:1646 */ + case 353: +#line 1817 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[0].str))); @@ -4358,11 +4367,11 @@ yyreduce: OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif } -#line 4362 "util/configparser.c" /* yacc.c:1646 */ +#line 4371 "util/configparser.c" /* yacc.c:1646 */ break; - case 353: -#line 1828 "./util/configparser.y" /* yacc.c:1646 */ + case 354: +#line 1830 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[0].str))); @@ -4374,11 +4383,11 @@ yyreduce: OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif } -#line 4378 "util/configparser.c" /* yacc.c:1646 */ +#line 4387 "util/configparser.c" /* yacc.c:1646 */ break; - case 354: -#line 1841 "./util/configparser.y" /* yacc.c:1646 */ + case 355: +#line 1843 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str))); @@ -4388,11 +4397,11 @@ yyreduce: OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif } -#line 4392 "util/configparser.c" /* yacc.c:1646 */ +#line 4401 "util/configparser.c" /* yacc.c:1646 */ break; - case 355: -#line 1852 "./util/configparser.y" /* yacc.c:1646 */ + case 356: +#line 1854 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str))); @@ -4404,11 +4413,11 @@ yyreduce: OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif } -#line 4408 "util/configparser.c" /* yacc.c:1646 */ +#line 4417 "util/configparser.c" /* yacc.c:1646 */ break; - case 356: -#line 1865 "./util/configparser.y" /* yacc.c:1646 */ + case 357: +#line 1867 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str))); @@ -4418,11 +4427,11 @@ yyreduce: OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif } -#line 4422 "util/configparser.c" /* yacc.c:1646 */ +#line 4431 "util/configparser.c" /* yacc.c:1646 */ break; - case 357: -#line 1876 "./util/configparser.y" /* yacc.c:1646 */ + case 358: +#line 1878 "./util/configparser.y" /* yacc.c:1646 */ { #ifdef USE_IPSECMOD OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[0].str))); @@ -4434,11 +4443,11 @@ yyreduce: OUTYY(("P(Compiled without IPsec module, ignoring)\n")); #endif } -#line 4438 "util/configparser.c" /* yacc.c:1646 */ +#line 4447 "util/configparser.c" /* yacc.c:1646 */ break; - case 358: -#line 1889 "./util/configparser.y" /* yacc.c:1646 */ + case 359: +#line 1891 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->stubs->name) @@ -4447,31 +4456,31 @@ yyreduce: free(cfg_parser->cfg->stubs->name); cfg_parser->cfg->stubs->name = (yyvsp[0].str); } -#line 4451 "util/configparser.c" /* yacc.c:1646 */ +#line 4460 "util/configparser.c" /* yacc.c:1646 */ break; - case 359: -#line 1899 "./util/configparser.y" /* yacc.c:1646 */ + case 360: +#line 1901 "./util/configparser.y" /* yacc.c:1646 */ { 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 4461 "util/configparser.c" /* yacc.c:1646 */ +#line 4470 "util/configparser.c" /* yacc.c:1646 */ break; - case 360: -#line 1906 "./util/configparser.y" /* yacc.c:1646 */ + case 361: +#line 1908 "./util/configparser.y" /* yacc.c:1646 */ { 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 4471 "util/configparser.c" /* yacc.c:1646 */ +#line 4480 "util/configparser.c" /* yacc.c:1646 */ break; - case 361: -#line 1913 "./util/configparser.y" /* yacc.c:1646 */ + case 362: +#line 1915 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4479,11 +4488,11 @@ yyreduce: else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4483 "util/configparser.c" /* yacc.c:1646 */ +#line 4492 "util/configparser.c" /* yacc.c:1646 */ break; - case 362: -#line 1922 "./util/configparser.y" /* yacc.c:1646 */ + case 363: +#line 1924 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4492,11 +4501,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4496 "util/configparser.c" /* yacc.c:1646 */ +#line 4505 "util/configparser.c" /* yacc.c:1646 */ break; - case 363: -#line 1932 "./util/configparser.y" /* yacc.c:1646 */ + case 364: +#line 1934 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4505,11 +4514,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4509 "util/configparser.c" /* yacc.c:1646 */ +#line 4518 "util/configparser.c" /* yacc.c:1646 */ break; - case 364: -#line 1942 "./util/configparser.y" /* yacc.c:1646 */ + case 365: +#line 1944 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->forwards->name) @@ -4518,31 +4527,31 @@ yyreduce: free(cfg_parser->cfg->forwards->name); cfg_parser->cfg->forwards->name = (yyvsp[0].str); } -#line 4522 "util/configparser.c" /* yacc.c:1646 */ +#line 4531 "util/configparser.c" /* yacc.c:1646 */ break; - case 365: -#line 1952 "./util/configparser.y" /* yacc.c:1646 */ + case 366: +#line 1954 "./util/configparser.y" /* yacc.c:1646 */ { 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 4532 "util/configparser.c" /* yacc.c:1646 */ +#line 4541 "util/configparser.c" /* yacc.c:1646 */ break; - case 366: -#line 1959 "./util/configparser.y" /* yacc.c:1646 */ + case 367: +#line 1961 "./util/configparser.y" /* yacc.c:1646 */ { 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 4542 "util/configparser.c" /* yacc.c:1646 */ +#line 4551 "util/configparser.c" /* yacc.c:1646 */ break; - case 367: -#line 1966 "./util/configparser.y" /* yacc.c:1646 */ + case 368: +#line 1968 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4550,11 +4559,11 @@ yyreduce: else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4554 "util/configparser.c" /* yacc.c:1646 */ +#line 4563 "util/configparser.c" /* yacc.c:1646 */ break; - case 368: -#line 1975 "./util/configparser.y" /* yacc.c:1646 */ + case 369: +#line 1977 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4563,11 +4572,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4567 "util/configparser.c" /* yacc.c:1646 */ +#line 4576 "util/configparser.c" /* yacc.c:1646 */ break; - case 369: -#line 1985 "./util/configparser.y" /* yacc.c:1646 */ + case 370: +#line 1987 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->views->name) @@ -4576,11 +4585,11 @@ yyreduce: free(cfg_parser->cfg->views->name); cfg_parser->cfg->views->name = (yyvsp[0].str); } -#line 4580 "util/configparser.c" /* yacc.c:1646 */ +#line 4589 "util/configparser.c" /* yacc.c:1646 */ break; - case 370: -#line 1995 "./util/configparser.y" /* yacc.c:1646 */ + case 371: +#line 1997 "./util/configparser.y" /* yacc.c:1646 */ { 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 && @@ -4608,11 +4617,11 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 4612 "util/configparser.c" /* yacc.c:1646 */ +#line 4621 "util/configparser.c" /* yacc.c:1646 */ break; - case 371: -#line 2024 "./util/configparser.y" /* yacc.c:1646 */ + case 372: +#line 2026 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -4621,22 +4630,22 @@ yyreduce: fatal_exit("out of memory adding per-view " "response-ip action"); } -#line 4625 "util/configparser.c" /* yacc.c:1646 */ +#line 4634 "util/configparser.c" /* yacc.c:1646 */ break; - case 372: -#line 2034 "./util/configparser.y" /* yacc.c:1646 */ + case 373: +#line 2036 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert( &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } -#line 4636 "util/configparser.c" /* yacc.c:1646 */ +#line 4645 "util/configparser.c" /* yacc.c:1646 */ break; - case 373: -#line 2042 "./util/configparser.y" /* yacc.c:1646 */ + case 374: +#line 2044 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { @@ -4644,11 +4653,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4648 "util/configparser.c" /* yacc.c:1646 */ +#line 4657 "util/configparser.c" /* yacc.c:1646 */ break; - case 374: -#line 2051 "./util/configparser.y" /* yacc.c:1646 */ + case 375: +#line 2053 "./util/configparser.y" /* yacc.c:1646 */ { char* ptr; OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -4662,11 +4671,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 4666 "util/configparser.c" /* yacc.c:1646 */ +#line 4675 "util/configparser.c" /* yacc.c:1646 */ break; - case 375: -#line 2066 "./util/configparser.y" /* yacc.c:1646 */ + case 376: +#line 2068 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4674,19 +4683,19 @@ yyreduce: else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4678 "util/configparser.c" /* yacc.c:1646 */ +#line 4687 "util/configparser.c" /* yacc.c:1646 */ break; - case 376: -#line 2075 "./util/configparser.y" /* yacc.c:1646 */ + case 377: +#line 2077 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(remote-control:)\n")); } -#line 4686 "util/configparser.c" /* yacc.c:1646 */ +#line 4695 "util/configparser.c" /* yacc.c:1646 */ break; - case 387: -#line 2086 "./util/configparser.y" /* yacc.c:1646 */ + case 388: +#line 2088 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4695,11 +4704,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4699 "util/configparser.c" /* yacc.c:1646 */ +#line 4708 "util/configparser.c" /* yacc.c:1646 */ break; - case 388: -#line 2096 "./util/configparser.y" /* yacc.c:1646 */ + case 389: +#line 2098 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4707,21 +4716,21 @@ yyreduce: else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4711 "util/configparser.c" /* yacc.c:1646 */ +#line 4720 "util/configparser.c" /* yacc.c:1646 */ break; - case 389: -#line 2105 "./util/configparser.y" /* yacc.c:1646 */ + case 390: +#line 2107 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4721 "util/configparser.c" /* yacc.c:1646 */ +#line 4730 "util/configparser.c" /* yacc.c:1646 */ break; - case 390: -#line 2112 "./util/configparser.y" /* yacc.c:1646 */ + case 391: +#line 2114 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4730,122 +4739,122 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4734 "util/configparser.c" /* yacc.c:1646 */ +#line 4743 "util/configparser.c" /* yacc.c:1646 */ break; - case 391: -#line 2122 "./util/configparser.y" /* yacc.c:1646 */ + case 392: +#line 2124 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 4744 "util/configparser.c" /* yacc.c:1646 */ +#line 4753 "util/configparser.c" /* yacc.c:1646 */ break; - case 392: -#line 2129 "./util/configparser.y" /* yacc.c:1646 */ + case 393: +#line 2131 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 4754 "util/configparser.c" /* yacc.c:1646 */ +#line 4763 "util/configparser.c" /* yacc.c:1646 */ break; - case 393: -#line 2136 "./util/configparser.y" /* yacc.c:1646 */ + case 394: +#line 2138 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 4764 "util/configparser.c" /* yacc.c:1646 */ +#line 4773 "util/configparser.c" /* yacc.c:1646 */ break; - case 394: -#line 2143 "./util/configparser.y" /* yacc.c:1646 */ + case 395: +#line 2145 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 4774 "util/configparser.c" /* yacc.c:1646 */ +#line 4783 "util/configparser.c" /* yacc.c:1646 */ break; - case 395: -#line 2150 "./util/configparser.y" /* yacc.c:1646 */ + case 396: +#line 2152 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(dnstap:)\n")); } -#line 4782 "util/configparser.c" /* yacc.c:1646 */ +#line 4791 "util/configparser.c" /* yacc.c:1646 */ break; - case 410: -#line 2167 "./util/configparser.y" /* yacc.c:1646 */ + case 411: +#line 2169 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str), "yes")==0); } -#line 4793 "util/configparser.c" /* yacc.c:1646 */ +#line 4802 "util/configparser.c" /* yacc.c:1646 */ break; - case 411: -#line 2175 "./util/configparser.y" /* yacc.c:1646 */ + case 412: +#line 2177 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str); } -#line 4803 "util/configparser.c" /* yacc.c:1646 */ +#line 4812 "util/configparser.c" /* yacc.c:1646 */ break; - case 412: -#line 2182 "./util/configparser.y" /* yacc.c:1646 */ + case 413: +#line 2184 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str), "yes")==0); } -#line 4814 "util/configparser.c" /* yacc.c:1646 */ +#line 4823 "util/configparser.c" /* yacc.c:1646 */ break; - case 413: -#line 2190 "./util/configparser.y" /* yacc.c:1646 */ + case 414: +#line 2192 "./util/configparser.y" /* yacc.c:1646 */ { 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[0].str), "yes")==0); } -#line 4825 "util/configparser.c" /* yacc.c:1646 */ +#line 4834 "util/configparser.c" /* yacc.c:1646 */ break; - case 414: -#line 2198 "./util/configparser.y" /* yacc.c:1646 */ + case 415: +#line 2200 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_identity); cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); } -#line 4835 "util/configparser.c" /* yacc.c:1646 */ +#line 4844 "util/configparser.c" /* yacc.c:1646 */ break; - case 415: -#line 2205 "./util/configparser.y" /* yacc.c:1646 */ + case 416: +#line 2207 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_version); cfg_parser->cfg->dnstap_version = (yyvsp[0].str); } -#line 4845 "util/configparser.c" /* yacc.c:1646 */ +#line 4854 "util/configparser.c" /* yacc.c:1646 */ break; - case 416: -#line 2212 "./util/configparser.y" /* yacc.c:1646 */ + case 417: +#line 2214 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -4853,11 +4862,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_resolver_query_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4857 "util/configparser.c" /* yacc.c:1646 */ +#line 4866 "util/configparser.c" /* yacc.c:1646 */ break; - case 417: -#line 2221 "./util/configparser.y" /* yacc.c:1646 */ + case 418: +#line 2223 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -4865,11 +4874,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_resolver_response_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4869 "util/configparser.c" /* yacc.c:1646 */ +#line 4878 "util/configparser.c" /* yacc.c:1646 */ break; - case 418: -#line 2230 "./util/configparser.y" /* yacc.c:1646 */ + case 419: +#line 2232 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -4877,11 +4886,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_client_query_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4881 "util/configparser.c" /* yacc.c:1646 */ +#line 4890 "util/configparser.c" /* yacc.c:1646 */ break; - case 419: -#line 2239 "./util/configparser.y" /* yacc.c:1646 */ + case 420: +#line 2241 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -4889,11 +4898,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_client_response_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4893 "util/configparser.c" /* yacc.c:1646 */ +#line 4902 "util/configparser.c" /* yacc.c:1646 */ break; - case 420: -#line 2248 "./util/configparser.y" /* yacc.c:1646 */ + case 421: +#line 2250 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -4901,11 +4910,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_forwarder_query_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4905 "util/configparser.c" /* yacc.c:1646 */ +#line 4914 "util/configparser.c" /* yacc.c:1646 */ break; - case 421: -#line 2257 "./util/configparser.y" /* yacc.c:1646 */ + case 422: +#line 2259 "./util/configparser.y" /* yacc.c:1646 */ { 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) @@ -4913,29 +4922,29 @@ yyreduce: else cfg_parser->cfg->dnstap_log_forwarder_response_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4917 "util/configparser.c" /* yacc.c:1646 */ +#line 4926 "util/configparser.c" /* yacc.c:1646 */ break; - case 422: -#line 2266 "./util/configparser.y" /* yacc.c:1646 */ + case 423: +#line 2268 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(python:)\n")); } -#line 4925 "util/configparser.c" /* yacc.c:1646 */ +#line 4934 "util/configparser.c" /* yacc.c:1646 */ break; - case 426: -#line 2275 "./util/configparser.y" /* yacc.c:1646 */ + case 427: +#line 2277 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->python_script); cfg_parser->cfg->python_script = (yyvsp[0].str); } -#line 4935 "util/configparser.c" /* yacc.c:1646 */ +#line 4944 "util/configparser.c" /* yacc.c:1646 */ break; - case 427: -#line 2281 "./util/configparser.y" /* yacc.c:1646 */ + case 428: +#line 2283 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4944,21 +4953,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4948 "util/configparser.c" /* yacc.c:1646 */ +#line 4957 "util/configparser.c" /* yacc.c:1646 */ break; - case 428: -#line 2291 "./util/configparser.y" /* yacc.c:1646 */ + case 429: +#line 2293 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->log_identity); cfg_parser->cfg->log_identity = (yyvsp[0].str); } -#line 4958 "util/configparser.c" /* yacc.c:1646 */ +#line 4967 "util/configparser.c" /* yacc.c:1646 */ break; - case 429: -#line 2298 "./util/configparser.y" /* yacc.c:1646 */ + case 430: +#line 2300 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); validate_respip_action((yyvsp[0].str)); @@ -4966,31 +4975,31 @@ yyreduce: (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip"); } -#line 4970 "util/configparser.c" /* yacc.c:1646 */ +#line 4979 "util/configparser.c" /* yacc.c:1646 */ break; - case 430: -#line 2307 "./util/configparser.y" /* yacc.c:1646 */ + case 431: +#line 2309 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data, (yyvsp[-1].str), (yyvsp[0].str))) fatal_exit("out of memory adding response-ip-data"); } -#line 4981 "util/configparser.c" /* yacc.c:1646 */ +#line 4990 "util/configparser.c" /* yacc.c:1646 */ break; - case 431: -#line 2315 "./util/configparser.y" /* yacc.c:1646 */ + case 432: +#line 2317 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(dnscrypt:)\n")); OUTYY(("\nP(dnscrypt:)\n")); } -#line 4990 "util/configparser.c" /* yacc.c:1646 */ +#line 4999 "util/configparser.c" /* yacc.c:1646 */ break; - case 439: -#line 2327 "./util/configparser.y" /* yacc.c:1646 */ + case 440: +#line 2329 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4998,11 +5007,11 @@ yyreduce: else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 5002 "util/configparser.c" /* yacc.c:1646 */ +#line 5011 "util/configparser.c" /* yacc.c:1646 */ break; - case 440: -#line 2337 "./util/configparser.y" /* yacc.c:1646 */ + case 441: +#line 2339 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str))); @@ -5011,41 +5020,66 @@ yyreduce: else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 5015 "util/configparser.c" /* yacc.c:1646 */ +#line 5024 "util/configparser.c" /* yacc.c:1646 */ break; - case 441: -#line 2347 "./util/configparser.y" /* yacc.c:1646 */ + case 442: +#line 2349 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnscrypt_provider); cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str); } -#line 5025 "util/configparser.c" /* yacc.c:1646 */ +#line 5034 "util/configparser.c" /* yacc.c:1646 */ break; - case 442: -#line 2354 "./util/configparser.y" /* yacc.c:1646 */ + case 443: +#line 2356 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (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 5035 "util/configparser.c" /* yacc.c:1646 */ +#line 5044 "util/configparser.c" /* yacc.c:1646 */ break; - case 443: -#line 2361 "./util/configparser.y" /* yacc.c:1646 */ + case 444: +#line 2363 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (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 5045 "util/configparser.c" /* yacc.c:1646 */ +#line 5054 "util/configparser.c" /* yacc.c:1646 */ + break; + + case 445: +#line 2371 "./util/configparser.y" /* yacc.c:1646 */ + { + OUTYY(("\nP(cachedb:)\n")); + } +#line 5062 "util/configparser.c" /* yacc.c:1646 */ + break; + + case 449: +#line 2380 "./util/configparser.y" /* yacc.c:1646 */ + { + #ifdef USE_CACHEDB + OUTYY(("P(backend:%s)\n", (yyvsp[0].str))); + if(cfg_parser->cfg->cachedb_backend) + yyerror("cachedb backend override, there must be one " + "backend"); + free(cfg_parser->cfg->cachedb_backend); + cfg_parser->cfg->cachedb_backend = (yyvsp[0].str); + #else + OUTYY(("P(Compiled without cachedb, ignoring)\n")); + #endif + } +#line 5079 "util/configparser.c" /* yacc.c:1646 */ break; -#line 5049 "util/configparser.c" /* yacc.c:1646 */ +#line 5083 "util/configparser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -5273,7 +5307,7 @@ yyreturn: #endif return yyresult; } -#line 2367 "./util/configparser.y" /* yacc.c:1906 */ +#line 2393 "./util/configparser.y" /* yacc.c:1906 */ /* parse helper routines could be here */ diff --git a/util/configparser.h b/util/configparser.h index d42eb0820..475ccc045 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -257,7 +257,9 @@ extern int yydebug; VAR_IPSECMOD_IGNORE_BOGUS = 467, VAR_IPSECMOD_MAX_TTL = 468, VAR_IPSECMOD_WHITELIST = 469, - VAR_IPSECMOD_STRICT = 470 + VAR_IPSECMOD_STRICT = 470, + VAR_CACHEDB = 471, + VAR_CACHEDB_BACKEND = 472 }; #endif /* Tokens. */ @@ -474,6 +476,8 @@ extern int yydebug; #define VAR_IPSECMOD_MAX_TTL 468 #define VAR_IPSECMOD_WHITELIST 469 #define VAR_IPSECMOD_STRICT 470 +#define VAR_CACHEDB 471 +#define VAR_CACHEDB_BACKEND 472 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -484,7 +488,7 @@ union YYSTYPE char* str; -#line 488 "util/configparser.h" /* yacc.c:1909 */ +#line 492 "util/configparser.h" /* yacc.c:1909 */ }; typedef union YYSTYPE YYSTYPE; diff --git a/util/configparser.y b/util/configparser.y index 7c8161442..9a0f0ce4e 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -146,6 +146,7 @@ extern struct config_parser_state* cfg_parser; %token VAR_DNSCRYPT_SECRET_KEY VAR_DNSCRYPT_PROVIDER_CERT %token VAR_IPSECMOD_ENABLED VAR_IPSECMOD_HOOK VAR_IPSECMOD_IGNORE_BOGUS %token VAR_IPSECMOD_MAX_TTL VAR_IPSECMOD_WHITELIST VAR_IPSECMOD_STRICT +%token VAR_CACHEDB VAR_CACHEDB_BACKEND %% toplevelvars: /* empty */ | toplevelvars toplevelvar ; @@ -153,7 +154,8 @@ toplevelvar: serverstart contents_server | stubstart contents_stub | forwardstart contents_forward | pythonstart contents_py | rcstart contents_rc | dtstart contents_dt | viewstart contents_view | - dnscstart contents_dnsc + dnscstart contents_dnsc | + cachedbstart contents_cachedb ; /* server: declaration */ @@ -2364,6 +2366,30 @@ dnsc_dnscrypt_secret_key: VAR_DNSCRYPT_SECRET_KEY STRING_ARG fatal_exit("out of memory adding dnscrypt-secret-key"); } ; + +cachedbstart: VAR_CACHEDB + { + OUTYY(("\nP(cachedb:)\n")); + } + ; +contents_cachedb: contents_cachedb content_cachedb + | ; +content_cachedb: cachedb_backend_name + ; +cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG + { + #ifdef USE_CACHEDB + OUTYY(("P(backend:%s)\n", $2)); + if(cfg_parser->cfg->cachedb_backend) + yyerror("cachedb backend override, there must be one " + "backend"); + free(cfg_parser->cfg->cachedb_backend); + cfg_parser->cfg->cachedb_backend = $2; + #else + OUTYY(("P(Compiled without cachedb, ignoring)\n")); + #endif + } + ; %% /* parse helper routines could be here */