]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
some review improvements. Some corrections from merge with trunk. Some work in progress.
authorYuri Schaeffer <yuri@nlnetlabs.nl>
Fri, 13 Sep 2013 13:56:39 +0000 (13:56 +0000)
committerYuri Schaeffer <yuri@nlnetlabs.nl>
Fri, 13 Sep 2013 13:56:39 +0000 (13:56 +0000)
git-svn-id: file:///svn/unbound/branches/edns-subnet@2954 be551aaa-1e26-0410-a405-d3ace91eadb9

22 files changed:
aclocal.m4
config.guess
config.h.in
config.sub
configure
configure.ac
daemon/daemon.c
daemon/worker.c
doc/unbound.conf.5.in
edns-subnet/addrtree.c
edns-subnet/addrtree.h
edns-subnet/edns-subnet.h
edns-subnet/subnetmod.c
edns-subnet/subnetmod.h
ltmain.sh
testcode/ldns-testpkts.c
testcode/mini_tpkg.sh
util/configlexer.c
util/configparser.c
util/configparser.h
util/configparser.y
util/fptr_wlist.c

index 45272d0ad646df680115265ac9856f62d9bc0e81..a3143032ded04d0b407b6ddacac45870baebd7f3 100644 (file)
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.12.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.13.3 -*- Autoconf -*-
 
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -11,6 +11,7 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -1329,7 +1330,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
+           case `/usr/bin/file conftest.o` in
+             *x86-64*)
+               LD="${LD-ld} -m elf32_x86_64"
+               ;;
+             *)
+               LD="${LD-ld} -m elf_i386"
+               ;;
+           esac
            ;;
          ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
@@ -1693,7 +1701,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
@@ -2517,17 +2526,6 @@ freebsd* | dragonfly*)
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
@@ -2644,7 +2642,7 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
@@ -2689,6 +2687,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3248,10 +3258,6 @@ freebsd* | dragonfly*)
   fi
   ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 haiku*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3290,11 +3296,11 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4042,7 +4048,7 @@ m4_if([$1], [CXX], [
            ;;
        esac
        ;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
        case $cc_basename in
          KCC*)
            # KAI C++ Compiler
@@ -4106,7 +4112,7 @@ m4_if([$1], [CXX], [
            ;;
        esac
        ;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu)
        ;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4341,7 +4347,7 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -4583,6 +4589,9 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4645,6 +4654,9 @@ dnl Note also adjust exclude_expsyms for C++ above.
   openbsd*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4866,7 +4878,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -5043,6 +5055,7 @@ _LT_EOF
        if test "$aix_use_runtimelinking" = yes; then
          shared_flag="$shared_flag "'${wl}-G'
        fi
+       _LT_TAGVAR(link_all_deplibs, $1)=no
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -5347,7 +5360,7 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -6223,9 +6236,6 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(ld_shlibs, $1)=yes
         ;;
 
-      gnu*)
-        ;;
-
       haiku*)
         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
         _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -6387,7 +6397,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
 
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
         case $cc_basename in
           KCC*)
            # Kuck and Associates, Inc. (KAI) C++ Compiler
index d622a44e551f209d5e8c5462b3fe53a162f7b330..b79252d6b1034cbcce18ed21d4ed21a405f987e9 100755 (executable)
@@ -1,14 +1,12 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2013-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -22,19 +20,17 @@ timestamp='2012-02-10'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -54,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+       # If the system lacks a compiler, then just pick glibc.
+       # We could probably try harder.
+       LIBC=gnu
+
+       eval $set_cc_for_build
+       cat <<-EOF > $dummy.c
+       #include <features.h>
+       #if defined(__UCLIBC__)
+       LIBC=uclibc
+       #elif defined(__dietlibc__)
+       LIBC=dietlibc
+       #else
+       LIBC=gnu
+       #endif
+       EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+       ;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit ;;
+    *:Bitrig:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       exit ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
        exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -801,6 +820,9 @@ EOF
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
        exit ;;
+    *:MINGW64*:*)
+       echo ${UNAME_MACHINE}-pc-mingw64
+       exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
@@ -852,21 +874,21 @@ EOF
        exit ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit ;;
     aarch64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -879,59 +901,54 @@ EOF
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     arm*:Linux:*:*)
        eval $set_cc_for_build
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo ${UNAME_MACHINE}-unknown-linux-gnu
+           echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
            else
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
            fi
        fi
        exit ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:Linux:*:*)
-       LIBC=gnu
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
        eval $set_cc_for_build
@@ -950,54 +967,63 @@ EOF
        #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
+    or1k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     or32:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-gnu
+       echo sparc-unknown-linux-${LIBC}
        exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
+       echo hppa64-unknown-linux-${LIBC}
        exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
+         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+         *)    echo hppa-unknown-linux-${LIBC} ;;
        esac
        exit ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
+       echo powerpc64-unknown-linux-${LIBC}
        exit ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
+       echo powerpc-unknown-linux-${LIBC}
+       exit ;;
+    ppc64le:Linux:*:*)
+       echo powerpc64le-unknown-linux-${LIBC}
+       exit ;;
+    ppcle:Linux:*:*)
+       echo powerpcle-unknown-linux-${LIBC}
        exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
+       echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
+       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1201,6 +1227,9 @@ EOF
     BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
        echo i586-pc-haiku
        exit ;;
+    x86_64:Haiku:*:*)
+       echo x86_64-unknown-haiku
+       exit ;;
     SX-4:SUPER-UX:*:*)
        echo sx4-nec-superux${UNAME_RELEASE}
        exit ;;
@@ -1227,19 +1256,21 @@ EOF
        exit ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           i386)
-               eval $set_cc_for_build
-               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                     grep IS_64BIT_ARCH >/dev/null
-                 then
-                     UNAME_PROCESSOR="x86_64"
-                 fi
-               fi ;;
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
+       eval $set_cc_for_build
+       if test "$UNAME_PROCESSOR" = unknown ; then
+           UNAME_PROCESSOR=powerpc
+       fi
+       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+           if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               grep IS_64BIT_ARCH >/dev/null
+           then
+               case $UNAME_PROCESSOR in
+                   i386) UNAME_PROCESSOR=x86_64 ;;
+                   powerpc) UNAME_PROCESSOR=powerpc64 ;;
+               esac
+           fi
+       fi
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1256,7 +1287,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
        echo neo-tandem-nsk${UNAME_RELEASE}
        exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1330,9 +1361,6 @@ EOF
        exit ;;
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
 eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
index 6b4618a3dcf9f62ad5b210b3ff644166acbf17d4..239a1f5a343170d116043f00cd2e7913393df0a2 100644 (file)
@@ -911,3 +911,4 @@ void *unbound_stat_realloc_log(void *ptr, size_t size, const char* file,
 /** the version of unbound-control that this software implements */
 #define UNBOUND_CONTROL_VERSION 1
 
+
index 6205f8423d6aa0bb7c642d8970fa7b41d068317f..9633db704678e91ad221adc4f30a22ce0bc61e1b 100755 (executable)
@@ -1,24 +1,18 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-04-18'
+timestamp='2013-08-10'
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
@@ -26,11 +20,12 @@ timestamp='2012-04-18'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -73,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,7 +116,7 @@ esac
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
@@ -156,7 +149,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
+       -apple | -axis | -knuth | -cray | -microblaze*)
                os=
                basic_machine=$1
                ;;
@@ -259,10 +252,12 @@ case $basic_machine in
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
+       | arc | arceb \
+       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+       | avr | avr32 \
+       | be32 | be64 \
        | bfin \
-       | c4x | clipper \
+       | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
        | epiphany \
        | fido | fr30 | frv \
@@ -273,7 +268,7 @@ case $basic_machine in
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
+       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -291,16 +286,17 @@ case $basic_machine in
        | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
        | moxie \
        | mt \
        | msp430 \
        | nds32 | nds32le | nds32be \
-       | nios | nios2 \
+       | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
        | open8 \
-       | or32 \
+       | or1k | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
@@ -370,13 +366,13 @@ case $basic_machine in
        | aarch64-* | aarch64_be-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | clipper-* | craynv-* | cydra-* \
+       | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -389,7 +385,8 @@ case $basic_machine in
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+       | microblaze-* | microblazeel-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -407,12 +404,13 @@ case $basic_machine in
        | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
        | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
        | orion-* \
@@ -788,11 +786,15 @@ case $basic_machine in
                basic_machine=ns32k-utek
                os=-sysv
                ;;
-       microblaze)
+       microblaze*)
                basic_machine=microblaze-xilinx
                ;;
+       mingw64)
+               basic_machine=x86_64-pc
+               os=-mingw64
+               ;;
        mingw32)
-               basic_machine=i386-pc
+               basic_machine=i686-pc
                os=-mingw32
                ;;
        mingw32ce)
@@ -828,7 +830,7 @@ case $basic_machine in
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
        msys)
-               basic_machine=i386-pc
+               basic_machine=i686-pc
                os=-msys
                ;;
        mvs)
@@ -1019,7 +1021,11 @@ case $basic_machine in
                basic_machine=i586-unknown
                os=-pw32
                ;;
-       rdos)
+       rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=-rdos
+               ;;
+       rdos32)
                basic_machine=i386-pc
                os=-rdos
                ;;
@@ -1346,21 +1352,21 @@ case $os in
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
+             | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
              | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
+             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1492,9 +1498,6 @@ case $os in
        -aros*)
                os=-aros
                ;;
-       -kaos*)
-               os=-kaos
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
@@ -1543,6 +1546,9 @@ case $basic_machine in
        c4x-* | tic4x-*)
                os=-coff
                ;;
+       c8051-*)
+               os=-elf
+               ;;
        hexagon-*)
                os=-elf
                ;;
@@ -1586,6 +1592,9 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
+       or1k-*)
+               os=-elf
+               ;;
        or32-*)
                os=-coff
                ;;
index b9897bb00a31d5144b4d19e35eec2477bfa7a0b0..85db2d9b269ccf4c0117eef37d65b5f7b2ba269f 100755 (executable)
--- a/configure
+++ b/configure
@@ -7094,7 +7094,8 @@ else
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+       test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
@@ -7495,10 +7496,6 @@ freebsd* | dragonfly*)
   fi
   ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
 haiku*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -7537,11 +7534,11 @@ irix5* | irix6* | nonstopux*)
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -8676,7 +8673,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
            LD="${LD-ld} -m elf_i386_fbsd"
            ;;
          x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
+           case `/usr/bin/file conftest.o` in
+             *x86-64*)
+               LD="${LD-ld} -m elf32_x86_64"
+               ;;
+             *)
+               LD="${LD-ld} -m elf_i386"
+               ;;
+           esac
            ;;
          ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
@@ -10236,7 +10240,7 @@ lt_prog_compiler_static=
       lt_prog_compiler_static='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -10714,6 +10718,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   openbsd*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    link_all_deplibs=no
+    ;;
   esac
 
   ld_shlibs=yes
@@ -10935,7 +10942,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -11112,6 +11119,7 @@ _LT_EOF
        if test "$aix_use_runtimelinking" = yes; then
          shared_flag="$shared_flag "'${wl}-G'
        fi
+       link_all_deplibs=no
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -11565,7 +11573,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       link_all_deplibs=yes
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -12402,17 +12410,6 @@ freebsd* | dragonfly*)
   esac
   ;;
 
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
 haiku*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
@@ -12529,7 +12526,7 @@ linux*oldld* | linux*aout* | linux*coff*)
   ;;
 
 # This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
   version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -16660,7 +16669,6 @@ _ACEOF
 
 fi
 
-
 # Check whether --enable-sha2 was given.
 if test "${enable_sha2+set}" = set; then :
   enableval=$enable_sha2;
@@ -16695,6 +16703,7 @@ $as_echo "#define CLIENT_SUBNET 1" >>confdefs.h
        ;;
 esac
 
+
 # check wether gost also works
 
 # Check whether --enable-gost was given.
index 012a9f7a2fafd781c9c497894adb8a2a7f4694ea..f98565697862d25d0ece2228448391626c9e4c92 100644 (file)
@@ -584,6 +584,20 @@ case "$enable_sha2" in
        ;;
 esac
 
+AC_ARG_ENABLE(subnet, AC_HELP_STRING([--enable-subnet], [Enable client subnet]))
+case "$enable_subnet" in
+       yes)
+       AC_DEFINE([CLIENT_SUBNET], [1], [Define this to enable client subnet option.])
+       SUBNET_OBJ="edns-subnet.lo subnetmod.lo addrtree.lo subnet-whitelist.lo"
+       AC_SUBST(SUBNET_OBJ)
+       SUBNET_HEADER='$(srcdir)/edns-subnet/subnetmod.h $(srcdir)/edns-subnet/edns-subnet.h $(srcdir)/edns-subnet/subnet-whitelist.h $(srcdir)/edns-subnet/addrtree.h'
+       AC_SUBST(SUBNET_HEADER)
+       ;;
+       no|*)
+       ;;
+esac
+
+
 # check wether gost also works
 AC_DEFUN([AC_CHECK_GOST_WORKS],
 [AC_REQUIRE([AC_PROG_CC])
index b5c8bee2006e43b56c8ccf356f17ab183d46f1d2..6a3b468a10844f697aa306fca7622bc054a7b7a1 100644 (file)
@@ -248,6 +248,7 @@ daemon_init(void)
        /* whitelist for edns subnet capable servers */
        daemon->edns_subnet_upstreams = upstream_create();
        if(!daemon->edns_subnet_upstreams) {
+               acl_list_delete(daemon->acl);
                free(daemon->env);
                free(daemon);
                return NULL;
index 2e0a4a31958bafe4483e5a351791efeeb73cbb4a..774f621dfcf0f5ffdb7c01dcf4978f13ec932524 100644 (file)
@@ -893,8 +893,8 @@ worker_handle_request(struct comm_point* c, void* arg, int error,
                return 1;
        }
 #ifdef CLIENT_SUBNET
-       /* Do not skip cache lookup if no valid subnet data or the client
-        * asks to remain anonymous. */
+       /* skip cache lookup if subnet is used,  Do not skip cache lookup if
+        * no valid subnet data or the client asks to remain anonymous. */
        if(!edns.edns_present || !edns.subnet_validdata || 
                edns.subnet_source_mask == 0) {
 #endif
index fde51dccca03eba4f47a431c6f6fcfdb2c959381..038c3742f975e4fe0fc2ce752063be5551a3e913 100644 (file)
@@ -911,9 +911,10 @@ IPv6 address and the host name.  For example "192.0.2.4 www.example.com".
 TTL can be inserted like this: "2001:DB8::4 7200 www.example.com"
 .TP 5
 .B send\-client\-subnet: \fI<IP address>
-Send client source address to this authority. Can be IP4 or IP6. Append 
-/num to indicate a classless delegation netblock, for example like
-10.2.3.4/24 or 2001::11/64.
+Send client source address to this authority. Append /num to indicate a 
+classless delegation netblock, for example like 10.2.3.4/24 or 
+2001::11/64. Can be given multiple times. Authorities not listed will 
+not receive edns-subnet information.
 .TP 5
 .B client\-subnet\-opcode: \fI<number>
 Specify positive integer smaller than 65536. Defaults to 8.
index 09ee056f6fe706a8e610e0d3afaa33e839a52f33..b638b2080bc2c939b776752454656b68c138a361 100644 (file)
@@ -6,7 +6,7 @@
 
 /** \file 
  * see addrtree.h 
- * */
+ */
 
 #include <stdio.h>
 #include <string.h>
@@ -22,8 +22,8 @@
  * @param addr: full key to this edge.
  * @param addrlen: length of relevant part of key for this node
  * @return new addredge or NULL on failure
- * */
-struct addredge* 
+ */
+static struct addredge* 
 edge_create(struct addrnode* node, const addrkey_t* addr, addrlen_t addrlen)
 {
        size_t n;
@@ -32,7 +32,7 @@ edge_create(struct addrnode* node, const addrkey_t* addr, addrlen_t addrlen)
                return NULL;
        edge->node = node;
        edge->len = addrlen;
-       n = (addrlen / KEYWIDTH) + ((addrlen % KEYWIDTH)!=0);
+       n = (addrlen / KEYWIDTH) + ((addrlen % KEYWIDTH)!=0)?1:0; /*ceil()*/
        edge->str = (addrkey_t*)calloc(n, sizeof(addrkey_t));
        if (!edge->str) {
                free(edge);
@@ -47,8 +47,8 @@ edge_create(struct addrnode* node, const addrkey_t* addr, addrlen_t addrlen)
  * @param elem: Element to store at this node
  * @param scope: Scopemask from server reply
  * @return new addrnode or NULL on failure
- * */
-struct addrnode* 
+ */
+static struct addrnode* 
 node_create(struct reply_info* elem, addrlen_t scope)
 {
        struct addrnode* node = (struct addrnode*)malloc( sizeof(*node) );
@@ -78,10 +78,43 @@ struct addrtree* addrtree_create(addrlen_t max_depth, struct module_env* env)
        return tree;
 }
 
+size_t tree_size(const struct addrnode* node)
+{
+       int i;
+       size_t s = 0;
+       
+       if (!node) return s;
+       s += sizeof(struct addrnode);
+       if (node->elem) {
+               s += sizeof(struct reply_info) - sizeof(struct rrset_ref);
+               s += node->elem->rrset_count * sizeof(struct rrset_ref);
+               s += node->elem->rrset_count * sizeof(struct ub_packed_rrset_key*);
+       }
+       
+       for (i = 0; i < 2; i++) {
+               if (!node->edge[i]) continue;
+               s += sizeof(struct addredge);
+               s += (node->edge[i]->len / KEYWIDTH) + ((node->edge[i]->len % KEYWIDTH)!=0);
+               s += tree_size(node->edge[i]->node);
+       }
+       return s;
+}
+
+size_t addrtree_size(const struct addrtree* tree)
+{
+       size_t s = 0;
+       if (tree) {
+               s += sizeof(struct addrtree);
+               s += tree_size(tree->root);
+       }
+       return s;
+}
+
 void addrtree_clean_node(const struct addrtree* tree, struct addrnode* node)
 {
        if (node->elem) {
-               reply_info_parsedelete(node->elem, tree->env->alloc);
+               //~ reply_info_parsedelete(node->elem, tree->env->alloc);
+               reply_info_delete(node->elem, NULL);
                node->elem = NULL;
        }
 }
@@ -90,8 +123,9 @@ void addrtree_clean_node(const struct addrtree* tree, struct addrnode* node)
  * Free node and all nodes below
  * @param tree: Tree the node lives in.
  * @param node: Node to be freed
- * */
-void freenode_recursive(struct addrtree* tree, struct addrnode* node)
+ */
+static void
+freenode_recursive(struct addrtree* tree, struct addrnode* node)
 {
        struct addredge* edge;
        int i;
@@ -128,8 +162,8 @@ int getbit(const addrkey_t* addr, addrlen_t addrlen, addrlen_t n)
 
 /** Test for equality on N'th bit.
  * @return 0 for equal, 1 otherwise 
- * */
-inline int 
+ */
+static inline int 
 cmpbit(const addrkey_t* key1, const addrkey_t* key2, addrlen_t n)
 {
        addrkey_t c = key1[n/KEYWIDTH] ^ key2[n/KEYWIDTH];
@@ -144,8 +178,9 @@ cmpbit(const addrkey_t* key1, const addrkey_t* key2, addrlen_t n)
  * @param l2: Length of s2 in bits
  * @param skip: Nr of bits already checked.
  * @return Common number of bits.
- * */
-addrlen_t bits_common(const addrkey_t* s1, addrlen_t l1, 
+ */
+static addrlen_t 
+bits_common(const addrkey_t* s1, addrlen_t l1, 
        const addrkey_t* s2, addrlen_t l2, addrlen_t skip)
 {
        addrlen_t len, i;
@@ -165,8 +200,9 @@ addrlen_t bits_common(const addrkey_t* s1, addrlen_t l1,
  * @param l2: Length of s2 in bits
  * @param skip: Nr of bits already checked.
  * @return 1 for substring, 0 otherwise 
- * */
-int issub(const addrkey_t* s1, addrlen_t l1, 
+ */
+static int 
+issub(const addrkey_t* s1, addrlen_t l1, 
        const addrkey_t* s2, addrlen_t l2,  addrlen_t skip)
 {
        return bits_common(s1, l1, s2, l2, skip) == l1;
@@ -197,6 +233,7 @@ addrtree_insert(struct addrtree* tree, const addrkey_t* addr,
                        /* update this node's scope and data */
                        if (node->elem)
                                reply_info_parsedelete(node->elem, tree->env->alloc);
+                               //~ reply_info_parsedelete(node->elem, NULL);
                        node->elem = elem;
                        node->scope = scope;
                        return;
index 752ce96a926f19723be2434a288c2cc5e420c0dc..4685bf9270667e31e4ae486d8ad2a70915ff14e3 100644 (file)
  * 
  * At this time the tree does not support deletion of nodes, but elem 
  * can be set to NULL to ignore the node.
- * */
+ */
 
 #ifndef ADDRTREE_H
 #define ADDRTREE_H
 
-#include <stdint.h>
-
 typedef uint8_t addrlen_t;
 typedef uint8_t addrkey_t;
 #define KEYWIDTH 8
@@ -43,6 +41,7 @@ struct addrtree {
        /** Maximum prefix length we are willing to cache. */
        addrlen_t max_depth;
        struct module_env* env;
+       
 };
 
 struct addrnode {
@@ -68,21 +67,20 @@ struct addredge {
  * @param max_depth: Tree will cap keys to this length.
  * @param env: Module environment for alloc information
  * @return new addrtree or NULL on failure
- * */
-
+ */
 struct addrtree* addrtree_create(addrlen_t max_depth, struct module_env* env);
 
 /** 
  * Free tree and all nodes below
  * @param tree: Tree to be freed
- * */
+ */
 void addrtree_delete(struct addrtree* tree);
 
 /** 
  * Free data stored at node
  * @param tree: Tree the node lives in.
  * @param node: Node to be scrubbed
- * */
+ */
 void addrtree_clean_node(const struct addrtree* tree, struct addrnode* node);
 
 /**
@@ -94,7 +92,7 @@ void addrtree_clean_node(const struct addrtree* tree, struct addrnode* node);
  * @param sourcemask: Length of addr in bits
  * @param scope: Number of significant bits in addr
  * @param elem: data to store in the tree
- * */
+ */
 void addrtree_insert(struct addrtree* tree, const addrkey_t* addr, 
        addrlen_t sourcemask, addrlen_t scope, struct reply_info* elem);
 
@@ -105,7 +103,7 @@ void addrtree_insert(struct addrtree* tree, const addrkey_t* addr,
  * @param addr: key for element lookup
  * @param sourcemask: Length of addr in bits
  * @return addrnode or NULL on miss
- * */
+ */
 struct addrnode* addrtree_find(const struct addrtree* tree, 
        const addrkey_t* addr, addrlen_t sourcemask);
 
index b7084057cf122aa3c6405e08dce20fa7d0019b81..1c2bd20432d47c8459bb31866def284139405532 100644 (file)
@@ -25,7 +25,7 @@ extern uint8_t EDNSSUBNET_MAX_SUBNET_IP6;
 /** 
  * copy the first n BITS from src to dst iff both src and dst 
  * are large enough, return 0 on succes
- * */
+ */
 int
 copy_clear(uint8_t* dst, size_t dstlen, uint8_t* src, size_t srclen, size_t n);
 
index 60c8261055fce3d29413a1624e0751a070a4d945..22847cedcdd8438901bffeb45b51b7de47521ef1 100644 (file)
@@ -38,6 +38,20 @@ subnet_data_delete(void* d, void* ATTR_UNUSED(arg))
        free(r);
 }
 
+/** externally called */
+size_t 
+msg_cache_sizefunc(void* k, void* d)
+{
+       struct msgreply_entry* q = (struct msgreply_entry*)k;
+       struct subnet_msg_cache_data* r = (struct subnet_msg_cache_data*)d;
+       size_t s = sizeof(struct msgreply_entry) 
+               + sizeof(struct subnet_msg_cache_data)
+               + q->key.qname_len + lock_get_mem(&q->entry.lock);
+       s += addrtree_size(r->tree4);
+       s += addrtree_size(r->tree6);
+       return s;
+}
+
 /** new query for sn */
 static int
 subnet_new_qstate(struct module_qstate* qstate, int id)
@@ -63,7 +77,8 @@ int subnetmod_init(struct module_env* env, int id)
        /* Copy msg_cache settings for now */
        sn_env->subnet_msg_cache = slabhash_create(env->cfg->msg_cache_slabs,
                        HASH_DEFAULT_STARTARRAY, env->cfg->msg_cache_size,
-                       msgreply_sizefunc, query_info_compare,
+                       msg_cache_sizefunc, query_info_compare,
+                       //~ msgreply_sizefunc, query_info_compare,
                        query_entry_delete, subnet_data_delete, NULL);
        if(!sn_env->subnet_msg_cache) {
                log_err("subnet: could not create cache");
@@ -141,7 +156,7 @@ void update_cache(struct module_qstate* qstate, int id)
                free(qinf.qname); /* if qname 'consumed', it is set to NULL */
                lru_entry = &mrep_entry->entry;
                lru_entry->data = data;
-               slabhash_insert(subnet_msg_cache, h, lru_entry, data, env->alloc);
+               slabhash_insert(subnet_msg_cache, h, lru_entry, data, NULL);
        } else {
                data = lru_entry->data;
                acquired_lock = 1;
@@ -163,6 +178,7 @@ void update_cache(struct module_qstate* qstate, int id)
                        lock_rw_unlock(&lru_entry->lock);
                return;
        }
+
        rep = reply_info_copy(qstate->return_msg->rep, env->alloc, NULL);
        /* fixup flags to be sensible for a reply based on the cache */
        rep->flags |= (BIT_RA | BIT_QR);
index feca02f23bdb831c17efe9b9e53fbdab708ceccf..1b43b11df94116f812c981d8eff0f0fe97f80e0d 100644 (file)
@@ -37,6 +37,7 @@ struct subnet_qstate {
 };
 
 void subnet_data_delete(void* d, void* ATTR_UNUSED(arg));
+size_t msg_cache_sizefunc(void* k, void* d);
 
 /**
  * Get the module function block.
index 16ddbf884b6756243e6e93772161bfe363a417b1..68c6d96ca5e37ac001a33a6d6a8e2d3f6fded2a2 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:            $LTCC
 #         compiler flags:              $LTCFLAGS
 #         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2
+#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1.3
 #         automake:    $automake_version
 #         autoconf:    $autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4.2
+VERSION="2.4.2 Debian-2.4.2-1.3"
 TIMESTAMP=""
 package_revision=1.3337
 
@@ -1375,21 +1375,6 @@ func_replace_sysroot ()
 func_infer_tag ()
 {
     $opt_debug
-
-    # FreeBSD-specific: where we install compilers with non-standard names
-    tag_compilers_CC="*cc cc* *gcc gcc* clang"
-    tag_compilers_CXX="*c++ c++* *g++ g++* clang++"
-    base_compiler=`set -- "$@"; echo $1`
-
-    # If $tagname isn't set, then try to infer if the default "CC" tag applies
-    if test -z "$tagname"; then
-      for zp in $tag_compilers_CC; do
-        case $base_compiler in
-        $zp) tagname="CC"; break;;
-       esac
-      done
-    fi
-
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
@@ -1426,22 +1411,7 @@ func_infer_tag ()
              break
              ;;
            esac
-
-           # FreeBSD-specific: try compilers based on inferred tag
-           if test -z "$tagname"; then
-             eval "tag_compilers=\$tag_compilers_${z}"
-             if test -n "$tag_compilers"; then
-               for zp in $tag_compilers; do
-                 case $base_compiler in   
-                   $zp) tagname=$z; break;;
-                 esac
-               done
-               if test -n "$tagname"; then
-                 break
-               fi
-             fi
-            fi
-          fi
+         fi
        done
        # If $tagname still isn't set, then no tagged configuration
        # was found and let the user know that the "--tag" command
@@ -3547,9 +3517,6 @@ static const void *lt_preloaded_setup() {
          ;;
        esac
        ;;
-      *-*-freebsd*)
-       # FreeBSD doesn't need this...
-       ;;
       *)
        func_fatal_error "unknown suffix for \`$my_dlsyms'"
        ;;
@@ -5628,7 +5595,6 @@ func_mode_link ()
          esac
          ;;
        esac
-       deplibs="$deplibs $arg"
        continue
        ;;
 
@@ -6158,7 +6124,10 @@ func_mode_link ()
        case $pass in
        dlopen) libs="$dlfiles" ;;
        dlpreopen) libs="$dlprefiles" ;;
-       link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+       link)
+         libs="$deplibs %DEPLIBS%"
+         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+         ;;
        esac
       fi
       if test "$linkmode,$pass" = "lib,dlpreopen"; then
@@ -6201,30 +6170,13 @@ func_mode_link ()
            finalize_deplibs="$deplib $finalize_deplibs"
          else
            func_append compiler_flags " $deplib"
-         fi
-
-         case $linkmode in
-         lib)
-           deplibs="$deplib $deplibs"
-           test "$pass" = conv && continue
-           newdependency_libs="$deplib $newdependency_libs"
-           ;;
-         prog)
-           if test "$pass" = conv; then
-             deplibs="$deplib $deplibs"
-             continue
-           fi
-           if test "$pass" = scan; then
-             deplibs="$deplib $deplibs"
-           else
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) func_append new_inherited_linker_flags " $deplib" ;;
+               esac
            fi
-           ;;
-         *)
-           ;;
-         esac # linkmode
-
+         fi
          continue
          ;;
        -l*)
@@ -6495,19 +6447,19 @@ func_mode_link ()
            # It is a libtool convenience library, so add in its objects.
            func_append convenience " $ladir/$objdir/$old_library"
            func_append old_convenience " $ladir/$objdir/$old_library"
+           tmp_libs=
+           for deplib in $dependency_libs; do
+             deplibs="$deplib $deplibs"
+             if $opt_preserve_dup_deps ; then
+               case "$tmp_libs " in
+               *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+               esac
+             fi
+             func_append tmp_libs " $deplib"
+           done
          elif test "$linkmode" != prog && test "$linkmode" != lib; then
            func_fatal_error "\`$lib' is not a convenience library"
          fi
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           deplibs="$deplib $deplibs"
-           if $opt_preserve_dup_deps ; then
-             case "$tmp_libs " in
-             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-             esac
-           fi
-           func_append tmp_libs " $deplib"
-         done
          continue
        fi # $pass = conv
 
@@ -7400,6 +7352,9 @@ func_mode_link ()
            revision="$number_minor"
            lt_irix_increment=no
            ;;
+         *)
+           func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+           ;;
          esac
          ;;
        no)
index 5f2f8c9ceb8dd107e44a2bc3394084932dbd829c..a6c60b10ade9e28f25f8a18b06540103160d0c9a 100644 (file)
@@ -717,8 +717,8 @@ verbose_hex(int lvl, uint8_t *data, size_t datalen, char *header)
 static int
 match_ednsdata(ldns_pkt* q, struct reply_packet* p)
 {
-       size_t qdlen, pdlen;
-       uint8_t *qd, *pd;
+       size_t qdlen, pdlen = 0;
+       uint8_t *qd, *pd = NULL;
        int q_set = ldns_pkt_edns(q) && ldns_pkt_edns_data(q);
        int p_set = p->raw_ednsdata != NULL;
        
index cdc334e21e56e0c4a01766d171aa8ab2b746240b..60ed09a79d93f26fb22dbf0038cb7d467020a067 100755 (executable)
@@ -22,11 +22,11 @@ if test "$1" = "report" || test "$2" = "report"; then
                name=`basename $result .tpkg`
                if test -f ".done-$name"; then
                        if test "$1" != "-q"; then
-                               echo "** PASSED ** : $name"
+                               echo  "** PASSED ** : $name"
                        fi
                else
                        if test -f "result.$name"; then
-                               echo "\033[01;31m!! FAILED !!\033[00m : $name"
+                               echo "!! FAILED !! : $name"
                        else
                                echo ">> SKIPPED<< : $name"
                        fi
@@ -99,12 +99,12 @@ if test -f $name.test; then
        $shell $name.test $args >>$result 2>&1
        if test $? -ne 0; then
                echo "$name: FAILED" >> $result
-               echo "\033[01;31mFAILED\033[00m"
+               echo "FAILED"
                success="no"
        else
                echo "$name: PASSED" >> $result
                echo "$name: PASSED" > ../.done-$name
-               echo "\033[01;32mPASSED\033[00m"
+               echo "PASSED"
                success="yes"
        fi
 fi
index c9c2e1b477b08f120123280cafc72207f840c0bb..6f42e23529074168f8e2973b1756bd65cd9e4b88 100644 (file)
@@ -10,7 +10,7 @@
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 36
+#define YY_FLEX_SUBMINOR_VERSION 35
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
@@ -143,7 +143,15 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
 #define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -155,12 +163,7 @@ typedef unsigned int flex_uint32_t;
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
 #endif
 
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
+extern int yyleng;
 
 extern FILE *yyin, *yyout;
 
@@ -186,6 +189,11 @@ extern FILE *yyin, *yyout;
 
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
 struct yy_buffer_state
@@ -203,7 +211,7 @@ struct yy_buffer_state
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
-       yy_size_t yy_n_chars;
+       int yy_n_chars;
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
@@ -273,8 +281,8 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
-static yy_size_t yy_n_chars;           /* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
+static int yy_n_chars;         /* number of characters read into yy_ch_buf */
+int yyleng;
 
 /* Points to current character in buffer. */
 static char *yy_c_buf_p = (char *) 0;
@@ -302,7 +310,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
 
 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
 
 void *yyalloc (yy_size_t  );
 void *yyrealloc (void *,yy_size_t  );
@@ -363,8 +371,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 143
-#define YY_END_OF_BUFFER 144
+#define YY_NUM_RULES 147
+#define YY_END_OF_BUFFER 148
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -372,157 +380,164 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[1355] =
+static yyconst flex_int16_t yy_accept[1413] =
     {   0,
-        1,    1,  125,  125,  129,  129,  133,  133,  137,  137,
-        1,    1,  144,  141,    1,  123,  123,  142,    2,  142,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  125,
-      126,  126,  127,  142,  129,  130,  130,  131,  142,  136,
-      133,  134,  134,  135,  142,  137,  138,  138,  139,  142,
-      140,  124,    2,  128,  142,  140,  141,    0,    1,    2,
-        2,    2,    2,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      125,    0,  129,    0,  136,    0,  133,  137,    0,  140,
-        0,    2,    2,  140,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  140,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  140,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,   62,  141,  141,  141,  141,  141,    6,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  140,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  140,
-      141,  141,  141,  141,   27,  141,  141,  141,  141,  141,
-       12,   13,  141,   15,   14,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  118,  141,  141,  141,  141,  141,    3,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  140,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  132,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,   30,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,   31,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,   77,  132,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,   76,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,   60,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-       20,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,   28,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,   29,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,   22,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,   25,   26,  141,  141,  141,   63,  141,   64,  141,
-       61,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,    5,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,   79,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  104,  103,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,   32,  141,  141,
-      141,  141,  141,  141,  141,   66,   65,  141,  141,  141,
-      141,  141,  141,  100,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,   51,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  102,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,    4,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,   97,  141,  141,  141,  141,  141,  141,
-      141,  112,   98,  141,   21,  141,  141,  141,  141,   68,
-      141,   69,   67,  141,  141,  141,  141,  141,  141,   75,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,   99,
-      141,  141,  141,  141,  122,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,   59,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,   17,  141,  141,
-
-      141,   16,  141,   84,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,   39,   40,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,   70,  141,
-      141,  141,  141,  141,   74,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,   78,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  117,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,   88,  141,   92,
-      141,  141,  141,  141,   73,  141,  141,  110,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,   91,  141,  141,  141,  141,   41,   42,  141,   47,
-       93,  141,  105,  101,  141,  141,   35,  141,   95,  141,
-      141,  141,  141,  141,    7,  141,   58,  109,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,   80,  141,  141,  119,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,   94,  141,
-       34,   36,  141,  141,  141,  141,  141,   57,  141,  141,
-      141,  141,  113,   18,   19,  141,  141,  141,  141,  141,
-      141,   55,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  115,  141,  141,   33,  141,  141,  141,  141,  141,
-      141,   11,  141,  141,  141,  141,  141,  141,  141,   10,
-      141,  141,   37,  141,  121,  114,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,   87,   86,  141,  116,
-      111,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,   43,  141,  120,  141,  141,  141,  141,   38,  141,
-      141,  141,   81,   83,  141,  141,  141,   85,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,   23,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  108,  141,  141,  141,  141,
-
-      141,  141,  141,   24,  141,    9,  141,  141,  106,   48,
-      141,  141,  141,   90,  141,   71,  141,  141,  141,   50,
-       54,   49,  141,   44,  141,    8,  141,  141,   89,  141,
-      141,  141,   53,  141,   45,  141,  107,  141,  141,   82,
-       72,   52,   46,  141,  141,  141,  141,   56,  141,  141,
-      141,  141,   96,    0
+        1,    1,  129,  129,  133,  133,  137,  137,  141,  141,
+        1,    1,  148,  145,    1,  127,  127,  146,    2,  146,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  129,
+      130,  130,  131,  146,  133,  134,  134,  135,  146,  140,
+      137,  138,  138,  139,  146,  141,  142,  142,  143,  146,
+      144,  128,    2,  132,  146,  144,  145,    0,    1,    2,
+        2,    2,    2,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  129,    0,  133,    0,  140,    0,  137,  141,    0,
+      144,    0,    2,    2,  144,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  144,  145,  145,  145,  145,  145,  145,  145,  145,
+
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  144,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,   62,  145,
+
+      145,  145,  145,  145,    6,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  144,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      144,  145,  145,  145,  145,   27,  145,  145,  145,  145,
+      145,  145,   12,   13,  145,   15,   14,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  122,  145,  145,  145,  145,  145,
+      145,    3,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      144,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  136,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+       30,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,   31,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,   81,
+
+      136,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,   80,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,   60,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+       20,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,   28,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+
+      145,  145,  145,  145,  145,  145,  145,   29,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,   22,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,   25,   26,  145,  145,  145,   63,
+      145,   64,  145,   61,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,    5,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+
+      145,  145,   83,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      108,  107,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,   32,  145,  145,  145,  145,  145,  145,  145,
+      145,   66,   65,  145,  145,  145,  145,  145,  145,  104,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+
+      145,   51,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  106,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,    4,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  101,  145,  145,  145,  145,  145,  145,  145,
+      145,  116,  102,  145,   21,  145,  145,  145,  145,   68,
+      145,   69,   67,  145,  145,  145,  145,  145,  145,   79,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  103,
+
+      145,  145,  145,  145,  145,  126,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,   59,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,   17,
+      145,  145,  145,   16,  145,   88,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,   39,   40,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,   70,  145,  145,  145,  145,  145,   78,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,   82,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  121,  145,  145,  145,  145,
+
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,   92,  145,   96,  145,  145,  145,  145,   73,
+      145,  145,  145,  114,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,   95,  145,  145,
+      145,  145,   41,   42,  145,   47,   97,  145,  109,  105,
+      145,  145,  145,   35,  145,   99,  145,  145,  145,  145,
+      145,    7,  145,   58,  113,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,   84,  145,  145,  123,  145,  145,  145,  145,  145,
+
+      145,  145,  145,  145,  145,  145,  145,   98,  145,  145,
+       34,   36,  145,  145,  145,  145,  145,   57,  145,  145,
+      145,  145,  145,  117,   18,   19,  145,  145,  145,  145,
+      145,  145,   55,  145,  145,  145,  145,  145,  145,  145,
+      145,  145,  145,  119,  145,  145,   33,  145,  145,  145,
+      145,  145,  145,   11,  145,  145,  145,  145,  145,  145,
+      145,  145,   10,  145,  145,   37,  145,  125,  145,  118,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+       91,   90,  145,  145,  120,  115,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,   43,  145,  145,  124,
+
+      145,  145,  145,  145,   38,  145,  145,  145,  145,   85,
+       87,  145,  145,  145,   89,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
+      145,   23,  145,  145,   74,  145,  145,  145,  145,  145,
+      145,  145,  145,  145,  145,  145,  112,  145,  145,  145,
+      145,  145,  145,  145,   24,  145,  145,    9,  145,  145,
+      110,   48,  145,  145,  145,   94,  145,   75,   71,  145,
+      145,  145,   50,   54,   49,  145,   44,  145,  145,    8,
+      145,  145,   93,  145,  145,  145,   53,  145,   45,  145,
+      145,  145,  111,  145,  145,   86,   72,   52,   76,   77,
+
+       46,  145,  145,  145,  145,   56,  145,  145,  145,  145,
+      100,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -565,621 +580,648 @@ static yyconst flex_int32_t yy_meta[40] =
         1,    1,    1,    1,    1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[1369] =
+static yyconst flex_int16_t yy_base[1427] =
     {   0,
         0,    0,   37,   40,   44,   51,   63,   75,   56,   68,
-       87,  108, 2103, 2040,   50, 2711, 2711, 2711,  129,   94,
-       70,  104,  122,   90,   92,  115,  126,   95,   84,  132,
-      135,  138,   50,  142,  148,  156,  169,  164,  179, 2006,
-     2711, 2711, 2711,   70, 1888, 2711, 2711, 2711,   42, 1877,
-     1853, 2711, 2711, 2711,  197, 1667, 2711, 2711, 2711,  154,
-     1249, 2711,  201, 2711,  205,  111, 1027,  211,  120,    0,
-      222,    0,    0,  103,  158,  165,  149,  155,  168,  206,
-      207,  198,  217,  209,  204,  208,  215,  177,  227,  228,
-      231,  219,  235,  236,  229,  241,  244,  245,  246,  247,
-
-      249,  250,  257,  256,  258,  264,  265,  266,  268,  271,
-      277,  273,  275,  279,  282,  269,   49,  283,  280,  286,
-      974,  302,  784,  308,  697,  314,  632,  362,  309,  174,
-      318,  322,    0,  315,  319,  325,  317,  321,  323,  326,
-      333,  330,  336,  347,  339,  334,  337,  327,  291,  343,
-      341,  344,  345,  352,  349,  358,  363,  369,  365,  376,
-      377,  374,  373,  380,  381,  389,  390,  388,  387,  391,
-      392,  396,  397,  399,  400,  401,  402,  403,  409,  407,
-      408,  412,  428,  413,  415,  430,  431,  433,  417,  434,
-      436,  442,  438,  439,  440,  441,  447,  445,  455,  451,
-
-      457,  459,  460,  461,  468,  465,  473,  466,  480,  469,
-      476,  477,  478,  481,  483,  484,  490,  492,  487,  486,
-      488,  493,  500,  504,  505,  510,  512,  502,  511,  518,
-      521,  523,  524,  517,  529,  535,  531,  533,  534,  536,
-      539,  543,  545,  541,  542,  544,  547,  553,  548,  573,
-      554,  557,  559,  565,  567,  570,  579,  571,  568,  578,
-      577,  581,  594,  603,  586,  596,  598,  602,  605,  604,
-      609,  610,  611,  613,  618,  615,  617,  630,  628,  631,
-      629,  637,  640,  632,  639,  643,  641,  646,  644,  650,
-      651, 2711,  656,  654,  658,  659,  660, 2711,  661,  662,
-
-      663,  664,  665,  679,  667,  670,  676,  678,  683,  684,
-      686,  706,  689,  687,  696,  690,  694,  698,  715,  702,
-      699,  704,  708,  713,  720,  721,  718,  724,  729,  731,
-      728,  734,  736,  742,  738,  743,  744,  745,  747,  754,
-      757,  751,  762,  764,  770,  758,  766,  768,  774,  773,
-      775,  767,  781,  778,  782,  785,  789,  791,  792,  795,
-      799,  800,  794,  804,  802,  808,  811,  810,  812,  814,
-      819,  813,  821,  822,  823,  828,  837,  834,  830,  838,
-      845,  846,  847,  842,  843,  850,  851,  853,  854,  852,
-      855,  859,  870,  858,  875,  862,  878,  864,  868,  872,
-
-      879,  884,  881,  890,  891,  882,  892,  893,  894,  898,
-      901,  905,  897,  906, 2711,  916,  910,  912,  913,  917,
-     2711, 2711,  919, 2711, 2711,  920,  922,  923,  931,  937,
-      933,  924,  925,  940,  935,  945,  946,  948,  953,  957,
-      951,  958,  959,  961,  964,  965,  968,  970,  980,  981,
-      982,  966,  978,  984,  987,  988,  989,  991,  994, 1000,
-      997, 2711,  998,  999, 1003, 1006, 1007, 2711, 1008, 1009,
-     1011, 1012, 1015, 1014, 1020, 1019, 1017, 1032, 1025, 1022,
-     1026, 1033, 1043, 1040, 1042, 1045, 1048, 1049, 1050, 1059,
-     1052, 1056, 1058, 1065, 1062, 1064, 1067, 1068, 1069, 1072,
-
-     1075, 1076, 1100, 1077, 1079, 1078, 1080, 1085, 1084, 1086,
-     1101, 1107, 1097, 1110, 1114, 1087, 1112, 1119, 1118, 1120,
-     1122, 1125, 2711, 1128, 1131, 1130, 1135, 1136, 1137, 1138,
-     1140, 1142, 1144, 1143, 1155, 2711, 1147, 1151, 1153, 1154,
-     1156, 1160, 1163, 1170, 1178, 2711, 1180, 1181, 1164, 1174,
-     1176, 1183, 1177, 1187, 1188, 1089, 1184, 1195, 1191, 1197,
-     1199, 1201, 1203, 1204, 1205, 1206, 1207, 1208, 1210, 1209,
-     1221, 1228, 1214, 1231, 1217, 1225, 1232, 1237, 1227, 1234,
-     1235, 1238, 2711,  141, 1241, 1242, 1240, 1251, 1252, 1248,
-     1250, 1256, 1261, 1258, 1259, 1268, 1262, 1269, 1271, 1265,
-
-     1272, 1275, 1279, 1281, 1282, 1285, 1286, 1287, 1288, 1289,
-     1293, 1295, 1291, 1292, 2711, 1308, 1302, 1296, 1305, 1312,
-     1319, 1313, 1315, 1327, 1320, 1323, 1329, 1330, 1332, 1333,
-     1335, 1336, 1342, 1344, 1340, 1343, 1346, 1348, 2711, 1352,
-     1350, 1351, 1353, 1357, 1358, 1361, 1363, 1368, 1371, 1373,
-     2711, 1374, 1378, 1379, 1385, 1380, 1387, 1389, 1391, 1382,
-     1392, 1388, 1399, 1395, 1401, 1403, 2711, 1411, 1414, 1412,
-     1420, 1416, 1405, 1408, 1422, 1418, 1423, 1431, 1427, 1428,
-     1432, 1429, 1433, 1434, 1436, 1435, 2711, 1442, 1439, 1443,
-     1440, 1444, 1449, 1451, 1452, 1456, 1457, 1463, 1460, 1467,
-
-     1466, 1476, 1464, 1468, 1474, 1480, 1483, 1485, 1492, 1493,
-     1494, 2711, 1491, 1484, 1497, 1506, 1500, 1502, 1503, 1507,
-     1508, 1509, 1517, 1510, 1511, 1513, 1518, 1514, 1519, 1520,
-     1523, 1526, 1534, 1536, 1539, 1525, 1542, 1546, 1543, 1544,
-     1555, 2711, 2711, 1552, 1553, 1561, 2711, 1559, 2711, 1563,
-     2711, 1565, 1566, 1560, 1569, 1571, 1570, 1573, 1577, 1578,
-     1574, 1580, 1582, 1581, 1583, 2711, 1584, 1587, 1589, 1592,
-     1593, 1595, 1603, 1599, 1611, 1598, 1607, 1608, 2711, 1617,
-     1609, 1616, 1625, 1623, 1610, 1626, 1627, 1630, 1629, 1631,
-     1633, 1637, 1638, 1639, 1640, 1641, 1646, 1644, 1648, 1649,
-
-     1650, 1651, 1653, 1654, 1662, 1663, 2711, 2711, 1665, 1673,
-     1675, 1666, 1677, 1678, 1681, 1683, 1689, 1688, 1685, 1691,
-     1694, 1695, 1696, 1698, 1699, 1701, 1702, 2711, 1708, 1706,
-     1715, 1707, 1719, 1718, 1723, 2711, 2711, 1722, 1725, 1711,
-     1727, 1728, 1733, 2711, 1734, 1735, 1736, 1737, 1740, 1743,
-     1747, 1748, 1750, 1753, 1756, 1757, 1760, 1759, 1758, 1766,
-     1762, 1765, 1773, 1775, 1783, 1777, 1780, 1781, 1785, 1786,
-     1788, 1790, 1796, 1792, 2711, 1802, 1793, 1805, 1779, 1808,
-     1809, 1817, 1813, 1794, 1803, 1815, 1816, 1819, 1820, 1821,
-     1824, 2711, 1829, 1831, 1826, 1833, 1834, 1828, 1847, 1836,
-
-     1839, 2711, 1845, 1856, 1849, 1852, 1858, 1860, 1861, 1853,
-     1863, 1864, 1866, 1868, 1867, 1871, 1880, 1872, 1875, 1890,
-     1892, 1899, 1900, 1884, 1902, 1901, 1903, 1904, 1886, 1910,
-     1906, 1914, 1908, 2711, 1912, 1918, 1922, 1919, 1924, 1926,
-     1927, 2711, 2711, 1923, 2711, 1930, 1933, 1934, 1937, 2711,
-     1939, 2711, 2711, 1940, 1949, 1941, 1947, 1950, 1956, 2711,
-     1953, 1945, 1961, 1957, 1959, 1963, 1964, 1966, 1967, 2711,
-     1968, 1970, 1974, 1977, 2711, 1969, 1980, 1982, 1984, 1988,
-     1991, 1993, 1985, 1994, 2000, 1997, 2711, 1999, 2001, 2005,
-     2007, 2011, 2010, 2013, 2009, 2024, 2025, 2711, 2026, 2016,
-
-     2017, 2711, 2028, 2711, 2031, 2027, 2032, 2043, 2035, 2046,
-     2038, 2047, 2048, 2049, 2055, 2050, 2711, 2711, 2056, 2060,
-     2063, 2061, 2066, 2068, 2067, 2069, 2070, 2075, 2711, 2076,
-     2078, 2077, 2079, 2080, 2711, 2084, 2085, 2086, 2089, 2092,
-     2104, 2106, 2095, 2110, 2112, 2107, 2114, 2116, 2117, 2711,
-     2118, 2120, 2121, 2125, 2127, 2081, 2128, 2132, 2130, 2122,
-     2135, 2711, 2138, 2139, 2142, 2144, 2146, 2147, 2149, 2150,
-     2151, 2154, 2155, 2157, 2160, 2161, 2164, 2711, 2162, 2711,
-     2167, 2177, 2180, 2183, 2711, 2171, 2173, 2711, 2187, 2188,
-     2195, 2196, 2198, 2203, 2199, 2189, 2206, 2191, 2207, 2213,
-
-     2214, 2711, 2181, 2216, 2215, 2217, 2711, 2711, 2224, 2711,
-     2711, 2227, 2711, 2711, 2228, 2230, 2711, 2232, 2711, 2239,
-     2235, 2222, 2218, 2237, 2711, 2244, 2711, 2711, 2241, 2245,
-     2248, 2249, 2251, 2253, 2256, 2257, 2258, 2259, 2260, 2261,
-     2263, 2265, 2266, 2179, 2267, 2268, 2270, 2274, 2277, 2279,
-     2280, 2290, 2711, 2278, 2291, 2711, 2298, 2293, 2286, 2282,
-     2299, 2303, 2304, 2306, 2312, 2309, 2308, 2310, 2711, 2313,
-     2711, 2711, 2311, 2315, 2321, 2314, 2316, 2711, 2326, 2322,
-     2336, 2338, 2711, 2711, 2711, 2339, 2328, 2333, 2343, 2344,
-     2345, 2711, 2346, 2347, 2351, 2354, 2358, 2360, 2367, 2364,
-
-     2366, 2711, 2368, 2370, 2711, 2371, 2372, 2375, 2377, 2378,
-     2380, 2711, 2376, 2381, 2388, 2383, 2391, 2393, 2394, 2711,
-     2396, 2397, 2711, 2403, 2711, 2711, 2398, 2406, 2408, 2413,
-     2415, 2404, 2409, 2421, 2420, 2424, 2711, 2711, 2425, 2711,
-     2711, 2417, 2426, 2427, 2429, 2432, 2433, 2435, 2437, 2440,
-     2439, 2711, 2441, 2711, 2442, 2451, 2443, 2445, 2711, 2452,
-     2453, 2456, 2711, 2711, 2457, 2466, 2464, 2711, 2469, 2468,
-     2470, 2471, 2476, 2478, 2472, 2479, 2482, 2480, 2458, 2483,
-     2492, 2494, 2711, 2496, 2493, 2497, 2501, 2504, 2505, 2506,
-     2507, 2509, 2510, 2512, 2514, 2711, 2515, 2516, 2526, 2531,
-
-     2535, 2523, 2537, 2711, 2538, 2711, 2541, 2542, 2711, 2711,
-     2543, 2545, 2548, 2711, 2549, 2711, 2532, 2556, 2546, 2711,
-     2711, 2711, 2558, 2711, 2559, 2711, 2561, 2562, 2711, 2564,
-     2566, 2568, 2711, 2570, 2711, 2572, 2711, 2573, 2574, 2711,
-     2711, 2711, 2711, 2576, 2578, 2584, 2579, 2711, 2581, 2586,
-     2587, 2590, 2711, 2711, 2619, 2626, 2633, 2640, 2647,   94,
-     2654, 2661, 2668, 2675, 2682, 2689, 2696, 2703
+       87,  108, 2220, 2157,   50, 2822, 2822, 2822,  129,   94,
+       70,  104,  122,   90,   92,  124,  132,   95,   84,  111,
+      140,  142,   50,  135,  151,  152,  161,  154,  175, 1945,
+     2822, 2822, 2822,   70, 1816, 2822, 2822, 2822,   42, 1573,
+     1357, 2822, 2822, 2822,  192, 1286, 2822, 2822, 2822,  186,
+     1137, 2822,  196, 2822,  200,  193, 1053,  206,  120,    0,
+      219,    0,    0,  103,  170,  138,  145,  199,  203,  201,
+      202,  204,  206,  221,  209,  220,  224,  225,  226,  227,
+      231,  233,  229,  241,  244,  235,  238,  250,  249,  255,
+
+      257,  258,  260,  261,  263,  267,  262,  270,  115,  269,
+      273,  279,  277,  284,  275,  278,  286,   49,  290,  292,
+      296, 1006,  306,  960,  308,  806,  317,  723,  332,  309,
+      303,  321,  327,    0,  317,  323,  329,  322,  325,  326,
+      330,  331,  339,  338,  345,  352,  346,  336,  344,  342,
+      350,  348,  357,  359,  363,  358,  362,  360,  368,  369,
+      381,  388,  390,  370,  377,  391,  387,  400,  401,  397,
+      393,  389,  402,  403,  405,  406,  407,  410,  412,  411,
+      417,  419,  418,  420,  423,  429,  426,  431,  439,  442,
+      441,  428,  444,  446,  452,  448,  449,  451,  450,  458,
+
+      456,  461,  469,  455,  467,  472,  473,  474,  481,  478,
+      479,  484,  490,  486,  487,  488,  491,  493,  495,  496,
+      502,  498,  499,  500,  503,  507,  514,  518,  519,  516,
+      523,  524,  525,  529,  532,  534,  535,  533,  537,  547,
+      543,  550,  546,  549,  553,  554,  555,  561,  560,  558,
+      562,  566,  568,  569,  588,  559,  572,  576,  577,  578,
+      585,  589,  586,  592,  594,  595,  598,  599,  611,  617,
+      601,  608,  619,  620,  623,  622,  627,  628,  629,  630,
+      631,  633,  632,  648,  640,  644,  647,  652,  655,  654,
+      656,  657,  658,  659,  661,  666,  664,  667, 2822,  672,
+
+      674,  676,  677,  678, 2822,  679,  680,  682,  683,  681,
+      692,  691,  693,  697,  698,  701,  703,  704,  705,  725,
+      707,  706,  718,  709,  714,  710,  736,  717,  728,  730,
+      734,  721,  739,  738,  742,  748,  746,  754,  752,  755,
+      756,  758,  765,  759,  762,  766,  767,  772,  776,  778,
+      784,  783,  787,  793,  768,  790,  792,  799,  797,  798,
+      780,  807,  804,  791,  808,  812,  815,  814,  818,  822,
+      819,  817,  827,  825,  828,  829,  836,  833,  835,  837,
+      842,  843,  845,  846,  849,  850,  858,  865,  854,  864,
+      856,  871,  872,  873,  862,  869,  876,  877,  879,  881,
+
+      878,  884,  885,  891,  888,  898,  892,  889,  901,  903,
+      905,  904,  908,  909,  910,  914,  906,  920,  912,  923,
+      925,  926,  928,  931,  933, 2822,  935,  941,  939,  938,
+      940,  944, 2822, 2822,  165, 2822, 2822,  946,  945,  949,
+      962,  963,  961,  950,  947,  971,  977,  973,  978,  969,
+      985,  987,  983,  988,  989,  991,  993,  994,  995,  999,
+      996, 1009, 1010, 1011,  958, 1013, 1015, 1002, 1017, 1018,
+     1027, 1016, 1033, 1019, 2822, 1029, 1030, 1034, 1031, 1036,
+     1037, 2822, 1039, 1041, 1043, 1042, 1047, 1049, 1050, 1051,
+     1052, 1056, 1059, 1055, 1057, 1066, 1075, 1068, 1074, 1076,
+
+     1078, 1079, 1081, 1089, 1087, 1085, 1086, 1096, 1092, 1095,
+     1098, 1101, 1102, 1104, 1105, 1107, 1109, 1131, 1110, 1108,
+     1111, 1113, 1117, 1118, 1119, 1120, 1143, 1141, 1139, 1145,
+     1154, 1156, 1150, 1148, 1152, 1160, 1124, 2822, 1168, 1164,
+     1165, 1122, 1170, 1172, 1166, 1173, 1174, 1176, 1177, 1187,
+     2822, 1179, 1180, 1183, 1188, 1191, 1192, 1195, 1189, 1204,
+     1207, 2822, 1211, 1208, 1213, 1214, 1215, 1217, 1218, 1219,
+     1221, 1222, 1225, 1228, 1233, 1236, 1223, 1237, 1230, 1238,
+     1242, 1243, 1244, 1246, 1247, 1250, 1252, 1259, 1260, 1258,
+     1267, 1261, 1264, 1269, 1272, 1270, 1274, 1271, 1275, 2822,
+
+      237, 1277, 1279, 1276, 1287, 1289, 1293, 1292, 1285, 1298,
+     1301, 1302, 1303, 1305, 1307, 1310, 1308, 1309, 1311, 1314,
+     1320, 1321, 1322, 1323, 1315, 1326, 1329, 1331, 1334, 1332,
+     1335, 1339, 2822, 1341, 1342, 1343, 1344, 1352, 1359, 1353,
+     1360, 1367, 1370, 1363, 1372, 1373, 1361, 1375, 1378, 1365,
+     1376, 1385, 1387, 1386, 1388, 1389, 1390, 2822, 1393, 1395,
+     1396, 1399, 1400, 1404, 1402, 1406, 1408, 1409, 1418, 1422,
+     2822, 1424, 1423, 1411, 1432, 1415, 1437, 1433, 1440, 1425,
+     1441, 1442, 1443, 1429, 1449, 1444, 2822, 1457, 1458, 1454,
+     1461, 1460, 1462, 1463, 1465, 1466, 1467, 1473, 1471, 1472,
+
+     1470, 1475, 1476, 1478, 1479, 1482, 1480, 2822, 1488, 1485,
+     1489, 1494, 1495, 1496, 1497, 1502, 1505, 1508, 1506, 1509,
+     1510, 1512, 1518, 1514, 1517, 1525, 1527, 1529, 1530, 1536,
+     1539, 1537, 2822, 1541, 1542, 1543, 1549, 1552, 1545, 1547,
+     1558, 1554, 1555, 1557, 1565, 1559, 1567, 1568, 1569, 1561,
+     1570, 1577, 1571, 1576, 1579, 1582, 1584, 1585, 1590, 1594,
+     1596, 1597, 1598, 1606, 2822, 2822, 1602, 1603, 1613, 2822,
+     1610, 2822, 1612, 2822, 1616, 1614, 1620, 1621, 1622, 1623,
+     1625, 1628, 1629, 1631, 1626, 1632, 1633, 1634, 2822, 1640,
+     1641, 1642, 1644, 1645, 1649, 1647, 1657, 1651, 1666, 1650,
+
+     1660, 1662, 2822, 1671, 1663, 1669, 1678, 1679, 1675, 1677,
+     1681, 1682, 1683, 1684, 1686, 1690, 1691, 1692, 1694, 1697,
+     1698, 1700, 1704, 1702, 1703, 1705, 1715, 1717, 1707, 1718,
+     2822, 2822, 1721, 1725, 1708, 1731, 1729, 1732, 1733, 1735,
+     1737, 1743, 1740, 1742, 1748, 1749, 1750, 1751, 1753, 1754,
+     1756, 1757, 2822, 1763, 1759, 1765, 1773, 1774, 1783, 1766,
+     1781, 2822, 2822, 1785, 1769, 1770, 1786, 1787, 1789, 2822,
+     1791, 1792, 1794, 1795, 1797, 1801, 1798, 1804, 1809, 1806,
+     1812, 1813, 1814, 1822, 1815, 1818, 1823, 1831, 1833, 1826,
+     1838, 1844, 1828, 1840, 1841, 1843, 1845, 1847, 1851, 1853,
+
+     1852, 2822, 1862, 1854, 1863, 1856, 1867, 1868, 1875, 1864,
+     1860, 1871, 1873, 1874, 1885, 1877, 1886, 1879, 2822, 1888,
+     1889, 1901, 1890, 1902, 1898, 1882, 1911, 1892, 1904, 2822,
+     1914, 1921, 1906, 1915, 1924, 1925, 1927, 1913, 1917, 1928,
+     1929, 1931, 1934, 1937, 1938, 1942, 1935, 1939, 1948, 1952,
+     1960, 1962, 1958, 1966, 1963, 1964, 1965, 1967, 1974, 1971,
+     1978, 1972, 2822, 1976, 1981, 1983, 1990, 1988, 1986, 1989,
+     1987, 2822, 2822, 1997, 2822, 1998, 2000, 2002, 2003, 2822,
+     2005, 2822, 2822, 2001, 2013, 2006, 2016, 1894, 2020, 2822,
+     2007, 2021, 2024, 2022, 2026, 2027, 2028, 2029, 2030, 2822,
+
+     2031, 2032, 2033, 2037, 2045, 2822, 2035, 2053, 2042, 2054,
+     2055, 2056, 2058, 2048, 2060, 2067, 2064, 2822, 2065, 2071,
+     2073, 2070, 2074, 2075, 2076, 2078, 2079, 2088, 2089, 2822,
+     2090, 2081, 2092, 2822, 2096, 2822, 2098, 2095, 2100, 2106,
+     2107, 2111, 2099, 2113, 2114, 2112, 2122, 2115, 2822, 2822,
+     2124, 2126, 2128, 2129, 2131, 2132, 2134, 2133, 2136, 2140,
+     2142, 2822, 2144, 2145, 2146, 2147, 2149, 2822, 2151, 2152,
+     2156, 2158, 2153, 2163, 2173, 2165, 2175, 2177, 2160, 2181,
+     2183, 2184, 2185, 2822, 2186, 2188, 2189, 2193, 2194, 2190,
+     2197, 2201, 2206, 2195, 2210, 2822, 2216, 2199, 2218, 2211,
+
+     2221, 2222, 2224, 2203, 2213, 2227, 2230, 2231, 2232, 2233,
+     2243, 2236, 2822, 2237, 2822, 2244, 2249, 2252, 2254, 2822,
+     2245, 2251, 2256, 2822, 2258, 2259, 2266, 2269, 2271, 2276,
+     2272, 2262, 2279, 2270, 2280, 2286, 2278, 2822, 2287, 2288,
+     2289, 2292, 2822, 2822, 2295, 2822, 2822, 2299, 2822, 2822,
+     2300, 2301, 2308, 2822, 2310, 2822, 2316, 2312, 2302, 2304,
+     2314, 2822, 2321, 2822, 2822, 2317, 2323, 2315, 2324, 2327,
+     2331, 2334, 2336, 2328, 2337, 2339, 2341, 2342, 2343, 2345,
+     2347, 2346, 2348, 2349, 2350, 2352, 2357, 2358, 2359, 2360,
+     2370, 2822, 2367, 2376, 2822, 2379, 2371, 2373, 2381, 2382,
+
+     2386, 2384, 2390, 2392, 2383, 2391, 2393, 2822, 2394, 2396,
+     2822, 2822, 2397, 2401, 2406, 2407, 2408, 2822, 2412, 2409,
+     2419, 2416, 2424, 2822, 2822, 2822, 2429, 2420, 2425, 2427,
+     2431, 2433, 2822, 2435, 2438, 2439, 2437, 2446, 2448, 2454,
+     2440, 2457, 2459, 2822, 2460, 2451, 2822, 2461, 2453, 2462,
+     2467, 2468, 2470, 2822, 2472, 2473, 2475, 2477, 2483, 2481,
+     2482, 2484, 2822, 2485, 2487, 2822, 2496, 2822, 2488, 2822,
+     2493, 2497, 2499, 2504, 2506, 2501, 2507, 2514, 2511, 2512,
+     2822, 2822, 2517, 2518, 2822, 2822, 2515, 2520, 2524, 2525,
+     2529, 2527, 2530, 2531, 2533, 2535, 2822, 2536, 2537, 2822,
+
+     2538, 2541, 2544, 2549, 2822, 2552, 2553, 2547, 2554, 2822,
+     2822, 2560, 2563, 2561, 2822, 2566, 2567, 2568, 2569, 2572,
+     2575, 2577, 2578, 2580, 2581, 2585, 2582, 2583, 2592, 2584,
+     2593, 2822, 2596, 2597, 2822, 2601, 2604, 2606, 2607, 2609,
+     2610, 2612, 2613, 2615, 2619, 2616, 2822, 2620, 2622, 2629,
+     2632, 2637, 2633, 2640, 2822, 2624, 2641, 2822, 2644, 2645,
+     2822, 2822, 2647, 2649, 2651, 2822, 2652, 2822, 2822, 2653,
+     2659, 2660, 2822, 2822, 2822, 2662, 2822, 2668, 2663, 2822,
+     2670, 2671, 2822, 2654, 2675, 2677, 2822, 2679, 2822, 2681,
+     2683, 2685, 2822, 2687, 2688, 2822, 2822, 2822, 2822, 2822,
+
+     2822, 2690, 2691, 2693, 2695, 2822, 2697, 2696, 2698, 2701,
+     2822, 2822, 2730, 2737, 2744, 2751, 2758,   94, 2765, 2772,
+     2779, 2786, 2793, 2800, 2807, 2814
     } ;
 
-static yyconst flex_int16_t yy_def[1369] =
+static yyconst flex_int16_t yy_def[1427] =
     {   0,
-     1354,    1, 1355, 1355, 1356, 1356, 1357, 1357, 1358, 1358,
-     1359, 1359, 1354, 1360, 1354, 1354, 1354, 1354, 1361, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1362,
-     1354, 1354, 1354, 1362, 1363, 1354, 1354, 1354, 1363, 1364,
-     1354, 1354, 1354, 1354, 1364, 1365, 1354, 1354, 1354, 1365,
-     1366, 1354, 1367, 1354, 1366, 1366, 1360, 1360, 1354, 1368,
-     1361, 1368, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1362, 1362, 1363, 1363, 1364, 1364, 1354, 1365, 1365, 1366,
-     1366, 1367, 1367, 1366, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1366, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1366, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1366, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1366,
-     1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360,
-     1354, 1354, 1360, 1354, 1354, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1366, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1354, 1366, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1354, 1360, 1360, 1360, 1354, 1360, 1354, 1360,
-     1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1360, 1360, 1360, 1354, 1354, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1354, 1354, 1360, 1360, 1360,
-     1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1354, 1360, 1354, 1360, 1360, 1360, 1360, 1354,
-     1360, 1354, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1354,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354,
-     1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360,
-
-     1360, 1354, 1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1354, 1354, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360,
-     1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1354,
-     1360, 1360, 1360, 1360, 1354, 1360, 1360, 1354, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1354, 1360, 1360, 1360, 1360, 1354, 1354, 1360, 1354,
-     1354, 1360, 1354, 1354, 1360, 1360, 1354, 1360, 1354, 1360,
-     1360, 1360, 1360, 1360, 1354, 1360, 1354, 1354, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1354, 1360, 1360, 1354, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354, 1360,
-     1354, 1354, 1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360,
-     1360, 1360, 1354, 1354, 1354, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-
-     1360, 1354, 1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1354,
-     1360, 1360, 1354, 1360, 1354, 1354, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1354, 1354, 1360, 1354,
-     1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1354, 1360, 1354, 1360, 1360, 1360, 1360, 1354, 1360,
-     1360, 1360, 1354, 1354, 1360, 1360, 1360, 1354, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1354, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
-     1360, 1360, 1360, 1360, 1360, 1354, 1360, 1360, 1360, 1360,
-
-     1360, 1360, 1360, 1354, 1360, 1354, 1360, 1360, 1354, 1354,
-     1360, 1360, 1360, 1354, 1360, 1354, 1360, 1360, 1360, 1354,
-     1354, 1354, 1360, 1354, 1360, 1354, 1360, 1360, 1354, 1360,
-     1360, 1360, 1354, 1360, 1354, 1360, 1354, 1360, 1360, 1354,
-     1354, 1354, 1354, 1360, 1360, 1360, 1360, 1354, 1360, 1360,
-     1360, 1360, 1354,    0, 1354, 1354, 1354, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354
+     1412,    1, 1413, 1413, 1414, 1414, 1415, 1415, 1416, 1416,
+     1417, 1417, 1412, 1418, 1412, 1412, 1412, 1412, 1419, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1420,
+     1412, 1412, 1412, 1420, 1421, 1412, 1412, 1412, 1421, 1422,
+     1412, 1412, 1412, 1412, 1422, 1423, 1412, 1412, 1412, 1423,
+     1424, 1412, 1425, 1412, 1424, 1424, 1418, 1418, 1412, 1426,
+     1419, 1426, 1419, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1420, 1420, 1421, 1421, 1422, 1422, 1412, 1423, 1423,
+     1424, 1424, 1425, 1425, 1424, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1424, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1424, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418,
+
+     1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1424, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1424, 1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1412, 1418, 1412, 1412, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418,
+     1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1424, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412,
+
+     1424, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1412, 1412, 1418, 1418, 1418, 1412,
+     1418, 1412, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1412, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1412, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1412,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1412, 1412, 1418, 1412, 1418, 1418, 1418, 1418, 1412,
+     1418, 1412, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1412,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412,
+
+     1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412,
+     1418, 1418, 1418, 1412, 1418, 1412, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1412,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1412, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1418, 1412, 1418, 1418, 1418, 1418, 1412,
+     1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1418, 1418, 1412, 1412, 1418, 1412, 1412, 1418, 1412, 1412,
+     1418, 1418, 1418, 1412, 1418, 1412, 1418, 1418, 1418, 1418,
+     1418, 1412, 1418, 1412, 1412, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1412, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418,
+
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1412, 1412, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418,
+     1418, 1418, 1418, 1412, 1412, 1412, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1412, 1418, 1418, 1412, 1418, 1418, 1418,
+     1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1412, 1418, 1418, 1412, 1418, 1412, 1418, 1412,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1412, 1412, 1418, 1418, 1412, 1412, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418, 1412,
+
+     1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1412,
+     1412, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
+     1418, 1412, 1418, 1418, 1412, 1418, 1418, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418,
+     1418, 1418, 1418, 1418, 1412, 1418, 1418, 1412, 1418, 1418,
+     1412, 1412, 1418, 1418, 1418, 1412, 1418, 1412, 1412, 1418,
+     1418, 1418, 1412, 1412, 1412, 1418, 1412, 1418, 1418, 1412,
+     1418, 1418, 1412, 1418, 1418, 1418, 1412, 1418, 1412, 1418,
+     1418, 1418, 1412, 1418, 1418, 1412, 1412, 1412, 1412, 1412,
+
+     1412, 1418, 1418, 1418, 1418, 1412, 1418, 1418, 1418, 1418,
+     1412,    0, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412, 1412, 1412, 1412, 1412, 1412
     } ;
 
-static yyconst flex_int16_t yy_nxt[2751] =
+static yyconst flex_int16_t yy_nxt[2862] =
     {   0,
        14,   15,   16,   17,   18,   19,   18,   14,   14,   14,
        14,   18,   20,   21,   14,   22,   23,   24,   25,   14,
        26,   27,   28,   29,   30,   31,   32,   33,   34,   14,
        35,   36,   37,   38,   39,   14,   14,   14,   14,   41,
-       42,   43,   41,   42,   43,  123,   46,   47,  123,   44,
+       42,   43,   41,   42,   43,  124,   46,   47,  124,   44,
        48,   69,   44,   46,   47,   70,   49,   48,   57,   58,
        59,   68,   68,   49,   51,   52,   53,   54,   60,   18,
-       57,   58,   59,  121,  121,   55,   51,   52,   53,   54,
-       60,   18,   68,  102,  185,   74,   75,   55,   15,   16,
+       57,   58,   59,  122,  122,   55,   51,   52,   53,   54,
+       60,   18,   68,  103,  188,   74,   75,   55,   15,   16,
        17,   62,   63,   64,   67,   67,   68,   67,   67,   65,
 
-       67,   93,   68,   76,   68,   67,   84,   68,   66,   15,
-       16,   17,   62,   63,   64,   68,   68,   77,  135,   86,
-       65,   69,   92,  131,   78,   70,   85,   68,   87,   66,
-       72,   79,   72,   72,   68,   72,   88,  134,   68,   80,
-       72,   73,   89,   81,   68,   90,   82,   68,   95,   83,
-       68,   99,   91,  131,   68,  100,   96,  128,  128,   94,
-       68,   68,   97,  103,  138,  107,   98,   68,   68,  104,
-       68,  101,  105,  110,  136,  108,   68,   68,  109,  106,
-       68,   68,  114,  111,  115,  139,  131,  112,  113,   68,
-      117,   68,  119,  150,  140,  118,  120,  137,  125,  116,
-
-      125,  125,   72,  125,   72,   72,  130,   72,  130,  130,
-       68,  130,   67,  133,   67,   67,   68,   67,   68,   68,
-       68,   68,   67,   72,  144,   72,   72,   68,   72,   68,
-      141,   68,  143,   72,   73,  146,  147,  142,  148,   68,
-       68,   68,  145,   68,  151,  149,  153,   68,   68,  154,
-      156,  159,  157,   68,  152,  160,   68,   68,   68,   68,
-      163,   68,   68,  155,  164,  161,  166,  162,   68,   68,
-       68,  165,  158,  169,  167,  171,   68,   68,   68,  172,
-       68,   68,  168,   68,  178,   68,  170,   68,  180,   68,
-      174,   68,   68,  175,   68,   68,  173,  179,   68,  176,
-
-      186,  177,  184,   68,  187,  121,  121,  208,  181,  182,
-      183,  123,  128,  128,  123,  125,  188,  125,  125,  130,
-      125,  130,  130,   72,  130,   72,   72,  131,   72,   68,
-      189,   68,  191,   68,  133,   68,  190,   68,   68,   68,
-      196,  193,   68,  198,  192,   68,   68,  197,   68,   68,
-      194,   68,  204,   68,  206,   68,   68,   68,  195,   68,
-      209,   68,  207,  199,   68,  205,  215,  210,  200,  212,
-       68,  211,  213,  201,  129,   68,  218,   68,  219,  202,
-      203,   68,  214,  220,  222,   68,   68,  225,   68,   68,
-      216,  217,   68,   68,  221,  223,  227,  228,  226,   68,
-
-       68,   68,   68,   68,   68,  230,  224,  229,   68,   68,
-      232,   68,   68,   68,   68,   68,  241,  234,  237,   68,
-       68,   68,  243,  231,   68,   68,  235,   68,  247,  131,
-      233,  244,  236,  239,  240,  245,  238,  248,  250,  242,
-       68,  253,   68,   68,  246,   68,   68,  251,   68,  256,
-       68,   68,   68,   68,   68,  257,  255,   68,  262,   68,
-      249,  260,  261,   68,  252,  254,  258,   68,  263,   68,
-      259,   68,   68,   68,  266,  269,  267,   68,   68,  264,
-       68,   68,  268,  272,  265,   68,  271,  273,   68,   68,
-       68,  270,   68,   68,  278,   68,   68,  281,   68,   68,
-
-       68,  274,   68,  277,   68,   68,  275,  282,  280,  286,
-      276,  283,   68,  279,   68,  284,   68,   68,  285,  290,
-      291,  292,   68,   68,   68,  288,  287,  293,  289,   68,
-       68,  294,  298,   68,  295,   68,   68,  300,  296,  297,
-      299,   68,  303,   68,  301,   68,   68,   68,   68,  306,
-      305,   68,  312,   68,   68,   68,   68,   68,  313,   68,
-       68,  302,  307,  304,  311,   68,   68,  308,  317,   68,
-      309,  131,  310,  316,  319,  314,  315,   68,  328,   68,
-       68,  327,   68,   68,  318,   68,  333,  320,  321,   68,
-       68,   68,  329,   68,  331,  335,  330,  322,   68,  323,
-
-      324,  325,  332,  334,  326,  336,   68,  338,   68,  337,
-       68,  339,  340,  341,   68,   68,   68,   68,  342,  346,
-      347,   68,   68,   68,  343,   68,  344,   68,  345,   68,
-       68,  354,  350,  127,  352,  353,  349,  356,  355,  348,
-       68,   68,   68,   68,   68,  351,  357,  361,  358,   68,
-      360,   68,   68,   68,  359,   68,   68,  365,   68,  366,
-      363,  367,   68,   68,  369,  362,   68,  364,   68,  370,
-       68,   68,   68,   68,   68,   68,   68,   68,  372,   68,
-      373,  378,   68,  368,  374,  379,  380,  371,   68,  377,
-       68,   68,  383,  375,  376,   68,   68,  381,   68,   68,
-
-      385,   68,   68,  395,  382,  384,   68,  398,   68,  126,
-       68,   68,  386,  396,   68,  394,   68,  387,   68,  388,
-       68,  393,  397,  402,  389,   68,  390,   68,  400,  401,
-       68,  403,   68,   68,  391,  399,   68,  406,  411,  404,
-       68,  131,  407,   68,  392,  410,   68,  405,   68,  408,
-       68,  409,  412,  415,   68,   68,   68,   68,  423,   68,
-      419,  414,  416,   68,  413,  421,   68,  417,  422,   68,
-       68,  418,  420,  424,   68,  425,   68,  426,   68,   68,
-       68,  430,   68,  428,  429,   68,   68,   68,  434,  431,
-       68,  427,  432,   68,   68,  435,  124,   68,  441,  433,
-
-      437,   68,  440,   68,   68,  438,   68,   68,  436,  439,
-      443,   68,   68,  442,   68,  444,   68,  446,  451,  447,
-       68,  448,   68,   68,   68,   68,   68,  453,  452,  454,
-      449,   68,  450,   68,   68,   68,  455,  445,  459,  458,
-       68,  463,   68,  456,  461,  460,   68,  457,  462,   68,
-       68,  464,  467,  465,   68,   68,  468,   68,   68,   68,
-      469,  470,   68,   68,   68,   68,   68,   68,  466,  475,
-       68,   68,  471,  472,   68,  476,   68,  480,  483,  477,
-       68,  473,   68,  474,   68,  478,  479,   68,  482,  481,
-       68,   68,  485,   68,   68,  484,   68,  487,  488,  486,
-
-      490,  489,   68,   68,   68,   68,   68,  491,  492,   68,
-      131,  494,  493,   68,  495,  497,  498,   68,   68,  501,
-      496,  499,   68,  503,   68,   68,  504,  502,   68,   68,
-      500,   68,   68,  506,   68,   68,   68,   68,  512,  511,
-      510,  509,  505,   68,  507,   68,  523,   68,  508,   68,
-      519,  513,   68,  514,  520,  522,  515,   68,   68,  525,
-       68,  516,  521,   68,  524,   68,  527,  517,  518,   68,
-       68,   68,  528,   68,  532,  526,   68,   68,   68,  531,
-       68,  536,   68,  529,  540,  535,  122,  537,  538,  530,
-       68,  533,   68,   68,   68,  534,   68,  539,  541,   68,
-
-       68,   68,  546,   68,  542,  544,   68,  548,  545,   68,
-       68,   68,   68,  550,  547,   68,  552,  543,   68,   68,
-       68,   68,  554,   68,   68,  551,   68,   68,  549,   68,
-      555,   68,   68,  553,   68,  561,  562,   68,   68,   68,
-      567,  556,  557,  558,   68,   68,  559,  560,  564,  563,
-      570,  566,   68,  565,   68,   68,  571,   68,  568,  569,
-       68,   68,   68,  576,   68,  574,  577,  578,   68,  573,
-       68,   68,  581,  572,   68,  583,   68,   68,  584,  131,
-       68,   68,  575,  580,   68,  586,  579,   68,   68,   68,
-       68,   68,   68,  595,  582,  585,   68,   68,   68,   68,
-
-      610,   68,  589,  587,  601,  597,  598,  649,  602,   68,
-      600,  588,   68,   68,  607,  590,  596,  591,  599,   68,
-      603,  592,   68,  593,   68,  604,   68,  605,  594,  611,
-       68,   68,   68,  615,   68,  617,  608,   68,  609,  612,
-       68,  616,   68,   68,  613,  606,  618,   68,   68,   68,
-       68,  614,   68,  621,   68,   68,   68,  624,  622,   68,
-      620,  619,  628,   68,  627,   68,   68,   68,   68,  623,
-      626,  632,   68,  633,  625,   68,   68,  634,  629,  642,
-      631,  630,   68,  636,  635,  637,   68,  638,   68,   68,
-       68,  639,   68,   68,  640,   68,   68,  641,  645,   68,
-
-       68,  643,  650,   68,  647,  648,  651,   68,  644,   68,
-      646,   68,  652,   68,  654,   68,   68,   68,   68,   68,
-       68,   68,   68,  659,  660,  662,   68,  653,  664,   68,
-      658,  655,  663,   68,  656,  665,  657,   68,  661,   68,
-       68,  666,  667,   68,   68,  671,   68,   68,  668,   68,
-       68,  669,   68,   68,   68,  673,  670,  672,  679,  680,
-       68,  131,   68,   68,   68,  681,  674,  676,   68,  677,
-       68,   68,  678,   68,   68,  675,  682,   68,  684,  687,
-       68,   68,  683,   68,   68,  685,  686,   68,  690,  692,
-      689,   68,  688,   68,   68,  694,  691,   68,   68,   68,
-
-       68,   68,  695,   68,   68,   68,  693,   68,   68,  696,
-      698,  702,  697,  705,   68,  706,  708,   68,  699,  701,
-       68,  700,  703,  704,   68,   68,  711,   68,  707,  710,
-      712,   68,   68,  716,  715,   68,  714,  709,  713,   68,
-      717,   68,   68,  719,   68,   68,  718,   68,   68,  724,
-      721,  725,   68,  720,   68,   68,   68,  726,   68,  727,
-       68,  722,   68,   68,   68,   68,  723,  728,  733,   68,
-       68,  732,  729,   68,  730,   68,  731,  734,  738,  736,
-       68,  735,  742,   68,  743,   68,   68,  739,  737,  744,
-       68,   68,   68,  740,   68,  745,  747,   68,  749,   68,
-
-       68,   68,  751,   68,   68,  741,  750,   68,  754,  753,
-      746,   68,  748,   68,  752,   68,  755,   68,  759,  757,
-       68,  760,  758,   68,   68,  756,   68,  762,   68,  761,
-       68,  765,   68,  766,   68,   68,  764,  763,  769,   68,
-       68,   68,  773,   68,   68,   68,   68,   68,   68,  778,
-      767,   68,   68,  779,   68,   68,   68,  782,  768,  770,
-      771,   68,  772,   68,   68,  774,  776,  785,   68,   68,
-      777,  775,   68,  781,  783,   68,   68,  780,   68,   68,
-       68,  784,  786,  788,  791,  792,   68,  787,   68,  795,
-      789,  790,   68,  793,  794,   68,   68,   68,  797,  800,
-
-      801,  796,  799,   68,   68,   68,   68,  802,  803,   68,
-      804,  808,   68,  806,   68,   68,  798,  807,   68,   68,
-       68,   68,   68,   68,  814,   68,   68,  813,  805,   68,
-       68,   68,   68,  809,  810,   68,  822,   68,   68,  812,
-      819,  815,  816,  823,  817,  811,   68,  821,   68,  818,
-      824,   68,  820,  828,   68,   68,   68,  827,   68,  830,
-      826,  825,  832,  829,   68,   68,  834,   68,  835,  833,
-      836,   68,   68,   68,  837,   68,  831,   68,   68,  839,
-      838,   68,   68,   68,  844,   68,   68,  840,  842,   68,
-       68,  846,   68,   68,   68,   68,   68,  843,  849,   68,
-
-      851,   68,  854,  848,   68,   68,  841,   68,  847,  845,
-       68,   68,  850,  853,  852,   68,  859,  858,  860,   68,
-       68,   68,   68,   68,  855,  856,  863,  857,   68,   68,
-      861,  866,  867,  862,  864,   68,  868,   68,   68,   68,
-      869,   68,   68,   68,  875,   68,  865,  872,  874,   68,
-       68,   68,   68,   68,  876,  883,   68,  870,   68,  871,
-       68,   68,   68,   68,  873,   68,   68,  880,  877,  882,
-      881,  878,  879,  888,   68,   68,  892,   68,   68,  129,
-      887,  884,  885,  889,  886,   68,  890,   68,  893,   68,
-       68,  891,  894,   68,  895,   68,  901,   68,  896,  902,
-
-       68,   68,  898,   68,  900,  899,   68,   68,   68,  897,
-       68,   68,  909,   68,   68,  912,  904,  903,   68,   68,
-       68,  906,  914,   68,  905,  915,  916,   68,  908,  910,
-       68,   68,  911,  907,   68,   68,  913,   68,  918,   68,
-       68,  922,  920,  917,  919,   68,   68,   68,   68,   68,
-      921,  927,   68,  928,  929,   68,  924,  930,  923,   68,
-       68,  934,   68,  925,  931,   68,  926,  938,   68,   68,
-       68,   68,   68,  942,   68,  933,  943,   68,   68,  935,
-      936,  937,  932,  939,  941,   68,  945,   68,  940,   68,
-      946,   68,   68,   68,  944,   68,  950,   68,   68,  952,
-
-       68,  953,   68,  954,   68,   68,   68,  955,   68,  956,
-      947,  948,  958,  949,   68,   68,  959,   68,  951,  960,
-       68,   68,  961,  957,  962,   68,  966,   68,   68,   68,
-      970,   68,   68,   68,  972,  967,   68,  963,   68,  964,
-       68,   68,  975,   68,  965,   68,   68,  968,   68,  969,
-      974,   68,  977,  976,  127,  978,  973,   68,  971,   68,
-      980,   68,  983,  984,   68,   68,  979,  982,   68,  987,
-       68,  986,   68,   68,  981,   68,   68,  988,   68,   68,
-       68,  985,  989,   68,   68,  990,  994,   68,  995,  126,
-      991,  998,   68,  993,  996,  992,   68, 1001,   68,  997,
-
-      124, 1000,   68, 1002,   68,  999, 1003, 1005, 1006, 1007,
-     1004,   68,   68,   68,   68,   68,   68, 1012,   68, 1009,
-       68, 1014,   68, 1011,   68, 1008,   68, 1016, 1010, 1017,
-       68,   68, 1015, 1018,   68,   68,   68, 1019,   68,   68,
-     1013, 1020,   68, 1024, 1021,   68,   68, 1023, 1022,   68,
-     1029,   68,   68,   68, 1025, 1027, 1031,   68, 1028,   68,
-     1033,   68,   68, 1026, 1034,   68, 1030, 1035,   68,   68,
-     1032,   68, 1036,   68, 1038,   68,   68, 1037,   68,   68,
-       68,   68,   68, 1040, 1046, 1045,   68, 1041, 1042,   68,
-     1039, 1050,   68, 1043,   68, 1049,   68,   68, 1048, 1044,
-
-       68, 1052, 1053,   68, 1047,   68,   68, 1058, 1054,   68,
-     1055,   68,   68,   68, 1059, 1056, 1062,   68,  122,   68,
-     1051,   68,   68,   68, 1066,   68, 1057, 1061,   68,   68,
-     1060, 1063, 1064, 1068, 1067, 1065,   68,   68,   68,   68,
-       68, 1069, 1070,   68,   68, 1073, 1074,   68, 1072, 1075,
-       68, 1071,   68, 1077, 1078,   68, 1079, 1080,   68,   68,
-       68,   68,   68, 1082, 1076, 1083, 1085,   68,   68, 1081,
-     1086, 1088,   68,   68, 1084,   68, 1089, 1087,   68,   68,
-       68,   68,   68, 1091, 1092, 1090, 1094,   68,   68,   68,
-       68,   68,   68,   68, 1093, 1102,   68,   68,   68, 1121,
-
-     1103,   68, 1354, 1100,   68, 1106, 1096,   68, 1095, 1098,
-     1099, 1104, 1097, 1101, 1105, 1107,   68, 1108,   68,   68,
-     1109, 1110,   68, 1111,   68, 1113,   68, 1114,   68,   68,
-       68, 1117,   68,   68,   68, 1116, 1119,   68, 1112,   68,
-       68, 1125,   68, 1122,   68, 1123, 1127,   68, 1115, 1128,
-       68,   68, 1118, 1126,   68, 1130,   68, 1120,   68,   68,
-     1124,   68,   68,   68, 1133, 1131,   68,   68, 1141,   68,
-     1132, 1137,   68,   68,   68, 1135,   68, 1129, 1139,   68,
-     1142, 1140, 1138,   68, 1136,   68, 1134, 1146, 1144,   68,
-     1145,   68,   68,   68, 1143,   68, 1147, 1150, 1149,   68,
-
-       68,   68, 1151,   68, 1148, 1152, 1153,   68,   68, 1164,
-       68,   68, 1154, 1155, 1156,   68, 1157, 1194,   68,   68,
-     1162, 1158, 1159, 1160, 1161,   68,   68,   68,   68,   68,
-       68, 1167, 1163, 1165,   68, 1166,   68, 1168, 1169,   68,
-       68, 1171,   68, 1172,   68, 1170, 1173,   68, 1174,   68,
-     1175,   68, 1176,   68, 1177, 1178,   68,   68, 1179, 1180,
-       68,   68, 1183,   68, 1184,   68, 1182, 1185,   68,   68,
-       68,   68,   68,   68, 1181,   68, 1192,   68,   68,   68,
-       68, 1186,   68, 1188, 1189, 1190,   68, 1193, 1187,   68,
-       68,   68,   68, 1196,   68, 1191, 1200, 1201,   68, 1195,
-
-     1198, 1202,   68,   68, 1204,   68, 1197, 1199, 1203, 1205,
-       68,   68, 1208, 1207, 1206,   68,   68, 1212,   68, 1213,
-       68,   68,   68,   68,   68,   68,   68,   68,   68, 1209,
-     1219, 1210, 1220,   68,   68, 1211, 1214, 1223,   68, 1215,
-       68, 1221, 1216, 1218, 1217,   68, 1222, 1225,   68, 1226,
-       68,   68, 1227, 1224, 1229,   68,   68,   68,   68,   68,
-     1230, 1231, 1228,   68, 1234, 1232,   68, 1354, 1235, 1237,
-       68, 1238,   68, 1233, 1239, 1240,   68, 1241,   68,   68,
-       68, 1236,   68,   68,   68, 1242, 1244,   68,   68,   68,
-       68, 1248,   68,   68, 1243,   68, 1246, 1245, 1247, 1252,
-
-       68, 1249, 1254,   68, 1253,   68,   68, 1250,   68,   68,
-       68, 1256, 1251, 1255, 1259,   68,   68, 1257,   68, 1261,
-       68,   68, 1258, 1262, 1263,   68, 1264,   68, 1267,   68,
-     1260, 1268,   68,   68, 1265, 1266,   68,   68,   68,   68,
-     1269,   68, 1274, 1270,   68,   68, 1272,   68, 1271,   68,
-     1276,   68,   68,   68,   68,   68, 1281,   68, 1273, 1284,
-     1275, 1279, 1283,   68,   68,   68, 1285, 1277,   68,   68,
-       68, 1280, 1282, 1286, 1289, 1278,   68, 1287,   68, 1290,
-       68,   68,   68,   68,   68, 1291, 1292, 1296,   68, 1293,
-       68,   68,   68, 1288,   68,   68, 1302, 1301, 1295, 1297,
-
-     1298, 1294, 1300, 1304,   68,   68,   68, 1306,   68,   68,
-     1299, 1305, 1309,   68, 1303, 1310,   68,   68,   68,   68,
-     1314,   68,   68, 1316,   68, 1307,   68,   68,   68, 1354,
-     1312, 1308, 1354, 1319, 1315,   68, 1311, 1320,   68, 1313,
-     1323, 1318, 1321,   68,   68, 1317, 1322,   68, 1324,   68,
-       68, 1325, 1326,   68,   68,   68, 1329,   68,   68, 1327,
-       68,   68, 1334, 1328, 1332, 1330, 1331, 1333,   68, 1335,
-       68,   68, 1337,   68,   68, 1336,   68, 1340,   68, 1341,
-       68, 1342,   68, 1343,   68,   68,   68, 1345,   68, 1338,
-       68,   68, 1346,   68, 1339, 1348,   68, 1344,   68,   68,
-
-     1349, 1353,   68, 1354, 1354, 1354, 1354, 1354, 1350, 1354,
-     1347, 1354, 1351, 1354, 1354, 1354, 1354, 1354, 1352,   40,
-       40,   40,   40,   40,   40,   40,   45,   45,   45,   45,
-       45,   45,   45,   50,   50,   50,   50,   50,   50,   50,
-       56,   56,   56,   56,   56,   56,   56,   61,   61,   61,
-       61,   61,   61,   61,   71,   71, 1354,   71,   71,   71,
-       71,  121,  121, 1354, 1354, 1354,  121,  121,  123,  123,
-     1354, 1354,  123, 1354,  123,  125, 1354, 1354, 1354, 1354,
-     1354,  125,  128,  128, 1354, 1354, 1354,  128,  128,  130,
-     1354, 1354, 1354, 1354, 1354,  130,  132,  132, 1354,  132,
-
-      132,  132,  132,   72,   72, 1354,   72,   72,   72,   72,
-       13, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354
+       67,   94,   68,   76,   68,   67,   85,   68,   66,   15,
+       16,   17,   62,   63,   64,   68,   68,   77,  136,   87,
+       65,   69,   93,   68,   78,   70,   86,   68,   79,   66,
+       72,   80,   72,   72,   68,   72,   68,   88,   95,   81,
+       72,   73,  177,   82,   68,   89,   83,   68,   90,   84,
+       68,   91,   68,   96,   68,  100,  104,   68,   92,  101,
+      139,   97,  105,   68,   68,  106,   68,   98,  108,  111,
+      138,   99,  107,   68,  115,  102,  116,   68,  109,  112,
+      118,  110,   68,  113,  114,  119,  137,   68,  120,  129,
+      129,  117,  121,  126,  523,  126,  126,   72,  126,   72,
+
+       72,  131,   72,  131,  131,  132,  131,   67,  134,   67,
+       67,   68,   67,   68,   68,   68,   68,   67,   68,  135,
+       72,   68,   72,   72,  141,   72,  143,  142,  146,  140,
+       72,   73,   68,   68,  144,  148,   68,   68,   68,   68,
+      145,   68,  152,   68,  153,   68,  147,   68,  155,  132,
+       68,  156,  149,   68,  150,  151,   68,  154,  159,  161,
+      158,   68,   68,  162,  164,  157,  165,   68,  166,   68,
+       68,  163,   68,   68,   68,   68,  168,  171,  160,   68,
+      167,   68,   68,  169,  173,   68,  181,   68,  174,   68,
+       68,   68,  170,  172,  175,  176,   68,  183,   68,  179,
+
+      178,  182,   68,  180,   68,  185,  186,  189,   68,  122,
+      122,  124,  129,  129,  124,  132,  190,  184,  126,  187,
+      126,  126,  131,  126,  131,  131,  191,  131,   72,  132,
+       72,   72,  192,   72,   68,   68,  194,   68,   68,  134,
+      193,   68,   68,   68,  130,  196,  200,  198,   68,  195,
+       68,   68,  202,  197,   68,  201,   68,   68,   68,  208,
+       68,  210,   68,  199,   68,  213,  212,  209,  203,   68,
+       68,   68,   68,  204,   68,   68,  222,  211,  205,  219,
+       68,   68,   68,  214,  206,  207,  215,  216,  218,   68,
+      217,  227,  220,   68,  223,  224,  221,  226,  229,   68,
+
+       68,   68,   68,   68,  230,   68,  225,  231,  232,   68,
+      228,  234,   68,   68,   68,   68,  233,   68,   68,   68,
+      236,  235,   68,   68,   68,  238,  246,  241,  242,   68,
+       68,   68,   68,  239,  248,   68,  250,  237,   68,  240,
+      132,   68,  249,   68,  252,  243,  253,  244,  245,  255,
+      247,   68,  258,   68,   68,  256,   68,  251,   68,  261,
+       68,   68,   68,   68,   68,  262,  260,   68,   68,  254,
+       68,  267,  257,   68,  268,  259,  263,  264,  266,   68,
+      265,   68,  269,  270,   68,   68,   68,  272,  275,  273,
+       68,   68,  277,   68,  271,  274,   68,  279,   68,   68,
+
+       68,  278,   68,   68,  276,   68,  284,   68,   68,  287,
+       68,   68,   68,  288,   68,   68,  283,  281,  280,   68,
+      286,  282,  293,  289,  292,  285,   68,  299,   68,  290,
+       68,   68,  291,  297,  298,   68,   68,   68,  300,  295,
+      294,   68,  296,  305,   68,   68,   68,   68,  307,   68,
+      304,  306,  303,  301,  310,   68,  302,  312,   68,   68,
+      308,   68,   68,  313,  314,   68,   68,   68,  320,  309,
+       68,   68,   68,   68,   68,  311,  319,  321,   68,  315,
+       68,   68,  316,  325,   68,  317,  335,  318,  132,   68,
+       68,  322,  324,  336,  323,  327,  341,   68,   68,  326,
+
+       68,   68,  328,  329,   68,  339,   68,   68,  338,  337,
+       68,   68,  330,   68,  331,  332,  333,  340,  342,  334,
+       68,  344,  345,   68,  343,  347,  349,  350,  348,   68,
+      346,   68,   68,  351,   68,   68,  352,  355,  356,   68,
+       68,   68,   68,   68,   68,   68,  354,  353,  362,  363,
+      359,  361,   68,  364,  358,  365,   68,  357,  366,   68,
+       68,  367,  370,  360,   68,  369,   68,   68,   68,   68,
+       68,   68,  368,   68,  376,  375,   68,  372,   68,   68,
+      379,  373,  374,  377,   68,  380,   68,  371,   68,   68,
+       68,   68,   68,   68,   68,   68,  382,  378,  383,  390,
+
+      388,  389,  384,   68,   68,   68,  391,  381,  387,   68,
+       68,  385,  386,   68,  394,   68,   68,   68,   68,   68,
+      396,   68,   68,  392,  128,  406,   68,  409,  395,   68,
+       68,  393,  397,   68,  405,  407,  398,   68,  399,  404,
+       68,  408,   68,  400,  412,  401,   68,  410,   68,  411,
+       68,   68,  413,  402,   68,  416,  417,  414,  132,  418,
+       68,  422,  421,  403,   68,  415,   68,   68,   68,  426,
+       68,   68,  427,  419,   68,  420,  423,   68,   68,   68,
+       68,  425,  431,  428,   68,  424,  429,  433,   68,  434,
+       68,  435,   68,  430,  436,   68,   68,  432,  437,   68,
+
+      438,  439,   68,   68,   68,   68,  442,  440,  441,   68,
+       68,   68,  445,  443,  446,  444,   68,  448,  127,   68,
+       68,  447,  453,  449,   68,  452,   68,   68,  450,   68,
+       68,   68,  451,  455,   68,  454,  458,   68,  456,   68,
+       68,   68,  459,  464,  460,   68,  461,   68,   68,   68,
+      466,  465,  467,  463,   68,   68,  462,   68,   68,  468,
+      457,   68,   68,  471,  472,  474,   68,  473,   68,  475,
+       68,  470,  476,  469,   68,  477,   68,   68,  481,  478,
+      480,   68,  482,   68,   68,   68,  483,  484,   68,   68,
+       68,   68,  485,   68,  479,  489,   68,   68,  494,  486,
+
+       68,   68,  490,   68,   68,  491,  498,  487,  497,  488,
+       68,  496,  493,   68,  492,   68,   68,   68,   68,  495,
+       68,   68,   68,  502,   68,  503,   68,  505,  504,  499,
+      501,  506,   68,  509,  500,   68,  507,  132,   68,  508,
+       68,  512,  511,   68,  513,   68,  515,   68,  518,  510,
+       68,   68,   68,   68,  516,  519,   68,   68,   68,   68,
+      521,   68,   68,  525,  514,  526,  517,  524,  520,  527,
+       68,  522,  125,   68,   68,   68,  556,  528,  534,  529,
+      535,   68,  530,   68,  536,   68,  537,  531,  538,   68,
+       68,  540,  539,  532,  533,   68,  541,   68,  542,   68,
+
+       68,   68,  543,   68,  547,   68,   68,   68,   68,  546,
+      551,   68,  550,  552,   68,  544,  553,  554,  123,  545,
+      548,   68,   68,   68,  549,   68,  555,   68,   68,   68,
+       68,   68,  559,  557,  560,  558,  563,  561,  562,   68,
+      564,   68,   68,   68,  566,   68,   68,  568,   68,   68,
+      565,   68,  571,   68,   68,   68,  567,  570,  569,   68,
+      572,   68,   68,   68,   68,   68,  579,   68,   68,   68,
+      578,   68,  573,  584,  574,  575,  576,  582,   68,  577,
+       68,  580,  587,  581,  588,  583,   68,   68,   68,  585,
+       68,   68,  586,   68,  593,  591,  594,   68,   68,   68,
+
+      590,   68,  595,  598,   68,  589,  600,   68,   68,  601,
+      132,  597,  592,   68,   68,  596,   68,   68,  603,   68,
+       68,   68,   68,   68,  599,   68,  613,  620,  602,   68,
+       68,   68,   68,  606,   68,  604,   68,  619,  615,  616,
+      634,  605,  607,   68,  618,  614,  608,  638,  609,  132,
+      617,   68,  610,   68,  611,   68,  621,   68,  625,  612,
+       68,  622,   68,  623,   68,  626,   68,  628,   68,  627,
+      630,  633,   68,  629,  631,  635,   68,   68,   68,  636,
+       68,  624,   68,  632,   68,   68,   68,  639,   68,   68,
+      642,   68,   68,  640,  646,   68,  637,  641,  645,   68,
+
+       68,   68,  644,   68,   68,  647,  643,   68,  651,  652,
+      654,  648,  653,  649,  656,  650,   68,  655,  657,   68,
+       68,  659,  658,   68,  660,   68,   68,   68,  661,   68,
+       68,   68,  664,   68,   68,   68,  666,   68,  667,  668,
+       68,  662,   68,  669,  671,   68,  670,  663,   68,   68,
+       68,  665,  674,  673,   68,   68,   68,  672,   68,   68,
+      675,  679,   68,  680,   68,  682,  684,  685,  678,  676,
+       68,   68,   68,   68,  677,  683,   68,  681,  687,   68,
+      691,   68,   68,   68,   68,  686,   68,   68,   68,   68,
+      689,   68,  688,  690,  699,  693,  700,   68,  130,   68,
+
+      692,   68,  694,  696,   68,   68,  697,  701,  698,  702,
+       68,  703,  695,   68,   68,   68,  708,   68,  705,   68,
+       68,   68,   68,   68,  704,  711,   68,   68,  713,  706,
+      707,  710,   68,   68,   68,   68,  715,  709,   68,  719,
+      712,   68,  716,   68,   68,  714,   68,   68,  727,  717,
+      718,   68,  723,   68,   68,   68,   68,  720,  128,  724,
+      726,  722,  721,  729,   68,   68,  732,  725,  728,  731,
+      733,   68,   68,   68,  736,   68,  730,   68,  734,   68,
+      738,  735,   68,  737,   68,   68,  740,   68,   68,  739,
+       68,  744,  746,  741,  747,  743,  742,   68,   68,   68,
+
+       68,   68,   68,  748,  749,   68,  745,   68,   68,  755,
+      750,   68,   68,  754,   68,  751,   68,  752,   68,  753,
+       68,   68,  756,   68,  760,  758,  757,   68,  761,  765,
+       68,  759,  762,  766,   68,   68,   68,   68,  763,  767,
+      768,   68,  769,  770,   68,   68,  764,  771,  772,   68,
+      773,  774,   68,   68,   68,   68,   68,  775,  776,  779,
+      778,   68,  777,  781,  782,  783,   68,  780,  785,   68,
+       68,  784,   68,   68,   68,   68,  789,   68,   68,   68,
+      792,  786,   68,   68,   68,   68,  788,   68,   68,  797,
+       68,   68,   68,  787,   68,  802,  795,   68,  790,  803,
+
+       68,   68,  791,  793,  794,  796,   68,   68,   68,   68,
+      798,  806,  800,  809,   68,  801,  799,   68,   68,  805,
+       68,   68,   68,  804,   68,  807,   68,  815,  808,   68,
+       68,  816,  810,  813,  812,  817,  811,   68,  819,   68,
+      814,   68,   68,  824,  818,  821,  825,  823,   68,   68,
+      826,   68,  820,   68,   68,   68,  830,   68,  827,   68,
+      831,   68,  822,  832,   68,  835,   68,   68,  828,   68,
+       68,   68,  839,   68,  829,  838,  833,   68,  834,   68,
+       68,   68,   68,   68,  847,  127,  837,  844,   68,   68,
+      840,   68,  836,  848,   68,  849,   68,   68,  841,  842,
+
+      843,  853,   68,  845,  846,  851,   68,  850,   68,   68,
+       68,  854,  855,  858,   68,   68,  860,  852,   68,  859,
+      861,  862,   68,  863,   68,   68,   68,  865,   68,  856,
+      857,  864,   68,   68,   68,   68,  870,   68,   68,  868,
+       68,   68,  872,   68,   68,   68,   68,  866,  875,  874,
+      869,  877,   68,   68,   68,  880,   68,   68,  867,   68,
+      871,   68,   68,   68,  876,  873,  883,  879,  886,   68,
+      878,  885,   68,  887,   68,   68,  881,  882,   68,  884,
+      890,   68,  888,   68,  893,  894,  889,   68,  891,   68,
+       68,   68,  895,   68,   68,   68,   68,  902,   68,  899,
+
+      892,  901,   68,   68,   68,  896,   68,  903,  897,   68,
+       68,  910,   68,  898,   68,   68,   68,   68,  900,   68,
+       68,  904,  908,  907,  905,  909,  906,   68,  916,   68,
+       68,  917,  919,   68,  911,  912,  915,   68,  913,  921,
+      920,   68,  914,   68,   68,   68,  918,   68,  922,   68,
+      929,  930,   68,  924,   68,   68,  926,  923,  928,  927,
+       68,   68,   68,   68,  925,   68,   68,  937,   68,   68,
+      940,   68,  942,  932,  931,   68,  934,   68,   68,  933,
+      943,   68,   68,  936,  938,   68,   68,  939,  935,  941,
+      945,  946,  944,   68,  950,   68,  947,   68,   68,   68,
+
+      951,   68,  948,   68,   68,  949,   68,   68,  956,   68,
+       68,  957,  958,   68,  959,  953,   68,  952,   68,  954,
+      963,   68,  960,  955,   68,   68,   68,   68,  125,  968,
+       68,  962,  964,  961,   68,   68,  965,  966,   68,  969,
+       68,  971,  972,   68,  973,   68,  967,  974,  970,  975,
+       68,  976,   68,   68,  980,   68,   68,   68,  982,   68,
+      984,  977,  983,   68,   68,   68,   68,  985,   68,  986,
+      988,  978,   68,  979,   68,   68,   68,  981,  990,   68,
+       68,  991,  992,   68,  987,   68,   68,   68,  993,   68,
+      994,   68,  996,  989,   68,  995, 1000,   68,   68, 1002,
+
+       68,   68,   68,  997,   68,  998,   68,  999, 1067, 1004,
+       68, 1003, 1006,   68,   68, 1001,   68, 1007,   68, 1009,
+     1010, 1008, 1005,   68, 1011,   68,   68,   68, 1015,   68,
+     1012, 1014, 1013,   68, 1017, 1018,   68,   68, 1016,   68,
+       68,   68, 1019,   68, 1022, 1021,   68,   68, 1020,   68,
+       68,   68, 1026, 1030,   68, 1033, 1024,  123, 1027, 1023,
+       68, 1028, 1025, 1034,   68, 1032, 1029, 1035, 1031, 1037,
+       68, 1036,   68, 1039,   68,   68,   68,   68,   68,   68,
+     1041, 1044, 1038,   68,   68, 1046,   68, 1040,   68, 1042,
+       68, 1048, 1049,   68, 1050,   68, 1047, 1051,   68,   68,
+
+       68,   68,   68, 1053, 1043, 1045, 1052, 1054, 1055,   68,
+       68, 1057,   68,   68,   68,   68, 1062,   68,   68,   68,
+     1064, 1056, 1058, 1060, 1061,   68, 1069, 1063,   68, 1066,
+     1059, 1068,   68,   68,   68, 1065,   68, 1071,   68,   68,
+       68,   68,   68,   68,   68,   68, 1079,   68, 1078,   68,
+     1073, 1074, 1075, 1070,   68, 1072, 1076,   68, 1081, 1082,
+       68, 1083, 1077, 1080, 1084,   68,   68,   68,   68, 1087,
+       68, 1086,   68, 1088, 1092, 1089,   68,   68, 1090,   68,
+     1085, 1093,   68,   68, 1096,   68,   68,   68,   68, 1100,
+       68,   68, 1091,   68, 1097, 1098, 1094, 1095, 1099, 1102,
+
+       68,   68,   68, 1103,   68, 1104, 1105,   68,   68, 1101,
+       68,   68,   68, 1107, 1109, 1106, 1110, 1113,   68,   68,
+     1108, 1112, 1115,   68,   68,   68,   68,   68, 1114, 1117,
+     1116, 1118, 1111, 1120,   68, 1121,   68, 1119,   68, 1124,
+       68,   68, 1125,   68,   68,   68,   68, 1123,   68, 1127,
+     1128, 1122,   68, 1130,   68, 1126,   68,   68,   68,   68,
+     1129,   68, 1138,   68,   68,   68, 1142, 1139,   68,   68,
+       68, 1136,   68, 1132, 1143,   68, 1134,   68, 1131, 1135,
+     1133, 1140, 1137, 1141, 1144,   68, 1146,   68, 1147,   68,
+     1145, 1148, 1149,   68, 1150,   68,   68,   68,   68, 1154,
+
+       68,   68,   68, 1153, 1156,   68,   68,   68, 1158,   68,
+     1151,   68, 1159,   68, 1160,   68, 1152, 1162,   68, 1412,
+     1155, 1164,   68,   68, 1157,   68, 1163, 1165,   68, 1161,
+       68, 1167, 1168,   68,   68, 1169,   68, 1166, 1173,   68,
+     1172, 1171,   68,   68,   68,   68, 1170, 1175,   68,   68,
+     1179, 1412, 1180, 1177, 1178,   68,   68,   68, 1176, 1184,
+     1174,   68, 1183,   68,   68, 1182,   68, 1185,   68, 1181,
+       68,   68, 1187, 1190,   68, 1186, 1191, 1192,   68, 1188,
+     1189,   68,   68,   68,   68, 1193, 1194, 1195,   68, 1196,
+       68,   68,   68, 1201, 1197, 1198, 1202, 1200,   68,   68,
+
+       68,   68, 1199, 1412,   68, 1204, 1206,   68, 1207, 1205,
+     1208,   68,   68,   68,   68, 1203,   68, 1209, 1210, 1211,
+       68, 1212,   68, 1213,   68, 1214,   68,   68,   68,   68,
+     1215, 1217, 1218,   68, 1219,   68,   68, 1220, 1216,   68,
+       68, 1221, 1224,   68, 1223, 1225,   68, 1226,   68,   68,
+     1222,   68, 1227,   68,   68,   68, 1233,   68,   68,   68,
+       68,   68,   68, 1229,   68, 1230, 1231, 1228, 1234,   68,
+       68,   68,   68, 1241, 1237, 1232, 1242, 1243, 1239,   68,
+     1236, 1244,   68,   68, 1235,   68, 1238, 1240,   68, 1246,
+     1247,   68, 1248,   68,   68,   68,   68, 1245,   68, 1255,
+
+     1249, 1254,   68,   68,   68,   68,   68, 1412,   68,   68,
+     1256, 1250, 1251,   68, 1252, 1253, 1262, 1263,   68,   68,
+       68,   68, 1257, 1266,   68, 1258, 1259, 1260,   68, 1261,
+     1268,   68,   68, 1269, 1264, 1270,   68,   68, 1265,   68,
+     1267,   68, 1271,   68, 1274,   68, 1273,   68, 1275,   68,
+       68,   68,   68, 1276, 1272, 1278, 1279, 1281,   68, 1282,
+       68, 1283, 1277,   68, 1280,   68,   68, 1284, 1285,   68,
+     1286,   68,   68,   68,   68, 1288, 1289, 1287, 1290,   68,
+       68, 1293,   68, 1291,   68,   68, 1297,   68, 1292,   68,
+     1299, 1294, 1300,   68,   68,   68,   68,   68, 1298,   68,
+
+       68, 1302, 1301, 1295, 1296,   68, 1303, 1305,   68,   68,
+     1308,   68, 1304,   68, 1309, 1310,   68, 1311,   68,   68,
+     1306, 1314, 1315,   68,   68, 1307,   68,   68, 1316,   68,
+       68, 1312,   68, 1313, 1318, 1317,   68,   68, 1322,   68,
+     1320,   68,   68,   68, 1324,   68, 1319,   68,   68,   68,
+       68, 1329, 1332,   68, 1327, 1321,   68, 1323, 1330,   68,
+     1333,   68, 1325, 1335,   68,   68,   68, 1328, 1331, 1326,
+     1334, 1337,   68,   68, 1336,   68, 1340, 1339,   68,   68,
+       68,   68, 1341, 1342,   68, 1344, 1347,   68, 1343,   68,
+       68, 1338,   68,   68,   68,   68,   68,   68, 1348, 1346,
+
+     1345, 1351, 1352, 1355,   68,   68, 1349, 1358,   68,   68,
+     1357, 1350, 1356,   68, 1354, 1361,   68, 1362,   68,   68,
+     1353,   68,   68, 1366,   68,   68, 1368,   68,   68, 1359,
+     1369,   68,   68, 1364,   68, 1360,   68, 1367, 1363, 1372,
+     1373,   68, 1365, 1374,   68,   68, 1371, 1370, 1375,   68,
+     1376, 1377,   68,   68, 1379, 1380,   68,   68, 1378,   68,
+     1383,   68, 1381,   68,   68,   68,   68, 1382, 1384, 1385,
+     1387,   68,   68, 1389,   68,   68, 1388, 1390, 1391, 1392,
+       68, 1393,   68,   68, 1395, 1386, 1396,   68, 1397,   68,
+     1398,   68, 1399,   68, 1400,   68, 1401,   68, 1394,   68,
+
+       68, 1403,   68,   68, 1406,   68, 1404,   68,   68,   68,
+       68, 1402, 1411,   68, 1412, 1412, 1407, 1412, 1412, 1412,
+     1412, 1412, 1409, 1405, 1408, 1412, 1412, 1412, 1412, 1410,
+       40,   40,   40,   40,   40,   40,   40,   45,   45,   45,
+       45,   45,   45,   45,   50,   50,   50,   50,   50,   50,
+       50,   56,   56,   56,   56,   56,   56,   56,   61,   61,
+       61,   61,   61,   61,   61,   71,   71, 1412,   71,   71,
+       71,   71,  122,  122, 1412, 1412, 1412,  122,  122,  124,
+      124, 1412, 1412,  124, 1412,  124,  126, 1412, 1412, 1412,
+     1412, 1412,  126,  129,  129, 1412, 1412, 1412,  129,  129,
+
+      131, 1412, 1412, 1412, 1412, 1412,  131,  133,  133, 1412,
+      133,  133,  133,  133,   72,   72, 1412,   72,   72,   72,
+       72,   13, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412
     } ;
 
-static yyconst flex_int16_t yy_chk[2751] =
+static yyconst flex_int16_t yy_chk[2862] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -1187,302 +1229,315 @@ static yyconst flex_int16_t yy_chk[2751] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
         3,    3,    4,    4,    4,   49,    5,    5,   49,    3,
         5,   15,    4,    6,    6,   15,    5,    6,    9,    9,
-        9,  117,   33,    6,    7,    7,    7,    7,    9,    7,
+        9,  118,   33,    6,    7,    7,    7,    7,    9,    7,
        10,   10,   10,   44,   44,    7,    8,    8,    8,    8,
-       10,    8,   21,   33,  117,   21,   21,    8,   11,   11,
-       11,   11,   11,   11, 1360,   20,   29,   20,   20,   11,
+       10,    8,   21,   33,  118,   21,   21,    8,   11,   11,
+       11,   11,   11,   11, 1418,   20,   29,   20,   20,   11,
 
        20,   29,   24,   21,   25,   20,   24,   28,   11,   12,
        12,   12,   12,   12,   12,   74,   22,   22,   74,   25,
-       12,   69,   28,   66,   22,   69,   24,   26,   26,   12,
-       19,   22,   19,   19,   23,   19,   26,   66,   27,   23,
-       19,   19,   27,   23,   30,   27,   23,   31,   31,   23,
-       32,   32,   27,  584,   34,   32,   31,   60,   60,   30,
-       35,   77,   31,   34,   77,   35,   31,   78,   36,   34,
-       75,   32,   34,   36,   75,   35,   38,   76,   35,   34,
-       79,   37,   37,   36,   37,   78,  130,   36,   36,   88,
-       38,   39,   39,   88,   79,   38,   39,   76,   55,   37,
-
-       55,   55,   63,   55,   63,   63,   65,   63,   65,   65,
-       82,   65,   68,   63,   68,   68,   85,   68,   80,   81,
-       86,   84,   68,   71,   83,   71,   71,   87,   71,   83,
-       80,   92,   82,   71,   71,   84,   85,   81,   86,   89,
-       90,   95,   83,   91,   89,   87,   91,   93,   94,   91,
-       92,   94,   93,   96,   90,   94,   97,   98,   99,  100,
-       97,  101,  102,   91,   98,   95,  100,   96,  104,  103,
-      105,   99,   93,  103,  101,  105,  106,  107,  108,  105,
-      109,  116,  102,  110,  111,  112,  104,  113,  113,  111,
-      107,  114,  119,  108,  115,  118,  106,  112,  120,  109,
-
-      118,  110,  116,  149,  119,  122,  122,  149,  113,  114,
-      115,  124,  129,  129,  124,  126,  120,  126,  126,  131,
-      126,  131,  131,  132,  131,  132,  132,  134,  132,  137,
-      134,  135,  136,  138,  132,  139,  135,  136,  140,  148,
-      141,  138,  142,  143,  137,  141,  146,  142,  143,  147,
-      139,  145,  145,  151,  147,  150,  152,  153,  140,  144,
-      150,  155,  148,  144,  154,  146,  155,  151,  144,  153,
-      156,  152,  153,  144,  128,  157,  158,  159,  159,  144,
-      144,  158,  154,  160,  161,  163,  162,  164,  160,  161,
-      156,  157,  164,  165,  160,  162,  166,  167,  165,  169,
-
-      168,  166,  167,  170,  171,  169,  163,  168,  172,  173,
-      171,  174,  175,  176,  177,  178,  179,  173,  176,  180,
-      181,  179,  181,  170,  182,  184,  174,  185,  185,  189,
-      172,  182,  175,  178,  178,  183,  177,  186,  187,  180,
-      183,  189,  186,  187,  184,  188,  190,  188,  191,  192,
-      193,  194,  195,  196,  192,  193,  191,  198,  198,  197,
-      186,  196,  197,  200,  188,  190,  194,  199,  199,  201,
-      195,  202,  203,  204,  202,  205,  203,  206,  208,  200,
-      205,  210,  204,  208,  201,  207,  207,  209,  211,  212,
-      213,  206,  209,  214,  214,  215,  216,  217,  220,  219,
-
-      221,  210,  217,  213,  218,  222,  211,  218,  216,  221,
-      212,  219,  223,  215,  228,  220,  224,  225,  220,  225,
-      225,  226,  226,  229,  227,  223,  222,  227,  224,  234,
-      230,  228,  231,  231,  228,  232,  233,  233,  229,  230,
-      232,  235,  236,  237,  234,  238,  239,  236,  240,  239,
-      238,  241,  243,  244,  245,  242,  246,  243,  244,  247,
-      249,  235,  240,  237,  242,  248,  251,  241,  248,  252,
-      241,  253,  241,  247,  249,  245,  246,  254,  252,  255,
-      259,  251,  256,  258,  248,  250,  257,  250,  250,  261,
-      260,  257,  253,  262,  255,  259,  254,  250,  265,  250,
-
-      250,  250,  256,  258,  250,  260,  263,  262,  266,  261,
-      267,  263,  264,  264,  268,  264,  270,  269,  265,  269,
-      270,  271,  272,  273,  266,  274,  267,  276,  268,  277,
-      275,  276,  273,  127,  274,  275,  272,  278,  277,  271,
-      279,  281,  278,  280,  284,  273,  279,  283,  280,  282,
-      282,  285,  283,  287,  281,  286,  289,  287,  288,  288,
-      285,  289,  290,  291,  291,  284,  294,  286,  293,  293,
-      295,  296,  297,  299,  300,  301,  302,  303,  295,  305,
-      296,  302,  306,  290,  297,  303,  304,  294,  307,  301,
-      308,  304,  307,  299,  300,  309,  310,  305,  311,  314,
-
-      309,  313,  316,  315,  306,  308,  317,  317,  315,  125,
-      318,  321,  310,  315,  320,  314,  322,  311,  312,  312,
-      323,  313,  316,  321,  312,  324,  312,  319,  319,  320,
-      327,  322,  325,  326,  312,  318,  328,  325,  330,  323,
-      331,  329,  326,  330,  312,  329,  332,  324,  333,  327,
-      335,  328,  331,  334,  334,  336,  337,  338,  342,  339,
-      338,  333,  335,  342,  332,  340,  340,  336,  341,  341,
-      346,  337,  339,  343,  343,  344,  344,  345,  347,  352,
-      348,  349,  345,  347,  348,  350,  349,  351,  353,  350,
-      354,  346,  351,  353,  355,  354,  123,  356,  358,  352,
-
-      356,  357,  357,  358,  359,  356,  363,  360,  355,  356,
-      360,  361,  362,  359,  365,  361,  364,  362,  367,  363,
-      366,  364,  368,  367,  369,  372,  370,  369,  368,  370,
-      365,  371,  366,  373,  374,  375,  371,  361,  375,  374,
-      376,  378,  379,  372,  377,  376,  378,  373,  377,  377,
-      380,  379,  381,  380,  384,  385,  381,  381,  382,  383,
-      382,  383,  386,  387,  390,  388,  389,  391,  380,  388,
-      394,  392,  384,  385,  396,  389,  398,  393,  396,  390,
-      399,  386,  393,  387,  400,  391,  392,  395,  395,  394,
-      397,  401,  398,  403,  406,  397,  402,  400,  401,  399,
-
-      403,  402,  404,  405,  407,  408,  409,  404,  405,  413,
-      410,  407,  406,  411,  408,  410,  411,  412,  414,  414,
-      409,  412,  417,  416,  418,  419,  417,  414,  416,  420,
-      413,  423,  426,  419,  427,  428,  432,  433,  429,  428,
-      427,  426,  418,  429,  420,  431,  435,  435,  423,  430,
-      431,  430,  434,  430,  432,  434,  430,  436,  437,  437,
-      438,  430,  433,  441,  436,  439,  439,  430,  430,  440,
-      442,  443,  440,  444,  444,  438,  445,  446,  452,  443,
-      447,  448,  448,  441,  452,  447,  121,  449,  450,  442,
-      453,  445,  449,  450,  451,  446,  454,  451,  453,  455,
-
-      456,  457,  458,  458,  454,  456,  459,  460,  457,  461,
-      463,  464,  460,  463,  459,  465,  465,  455,  466,  467,
-      469,  470,  467,  471,  472,  464,  474,  473,  461,  477,
-      467,  476,  475,  466,  480,  474,  475,  479,  481,   67,
-      480,  469,  470,  471,  478,  482,  472,  473,  477,  476,
-      483,  479,  484,  478,  485,  483,  484,  486,  481,  482,
-      487,  488,  489,  489,  491,  487,  490,  491,  492,  486,
-      493,  490,  494,  485,  495,  496,  496,  494,  497,  497,
-      498,  499,  488,  493,  500,  499,  492,  501,  502,  504,
-      506,  505,  507,  504,  495,  498,  509,  508,  510,  516,
-
-      516,  556,  502,  500,  510,  506,  507,  556,  511,  513,
-      509,  501,  503,  511,  513,  503,  505,  503,  508,  512,
-      512,  503,  514,  503,  517,  512,  515,  512,  503,  517,
-      519,  518,  520,  521,  521,  524,  514,  522,  515,  518,
-      524,  522,  526,  525,  519,  512,  525,  527,  528,  529,
-      530,  520,  531,  528,  532,  534,  533,  531,  529,  537,
-      527,  526,  535,  538,  534,  539,  540,  535,  541,  530,
-      533,  540,  542,  541,  532,  543,  549,  542,  537,  549,
-      539,  538,  544,  544,  543,  545,  550,  547,  551,  553,
-      545,  547,  547,  548,  548,  552,  557,  548,  552,  554,
-
-      555,  550,  557,  559,  554,  555,  558,  558,  551,  560,
-      553,  561,  559,  562,  561,  563,  564,  565,  566,  567,
-      568,  570,  569,  566,  567,  569,  573,  560,  571,  575,
-      565,  562,  570,  571,  563,  572,  564,  576,  568,  579,
-      572,  573,  574,  574,  577,  578,  580,  581,  575,  578,
-      582,  576,  587,  585,  586,  580,  577,  579,  588,  589,
-      590,   61,  591,  588,  589,  590,  581,  585,  592,  586,
-      594,  595,  587,  593,  597,  582,  591,  600,  593,  596,
-      596,  598,  592,  599,  601,  594,  595,  602,  599,  601,
-      598,  603,  597,  604,  605,  603,  600,  606,  607,  608,
-
-      609,  610,  604,  613,  614,  611,  602,  612,  618,  605,
-      607,  611,  606,  614,  617,  616,  618,  619,  608,  610,
-      616,  609,  612,  613,  620,  622,  621,  623,  617,  620,
-      621,  621,  625,  625,  624,  626,  623,  619,  622,  624,
-      626,  627,  628,  628,  629,  630,  627,  631,  632,  633,
-      630,  634,  635,  629,  633,  636,  634,  635,  637,  636,
-      638,  631,  641,  642,  640,  643,  632,  637,  640,  644,
-      645,  638,  637,  646,  637,  647,  637,  641,  645,  643,
-      648,  642,  649,  649,  650,  650,  652,  646,  644,  652,
-      653,  654,  656,  647,  660,  653,  655,  655,  657,  657,
-
-      662,  658,  659,  659,  661,  648,  658,  664,  662,  661,
-      654,  663,  656,  665,  660,  666,  663,  673,  668,  665,
-      674,  669,  666,  668,  670,  664,  669,  671,  672,  670,
-      676,  674,  671,  675,  675,  677,  673,  672,  678,  679,
-      680,  682,  682,  678,  681,  683,  684,  686,  685,  688,
-      676,  689,  691,  688,  688,  690,  692,  691,  677,  679,
-      680,  693,  681,  694,  695,  683,  685,  694,  696,  697,
-      686,  684,  699,  690,  692,  698,  703,  689,  701,  700,
-      704,  693,  695,  697,  700,  701,  705,  696,  702,  704,
-      698,  699,  706,  702,  703,  707,  714,  708,  706,  709,
-
-      710,  705,  708,  713,  709,  710,  711,  711,  713,  715,
-      714,  717,  717,  716,  718,  719,  707,  716,  716,  720,
-      721,  722,  724,  725,  723,  726,  728,  722,  715,  723,
-      727,  729,  730,  718,  719,  731,  731,  736,  732,  721,
-      728,  724,  725,  732,  726,  720,  733,  730,  734,  727,
-      733,  735,  729,  737,  737,  739,  740,  736,  738,  739,
-      735,  734,  741,  738,  744,  745,  745,  741,  746,  744,
-      748,  748,  754,  746,  750,  750,  740,  752,  753,  753,
-      752,  755,  757,  756,  758,  758,  761,  754,  756,  759,
-      760,  760,  762,  764,  763,  765,  767,  757,  763,  768,
-
-      765,  769,  769,  762,  770,  771,  755,  772,  761,  759,
-      776,  774,  764,  768,  767,  773,  774,  773,  775,  777,
-      778,  781,  785,  775,  770,  771,  778,  772,  782,  780,
-      776,  782,  783,  777,  780,  784,  784,  783,  786,  787,
-      785,  789,  788,  790,  791,  791,  781,  788,  790,  792,
-      793,  794,  795,  796,  792,  799,  798,  786,  797,  787,
-      799,  800,  801,  802,  789,  803,  804,  796,  793,  798,
-      797,  794,  795,  804,  805,  806,  809,  809,  812,   56,
-      803,  800,  801,  805,  802,  810,  805,  811,  810,  813,
-      814,  806,  811,  815,  812,  816,  817,  819,  813,  818,
-
-      818,  817,  815,  820,  816,  815,  821,  822,  823,  814,
-      824,  825,  825,  826,  827,  829,  820,  819,  830,  832,
-      829,  822,  831,  840,  821,  832,  833,  831,  824,  826,
-      834,  833,  827,  823,  838,  835,  830,  839,  835,  841,
-      842,  840,  838,  834,  835,  843,  845,  846,  847,  848,
-      839,  846,  849,  847,  848,  850,  842,  849,  841,  851,
-      852,  853,  853,  843,  850,  854,  845,  857,  855,  856,
-      859,  858,  857,  861,  861,  852,  862,  862,  860,  854,
-      855,  856,  851,  858,  860,  863,  864,  864,  859,  866,
-      865,  879,  867,  868,  863,  865,  869,  869,  870,  871,
-
-      871,  872,  872,  873,  874,  877,  884,  874,  873,  876,
-      866,  867,  878,  868,  876,  885,  879,  878,  870,  880,
-      880,  881,  881,  877,  882,  883,  884,  886,  887,  882,
-      888,  888,  889,  890,  890,  885,  891,  883,  895,  883,
-      898,  893,  894,  894,  883,  896,  897,  886,  900,  887,
-      893,  901,  896,  895,   51,  897,  891,  903,  889,  899,
-      899,  905,  903,  904,  906,  910,  898,  901,  904,  907,
-      907,  906,  908,  909,  900,  911,  912,  908,  913,  915,
-      914,  905,  909,  916,  918,  910,  914,  919,  915,   50,
-      911,  917,  917,  913,  916,  912,  924,  920,  929,  916,
-
-       45,  919,  920,  921,  921,  918,  922,  923,  924,  925,
-      922,  922,  923,  926,  925,  927,  928,  930,  931,  927,
-      933,  932,  930,  929,  935,  926,  932,  935,  928,  936,
-      936,  938,  933,  937,  937,  944,  939,  938,  940,  941,
-      931,  939,  946,  946,  940,  947,  948,  944,  941,  949,
-      951,  951,  954,  956,  946,  948,  955,  962,  949,  957,
-      957,  955,  958,  947,  958,  961,  954,  959,  959,  964,
-      956,  965,  961,  963,  963,  966,  967,  962,  968,  969,
-      971,  976,  972,  965,  972,  971,  973,  966,  967,  974,
-      964,  977,  977,  968,  978,  976,  979,  983,  974,  969,
-
-      980,  979,  980,  981,  973,  982,  984,  985,  981,  986,
-      982,  988,  985,  989,  986,  983,  990,  990,   40,  991,
-      978,  995,  993,  992,  993,  994,  984,  989, 1000, 1001,
-      988,  991,  992,  995,  994,  992,  996,  997,  999, 1006,
-     1003,  996,  997, 1005, 1007, 1001, 1003, 1009, 1000, 1005,
-     1011,  999,   14, 1007, 1008, 1008, 1009, 1010, 1010, 1012,
-     1013, 1014, 1016, 1012, 1006, 1013, 1015, 1015, 1019, 1011,
-     1016, 1020, 1020, 1022, 1014, 1021, 1021, 1019, 1023, 1025,
-     1024, 1026, 1027, 1023, 1024, 1022, 1026, 1028, 1030, 1032,
-     1031, 1033, 1034, 1056, 1025, 1036, 1036, 1037, 1038, 1056,
-
-     1037, 1039,   13, 1033, 1040, 1040, 1028, 1043, 1027, 1031,
-     1032, 1038, 1030, 1034, 1039, 1041, 1041, 1042, 1042, 1046,
-     1043, 1044, 1044, 1045, 1045, 1047, 1047, 1048, 1048, 1049,
-     1051, 1052, 1052, 1053, 1060, 1051, 1054, 1054, 1046, 1055,
-     1057, 1059, 1059, 1057, 1058, 1058, 1061, 1061, 1049, 1063,
-     1063, 1064, 1053, 1060, 1065, 1065, 1066, 1055, 1067, 1068,
-     1058, 1069, 1070, 1071, 1068, 1066, 1072, 1073, 1076, 1074,
-     1067, 1072, 1075, 1076, 1079, 1070, 1077, 1064, 1074, 1081,
-     1077, 1075, 1073, 1086, 1071, 1087, 1069, 1083, 1081, 1082,
-     1082, 1144, 1083, 1103, 1079, 1084, 1084, 1087, 1086, 1089,
-
-     1090, 1096, 1089, 1098, 1084, 1090, 1091, 1091, 1092, 1103,
-     1093, 1095, 1092, 1093, 1094, 1094, 1095, 1144, 1097, 1099,
-     1100, 1096, 1097, 1098, 1099, 1100, 1101, 1105, 1104, 1106,
-     1123, 1106, 1101, 1104, 1122, 1105, 1109, 1109, 1112, 1112,
-     1115, 1116, 1116, 1118, 1118, 1115, 1120, 1121, 1121, 1124,
-     1122, 1120, 1123, 1129, 1124, 1126, 1126, 1130, 1129, 1130,
-     1131, 1132, 1133, 1133, 1134, 1134, 1132, 1135, 1135, 1136,
-     1137, 1138, 1139, 1140, 1131, 1141, 1142, 1142, 1143, 1145,
-     1146, 1136, 1147, 1138, 1139, 1140, 1148, 1143, 1137, 1149,
-     1154, 1150, 1151, 1146, 1160, 1141, 1150, 1151, 1159, 1145,
-
-     1148, 1152, 1152, 1155, 1155, 1158, 1147, 1149, 1154, 1157,
-     1157, 1161, 1160, 1159, 1158, 1162, 1163, 1164, 1164, 1165,
-     1167, 1166, 1168, 1173, 1165, 1170, 1176, 1174, 1177, 1161,
-     1174, 1162, 1175, 1175, 1180, 1163, 1166, 1179, 1179, 1167,
-     1187, 1176, 1168, 1173, 1170, 1188, 1177, 1181, 1181, 1182,
-     1182, 1186, 1186, 1180, 1188, 1189, 1190, 1191, 1193, 1194,
-     1189, 1190, 1187, 1195, 1194, 1191, 1196,    0, 1195, 1197,
-     1197, 1198, 1198, 1193, 1199, 1200, 1200, 1201, 1201, 1199,
-     1203, 1196, 1204, 1206, 1207, 1203, 1206, 1208, 1213, 1209,
-     1210, 1210, 1211, 1214, 1204, 1216, 1208, 1207, 1209, 1215,
-
-     1215, 1211, 1217, 1217, 1216, 1218, 1219, 1213, 1221, 1222,
-     1227, 1219, 1214, 1218, 1224, 1224, 1232, 1221, 1228, 1228,
-     1229, 1233, 1222, 1229, 1230, 1230, 1231, 1231, 1234, 1242,
-     1227, 1235, 1235, 1234, 1232, 1233, 1236, 1239, 1243, 1244,
-     1236, 1245, 1245, 1239, 1246, 1247, 1243, 1248, 1242, 1249,
-     1247, 1251, 1250, 1253, 1255, 1257, 1253, 1258, 1244, 1257,
-     1246, 1250, 1256, 1256, 1260, 1261, 1258, 1248, 1262, 1265,
-     1279, 1251, 1255, 1260, 1265, 1249, 1267, 1261, 1266, 1266,
-     1270, 1269, 1271, 1272, 1275, 1267, 1269, 1273, 1273, 1270,
-     1274, 1276, 1278, 1262, 1277, 1280, 1279, 1278, 1272, 1274,
-
-     1275, 1271, 1277, 1281, 1281, 1285, 1282, 1284, 1284, 1286,
-     1276, 1282, 1287, 1287, 1280, 1288, 1288, 1289, 1290, 1291,
-     1292, 1292, 1293, 1294, 1294, 1285, 1295, 1297, 1298,    0,
-     1290, 1286,    0, 1298, 1293, 1302, 1289, 1299, 1299, 1291,
-     1302, 1297, 1300, 1300, 1317, 1295, 1301, 1301, 1303, 1303,
-     1305, 1305, 1307, 1307, 1308, 1311, 1312, 1312, 1319, 1308,
-     1313, 1315, 1319, 1311, 1317, 1313, 1315, 1318, 1318, 1323,
-     1323, 1325, 1327, 1327, 1328, 1325, 1330, 1331, 1331, 1332,
-     1332, 1334, 1334, 1336, 1336, 1338, 1339, 1339, 1344, 1328,
-     1345, 1347, 1344, 1349, 1330, 1346, 1346, 1338, 1350, 1351,
-
-     1347, 1352, 1352,    0,    0,    0,    0,    0, 1349,    0,
-     1345,    0, 1350,    0,    0,    0,    0,    0, 1351, 1355,
-     1355, 1355, 1355, 1355, 1355, 1355, 1356, 1356, 1356, 1356,
-     1356, 1356, 1356, 1357, 1357, 1357, 1357, 1357, 1357, 1357,
-     1358, 1358, 1358, 1358, 1358, 1358, 1358, 1359, 1359, 1359,
-     1359, 1359, 1359, 1359, 1361, 1361,    0, 1361, 1361, 1361,
-     1361, 1362, 1362,    0,    0,    0, 1362, 1362, 1363, 1363,
-        0,    0, 1363,    0, 1363, 1364,    0,    0,    0,    0,
-        0, 1364, 1365, 1365,    0,    0,    0, 1365, 1365, 1366,
-        0,    0,    0,    0,    0, 1366, 1367, 1367,    0, 1367,
-
-     1367, 1367, 1367, 1368, 1368,    0, 1368, 1368, 1368, 1368,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
-     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354
+       12,   69,   28,   30,   22,   69,   24,  109,   22,   12,
+       19,   22,   19,   19,   23,   19,   26,   26,   30,   23,
+       19,   19,  109,   23,   27,   26,   23,   34,   27,   23,
+       76,   27,   31,   31,   32,   32,   34,   77,   27,   32,
+       77,   31,   34,   35,   36,   34,   38,   31,   35,   36,
+       76,   31,   34,   37,   37,   32,   37,  435,   35,   36,
+       38,   35,   75,   36,   36,   38,   75,   39,   39,   60,
+       60,   37,   39,   55,  435,   55,   55,   63,   55,   63,
+
+       63,   65,   63,   65,   65,   66,   65,   68,   63,   68,
+       68,   78,   68,   80,   81,   79,   82,   68,   83,   66,
+       71,   85,   71,   71,   79,   71,   81,   80,   84,   78,
+       71,   71,   86,   84,   82,   85,   87,   88,   89,   90,
+       83,   93,   89,   91,   90,   92,   84,   96,   92,  601,
+       97,   92,   86,   94,   87,   88,   95,   91,   94,   95,
+       93,   99,   98,   95,   97,   92,   98,  100,   99,  101,
+      102,   96,  103,  104,  107,  105,  101,  104,   94,  106,
+      100,  110,  108,  102,  106,  111,  112,  115,  106,  113,
+      116,  112,  103,  105,  107,  108,  114,  114,  117,  111,
+
+      110,  113,  119,  111,  120,  115,  116,  119,  121,  123,
+      123,  125,  130,  130,  125,  131,  120,  114,  127,  117,
+      127,  127,  132,  127,  132,  132,  121,  132,  133,  135,
+      133,  133,  135,  133,  138,  136,  137,  139,  140,  133,
+      136,  137,  141,  142,  129,  139,  143,  141,  148,  138,
+      144,  143,  145,  140,  150,  144,  149,  145,  147,  147,
+      152,  149,  151,  142,  146,  152,  151,  148,  146,  153,
+      156,  154,  158,  146,  157,  155,  160,  150,  146,  157,
+      159,  160,  164,  153,  146,  146,  154,  155,  156,  165,
+      155,  164,  158,  161,  161,  162,  159,  163,  166,  167,
+
+      162,  172,  163,  166,  167,  171,  162,  168,  169,  170,
+      165,  171,  168,  169,  173,  174,  170,  175,  176,  177,
+      173,  172,  178,  180,  179,  175,  182,  178,  179,  181,
+      183,  182,  184,  176,  184,  185,  186,  174,  187,  177,
+      192,  186,  185,  188,  188,  180,  189,  181,  181,  190,
+      183,  189,  192,  191,  190,  191,  193,  187,  194,  195,
+      196,  197,  199,  198,  195,  196,  194,  204,  201,  189,
+      200,  201,  191,  202,  202,  193,  197,  198,  200,  205,
+      199,  203,  203,  204,  206,  207,  208,  206,  209,  207,
+      210,  211,  211,  209,  205,  208,  212,  213,  214,  215,
+
+      216,  212,  213,  217,  210,  218,  218,  219,  220,  221,
+      222,  223,  224,  222,  221,  225,  217,  215,  214,  226,
+      220,  216,  226,  223,  225,  219,  227,  230,  230,  224,
+      228,  229,  224,  229,  229,  231,  232,  233,  231,  227,
+      226,  234,  228,  235,  235,  238,  236,  237,  237,  239,
+      234,  236,  233,  232,  240,  241,  232,  242,  243,  240,
+      238,  244,  242,  243,  244,  245,  246,  247,  248,  239,
+      250,  256,  249,  248,  251,  241,  247,  249,  252,  245,
+      253,  254,  246,  253,  257,  246,  256,  246,  258,  259,
+      260,  250,  252,  257,  251,  254,  262,  261,  263,  253,
+
+      255,  262,  255,  255,  264,  260,  265,  266,  259,  258,
+      267,  268,  255,  271,  255,  255,  255,  261,  263,  255,
+      272,  265,  266,  269,  264,  268,  270,  270,  269,  270,
+      267,  273,  274,  271,  276,  275,  272,  275,  276,  277,
+      278,  279,  280,  281,  283,  282,  274,  273,  281,  282,
+      279,  280,  285,  283,  278,  284,  286,  277,  285,  287,
+      284,  286,  289,  279,  288,  288,  290,  289,  291,  292,
+      293,  294,  287,  295,  295,  294,  297,  291,  296,  298,
+      298,  292,  293,  296,  300,  300,  301,  290,  302,  303,
+      304,  306,  307,  310,  308,  309,  302,  297,  303,  311,
+
+      309,  310,  304,  312,  311,  313,  312,  301,  308,  314,
+      315,  306,  307,  316,  315,  317,  318,  319,  322,  321,
+      317,  324,  326,  313,  128,  323,  325,  325,  316,  328,
+      323,  314,  318,  332,  322,  323,  319,  320,  320,  321,
+      329,  324,  330,  320,  328,  320,  331,  326,  327,  327,
+      334,  333,  329,  320,  335,  332,  333,  330,  337,  334,
+      336,  338,  337,  320,  339,  331,  338,  340,  341,  342,
+      342,  344,  343,  335,  345,  336,  339,  343,  346,  347,
+      355,  341,  347,  344,  348,  340,  345,  349,  349,  350,
+      350,  351,  361,  346,  352,  352,  351,  348,  353,  353,
+
+      354,  355,  356,  364,  357,  354,  358,  356,  357,  359,
+      360,  358,  361,  359,  362,  360,  363,  364,  126,  362,
+      365,  363,  367,  365,  366,  366,  368,  367,  365,  372,
+      369,  371,  365,  369,  370,  368,  371,  374,  370,  373,
+      375,  376,  372,  377,  373,  378,  374,  379,  377,  380,
+      379,  378,  380,  376,  381,  382,  375,  383,  384,  381,
+      370,  385,  386,  384,  385,  387,  389,  386,  391,  387,
+      387,  383,  388,  382,  395,  389,  390,  388,  392,  390,
+      391,  396,  392,  392,  393,  394,  393,  394,  397,  398,
+      401,  399,  395,  400,  390,  399,  402,  403,  404,  396,
+
+      405,  408,  400,  404,  407,  401,  408,  397,  407,  398,
+      406,  406,  403,  409,  402,  410,  412,  411,  417,  405,
+      413,  414,  415,  412,  419,  413,  416,  415,  414,  409,
+      411,  416,  418,  419,  410,  420,  417,  421,  422,  418,
+      423,  422,  421,  424,  423,  425,  425,  427,  428,  420,
+      430,  429,  431,  428,  425,  429,  432,  439,  438,  445,
+      431,  440,  444,  439,  424,  440,  427,  438,  430,  441,
+      465,  432,  124,  443,  441,  442,  465,  442,  443,  442,
+      444,  450,  442,  446,  445,  448,  446,  442,  447,  447,
+      449,  449,  448,  442,  442,  453,  450,  451,  451,  452,
+
+      454,  455,  452,  456,  456,  457,  458,  459,  461,  455,
+      460,  460,  459,  461,  468,  453,  462,  463,  122,  454,
+      457,  462,  463,  464,  458,  466,  464,  467,  472,  469,
+      470,  474,  468,  466,  469,  467,  472,  470,  471,  471,
+      473,  476,  477,  479,  476,  473,  478,  478,  480,  481,
+      474,  483,  481,  484,  486,  485,  477,  480,  479,  487,
+      481,  488,  489,  490,  491,   67,  489,  494,  492,  495,
+      488,  493,  483,  494,  484,  485,  486,  492,  496,  487,
+      498,  490,  497,  491,  498,  493,  499,  497,  500,  495,
+      501,  502,  496,  503,  503,  501,  504,  506,  507,  505,
+
+      500,  504,  505,  508,  509,  499,  510,  510,  508,  511,
+      511,  507,  502,  512,  513,  506,  514,  515,  513,  516,
+      520,  517,  519,  521,  509,  522,  519,  526,  512,  523,
+      524,  525,  526,  516,  542,  514,  537,  525,  521,  522,
+      537,  515,  517,  518,  524,  520,  518,  542,  518,   61,
+      523,  529,  518,  528,  518,  527,  527,  530,  528,  518,
+      534,  527,  533,  527,  535,  529,  531,  531,  532,  530,
+      533,  536,  536,  532,  534,  539,  540,  541,  545,  540,
+      539,  527,  543,  535,  544,  546,  547,  543,  548,  549,
+      546,  552,  553,  544,  550,  554,  541,  545,  549,  550,
+
+      555,  559,  548,  556,  557,  552,  547,  558,  556,  557,
+      559,  553,  558,  554,  561,  555,  560,  560,  563,  561,
+      564,  564,  563,  563,  564,  565,  566,  567,  565,  568,
+      569,  570,  568,  571,  572,  577,  570,  573,  571,  572,
+      574,  566,  579,  573,  575,  575,  574,  567,  576,  578,
+      580,  569,  578,  577,  581,  582,  583,  576,  584,  585,
+      579,  583,  586,  584,  587,  586,  588,  589,  582,  580,
+      590,  588,  589,  592,  581,  587,  593,  585,  591,  591,
+      595,  594,  596,  598,  595,  590,  597,  599,  604,  602,
+      593,  603,  592,  594,  605,  597,  606,  609,   56,  605,
+
+      596,  606,  598,  602,  608,  607,  603,  607,  604,  608,
+      610,  609,  599,  611,  612,  613,  614,  614,  611,  615,
+      617,  618,  616,  619,  610,  617,  620,  625,  619,  612,
+      613,  616,  621,  622,  623,  624,  621,  615,  626,  625,
+      618,  627,  622,  628,  630,  620,  629,  631,  634,  623,
+      624,  632,  629,  634,  635,  636,  637,  626,   51,  630,
+      632,  628,  627,  636,  638,  640,  639,  631,  635,  638,
+      639,  639,  641,  647,  642,  644,  637,  650,  640,  642,
+      644,  641,  643,  643,  645,  646,  646,  648,  651,  645,
+      649,  650,  652,  647,  653,  649,  648,  652,  654,  653,
+
+      655,  656,  657,  654,  655,  659,  651,  660,  661,  659,
+      656,  662,  663,  657,  665,  656,  664,  656,  666,  656,
+      667,  668,  660,  674,  664,  662,  661,  676,  665,  669,
+      669,  663,  666,  670,  670,  673,  672,  680,  667,  672,
+      673,  684,  674,  675,  675,  678,  668,  676,  677,  677,
+      678,  679,  679,  681,  682,  683,  686,  680,  681,  684,
+      683,  685,  682,  686,  688,  689,  690,  685,  691,  688,
+      689,  690,  692,  691,  693,  694,  695,  695,  696,  697,
+      698,  692,  701,  699,  700,  698,  694,  702,  703,  703,
+      704,  705,  707,  693,  706,  709,  701,  710,  696,  709,
+
+      709,  711,  697,  699,  700,  702,  712,  713,  714,  715,
+      704,  712,  706,  715,  716,  707,  705,  717,  719,  711,
+      718,  720,  721,  710,  722,  713,  724,  721,  714,  725,
+      723,  722,  716,  719,  718,  723,  717,  726,  725,  727,
+      720,  728,  729,  730,  724,  727,  731,  729,  730,  732,
+      732,  731,  726,  734,  735,  736,  737,  739,  734,  740,
+      737,  737,  728,  738,  738,  741,  742,  743,  735,  744,
+      741,  746,  745,  750,  736,  744,  739,  745,  740,  747,
+      748,  749,  751,  753,  753,   50,  743,  750,  754,  752,
+      746,  755,  742,  754,  756,  755,  757,  758,  747,  748,
+
+      749,  759,  759,  751,  752,  757,  760,  756,  761,  762,
+      763,  760,  761,  764,  767,  768,  768,  758,  764,  767,
+      769,  771,  771,  773,  773,  769,  776,  776,  775,  762,
+      763,  775,  777,  778,  779,  780,  781,  781,  785,  779,
+      782,  783,  783,  784,  786,  787,  788,  777,  786,  785,
+      780,  788,  790,  791,  792,  792,  793,  794,  778,  796,
+      782,  795,  800,  798,  787,  784,  795,  791,  798,  797,
+      790,  797,  801,  799,  802,  805,  793,  794,  799,  796,
+      802,  806,  800,  804,  806,  807,  801,  809,  804,  810,
+      807,  808,  808,  811,  812,  813,  814,  815,  815,  812,
+
+      805,  814,  816,  817,  818,  809,  819,  816,  810,  820,
+      821,  823,  822,  811,  824,  825,  823,  826,  813,  829,
+      835,  817,  821,  820,  818,  822,  819,  827,  829,  828,
+      830,  829,  833,  833,  824,  825,  828,  834,  826,  835,
+      834,  837,  827,  836,  838,  839,  830,  840,  836,  841,
+      842,  843,  843,  838,  844,  842,  840,  837,  841,  840,
+      845,  846,  847,  848,  839,  849,  850,  850,  851,  852,
+      854,  855,  856,  845,  844,  854,  847,  856,  860,  846,
+      857,  865,  866,  849,  851,  857,  858,  852,  848,  855,
+      859,  860,  858,  861,  865,  859,  861,  864,  867,  868,
+
+      866,  869,  861,  871,  872,  864,  873,  874,  872,  875,
+      877,  873,  874,  876,  875,  868,  878,  867,  880,  869,
+      879,  879,  876,  871,  881,  882,  883,  885,   45,  884,
+      886,  878,  880,  877,  884,  887,  881,  882,  890,  885,
+      893,  887,  888,  888,  889,  889,  883,  890,  886,  891,
+      891,  892,  894,  895,  896,  896,  892,  897,  898,  898,
+      900,  893,  899,  899,  901,  900,  904,  901,  906,  903,
+      905,  894,  911,  895,  903,  905,  910,  897,  907,  907,
+      908,  908,  909,  912,  904,  913,  914,  909,  910,  916,
+      910,  918,  911,  906,  926,  910,  915,  915,  917,  917,
+
+      920,  921,  923,  912,  928,  913,  988,  914,  988,  920,
+      925,  918,  922,  922,  924,  916,  929,  923,  933,  925,
+      926,  924,  921,  927,  927,  938,  931,  934,  932,  939,
+      928,  931,  929,  932,  934,  935,  935,  936,  933,  937,
+      940,  941,  936,  942,  939,  938,  943,  947,  937,  944,
+      945,  948,  943,  946,  946,  949,  941,   40,  944,  940,
+      949,  945,  942,  950,  950,  948,  945,  951,  947,  952,
+      953,  951,  951,  954,  952,  955,  956,  957,  954,  958,
+      956,  959,  953,  960,  962,  961,  959,  955,  964,  957,
+      961,  964,  965,  965,  966,  966,  962,  967,  969,  971,
+
+      968,  970,  967,  969,  958,  960,  968,  970,  971,  974,
+      976,  976,  977,  984,  978,  979,  981,  981,  986,  991,
+      985,  974,  976,  978,  979,  985,  991,  984,  987,  987,
+      977,  989,  989,  992,  994,  986,  993,  993,  995,  996,
+      997,  998,  999, 1001, 1002, 1003, 1002, 1007, 1001, 1004,
+      995,  996,  997,  992, 1009,  994,  998, 1005, 1004, 1005,
+     1014, 1007,  999, 1003, 1008, 1008, 1010, 1011, 1012, 1011,
+     1013, 1010, 1015, 1012, 1016, 1013, 1017, 1019, 1014, 1016,
+     1009, 1017, 1022, 1020, 1021, 1021, 1023, 1024, 1025, 1024,
+     1026, 1027, 1015, 1032, 1022, 1023, 1019, 1020, 1023, 1026,
+
+     1028, 1029, 1031, 1027, 1033, 1028, 1029, 1038, 1035, 1025,
+     1037, 1043, 1039, 1032, 1035, 1031, 1037, 1040, 1040, 1041,
+     1033, 1039, 1042, 1042, 1046, 1044, 1045, 1048, 1041, 1044,
+     1043, 1045, 1038, 1047, 1047, 1048, 1051, 1046, 1052, 1053,
+     1053, 1054, 1054, 1055, 1056, 1058, 1057, 1052, 1059, 1056,
+     1057, 1051, 1060, 1059, 1061, 1055, 1063, 1064, 1065, 1066,
+     1058, 1067, 1069, 1069, 1070, 1073, 1073, 1070, 1071,   14,
+     1072, 1066, 1079, 1061, 1074, 1074, 1064, 1076, 1060, 1065,
+     1063, 1071, 1067, 1072, 1075, 1075, 1077, 1077, 1078, 1078,
+     1076, 1079, 1080, 1080, 1081, 1081, 1082, 1083, 1085, 1086,
+
+     1086, 1087, 1090, 1085, 1088, 1088, 1089, 1094, 1090, 1091,
+     1082, 1098, 1091, 1092, 1092, 1104, 1083, 1093, 1093,   13,
+     1087, 1095, 1095, 1100, 1089, 1105, 1094, 1097, 1097, 1092,
+     1099, 1099, 1100, 1101, 1102, 1101, 1103, 1098, 1105, 1106,
+     1104, 1103, 1107, 1108, 1109, 1110, 1102, 1107, 1112, 1114,
+     1111,    0, 1112, 1109, 1110, 1111, 1116, 1121, 1108, 1118,
+     1106, 1117, 1117, 1122, 1118, 1116, 1119, 1119, 1123, 1114,
+     1125, 1126, 1121, 1125, 1132, 1119, 1126, 1127, 1127, 1122,
+     1123, 1128, 1134, 1129, 1131, 1128, 1129, 1130, 1130, 1131,
+     1137, 1133, 1135, 1136, 1132, 1133, 1137, 1135, 1136, 1139,
+
+     1140, 1141, 1134,    0, 1142, 1140, 1142, 1145, 1145, 1141,
+     1148, 1148, 1151, 1152, 1159, 1139, 1160, 1151, 1152, 1153,
+     1153, 1155, 1155, 1157, 1158, 1158, 1161, 1168, 1157, 1166,
+     1159, 1161, 1163, 1163, 1166, 1167, 1169, 1167, 1160, 1170,
+     1174, 1168, 1171, 1171, 1170, 1172, 1172, 1173, 1173, 1175,
+     1169, 1176, 1174, 1177, 1178, 1179, 1180, 1180, 1182, 1181,
+     1183, 1184, 1185, 1176, 1186, 1177, 1178, 1175, 1181, 1187,
+     1188, 1189, 1190, 1188, 1184, 1179, 1189, 1190, 1186, 1193,
+     1183, 1191, 1191, 1197, 1182, 1198, 1185, 1187, 1194, 1194,
+     1196, 1196, 1197, 1199, 1200, 1205, 1202, 1193, 1201, 1204,
+
+     1198, 1203, 1203, 1206, 1204, 1207, 1209,    0, 1210, 1213,
+     1205, 1199, 1200, 1214, 1201, 1202, 1214, 1215, 1215, 1216,
+     1217, 1220, 1206, 1219, 1219, 1207, 1209, 1210, 1222, 1213,
+     1221, 1221, 1228, 1222, 1216, 1223, 1223, 1229, 1217, 1230,
+     1220, 1227, 1227, 1231, 1230, 1232, 1229, 1234, 1231, 1237,
+     1235, 1236, 1241, 1232, 1228, 1235, 1236, 1238, 1238, 1239,
+     1239, 1240, 1234, 1246, 1237, 1249, 1240, 1241, 1242, 1242,
+     1243, 1243, 1245, 1248, 1250, 1246, 1248, 1245, 1249, 1251,
+     1252, 1252, 1253, 1250, 1255, 1256, 1257, 1257, 1251, 1258,
+     1259, 1253, 1260, 1260, 1261, 1259, 1262, 1264, 1258, 1265,
+
+     1269, 1262, 1261, 1255, 1256, 1271, 1264, 1267, 1267, 1272,
+     1272, 1273, 1265, 1276, 1273, 1274, 1274, 1275, 1275, 1277,
+     1269, 1278, 1279, 1279, 1280, 1271, 1278, 1287, 1280, 1283,
+     1284, 1276, 1288, 1277, 1284, 1283, 1289, 1290, 1290, 1292,
+     1288, 1291, 1293, 1294, 1292, 1295, 1287, 1296, 1298, 1299,
+     1301, 1298, 1302, 1302, 1295, 1289, 1303, 1291, 1299, 1308,
+     1303, 1304, 1293, 1306, 1306, 1307, 1309, 1296, 1301, 1294,
+     1304, 1308, 1312, 1314, 1307, 1313, 1313, 1312, 1316, 1317,
+     1318, 1319, 1314, 1316, 1320, 1318, 1321, 1321, 1317, 1322,
+     1323, 1309, 1324, 1325, 1327, 1328, 1330, 1326, 1322, 1320,
+
+     1319, 1325, 1326, 1329, 1329, 1331, 1323, 1333, 1333, 1334,
+     1331, 1324, 1330, 1336, 1328, 1337, 1337, 1338, 1338, 1339,
+     1327, 1340, 1341, 1342, 1342, 1343, 1344, 1344, 1346, 1334,
+     1345, 1345, 1348, 1340, 1349, 1336, 1356, 1343, 1339, 1349,
+     1350, 1350, 1341, 1351, 1351, 1353, 1348, 1346, 1352, 1352,
+     1353, 1354, 1354, 1357, 1357, 1359, 1359, 1360, 1356, 1363,
+     1364, 1364, 1360, 1365, 1367, 1370, 1384, 1363, 1365, 1367,
+     1371, 1371, 1372, 1376, 1376, 1379, 1372, 1378, 1378, 1379,
+     1378, 1381, 1381, 1382, 1384, 1370, 1385, 1385, 1386, 1386,
+     1388, 1388, 1390, 1390, 1391, 1391, 1392, 1392, 1382, 1394,
+
+     1395, 1395, 1402, 1403, 1404, 1404, 1402, 1405, 1408, 1407,
+     1409, 1394, 1410, 1410,    0,    0, 1405,    0,    0,    0,
+        0,    0, 1408, 1403, 1407,    0,    0,    0,    0, 1409,
+     1413, 1413, 1413, 1413, 1413, 1413, 1413, 1414, 1414, 1414,
+     1414, 1414, 1414, 1414, 1415, 1415, 1415, 1415, 1415, 1415,
+     1415, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1417, 1417,
+     1417, 1417, 1417, 1417, 1417, 1419, 1419,    0, 1419, 1419,
+     1419, 1419, 1420, 1420,    0,    0,    0, 1420, 1420, 1421,
+     1421,    0,    0, 1421,    0, 1421, 1422,    0,    0,    0,
+        0,    0, 1422, 1423, 1423,    0,    0,    0, 1423, 1423,
+
+     1424,    0,    0,    0,    0,    0, 1424, 1425, 1425,    0,
+     1425, 1425, 1425, 1425, 1426, 1426,    0, 1426, 1426, 1426,
+     1426, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+     1412
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1670,7 +1725,7 @@ static void config_end_include(void)
 #define YY_NO_INPUT 1
 #endif
 
-#line 1672 "<stdout>"
+#line 1727 "<stdout>"
 
 #define INITIAL 0
 #define quotedstring 1
@@ -1714,7 +1769,7 @@ FILE *yyget_out (void );
 
 void yyset_out  (FILE * out_str  );
 
-yy_size_t yyget_leng (void );
+int yyget_leng (void );
 
 char *yyget_text (void );
 
@@ -1754,7 +1809,12 @@ static int input (void );
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
 #define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -1857,7 +1917,7 @@ YY_DECL
     
 #line 184 "./util/configlexer.lex"
 
-#line 1859 "<stdout>"
+#line 1919 "<stdout>"
 
        if ( !(yy_init) )
                {
@@ -1916,13 +1976,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 >= 1355 )
+                               if ( yy_current_state >= 1413 )
                                        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] != 2711 );
+               while ( yy_base[yy_current_state] != 2822 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -2317,284 +2377,304 @@ YY_RULE_SETUP
 case 74:
 YY_RULE_SETUP
 #line 261 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HIDE_IDENTITY) }
+{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
 #line 262 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HIDE_VERSION) }
+{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
 #line 263 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IDENTITY) }
+{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
 #line 264 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VERSION) }
+{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
 #line 265 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MODULE_CONF) }
+{ YDVAR(1, VAR_HIDE_IDENTITY) }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
 #line 266 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DLV_ANCHOR) }
+{ YDVAR(1, VAR_HIDE_VERSION) }
        YY_BREAK
 case 80:
 YY_RULE_SETUP
 #line 267 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
+{ YDVAR(1, VAR_IDENTITY) }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
 #line 268 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
+{ YDVAR(1, VAR_VERSION) }
        YY_BREAK
 case 82:
 YY_RULE_SETUP
 #line 269 "./util/configlexer.lex"
-{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
+{ YDVAR(1, VAR_MODULE_CONF) }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
 #line 270 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
+{ YDVAR(1, VAR_DLV_ANCHOR) }
        YY_BREAK
 case 84:
 YY_RULE_SETUP
 #line 271 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUST_ANCHOR) }
+{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
        YY_BREAK
 case 85:
 YY_RULE_SETUP
 #line 272 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
+{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
 #line 273 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
+{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
        YY_BREAK
 case 87:
 YY_RULE_SETUP
 #line 274 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
+{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
 #line 275 "./util/configlexer.lex"
-{ YDVAR(1, VAR_BOGUS_TTL) }
+{ YDVAR(1, VAR_TRUST_ANCHOR) }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
 #line 276 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
+{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
 #line 277 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
+{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
 #line 278 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
+{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
 #line 279 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
+{ YDVAR(1, VAR_BOGUS_TTL) }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
 #line 280 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
+{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
 #line 281 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
+{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
 #line 282 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
+{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
 #line 283 "./util/configlexer.lex"
-{ 
-                                 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
+{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 285 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ADD_HOLDDOWN) }
+#line 284 "./util/configlexer.lex"
+{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 286 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DEL_HOLDDOWN) }
+#line 285 "./util/configlexer.lex"
+{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 287 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEEP_MISSING) }
+#line 286 "./util/configlexer.lex"
+{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 288 "./util/configlexer.lex"
-{ YDVAR(1, VAR_USE_SYSLOG) }
+#line 287 "./util/configlexer.lex"
+{ 
+                                 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
        YY_BREAK
 case 101:
 YY_RULE_SETUP
 #line 289 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_TIME_ASCII) }
+{ YDVAR(1, VAR_ADD_HOLDDOWN) }
        YY_BREAK
 case 102:
 YY_RULE_SETUP
 #line 290 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_QUERIES) }
+{ YDVAR(1, VAR_DEL_HOLDDOWN) }
        YY_BREAK
 case 103:
 YY_RULE_SETUP
 #line 291 "./util/configlexer.lex"
-{ YDVAR(2, VAR_LOCAL_ZONE) }
+{ YDVAR(1, VAR_KEEP_MISSING) }
        YY_BREAK
 case 104:
 YY_RULE_SETUP
 #line 292 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA) }
+{ YDVAR(1, VAR_USE_SYSLOG) }
        YY_BREAK
 case 105:
 YY_RULE_SETUP
 #line 293 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
+{ YDVAR(1, VAR_LOG_TIME_ASCII) }
        YY_BREAK
 case 106:
 YY_RULE_SETUP
 #line 294 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
+{ YDVAR(1, VAR_LOG_QUERIES) }
        YY_BREAK
 case 107:
 YY_RULE_SETUP
 #line 295 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
+{ YDVAR(2, VAR_LOCAL_ZONE) }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
 #line 296 "./util/configlexer.lex"
-{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
+{ YDVAR(1, VAR_LOCAL_DATA) }
        YY_BREAK
 case 109:
 YY_RULE_SETUP
 #line 297 "./util/configlexer.lex"
-{ YDVAR(0, VAR_REMOTE_CONTROL) }
+{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
        YY_BREAK
 case 110:
 YY_RULE_SETUP
 #line 298 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_ENABLE) }
+{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
        YY_BREAK
 case 111:
 YY_RULE_SETUP
 #line 299 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_INTERFACE) }
+{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
        YY_BREAK
 case 112:
 YY_RULE_SETUP
 #line 300 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_PORT) }
+{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
        YY_BREAK
 case 113:
 YY_RULE_SETUP
 #line 301 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_KEY_FILE) }
+{ YDVAR(0, VAR_REMOTE_CONTROL) }
        YY_BREAK
 case 114:
 YY_RULE_SETUP
 #line 302 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_CERT_FILE) }
+{ YDVAR(1, VAR_CONTROL_ENABLE) }
        YY_BREAK
 case 115:
 YY_RULE_SETUP
 #line 303 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
+{ YDVAR(1, VAR_CONTROL_INTERFACE) }
        YY_BREAK
 case 116:
 YY_RULE_SETUP
 #line 304 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
+{ YDVAR(1, VAR_CONTROL_PORT) }
        YY_BREAK
 case 117:
 YY_RULE_SETUP
 #line 305 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PYTHON_SCRIPT) }
+{ YDVAR(1, VAR_SERVER_KEY_FILE) }
        YY_BREAK
 case 118:
 YY_RULE_SETUP
 #line 306 "./util/configlexer.lex"
-{ YDVAR(0, VAR_PYTHON) }
+{ YDVAR(1, VAR_SERVER_CERT_FILE) }
        YY_BREAK
 case 119:
 YY_RULE_SETUP
 #line 307 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DOMAIN_INSECURE) }
+{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
        YY_BREAK
 case 120:
 YY_RULE_SETUP
 #line 308 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
+{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
        YY_BREAK
 case 121:
 YY_RULE_SETUP
 #line 309 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
+{ YDVAR(1, VAR_PYTHON_SCRIPT) }
        YY_BREAK
 case 122:
 YY_RULE_SETUP
 #line 310 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MAX_UDP_SIZE) }
+{ YDVAR(0, VAR_PYTHON) }
        YY_BREAK
 case 123:
-/* rule 123 can match eol */
 YY_RULE_SETUP
 #line 311 "./util/configlexer.lex"
-{ LEXOUT(("NL\n")); cfg_parser->line++; }
+{ YDVAR(1, VAR_DOMAIN_INSECURE) }
        YY_BREAK
-/* Quoted strings. Strip leading and ending quotes */
 case 124:
 YY_RULE_SETUP
+#line 312 "./util/configlexer.lex"
+{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
+       YY_BREAK
+case 125:
+YY_RULE_SETUP
+#line 313 "./util/configlexer.lex"
+{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
+       YY_BREAK
+case 126:
+YY_RULE_SETUP
 #line 314 "./util/configlexer.lex"
+{ YDVAR(1, VAR_MAX_UDP_SIZE) }
+       YY_BREAK
+case 127:
+/* rule 127 can match eol */
+YY_RULE_SETUP
+#line 315 "./util/configlexer.lex"
+{ LEXOUT(("NL\n")); cfg_parser->line++; }
+       YY_BREAK
+/* Quoted strings. Strip leading and ending quotes */
+case 128:
+YY_RULE_SETUP
+#line 318 "./util/configlexer.lex"
 { BEGIN(quotedstring); LEXOUT(("QS ")); }
        YY_BREAK
 case YY_STATE_EOF(quotedstring):
-#line 315 "./util/configlexer.lex"
+#line 319 "./util/configlexer.lex"
 {
         yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
 }
        YY_BREAK
-case 125:
+case 129:
 YY_RULE_SETUP
-#line 320 "./util/configlexer.lex"
+#line 324 "./util/configlexer.lex"
 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
-case 126:
-/* rule 126 can match eol */
+case 130:
+/* rule 130 can match eol */
 YY_RULE_SETUP
-#line 321 "./util/configlexer.lex"
+#line 325 "./util/configlexer.lex"
 { yyerror("newline inside quoted string, no end \""); 
                          cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
-case 127:
+case 131:
 YY_RULE_SETUP
-#line 323 "./util/configlexer.lex"
+#line 327 "./util/configlexer.lex"
 {
         LEXOUT(("QE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
@@ -2607,34 +2687,34 @@ YY_RULE_SETUP
 }
        YY_BREAK
 /* Single Quoted strings. Strip leading and ending quotes */
-case 128:
+case 132:
 YY_RULE_SETUP
-#line 335 "./util/configlexer.lex"
+#line 339 "./util/configlexer.lex"
 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
        YY_BREAK
 case YY_STATE_EOF(singlequotedstr):
-#line 336 "./util/configlexer.lex"
+#line 340 "./util/configlexer.lex"
 {
         yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
 }
        YY_BREAK
-case 129:
+case 133:
 YY_RULE_SETUP
-#line 341 "./util/configlexer.lex"
+#line 345 "./util/configlexer.lex"
 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
-case 130:
-/* rule 130 can match eol */
+case 134:
+/* rule 134 can match eol */
 YY_RULE_SETUP
-#line 342 "./util/configlexer.lex"
+#line 346 "./util/configlexer.lex"
 { yyerror("newline inside quoted string, no end '"); 
                             cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
-case 131:
+case 135:
 YY_RULE_SETUP
-#line 344 "./util/configlexer.lex"
+#line 348 "./util/configlexer.lex"
 {
         LEXOUT(("SQE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
@@ -2647,38 +2727,38 @@ YY_RULE_SETUP
 }
        YY_BREAK
 /* include: directive */
-case 132:
+case 136:
 YY_RULE_SETUP
-#line 356 "./util/configlexer.lex"
+#line 360 "./util/configlexer.lex"
 { 
        LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
        YY_BREAK
 case YY_STATE_EOF(include):
-#line 358 "./util/configlexer.lex"
+#line 362 "./util/configlexer.lex"
 {
         yyerror("EOF inside include directive");
         BEGIN(inc_prev);
 }
        YY_BREAK
-case 133:
+case 137:
 YY_RULE_SETUP
-#line 362 "./util/configlexer.lex"
+#line 366 "./util/configlexer.lex"
 { LEXOUT(("ISP ")); /* ignore */ }
        YY_BREAK
-case 134:
-/* rule 134 can match eol */
+case 138:
+/* rule 138 can match eol */
 YY_RULE_SETUP
-#line 363 "./util/configlexer.lex"
+#line 367 "./util/configlexer.lex"
 { LEXOUT(("NL\n")); cfg_parser->line++;}
        YY_BREAK
-case 135:
+case 139:
 YY_RULE_SETUP
-#line 364 "./util/configlexer.lex"
+#line 368 "./util/configlexer.lex"
 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
        YY_BREAK
-case 136:
+case 140:
 YY_RULE_SETUP
-#line 365 "./util/configlexer.lex"
+#line 369 "./util/configlexer.lex"
 {
        LEXOUT(("Iunquotedstr(%s) ", yytext));
        config_start_include_glob(yytext);
@@ -2686,27 +2766,27 @@ YY_RULE_SETUP
 }
        YY_BREAK
 case YY_STATE_EOF(include_quoted):
-#line 370 "./util/configlexer.lex"
+#line 374 "./util/configlexer.lex"
 {
         yyerror("EOF inside quoted string");
         BEGIN(inc_prev);
 }
        YY_BREAK
-case 137:
+case 141:
 YY_RULE_SETUP
-#line 374 "./util/configlexer.lex"
+#line 378 "./util/configlexer.lex"
 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
        YY_BREAK
-case 138:
-/* rule 138 can match eol */
+case 142:
+/* rule 142 can match eol */
 YY_RULE_SETUP
-#line 375 "./util/configlexer.lex"
+#line 379 "./util/configlexer.lex"
 { yyerror("newline before \" in include name"); 
                                  cfg_parser->line++; BEGIN(inc_prev); }
        YY_BREAK
-case 139:
+case 143:
 YY_RULE_SETUP
-#line 377 "./util/configlexer.lex"
+#line 381 "./util/configlexer.lex"
 {
        LEXOUT(("IQE "));
        yytext[yyleng - 1] = '\0';
@@ -2716,7 +2796,7 @@ YY_RULE_SETUP
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(val):
-#line 383 "./util/configlexer.lex"
+#line 387 "./util/configlexer.lex"
 {
        LEXOUT(("LEXEOF "));
        yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
@@ -2728,33 +2808,33 @@ case YY_STATE_EOF(val):
        }
 }
        YY_BREAK
-case 140:
+case 144:
 YY_RULE_SETUP
-#line 394 "./util/configlexer.lex"
+#line 398 "./util/configlexer.lex"
 { LEXOUT(("unquotedstr(%s) ", yytext)); 
                        if(--num_args == 0) { BEGIN(INITIAL); }
                        yylval.str = strdup(yytext); return STRING_ARG; }
        YY_BREAK
-case 141:
+case 145:
 YY_RULE_SETUP
-#line 398 "./util/configlexer.lex"
+#line 402 "./util/configlexer.lex"
 {
        ub_c_error_msg("unknown keyword '%s'", yytext);
        }
        YY_BREAK
-case 142:
+case 146:
 YY_RULE_SETUP
-#line 402 "./util/configlexer.lex"
+#line 406 "./util/configlexer.lex"
 {
        ub_c_error_msg("stray '%s'", yytext);
        }
        YY_BREAK
-case 143:
+case 147:
 YY_RULE_SETUP
-#line 406 "./util/configlexer.lex"
+#line 410 "./util/configlexer.lex"
 ECHO;
        YY_BREAK
-#line 2756 "<stdout>"
+#line 2836 "<stdout>"
 
        case YY_END_OF_BUFFER:
                {
@@ -2938,21 +3018,21 @@ static int yy_get_next_buffer (void)
 
        else
                {
-                       yy_size_t num_to_read =
+                       int num_to_read =
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
                while ( num_to_read <= 0 )
                        { /* Not enough room in the buffer - grow it. */
 
                        /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+                       YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
 
                        int yy_c_buf_p_offset =
                                (int) ((yy_c_buf_p) - b->yy_ch_buf);
 
                        if ( b->yy_is_our_buffer )
                                {
-                               yy_size_t new_size = b->yy_buf_size * 2;
+                               int new_size = b->yy_buf_size * 2;
 
                                if ( new_size <= 0 )
                                        b->yy_buf_size += b->yy_buf_size / 8;
@@ -2983,7 +3063,7 @@ static int yy_get_next_buffer (void)
 
                /* Read in more data. */
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-                       (yy_n_chars), num_to_read );
+                       (yy_n_chars), (size_t) num_to_read );
 
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
                }
@@ -3044,7 +3124,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 >= 1355 )
+                       if ( yy_current_state >= 1413 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3072,13 +3152,13 @@ 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 >= 1355 )
+               if ( yy_current_state >= 1413 )
                        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 == 1354);
+       yy_is_jam = (yy_current_state == 1412);
 
-               return yy_is_jam ? 0 : yy_current_state;
+       return yy_is_jam ? 0 : yy_current_state;
 }
 
 #ifndef YY_NO_INPUT
@@ -3105,7 +3185,7 @@ static int yy_get_next_buffer (void)
 
                else
                        { /* need more input */
-                       yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
+                       int offset = (yy_c_buf_p) - (yytext_ptr);
                        ++(yy_c_buf_p);
 
                        switch ( yy_get_next_buffer(  ) )
@@ -3265,6 +3345,10 @@ static void yy_load_buffer_state  (void)
        yyfree((void *) b  );
 }
 
+#ifndef __cplusplus
+extern int isatty (int );
+#endif /* __cplusplus */
+    
 /* Initializes or reinitializes a buffer.
  * This function is sometimes called more than once on the same buffer,
  * such as during a yyrestart() or at EOF.
@@ -3377,7 +3461,7 @@ void yypop_buffer_state (void)
  */
 static void yyensure_buffer_stack (void)
 {
-       yy_size_t num_to_alloc;
+       int num_to_alloc;
     
        if (!(yy_buffer_stack)) {
 
@@ -3474,7 +3558,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
  * 
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
 {
        YY_BUFFER_STATE b;
        char *buf;
@@ -3561,7 +3645,7 @@ FILE *yyget_out  (void)
 /** Get the length of the current token.
  * 
  */
-yy_size_t yyget_leng  (void)
+int yyget_leng  (void)
 {
         return yyleng;
 }
@@ -3709,7 +3793,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 406 "./util/configlexer.lex"
+#line 410 "./util/configlexer.lex"
 
 
 
index 0161aa1b06be9f3d9ed62e13c428d835cd55bbb7..c4d9eee9ebdcf01747041f6feb26ede106a570d3 100644 (file)
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.6.1.  */
+/* A Bison parser, made by GNU Bison 2.7.12-4996.  */
 
 /* Bison implementation for Yacc-like parsers in C
    
-      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.6.1"
+#define YYBISON_VERSION "2.7.12-4996"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -62,7 +62,7 @@
 
 
 /* Copy the first part of user declarations.  */
-/* Line 336 of yacc.c  */
+/* Line 371 of yacc.c  */
 #line 38 "./util/configparser.y"
 
 #include "config.h"
@@ -90,7 +90,7 @@ extern struct config_parser_state* cfg_parser;
 #endif
 
 
-/* Line 336 of yacc.c  */
+/* Line 371 of yacc.c  */
 #line 95 "util/configparser.c"
 
 # ifndef YY_NULL
@@ -111,8 +111,8 @@ extern struct config_parser_state* cfg_parser;
 
 /* In a future release of Bison, this section will be replaced
    by #include "configparser.h".  */
-#ifndef YY_UTIL_CONFIGPARSER_H
-# define YY_UTIL_CONFIGPARSER_H
+#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
+# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
 /* Enabling traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
@@ -254,7 +254,11 @@ extern int yydebug;
      VAR_STUB_FIRST = 382,
      VAR_MINIMAL_RESPONSES = 383,
      VAR_RRSET_ROUNDROBIN = 384,
-     VAR_MAX_UDP_SIZE = 385
+     VAR_SEND_CLIENT_SUBNET = 385,
+     VAR_CLIENT_SUBNET_OPCODE = 386,
+     VAR_MAX_CLIENT_SUBNET_IPV4 = 387,
+     VAR_MAX_CLIENT_SUBNET_IPV6 = 388,
+     VAR_MAX_UDP_SIZE = 389
    };
 #endif
 /* Tokens.  */
@@ -385,21 +389,25 @@ extern int yydebug;
 #define VAR_STUB_FIRST 382
 #define VAR_MINIMAL_RESPONSES 383
 #define VAR_RRSET_ROUNDROBIN 384
-#define VAR_MAX_UDP_SIZE 385
+#define VAR_SEND_CLIENT_SUBNET 385
+#define VAR_CLIENT_SUBNET_OPCODE 386
+#define VAR_MAX_CLIENT_SUBNET_IPV4 387
+#define VAR_MAX_CLIENT_SUBNET_IPV6 388
+#define VAR_MAX_UDP_SIZE 389
 
 
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
 {
-/* Line 350 of yacc.c  */
+/* Line 387 of yacc.c  */
 #line 64 "./util/configparser.y"
 
        char*   str;
 
 
-/* Line 350 of yacc.c  */
-#line 403 "util/configparser.c"
+/* Line 387 of yacc.c  */
+#line 411 "util/configparser.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -422,12 +430,12 @@ int yyparse ();
 #endif
 #endif /* ! YYPARSE_PARAM */
 
-#endif /* !YY_UTIL_CONFIGPARSER_H  */
+#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED  */
 
 /* Copy the second part of user declarations.  */
 
-/* Line 353 of yacc.c  */
-#line 431 "util/configparser.c"
+/* Line 390 of yacc.c  */
+#line 439 "util/configparser.c"
 
 #ifdef short
 # undef short
@@ -480,24 +488,33 @@ typedef short int yytype_int16;
 # if defined YYENABLE_NLS && YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
 #  endif
 # endif
 # ifndef YY_
-#  define YY_(msgid) msgid
+#  define YY_(Msgid) Msgid
+# endif
+#endif
+
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if (! defined __GNUC__ || __GNUC__ < 2 \
+      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
+#  define __attribute__(Spec) /* empty */
 # endif
 #endif
 
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
+# define YYUSE(E) ((void) (E))
 #else
-# define YYUSE(e) /* empty */
+# define YYUSE(E) /* empty */
 #endif
 
+
 /* Identity function, used to suppress warnings about constant conditions.  */
 #ifndef lint
-# define YYID(n) (n)
+# define YYID(N) (N)
 #else
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
@@ -647,20 +664,20 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   239
+#define YYLAST   248
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  131
+#define YYNTOKENS  135
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  134
+#define YYNNTS  138
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  255
+#define YYNRULES  263
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  374
+#define YYNSTATES  386
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   385
+#define YYMAXUTOK   389
 
 #define YYTRANSLATE(YYX)                                               \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -706,7 +723,7 @@ static const yytype_uint8 yytranslate[] =
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134
 };
 
 #if YYDEBUG
@@ -725,54 +742,57 @@ static const yytype_uint16 yyprhs[] =
      164,   166,   168,   170,   172,   174,   176,   178,   180,   182,
      184,   186,   188,   190,   192,   194,   196,   198,   200,   202,
      204,   206,   208,   210,   212,   214,   216,   218,   220,   222,
-     224,   226,   228,   231,   232,   234,   236,   238,   240,   242,
-     244,   247,   248,   250,   252,   254,   256,   259,   262,   265,
-     268,   271,   274,   277,   280,   283,   286,   289,   292,   295,
-     298,   301,   304,   307,   310,   313,   316,   319,   322,   325,
-     328,   331,   334,   337,   340,   343,   346,   349,   352,   355,
-     358,   361,   364,   367,   370,   373,   376,   379,   382,   385,
-     388,   391,   394,   397,   400,   403,   406,   409,   412,   415,
-     418,   421,   424,   427,   430,   433,   436,   439,   442,   445,
-     448,   451,   454,   457,   460,   463,   466,   469,   472,   475,
-     478,   482,   485,   488,   491,   494,   497,   500,   503,   506,
-     509,   512,   515,   518,   521,   524,   527,   530,   533,   536,
-     540,   543,   546,   549,   552,   555,   558,   561,   564,   567,
-     570,   573,   576,   579,   582,   584,   587,   588,   590,   592,
-     594,   596,   598,   600,   602,   605,   608,   611,   614,   617,
-     620,   623,   625,   628,   629,   631
+     224,   226,   228,   230,   232,   234,   236,   239,   240,   242,
+     244,   246,   248,   250,   252,   255,   256,   258,   260,   262,
+     264,   267,   270,   273,   276,   279,   282,   285,   288,   291,
+     294,   297,   300,   303,   306,   309,   312,   315,   318,   321,
+     324,   327,   330,   333,   336,   339,   342,   345,   348,   351,
+     354,   357,   360,   363,   366,   369,   372,   375,   378,   381,
+     384,   387,   390,   393,   396,   399,   402,   405,   408,   411,
+     414,   417,   420,   423,   426,   429,   432,   435,   438,   441,
+     444,   447,   450,   453,   456,   459,   462,   465,   468,   471,
+     474,   477,   480,   483,   486,   489,   492,   495,   498,   502,
+     505,   508,   511,   514,   517,   520,   523,   526,   529,   532,
+     535,   538,   541,   544,   547,   550,   553,   556,   560,   563,
+     566,   569,   572,   575,   578,   581,   584,   587,   590,   593,
+     596,   599,   602,   604,   607,   608,   610,   612,   614,   616,
+     618,   620,   622,   625,   628,   631,   634,   637,   640,   643,
+     645,   648,   649,   651
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-     132,     0,    -1,    -1,   132,   133,    -1,   134,   135,    -1,
-     137,   138,    -1,   140,   141,    -1,   261,   262,    -1,   251,
-     252,    -1,    11,    -1,   135,   136,    -1,    -1,   143,    -1,
-     144,    -1,   148,    -1,   151,    -1,   157,    -1,   158,    -1,
-     159,    -1,   160,    -1,   149,    -1,   170,    -1,   171,    -1,
-     172,    -1,   173,    -1,   174,    -1,   191,    -1,   192,    -1,
-     193,    -1,   195,    -1,   196,    -1,   154,    -1,   197,    -1,
-     198,    -1,   201,    -1,   199,    -1,   200,    -1,   202,    -1,
-     203,    -1,   204,    -1,   215,    -1,   183,    -1,   184,    -1,
-     185,    -1,   186,    -1,   205,    -1,   218,    -1,   179,    -1,
-     181,    -1,   219,    -1,   224,    -1,   225,    -1,   226,    -1,
-     155,    -1,   190,    -1,   233,    -1,   234,    -1,   180,    -1,
-     229,    -1,   167,    -1,   150,    -1,   175,    -1,   216,    -1,
-     222,    -1,   206,    -1,   217,    -1,   236,    -1,   237,    -1,
-     156,    -1,   145,    -1,   166,    -1,   209,    -1,   146,    -1,
-     152,    -1,   153,    -1,   176,    -1,   177,    -1,   235,    -1,
-     208,    -1,   210,    -1,   211,    -1,   147,    -1,   238,    -1,
-     194,    -1,   214,    -1,   168,    -1,   182,    -1,   220,    -1,
-     221,    -1,   223,    -1,   228,    -1,   178,    -1,   230,    -1,
-     231,    -1,   232,    -1,   187,    -1,   189,    -1,   212,    -1,
-     213,    -1,   188,    -1,   207,    -1,   227,    -1,   169,    -1,
-     161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,
-     239,    -1,   240,    -1,   241,    -1,    38,    -1,   138,   139,
-      -1,    -1,   242,    -1,   243,    -1,   244,    -1,   246,    -1,
-     245,    -1,    44,    -1,   141,   142,    -1,    -1,   247,    -1,
-     248,    -1,   249,    -1,   250,    -1,    13,    10,    -1,    12,
-      10,    -1,    76,    10,    -1,    79,    10,    -1,    96,    10,
-      -1,    14,    10,    -1,    16,    10,    -1,    67,    10,    -1,
+     136,     0,    -1,    -1,   136,   137,    -1,   138,   139,    -1,
+     141,   142,    -1,   144,   145,    -1,   269,   270,    -1,   259,
+     260,    -1,    11,    -1,   139,   140,    -1,    -1,   147,    -1,
+     148,    -1,   152,    -1,   159,    -1,   165,    -1,   166,    -1,
+     167,    -1,   168,    -1,   157,    -1,   178,    -1,   179,    -1,
+     180,    -1,   181,    -1,   182,    -1,   199,    -1,   200,    -1,
+     201,    -1,   203,    -1,   204,    -1,   162,    -1,   205,    -1,
+     206,    -1,   209,    -1,   207,    -1,   208,    -1,   210,    -1,
+     211,    -1,   212,    -1,   223,    -1,   191,    -1,   192,    -1,
+     193,    -1,   194,    -1,   213,    -1,   226,    -1,   187,    -1,
+     189,    -1,   227,    -1,   232,    -1,   233,    -1,   234,    -1,
+     163,    -1,   198,    -1,   241,    -1,   242,    -1,   188,    -1,
+     237,    -1,   175,    -1,   158,    -1,   183,    -1,   224,    -1,
+     230,    -1,   214,    -1,   225,    -1,   244,    -1,   245,    -1,
+     164,    -1,   149,    -1,   174,    -1,   217,    -1,   150,    -1,
+     160,    -1,   161,    -1,   184,    -1,   185,    -1,   243,    -1,
+     216,    -1,   218,    -1,   219,    -1,   151,    -1,   246,    -1,
+     202,    -1,   222,    -1,   176,    -1,   190,    -1,   228,    -1,
+     229,    -1,   231,    -1,   236,    -1,   186,    -1,   238,    -1,
+     239,    -1,   240,    -1,   195,    -1,   197,    -1,   220,    -1,
+     221,    -1,   196,    -1,   215,    -1,   235,    -1,   177,    -1,
+     169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,
+     247,    -1,   248,    -1,   153,    -1,   154,    -1,   155,    -1,
+     156,    -1,   249,    -1,    38,    -1,   142,   143,    -1,    -1,
+     250,    -1,   251,    -1,   252,    -1,   254,    -1,   253,    -1,
+      44,    -1,   145,   146,    -1,    -1,   255,    -1,   256,    -1,
+     257,    -1,   258,    -1,    13,    10,    -1,    12,    10,    -1,
+      76,    10,    -1,    79,    10,    -1,    96,    10,    -1,    14,
+      10,    -1,   130,    10,    -1,   131,    10,    -1,   132,    10,
+      -1,   133,    10,    -1,    16,    10,    -1,    67,    10,    -1,
       15,    10,    -1,    80,    10,    -1,    81,    10,    -1,    31,
       10,    -1,    60,    10,    -1,    75,    10,    -1,    17,    10,
       -1,    18,    10,    -1,    19,    10,    -1,    20,    10,    -1,
@@ -800,46 +820,47 @@ static const yytype_int16 yyrhs[] =
       -1,   112,    10,    -1,   110,    10,    -1,    62,    10,    -1,
       63,    10,    -1,    84,    10,    -1,    73,    10,    10,    -1,
       74,    10,    -1,    97,    10,    -1,   128,    10,    -1,   129,
-      10,    -1,   130,    10,    -1,    37,    10,    -1,    39,    10,
+      10,    -1,   134,    10,    -1,    37,    10,    -1,    39,    10,
       -1,    40,    10,    -1,   127,    10,    -1,    99,    10,    -1,
       37,    10,    -1,    45,    10,    -1,    46,    10,    -1,   126,
-      10,    -1,    88,    -1,   252,   253,    -1,    -1,   254,    -1,
-     256,    -1,   255,    -1,   257,    -1,   258,    -1,   259,    -1,
-     260,    -1,    89,    10,    -1,    91,    10,    -1,    90,    10,
+      10,    -1,    88,    -1,   260,   261,    -1,    -1,   262,    -1,
+     264,    -1,   263,    -1,   265,    -1,   266,    -1,   267,    -1,
+     268,    -1,    89,    10,    -1,    91,    10,    -1,    90,    10,
       -1,    92,    10,    -1,    93,    10,    -1,    94,    10,    -1,
-      95,    10,    -1,   103,    -1,   262,   263,    -1,    -1,   264,
+      95,    10,    -1,   103,    -1,   270,   271,    -1,    -1,   272,
       -1,   104,    10,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   111,   111,   111,   112,   112,   113,   113,   114,   118,
-     123,   124,   125,   125,   125,   126,   126,   127,   127,   127,
-     128,   128,   128,   129,   129,   129,   130,   130,   131,   131,
-     132,   132,   133,   133,   134,   134,   135,   135,   136,   136,
-     137,   137,   138,   138,   138,   139,   139,   139,   140,   140,
-     140,   141,   141,   142,   142,   143,   143,   144,   144,   145,
-     145,   145,   146,   146,   147,   147,   148,   148,   148,   149,
-     149,   150,   150,   151,   151,   152,   152,   152,   153,   153,
-     154,   154,   155,   155,   156,   156,   157,   157,   158,   158,
-     158,   159,   159,   160,   160,   160,   161,   161,   161,   162,
-     162,   162,   163,   163,   163,   164,   164,   164,   165,   165,
-     165,   167,   179,   180,   181,   181,   181,   181,   181,   183,
-     195,   196,   197,   197,   197,   197,   199,   208,   217,   228,
-     237,   246,   255,   268,   283,   292,   301,   310,   319,   328,
-     337,   346,   355,   364,   373,   382,   391,   398,   405,   414,
-     423,   437,   446,   455,   462,   469,   476,   484,   491,   498,
-     505,   512,   520,   528,   536,   543,   550,   559,   568,   575,
-     582,   590,   598,   611,   622,   630,   643,   652,   661,   669,
-     682,   691,   699,   708,   716,   729,   736,   746,   756,   766,
-     776,   786,   796,   806,   813,   820,   829,   838,   847,   854,
-     864,   878,   885,   903,   916,   929,   938,   947,   956,   966,
-     976,   985,   994,  1001,  1010,  1019,  1028,  1036,  1049,  1057,
-    1079,  1086,  1101,  1111,  1121,  1127,  1137,  1144,  1151,  1160,
-    1170,  1180,  1187,  1194,  1203,  1208,  1209,  1210,  1210,  1210,
-    1211,  1211,  1211,  1212,  1214,  1224,  1233,  1240,  1247,  1254,
-    1261,  1268,  1273,  1274,  1275,  1277
+       0,   113,   113,   113,   114,   114,   115,   115,   116,   120,
+     125,   126,   127,   127,   127,   128,   128,   129,   129,   129,
+     130,   130,   130,   131,   131,   131,   132,   132,   133,   133,
+     134,   134,   135,   135,   136,   136,   137,   137,   138,   138,
+     139,   139,   140,   140,   140,   141,   141,   141,   142,   142,
+     142,   143,   143,   144,   144,   145,   145,   146,   146,   147,
+     147,   147,   148,   148,   149,   149,   150,   150,   150,   151,
+     151,   152,   152,   153,   153,   154,   154,   154,   155,   155,
+     156,   156,   157,   157,   158,   158,   159,   159,   160,   160,
+     160,   161,   161,   162,   162,   162,   163,   163,   163,   164,
+     164,   164,   165,   165,   165,   166,   166,   166,   167,   167,
+     168,   168,   169,   169,   170,   172,   184,   185,   186,   186,
+     186,   186,   186,   188,   200,   201,   202,   202,   202,   202,
+     204,   213,   222,   233,   242,   251,   260,   271,   286,   303,
+     320,   333,   348,   357,   366,   375,   384,   393,   402,   411,
+     420,   429,   438,   447,   456,   463,   470,   479,   488,   502,
+     511,   520,   527,   534,   541,   549,   556,   563,   570,   577,
+     585,   593,   601,   608,   615,   624,   633,   640,   647,   655,
+     663,   676,   687,   695,   708,   717,   726,   734,   747,   756,
+     764,   773,   781,   794,   801,   811,   821,   831,   841,   851,
+     861,   871,   878,   885,   894,   903,   912,   919,   929,   943,
+     950,   968,   981,   994,  1003,  1012,  1021,  1031,  1041,  1050,
+    1059,  1066,  1075,  1084,  1093,  1101,  1114,  1122,  1144,  1151,
+    1166,  1176,  1186,  1192,  1202,  1209,  1216,  1225,  1235,  1245,
+    1252,  1259,  1268,  1273,  1274,  1275,  1275,  1275,  1276,  1276,
+    1276,  1277,  1279,  1289,  1298,  1305,  1312,  1319,  1326,  1333,
+    1338,  1339,  1340,  1342
 };
 #endif
 
@@ -889,17 +910,22 @@ static const char *const yytname[] =
   "VAR_LOG_QUERIES", "VAR_TCP_UPSTREAM", "VAR_SSL_UPSTREAM",
   "VAR_SSL_SERVICE_KEY", "VAR_SSL_SERVICE_PEM", "VAR_SSL_PORT",
   "VAR_FORWARD_FIRST", "VAR_STUB_FIRST", "VAR_MINIMAL_RESPONSES",
-  "VAR_RRSET_ROUNDROBIN", "VAR_MAX_UDP_SIZE", "$accept", "toplevelvars",
-  "toplevelvar", "serverstart", "contents_server", "content_server",
-  "stubstart", "contents_stub", "content_stub", "forwardstart",
-  "contents_forward", "content_forward", "server_num_threads",
-  "server_verbosity", "server_statistics_interval",
+  "VAR_RRSET_ROUNDROBIN", "VAR_SEND_CLIENT_SUBNET",
+  "VAR_CLIENT_SUBNET_OPCODE", "VAR_MAX_CLIENT_SUBNET_IPV4",
+  "VAR_MAX_CLIENT_SUBNET_IPV6", "VAR_MAX_UDP_SIZE", "$accept",
+  "toplevelvars", "toplevelvar", "serverstart", "contents_server",
+  "content_server", "stubstart", "contents_stub", "content_stub",
+  "forwardstart", "contents_forward", "content_forward",
+  "server_num_threads", "server_verbosity", "server_statistics_interval",
   "server_statistics_cumulative", "server_extended_statistics",
-  "server_port", "server_interface", "server_outgoing_interface",
-  "server_outgoing_range", "server_outgoing_port_permit",
-  "server_outgoing_port_avoid", "server_outgoing_num_tcp",
-  "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4",
-  "server_do_ip6", "server_do_udp", "server_do_tcp", "server_tcp_upstream",
+  "server_port", "server_send_client_subnet",
+  "server_client_subnet_opcode", "server_max_client_subnet_ipv4",
+  "server_max_client_subnet_ipv6", "server_interface",
+  "server_outgoing_interface", "server_outgoing_range",
+  "server_outgoing_port_permit", "server_outgoing_port_avoid",
+  "server_outgoing_num_tcp", "server_incoming_num_tcp",
+  "server_interface_automatic", "server_do_ip4", "server_do_ip6",
+  "server_do_udp", "server_do_tcp", "server_tcp_upstream",
   "server_ssl_upstream", "server_ssl_service_key",
   "server_ssl_service_pem", "server_ssl_port", "server_do_daemonize",
   "server_use_syslog", "server_log_time_ascii", "server_log_queries",
@@ -961,26 +987,26 @@ static const yytype_uint16 yytoknum[] =
      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
+     385,   386,   387,   388,   389
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   131,   132,   132,   133,   133,   133,   133,   133,   134,
-     135,   135,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
-     136,   137,   138,   138,   139,   139,   139,   139,   139,   140,
-     141,   141,   142,   142,   142,   142,   143,   144,   145,   146,
+       0,   135,   136,   136,   137,   137,   137,   137,   137,   138,
+     139,   139,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+     140,   140,   140,   140,   140,   141,   142,   142,   143,   143,
+     143,   143,   143,   144,   145,   145,   146,   146,   146,   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,
@@ -991,9 +1017,10 @@ static const yytype_uint16 yyr1[] =
      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,   252,   253,   253,   253,
-     253,   253,   253,   253,   254,   255,   256,   257,   258,   259,
-     260,   261,   262,   262,   263,   264
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   260,   261,   261,   261,   261,   261,
+     261,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   270,   271,   272
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1010,30 +1037,31 @@ 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,     2,     0,     1,     1,     1,     1,     1,     1,
-       2,     0,     1,     1,     1,     1,     2,     2,     2,     2,
+       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
+       1,     1,     1,     1,     2,     0,     1,     1,     1,     1,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     3,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       3,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     3,
+       2,     2,     2,     2,     2,     2,     2,     3,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     1,     2,     0,     1,     1,     1,
-       1,     1,     1,     1,     2,     2,     2,     2,     2,     2,
-       2,     1,     2,     0,     1,     2
+       2,     2,     1,     2,     0,     1,     1,     1,     1,     1,
+       1,     1,     2,     2,     2,     2,     2,     2,     2,     1,
+       2,     0,     1,     2
 };
 
 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
    Performed when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
-static const yytype_uint8 yydefact[] =
+static const yytype_uint16 yydefact[] =
 {
-       2,     0,     1,     9,   111,   119,   234,   251,     3,    11,
-     113,   121,   236,   253,     4,     5,     6,     8,     7,     0,
+       2,     0,     1,     9,   115,   123,   242,   259,     3,    11,
+     117,   125,   244,   261,     4,     5,     6,     8,     7,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -1043,52 +1071,53 @@ static const yytype_uint8 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,    10,    12,
-      13,    69,    72,    81,    14,    20,    60,    15,    73,    74,
-      31,    53,    68,    16,    17,    18,    19,   103,   104,   105,
-     106,   107,    70,    59,    85,   102,    21,    22,    23,    24,
-      25,    61,    75,    76,    91,    47,    57,    48,    86,    41,
-      42,    43,    44,    95,    99,    96,    54,    26,    27,    28,
-      83,    29,    30,    32,    33,    35,    36,    34,    37,    38,
-      39,    45,    64,   100,    78,    71,    79,    80,    97,    98,
-      84,    40,    62,    65,    46,    49,    87,    88,    63,    89,
-      50,    51,    52,   101,    90,    58,    92,    93,    94,    55,
-      56,    77,    66,    67,    82,   108,   109,   110,     0,     0,
-       0,     0,     0,   112,   114,   115,   116,   118,   117,     0,
-       0,     0,     0,   120,   122,   123,   124,   125,     0,     0,
-       0,     0,     0,     0,     0,   235,   237,   239,   238,   240,
-     241,   242,   243,     0,   252,   254,   127,   126,   131,   134,
-     132,   140,   141,   142,   143,   153,   154,   155,   156,   157,
-     174,   175,   176,   178,   179,   137,   180,   181,   184,   182,
-     183,   185,   186,   187,   198,   166,   167,   168,   169,   188,
-     201,   162,   164,   202,   207,   208,   209,   138,   173,   216,
-     217,   163,   212,   150,   133,   158,   199,   205,   189,     0,
-       0,   220,   139,   128,   149,   192,   129,   135,   136,   159,
-     160,   218,   191,   193,   194,   130,   221,   177,   197,   151,
-     165,   203,   204,   206,   211,   161,   215,   213,   214,   170,
-     172,   195,   196,   171,   190,   210,   152,   144,   145,   146,
-     147,   148,   222,   223,   224,   225,   226,   227,   229,   228,
-     230,   231,   232,   233,   244,   246,   245,   247,   248,   249,
-     250,   255,   200,   219
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    10,    12,    13,    69,    72,    81,    14,   110,
+     111,   112,   113,    20,    60,    15,    73,    74,    31,    53,
+      68,    16,    17,    18,    19,   103,   104,   105,   106,   107,
+      70,    59,    85,   102,    21,    22,    23,    24,    25,    61,
+      75,    76,    91,    47,    57,    48,    86,    41,    42,    43,
+      44,    95,    99,    96,    54,    26,    27,    28,    83,    29,
+      30,    32,    33,    35,    36,    34,    37,    38,    39,    45,
+      64,   100,    78,    71,    79,    80,    97,    98,    84,    40,
+      62,    65,    46,    49,    87,    88,    63,    89,    50,    51,
+      52,   101,    90,    58,    92,    93,    94,    55,    56,    77,
+      66,    67,    82,   108,   109,   114,     0,     0,     0,     0,
+       0,   116,   118,   119,   120,   122,   121,     0,     0,     0,
+       0,   124,   126,   127,   128,   129,     0,     0,     0,     0,
+       0,     0,     0,   243,   245,   247,   246,   248,   249,   250,
+     251,     0,   260,   262,   131,   130,   135,   142,   140,   148,
+     149,   150,   151,   161,   162,   163,   164,   165,   182,   183,
+     184,   186,   187,   145,   188,   189,   192,   190,   191,   193,
+     194,   195,   206,   174,   175,   176,   177,   196,   209,   170,
+     172,   210,   215,   216,   217,   146,   181,   224,   225,   171,
+     220,   158,   141,   166,   207,   213,   197,     0,     0,   228,
+     147,   132,   157,   200,   133,   143,   144,   167,   168,   226,
+     199,   201,   202,   134,   229,   185,   205,   159,   173,   211,
+     212,   214,   219,   169,   223,   221,   222,   178,   180,   203,
+     204,   179,   198,   218,   160,   152,   153,   154,   155,   156,
+     230,   231,   136,   137,   138,   139,   232,   233,   234,   235,
+     237,   236,   238,   239,   240,   241,   252,   254,   253,   255,
+     256,   257,   258,   263,   208,   227
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,     8,     9,    14,   118,    10,    15,   223,    11,
-      16,   233,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   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,   172,   173,   174,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   224,   225,   226,   227,   228,   234,   235,   236,   237,
-      12,    17,   245,   246,   247,   248,   249,   250,   251,   252,
-      13,    18,   254,   255
+      -1,     1,     8,     9,    14,   122,    10,    15,   231,    11,
+      16,   241,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   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,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   232,   233,   234,   235,   236,
+     242,   243,   244,   245,    12,    17,   253,   254,   255,   256,
+     257,   258,   259,   260,    13,    18,   262,   263
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
@@ -1096,18 +1125,20 @@ static const yytype_int16 yydefgoto[] =
 #define YYPACT_NINF -80
 static const yytype_int16 yypact[] =
 {
-     -80,    76,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
-     -80,   -80,   -80,   -80,   -12,    40,    46,    32,   -79,    16,
-      17,    18,    22,    23,    24,    68,    71,    72,   105,   109,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   155,   156,   158,   159,   160,
-     161,   163,   164,   165,   166,   167,   168,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   -80,   -80,
+     -80,   114,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -12,    39,    46,    37,   -79,    16,
+      17,    18,    22,    23,    24,    67,    70,    71,    72,    77,
+     105,   113,   123,   124,   125,   126,   127,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     143,   144,   145,   146,   147,   149,   150,   151,   152,   153,
+     154,   155,   157,   158,   159,   160,   161,   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,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
@@ -1116,24 +1147,23 @@ static const yytype_int16 yypact[] =
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   220,   221,   222,   223,
+     224,   -80,   -80,   -80,   -80,   -80,   -80,   225,   226,   227,
+     228,   -80,   -80,   -80,   -80,   -80,   229,   230,   231,   232,
+     233,   234,   235,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   236,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
-     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   211,   212,
-     213,   214,   215,   -80,   -80,   -80,   -80,   -80,   -80,   216,
-     217,   218,   219,   -80,   -80,   -80,   -80,   -80,   220,   221,
-     222,   223,   224,   225,   226,   -80,   -80,   -80,   -80,   -80,
-     -80,   -80,   -80,   227,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   237,   238,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
-     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   228,
-     229,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
-     -80,   -80,   -80,   -80
+     -80,   -80,   -80,   -80,   -80,   -80
 };
 
 /* YYPGOTO[NTERM-NUM].  */
@@ -1152,7 +1182,7 @@ static const yytype_int8 yypgoto[] =
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
      -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
-     -80,   -80,   -80,   -80
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -1163,37 +1193,38 @@ static const yytype_uint16 yytable[] =
 {
       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,   253,   256,   257,   258,    44,
-      45,    46,   259,   260,   261,    47,    48,    49,    50,    51,
+      39,    40,    41,    42,    43,   261,   264,   265,   266,    44,
+      45,    46,   267,   268,   269,    47,    48,    49,    50,    51,
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,     2,   218,   262,   219,
-     220,   263,   264,   229,    88,    89,    90,     3,    91,    92,
-      93,   230,   231,    94,    95,    96,    97,    98,    99,   100,
+      82,    83,    84,    85,    86,    87,   226,   270,   227,   228,
+     271,   272,   273,   237,    88,    89,    90,   274,    91,    92,
+      93,   238,   239,    94,    95,    96,    97,    98,    99,   100,
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,     4,   265,   115,   116,   117,   266,
-       5,   238,   239,   240,   241,   242,   243,   244,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   221,
-     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
-     298,   299,   300,   301,     6,   302,   303,   222,   304,   305,
-     306,   307,   232,   308,   309,   310,   311,   312,   313,     7,
-     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
+     111,   112,   113,   114,     2,   275,   115,   116,   117,   118,
+     119,   120,   121,   276,     0,     3,   246,   247,   248,   249,
+     250,   251,   252,   277,   278,   279,   280,   281,   229,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,     4,   295,   296,   297,   298,   299,     5,   300,
+     301,   302,   303,   304,   305,   306,   230,   307,   308,   309,
+     310,   311,   240,   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,     6,   341,   342,   343,   344,   345,   346,   347,
+     348,   349,   350,   351,   352,   353,   354,     7,   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
 };
 
-#define yypact_value_is_default(yystate) \
-  ((yystate) == (-80))
+#define yypact_value_is_default(Yystate) \
+  (!!((Yystate) == (-80)))
 
-#define yytable_value_is_error(yytable_value) \
+#define yytable_value_is_error(Yytable_value) \
   YYID (0)
 
-static const yytype_uint8 yycheck[] =
+static const yytype_int16 yycheck[] =
 {
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
@@ -1202,31 +1233,32 @@ static const yytype_uint8 yycheck[] =
       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,     0,    37,    10,    39,
-      40,    10,    10,    37,    96,    97,    98,    11,   100,   101,
+      82,    83,    84,    85,    86,    87,    37,    10,    39,    40,
+      10,    10,    10,    37,    96,    97,    98,    10,   100,   101,
      102,    45,    46,   105,   106,   107,   108,   109,   110,   111,
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,    38,    10,   128,   129,   130,    10,
-      44,    89,    90,    91,    92,    93,    94,    95,    10,    10,
-      10,    10,    10,    10,    10,    10,    10,    10,    10,    99,
+     122,   123,   124,   125,     0,    10,   128,   129,   130,   131,
+     132,   133,   134,    10,    -1,    11,    89,    90,    91,    92,
+      93,    94,    95,    10,    10,    10,    10,    10,    99,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
+      10,    10,    38,    10,    10,    10,    10,    10,    44,    10,
+      10,    10,    10,    10,    10,    10,   127,    10,    10,    10,
+      10,    10,   126,    10,    10,    10,    10,    10,    10,    10,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
-      10,    10,    10,    10,    88,    10,    10,   127,    10,    10,
-      10,    10,   126,    10,    10,    10,    10,    10,    10,   103,
       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
+      10,    10,    88,    10,    10,    10,    10,    10,    10,    10,
+      10,    10,    10,    10,    10,    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,    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
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
-       0,   132,     0,    11,    38,    44,    88,   103,   133,   134,
-     137,   140,   251,   261,   135,   138,   141,   252,   262,    12,
+       0,   136,     0,    11,    38,    44,    88,   103,   137,   138,
+     141,   144,   259,   269,   139,   142,   145,   260,   270,    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,    41,    42,    43,    47,    48,    49,
@@ -1236,8 +1268,8 @@ static const yytype_uint16 yystos[] =
       80,    81,    82,    83,    84,    85,    86,    87,    96,    97,
       98,   100,   101,   102,   105,   106,   107,   108,   109,   110,
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   128,   129,   130,   136,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     121,   122,   123,   124,   125,   128,   129,   130,   131,   132,
+     133,   134,   140,   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,   182,   183,
@@ -1246,11 +1278,12 @@ static const yytype_uint16 yystos[] =
      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,    37,    39,
-      40,    99,   127,   139,   242,   243,   244,   245,   246,    37,
-      45,    46,   126,   142,   247,   248,   249,   250,    89,    90,
-      91,    92,    93,    94,    95,   253,   254,   255,   256,   257,
-     258,   259,   260,   104,   263,   264,    10,    10,    10,    10,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,    37,    39,    40,    99,
+     127,   143,   250,   251,   252,   253,   254,    37,    45,    46,
+     126,   146,   255,   256,   257,   258,    89,    90,    91,    92,
+      93,    94,    95,   261,   262,   263,   264,   265,   266,   267,
+     268,   104,   271,   272,    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,
@@ -1262,7 +1295,7 @@ 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
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1309,47 +1342,18 @@ do                                                              \
     }                                                          \
 while (YYID (0))
 
-
+/* Error token number */
 #define YYTERROR       1
 #define YYERRCODE      256
 
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-   If N is 0, then set CURRENT to the empty location which ends
-   the previous symbol: RHS[0] (always defined).  */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
-    do                                                                  \
-      if (YYID (N))                                                     \
-        {                                                               \
-          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
-          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
-          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
-          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
-        }                                                               \
-      else                                                              \
-        {                                                               \
-          (Current).first_line   = (Current).last_line   =              \
-            YYRHSLOC (Rhs, 0).last_line;                                \
-          (Current).first_column = (Current).last_column =              \
-            YYRHSLOC (Rhs, 0).last_column;                              \
-        }                                                               \
-    while (YYID (0))
-#endif
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-
-
 
 /* This macro is provided for backward compatibility. */
-
 #ifndef YY_LOCATION_PRINT
 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
 #endif
 
 
 /* YYLEX -- calling `yylex' with the right arguments.  */
-
 #ifdef YYLEX_PARAM
 # define YYLEX yylex (YYLEX_PARAM)
 #else
@@ -1409,11 +1413,7 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
 # else
   YYUSE (yyoutput);
 # endif
-  switch (yytype)
-    {
-      default:
-       break;
-    }
+  YYUSE (yytype);
 }
 
 
@@ -1654,7 +1654,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 {
   YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
-  YYSIZE_T yysize1;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
   const char *yyformat = YY_NULL;
@@ -1717,11 +1716,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                     break;
                   }
                 yyarg[yycount++] = yytname[yyx];
-                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
-                if (! (yysize <= yysize1
-                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-                  return 2;
-                yysize = yysize1;
+                {
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+                  if (! (yysize <= yysize1
+                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                    return 2;
+                  yysize = yysize1;
+                }
               }
         }
     }
@@ -1741,10 +1742,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
 # undef YYCASE_
     }
 
-  yysize1 = yysize + yystrlen (yyformat);
-  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
-    return 2;
-  yysize = yysize1;
+  {
+    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+      return 2;
+    yysize = yysize1;
+  }
 
   if (*yymsg_alloc < yysize)
     {
@@ -1800,12 +1803,7 @@ yydestruct (yymsg, yytype, yyvaluep)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
-  switch (yytype)
-    {
-
-      default:
-       break;
-    }
+  YYUSE (yytype);
 }
 
 
@@ -1814,8 +1812,17 @@ yydestruct (yymsg, yytype, yyvaluep)
 /* The lookahead symbol.  */
 int yychar;
 
+
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
 /* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval;
+YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
 
 /* Number of syntax errors so far.  */
 int yynerrs;
@@ -1873,7 +1880,7 @@ yyparse ()
   int yyn;
   int yyresult;
   /* Lookahead token as an internal (translated) token number.  */
-  int yytoken;
+  int yytoken = 0;
   /* The variables used to return semantic value and location from the
      action routines.  */
   YYSTYPE yyval;
@@ -1891,9 +1898,8 @@ yyparse ()
      Keep to zero when no symbol should be popped.  */
   int yylen = 0;
 
-  yytoken = 0;
-  yyss = yyssa;
-  yyvs = yyvsa;
+  yyssp = yyss = yyssa;
+  yyvsp = yyvs = yyvsa;
   yystacksize = YYINITDEPTH;
 
   YYDPRINTF ((stderr, "Starting parse\n"));
@@ -1902,13 +1908,6 @@ yyparse ()
   yyerrstatus = 0;
   yynerrs = 0;
   yychar = YYEMPTY; /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-  yyssp = yyss;
-  yyvsp = yyvs;
   goto yysetstate;
 
 /*------------------------------------------------------------.
@@ -2049,7 +2048,9 @@ yybackup:
   yychar = YYEMPTY;
 
   yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 
   goto yynewstate;
 
@@ -2087,15 +2088,15 @@ yyreduce:
     {
         case 9:
 /* Line 1787 of yacc.c  */
-#line 119 "./util/configparser.y"
+#line 121 "./util/configparser.y"
     { 
                OUTYY(("\nP(server:)\n")); 
        }
     break;
 
-  case 111:
+  case 115:
 /* Line 1787 of yacc.c  */
-#line 168 "./util/configparser.y"
+#line 173 "./util/configparser.y"
     {
                struct config_stub* s;
                OUTYY(("\nP(stub_zone:)\n")); 
@@ -2108,9 +2109,9 @@ yyreduce:
        }
     break;
 
-  case 119:
+  case 123:
 /* Line 1787 of yacc.c  */
-#line 184 "./util/configparser.y"
+#line 189 "./util/configparser.y"
     {
                struct config_stub* s;
                OUTYY(("\nP(forward_zone:)\n")); 
@@ -2123,9 +2124,9 @@ yyreduce:
        }
     break;
 
-  case 126:
+  case 130:
 /* Line 1787 of yacc.c  */
-#line 200 "./util/configparser.y"
+#line 205 "./util/configparser.y"
     { 
                OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str))); 
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2135,9 +2136,9 @@ yyreduce:
        }
     break;
 
-  case 127:
+  case 131:
 /* Line 1787 of yacc.c  */
-#line 209 "./util/configparser.y"
+#line 214 "./util/configparser.y"
     { 
                OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str))); 
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2147,9 +2148,9 @@ yyreduce:
        }
     break;
 
-  case 128:
+  case 132:
 /* Line 1787 of yacc.c  */
-#line 218 "./util/configparser.y"
+#line 223 "./util/configparser.y"
     { 
                OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str))); 
                if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
@@ -2161,9 +2162,9 @@ yyreduce:
        }
     break;
 
-  case 129:
+  case 133:
 /* Line 1787 of yacc.c  */
-#line 229 "./util/configparser.y"
+#line 234 "./util/configparser.y"
     {
                OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2173,9 +2174,9 @@ yyreduce:
        }
     break;
 
-  case 130:
+  case 134:
 /* Line 1787 of yacc.c  */
-#line 238 "./util/configparser.y"
+#line 243 "./util/configparser.y"
     {
                OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2185,9 +2186,9 @@ yyreduce:
        }
     break;
 
-  case 131:
+  case 135:
 /* Line 1787 of yacc.c  */
-#line 247 "./util/configparser.y"
+#line 252 "./util/configparser.y"
     {
                OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2197,9 +2198,81 @@ yyreduce:
        }
     break;
 
-  case 132:
+  case 136:
+/* Line 1787 of yacc.c  */
+#line 261 "./util/configparser.y"
+    {
+       #ifdef CLIENT_SUBNET
+               OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[(2) - (2)].str)));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[(2) - (2)].str)))
+                       fatal_exit("out of memory adding client-subnet");
+       #else
+               OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
+       #endif
+       }
+    break;
+
+  case 137:
+/* Line 1787 of yacc.c  */
+#line 272 "./util/configparser.y"
+    {
+       #ifdef CLIENT_SUBNET
+               OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[(2) - (2)].str)));
+               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+                       yyerror("option code expected");
+               else if(atoi((yyvsp[(2) - (2)].str)) > 65535 || atoi((yyvsp[(2) - (2)].str)) < 0)
+                       yyerror("option code must be in interval [0, 65535]");
+               else cfg_parser->cfg->client_subnet_opcode = atoi((yyvsp[(2) - (2)].str));
+               free((yyvsp[(2) - (2)].str));
+       #else
+               OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
+       #endif
+       }
+    break;
+
+  case 138:
+/* Line 1787 of yacc.c  */
+#line 287 "./util/configparser.y"
+    {
+       #ifdef CLIENT_SUBNET
+               OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[(2) - (2)].str)));
+               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+                       yyerror("IPv4 subnet length expected");
+               else if (atoi((yyvsp[(2) - (2)].str)) > 32)
+                       cfg_parser->cfg->max_client_subnet_ipv4 = 32;
+               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+                       cfg_parser->cfg->max_client_subnet_ipv4 = 0;
+               else cfg_parser->cfg->max_client_subnet_ipv4 = atoi((yyvsp[(2) - (2)].str));
+               free((yyvsp[(2) - (2)].str));
+       #else
+               OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
+       #endif
+       }
+    break;
+
+  case 139:
+/* Line 1787 of yacc.c  */
+#line 304 "./util/configparser.y"
+    {
+       #ifdef CLIENT_SUBNET
+               OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[(2) - (2)].str)));
+               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+                       yyerror("Ipv6 subnet length expected");
+               else if (atoi((yyvsp[(2) - (2)].str)) > 128)
+                       cfg_parser->cfg->max_client_subnet_ipv6 = 128;
+               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+                       cfg_parser->cfg->max_client_subnet_ipv6 = 0;
+               else cfg_parser->cfg->max_client_subnet_ipv6 = atoi((yyvsp[(2) - (2)].str));
+               free((yyvsp[(2) - (2)].str));
+       #else
+               OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
+       #endif
+       }
+    break;
+
+  case 140:
 /* Line 1787 of yacc.c  */
-#line 256 "./util/configparser.y"
+#line 321 "./util/configparser.y"
     {
                OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
                if(cfg_parser->cfg->num_ifs == 0)
@@ -2213,9 +2286,9 @@ yyreduce:
        }
     break;
 
-  case 133:
+  case 141:
 /* Line 1787 of yacc.c  */
-#line 269 "./util/configparser.y"
+#line 334 "./util/configparser.y"
     {
                OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
                if(cfg_parser->cfg->num_out_ifs == 0)
@@ -2231,9 +2304,9 @@ yyreduce:
        }
     break;
 
-  case 134:
+  case 142:
 /* Line 1787 of yacc.c  */
-#line 284 "./util/configparser.y"
+#line 349 "./util/configparser.y"
     {
                OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2243,9 +2316,9 @@ yyreduce:
        }
     break;
 
-  case 135:
+  case 143:
 /* Line 1787 of yacc.c  */
-#line 293 "./util/configparser.y"
+#line 358 "./util/configparser.y"
     {
                OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1, 
@@ -2255,9 +2328,9 @@ yyreduce:
        }
     break;
 
-  case 136:
+  case 144:
 /* Line 1787 of yacc.c  */
-#line 302 "./util/configparser.y"
+#line 367 "./util/configparser.y"
     {
                OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0, 
@@ -2267,9 +2340,9 @@ yyreduce:
        }
     break;
 
-  case 137:
+  case 145:
 /* Line 1787 of yacc.c  */
-#line 311 "./util/configparser.y"
+#line 376 "./util/configparser.y"
     {
                OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2279,9 +2352,9 @@ yyreduce:
        }
     break;
 
-  case 138:
+  case 146:
 /* Line 1787 of yacc.c  */
-#line 320 "./util/configparser.y"
+#line 385 "./util/configparser.y"
     {
                OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2291,9 +2364,9 @@ yyreduce:
        }
     break;
 
-  case 139:
+  case 147:
 /* Line 1787 of yacc.c  */
-#line 329 "./util/configparser.y"
+#line 394 "./util/configparser.y"
     {
                OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2303,9 +2376,9 @@ yyreduce:
        }
     break;
 
-  case 140:
+  case 148:
 /* Line 1787 of yacc.c  */
-#line 338 "./util/configparser.y"
+#line 403 "./util/configparser.y"
     {
                OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2315,9 +2388,9 @@ yyreduce:
        }
     break;
 
-  case 141:
+  case 149:
 /* Line 1787 of yacc.c  */
-#line 347 "./util/configparser.y"
+#line 412 "./util/configparser.y"
     {
                OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2327,9 +2400,9 @@ yyreduce:
        }
     break;
 
-  case 142:
+  case 150:
 /* Line 1787 of yacc.c  */
-#line 356 "./util/configparser.y"
+#line 421 "./util/configparser.y"
     {
                OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2339,9 +2412,9 @@ yyreduce:
        }
     break;
 
-  case 143:
+  case 151:
 /* Line 1787 of yacc.c  */
-#line 365 "./util/configparser.y"
+#line 430 "./util/configparser.y"
     {
                OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2351,9 +2424,9 @@ yyreduce:
        }
     break;
 
-  case 144:
+  case 152:
 /* Line 1787 of yacc.c  */
-#line 374 "./util/configparser.y"
+#line 439 "./util/configparser.y"
     {
                OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2363,9 +2436,9 @@ yyreduce:
        }
     break;
 
-  case 145:
+  case 153:
 /* Line 1787 of yacc.c  */
-#line 383 "./util/configparser.y"
+#line 448 "./util/configparser.y"
     {
                OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2375,9 +2448,9 @@ yyreduce:
        }
     break;
 
-  case 146:
+  case 154:
 /* Line 1787 of yacc.c  */
-#line 392 "./util/configparser.y"
+#line 457 "./util/configparser.y"
     {
                OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->ssl_service_key);
@@ -2385,9 +2458,9 @@ yyreduce:
        }
     break;
 
-  case 147:
+  case 155:
 /* Line 1787 of yacc.c  */
-#line 399 "./util/configparser.y"
+#line 464 "./util/configparser.y"
     {
                OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->ssl_service_pem);
@@ -2395,9 +2468,9 @@ yyreduce:
        }
     break;
 
-  case 148:
+  case 156:
 /* Line 1787 of yacc.c  */
-#line 406 "./util/configparser.y"
+#line 471 "./util/configparser.y"
     {
                OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2407,9 +2480,9 @@ yyreduce:
        }
     break;
 
-  case 149:
+  case 157:
 /* Line 1787 of yacc.c  */
-#line 415 "./util/configparser.y"
+#line 480 "./util/configparser.y"
     {
                OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2419,9 +2492,9 @@ yyreduce:
        }
     break;
 
-  case 150:
+  case 158:
 /* Line 1787 of yacc.c  */
-#line 424 "./util/configparser.y"
+#line 489 "./util/configparser.y"
     {
                OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2436,9 +2509,9 @@ yyreduce:
        }
     break;
 
-  case 151:
+  case 159:
 /* Line 1787 of yacc.c  */
-#line 438 "./util/configparser.y"
+#line 503 "./util/configparser.y"
     {
                OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2448,9 +2521,9 @@ yyreduce:
        }
     break;
 
-  case 152:
+  case 160:
 /* Line 1787 of yacc.c  */
-#line 447 "./util/configparser.y"
+#line 512 "./util/configparser.y"
     {
                OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2460,9 +2533,9 @@ yyreduce:
        }
     break;
 
-  case 153:
+  case 161:
 /* Line 1787 of yacc.c  */
-#line 456 "./util/configparser.y"
+#line 521 "./util/configparser.y"
     {
                OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->chrootdir);
@@ -2470,9 +2543,9 @@ yyreduce:
        }
     break;
 
-  case 154:
+  case 162:
 /* Line 1787 of yacc.c  */
-#line 463 "./util/configparser.y"
+#line 528 "./util/configparser.y"
     {
                OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->username);
@@ -2480,9 +2553,9 @@ yyreduce:
        }
     break;
 
-  case 155:
+  case 163:
 /* Line 1787 of yacc.c  */
-#line 470 "./util/configparser.y"
+#line 535 "./util/configparser.y"
     {
                OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->directory);
@@ -2490,9 +2563,9 @@ yyreduce:
        }
     break;
 
-  case 156:
+  case 164:
 /* Line 1787 of yacc.c  */
-#line 477 "./util/configparser.y"
+#line 542 "./util/configparser.y"
     {
                OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->logfile);
@@ -2501,9 +2574,9 @@ yyreduce:
        }
     break;
 
-  case 157:
+  case 165:
 /* Line 1787 of yacc.c  */
-#line 485 "./util/configparser.y"
+#line 550 "./util/configparser.y"
     {
                OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->pidfile);
@@ -2511,9 +2584,9 @@ yyreduce:
        }
     break;
 
-  case 158:
+  case 166:
 /* Line 1787 of yacc.c  */
-#line 492 "./util/configparser.y"
+#line 557 "./util/configparser.y"
     {
                OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str)))
@@ -2521,9 +2594,9 @@ yyreduce:
        }
     break;
 
-  case 159:
+  case 167:
 /* Line 1787 of yacc.c  */
-#line 499 "./util/configparser.y"
+#line 564 "./util/configparser.y"
     {
                OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->dlv_anchor_file);
@@ -2531,9 +2604,9 @@ yyreduce:
        }
     break;
 
-  case 160:
+  case 168:
 /* Line 1787 of yacc.c  */
-#line 506 "./util/configparser.y"
+#line 571 "./util/configparser.y"
     {
                OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2541,9 +2614,9 @@ yyreduce:
        }
     break;
 
-  case 161:
+  case 169:
 /* Line 1787 of yacc.c  */
-#line 513 "./util/configparser.y"
+#line 578 "./util/configparser.y"
     {
                OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2552,9 +2625,9 @@ yyreduce:
        }
     break;
 
-  case 162:
+  case 170:
 /* Line 1787 of yacc.c  */
-#line 521 "./util/configparser.y"
+#line 586 "./util/configparser.y"
     {
                OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2563,9 +2636,9 @@ yyreduce:
        }
     break;
 
-  case 163:
+  case 171:
 /* Line 1787 of yacc.c  */
-#line 529 "./util/configparser.y"
+#line 594 "./util/configparser.y"
     {
                OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2574,9 +2647,9 @@ yyreduce:
        }
     break;
 
-  case 164:
+  case 172:
 /* Line 1787 of yacc.c  */
-#line 537 "./util/configparser.y"
+#line 602 "./util/configparser.y"
     {
                OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2584,9 +2657,9 @@ yyreduce:
        }
     break;
 
-  case 165:
+  case 173:
 /* Line 1787 of yacc.c  */
-#line 544 "./util/configparser.y"
+#line 609 "./util/configparser.y"
     {
                OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str)))
@@ -2594,9 +2667,9 @@ yyreduce:
        }
     break;
 
-  case 166:
+  case 174:
 /* Line 1787 of yacc.c  */
-#line 551 "./util/configparser.y"
+#line 616 "./util/configparser.y"
     {
                OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2606,9 +2679,9 @@ yyreduce:
        }
     break;
 
-  case 167:
+  case 175:
 /* Line 1787 of yacc.c  */
-#line 560 "./util/configparser.y"
+#line 625 "./util/configparser.y"
     {
                OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2618,9 +2691,9 @@ yyreduce:
        }
     break;
 
-  case 168:
+  case 176:
 /* Line 1787 of yacc.c  */
-#line 569 "./util/configparser.y"
+#line 634 "./util/configparser.y"
     {
                OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->identity);
@@ -2628,9 +2701,9 @@ yyreduce:
        }
     break;
 
-  case 169:
+  case 177:
 /* Line 1787 of yacc.c  */
-#line 576 "./util/configparser.y"
+#line 641 "./util/configparser.y"
     {
                OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->version);
@@ -2638,9 +2711,9 @@ yyreduce:
        }
     break;
 
-  case 170:
+  case 178:
 /* Line 1787 of yacc.c  */
-#line 583 "./util/configparser.y"
+#line 648 "./util/configparser.y"
     {
                OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf))
@@ -2649,9 +2722,9 @@ yyreduce:
        }
     break;
 
-  case 171:
+  case 179:
 /* Line 1787 of yacc.c  */
-#line 591 "./util/configparser.y"
+#line 656 "./util/configparser.y"
     {
                OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf))
@@ -2660,9 +2733,9 @@ yyreduce:
        }
     break;
 
-  case 172:
+  case 180:
 /* Line 1787 of yacc.c  */
-#line 599 "./util/configparser.y"
+#line 664 "./util/configparser.y"
     {
                OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2676,9 +2749,9 @@ yyreduce:
        }
     break;
 
-  case 173:
+  case 181:
 /* Line 1787 of yacc.c  */
-#line 612 "./util/configparser.y"
+#line 677 "./util/configparser.y"
     {
                OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2690,9 +2763,9 @@ yyreduce:
        }
     break;
 
-  case 174:
+  case 182:
 /* Line 1787 of yacc.c  */
-#line 623 "./util/configparser.y"
+#line 688 "./util/configparser.y"
     {
                OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size))
@@ -2701,9 +2774,9 @@ yyreduce:
        }
     break;
 
-  case 175:
+  case 183:
 /* Line 1787 of yacc.c  */
-#line 631 "./util/configparser.y"
+#line 696 "./util/configparser.y"
     {
                OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2717,9 +2790,9 @@ yyreduce:
        }
     break;
 
-  case 176:
+  case 184:
 /* Line 1787 of yacc.c  */
-#line 644 "./util/configparser.y"
+#line 709 "./util/configparser.y"
     {
                OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2729,9 +2802,9 @@ yyreduce:
        }
     break;
 
-  case 177:
+  case 185:
 /* Line 1787 of yacc.c  */
-#line 653 "./util/configparser.y"
+#line 718 "./util/configparser.y"
     {
                OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2741,9 +2814,9 @@ yyreduce:
        }
     break;
 
-  case 178:
+  case 186:
 /* Line 1787 of yacc.c  */
-#line 662 "./util/configparser.y"
+#line 727 "./util/configparser.y"
     {
                OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size))
@@ -2752,9 +2825,9 @@ yyreduce:
        }
     break;
 
-  case 179:
+  case 187:
 /* Line 1787 of yacc.c  */
-#line 670 "./util/configparser.y"
+#line 735 "./util/configparser.y"
     {
                OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2768,9 +2841,9 @@ yyreduce:
        }
     break;
 
-  case 180:
+  case 188:
 /* Line 1787 of yacc.c  */
-#line 683 "./util/configparser.y"
+#line 748 "./util/configparser.y"
     {
                OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2780,9 +2853,9 @@ yyreduce:
        }
     break;
 
-  case 181:
+  case 189:
 /* Line 1787 of yacc.c  */
-#line 692 "./util/configparser.y"
+#line 757 "./util/configparser.y"
     {
                OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
                verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
@@ -2791,9 +2864,9 @@ yyreduce:
        }
     break;
 
-  case 182:
+  case 190:
 /* Line 1787 of yacc.c  */
-#line 700 "./util/configparser.y"
+#line 765 "./util/configparser.y"
     {
                OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2803,9 +2876,9 @@ yyreduce:
        }
     break;
 
-  case 183:
+  case 191:
 /* Line 1787 of yacc.c  */
-#line 709 "./util/configparser.y"
+#line 774 "./util/configparser.y"
     {
                OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
                verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
@@ -2814,9 +2887,9 @@ yyreduce:
        }
     break;
 
-  case 184:
+  case 192:
 /* Line 1787 of yacc.c  */
-#line 717 "./util/configparser.y"
+#line 782 "./util/configparser.y"
     {
                OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2830,9 +2903,9 @@ yyreduce:
        }
     break;
 
-  case 185:
+  case 193:
 /* Line 1787 of yacc.c  */
-#line 730 "./util/configparser.y"
+#line 795 "./util/configparser.y"
     {
                OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->target_fetch_policy);
@@ -2840,9 +2913,9 @@ yyreduce:
        }
     break;
 
-  case 186:
+  case 194:
 /* Line 1787 of yacc.c  */
-#line 737 "./util/configparser.y"
+#line 802 "./util/configparser.y"
     {
                OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2853,9 +2926,9 @@ yyreduce:
        }
     break;
 
-  case 187:
+  case 195:
 /* Line 1787 of yacc.c  */
-#line 747 "./util/configparser.y"
+#line 812 "./util/configparser.y"
     {
                OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2866,9 +2939,9 @@ yyreduce:
        }
     break;
 
-  case 188:
+  case 196:
 /* Line 1787 of yacc.c  */
-#line 757 "./util/configparser.y"
+#line 822 "./util/configparser.y"
     {
                OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2879,9 +2952,9 @@ yyreduce:
        }
     break;
 
-  case 189:
+  case 197:
 /* Line 1787 of yacc.c  */
-#line 767 "./util/configparser.y"
+#line 832 "./util/configparser.y"
     {
                OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2892,9 +2965,9 @@ yyreduce:
        }
     break;
 
-  case 190:
+  case 198:
 /* Line 1787 of yacc.c  */
-#line 777 "./util/configparser.y"
+#line 842 "./util/configparser.y"
     {
                OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2905,9 +2978,9 @@ yyreduce:
        }
     break;
 
-  case 191:
+  case 199:
 /* Line 1787 of yacc.c  */
-#line 787 "./util/configparser.y"
+#line 852 "./util/configparser.y"
     {
                OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2918,9 +2991,9 @@ yyreduce:
        }
     break;
 
-  case 192:
+  case 200:
 /* Line 1787 of yacc.c  */
-#line 797 "./util/configparser.y"
+#line 862 "./util/configparser.y"
     {
                OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2931,9 +3004,9 @@ yyreduce:
        }
     break;
 
-  case 193:
+  case 201:
 /* Line 1787 of yacc.c  */
-#line 807 "./util/configparser.y"
+#line 872 "./util/configparser.y"
     {
                OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str)))
@@ -2941,9 +3014,9 @@ yyreduce:
        }
     break;
 
-  case 194:
+  case 202:
 /* Line 1787 of yacc.c  */
-#line 814 "./util/configparser.y"
+#line 879 "./util/configparser.y"
     {
                OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str)))
@@ -2951,9 +3024,9 @@ yyreduce:
        }
     break;
 
-  case 195:
+  case 203:
 /* Line 1787 of yacc.c  */
-#line 821 "./util/configparser.y"
+#line 886 "./util/configparser.y"
     {
                OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2963,9 +3036,9 @@ yyreduce:
        }
     break;
 
-  case 196:
+  case 204:
 /* Line 1787 of yacc.c  */
-#line 830 "./util/configparser.y"
+#line 895 "./util/configparser.y"
     {
                OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2975,9 +3048,9 @@ yyreduce:
        }
     break;
 
-  case 197:
+  case 205:
 /* Line 1787 of yacc.c  */
-#line 839 "./util/configparser.y"
+#line 904 "./util/configparser.y"
     {
                OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2987,9 +3060,9 @@ yyreduce:
        }
     break;
 
-  case 198:
+  case 206:
 /* Line 1787 of yacc.c  */
-#line 848 "./util/configparser.y"
+#line 913 "./util/configparser.y"
     {
                OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str)))
@@ -2997,9 +3070,9 @@ yyreduce:
        }
     break;
 
-  case 199:
+  case 207:
 /* Line 1787 of yacc.c  */
-#line 855 "./util/configparser.y"
+#line 920 "./util/configparser.y"
     {
                OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3010,9 +3083,9 @@ yyreduce:
        }
     break;
 
-  case 200:
+  case 208:
 /* Line 1787 of yacc.c  */
-#line 865 "./util/configparser.y"
+#line 930 "./util/configparser.y"
     {
                OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
                if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 &&
@@ -3027,9 +3100,9 @@ yyreduce:
        }
     break;
 
-  case 201:
+  case 209:
 /* Line 1787 of yacc.c  */
-#line 879 "./util/configparser.y"
+#line 944 "./util/configparser.y"
     {
                OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->module_conf);
@@ -3037,9 +3110,9 @@ yyreduce:
        }
     break;
 
-  case 202:
+  case 210:
 /* Line 1787 of yacc.c  */
-#line 886 "./util/configparser.y"
+#line 951 "./util/configparser.y"
     {
                OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3058,9 +3131,9 @@ yyreduce:
        }
     break;
 
-  case 203:
+  case 211:
 /* Line 1787 of yacc.c  */
-#line 904 "./util/configparser.y"
+#line 969 "./util/configparser.y"
     {
                OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3074,9 +3147,9 @@ yyreduce:
        }
     break;
 
-  case 204:
+  case 212:
 /* Line 1787 of yacc.c  */
-#line 917 "./util/configparser.y"
+#line 982 "./util/configparser.y"
     {
                OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3090,9 +3163,9 @@ yyreduce:
        }
     break;
 
-  case 205:
+  case 213:
 /* Line 1787 of yacc.c  */
-#line 930 "./util/configparser.y"
+#line 995 "./util/configparser.y"
     {
                OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3102,9 +3175,9 @@ yyreduce:
        }
     break;
 
-  case 206:
+  case 214:
 /* Line 1787 of yacc.c  */
-#line 939 "./util/configparser.y"
+#line 1004 "./util/configparser.y"
     {
                OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3114,9 +3187,9 @@ yyreduce:
        }
     break;
 
-  case 207:
+  case 215:
 /* Line 1787 of yacc.c  */
-#line 948 "./util/configparser.y"
+#line 1013 "./util/configparser.y"
     {
                OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3126,9 +3199,9 @@ yyreduce:
        }
     break;
 
-  case 208:
+  case 216:
 /* Line 1787 of yacc.c  */
-#line 957 "./util/configparser.y"
+#line 1022 "./util/configparser.y"
     {
                OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3139,9 +3212,9 @@ yyreduce:
        }
     break;
 
-  case 209:
+  case 217:
 /* Line 1787 of yacc.c  */
-#line 967 "./util/configparser.y"
+#line 1032 "./util/configparser.y"
     {
                OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3152,9 +3225,9 @@ yyreduce:
        }
     break;
 
-  case 210:
+  case 218:
 /* Line 1787 of yacc.c  */
-#line 977 "./util/configparser.y"
+#line 1042 "./util/configparser.y"
     {
                OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3164,9 +3237,9 @@ yyreduce:
        }
     break;
 
-  case 211:
+  case 219:
 /* Line 1787 of yacc.c  */
-#line 986 "./util/configparser.y"
+#line 1051 "./util/configparser.y"
     {
                OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3176,9 +3249,9 @@ yyreduce:
        }
     break;
 
-  case 212:
+  case 220:
 /* Line 1787 of yacc.c  */
-#line 995 "./util/configparser.y"
+#line 1060 "./util/configparser.y"
     {
                OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->val_nsec3_key_iterations);
@@ -3186,9 +3259,9 @@ yyreduce:
        }
     break;
 
-  case 213:
+  case 221:
 /* Line 1787 of yacc.c  */
-#line 1002 "./util/configparser.y"
+#line 1067 "./util/configparser.y"
     {
                OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3198,9 +3271,9 @@ yyreduce:
        }
     break;
 
-  case 214:
+  case 222:
 /* Line 1787 of yacc.c  */
-#line 1011 "./util/configparser.y"
+#line 1076 "./util/configparser.y"
     {
                OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3210,9 +3283,9 @@ yyreduce:
        }
     break;
 
-  case 215:
+  case 223:
 /* Line 1787 of yacc.c  */
-#line 1020 "./util/configparser.y"
+#line 1085 "./util/configparser.y"
     {
                OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3222,9 +3295,9 @@ yyreduce:
        }
     break;
 
-  case 216:
+  case 224:
 /* Line 1787 of yacc.c  */
-#line 1029 "./util/configparser.y"
+#line 1094 "./util/configparser.y"
     {
                OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size))
@@ -3233,9 +3306,9 @@ yyreduce:
        }
     break;
 
-  case 217:
+  case 225:
 /* Line 1787 of yacc.c  */
-#line 1037 "./util/configparser.y"
+#line 1102 "./util/configparser.y"
     {
                OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3249,9 +3322,9 @@ yyreduce:
        }
     break;
 
-  case 218:
+  case 226:
 /* Line 1787 of yacc.c  */
-#line 1050 "./util/configparser.y"
+#line 1115 "./util/configparser.y"
     {
                OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size))
@@ -3260,9 +3333,9 @@ yyreduce:
        }
     break;
 
-  case 219:
+  case 227:
 /* Line 1787 of yacc.c  */
-#line 1058 "./util/configparser.y"
+#line 1123 "./util/configparser.y"
     {
                OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
                if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
@@ -3285,9 +3358,9 @@ yyreduce:
        }
     break;
 
-  case 220:
+  case 228:
 /* Line 1787 of yacc.c  */
-#line 1080 "./util/configparser.y"
+#line 1145 "./util/configparser.y"
     {
                OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str)))
@@ -3295,9 +3368,9 @@ yyreduce:
        }
     break;
 
-  case 221:
+  case 229:
 /* Line 1787 of yacc.c  */
-#line 1087 "./util/configparser.y"
+#line 1152 "./util/configparser.y"
     {
                char* ptr;
                OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
@@ -3313,9 +3386,9 @@ yyreduce:
        }
     break;
 
-  case 222:
+  case 230:
 /* Line 1787 of yacc.c  */
-#line 1102 "./util/configparser.y"
+#line 1167 "./util/configparser.y"
     {
                OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3326,9 +3399,9 @@ yyreduce:
        }
     break;
 
-  case 223:
+  case 231:
 /* Line 1787 of yacc.c  */
-#line 1112 "./util/configparser.y"
+#line 1177 "./util/configparser.y"
     {
                OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3339,18 +3412,18 @@ yyreduce:
        }
     break;
 
-  case 224:
+  case 232:
 /* Line 1787 of yacc.c  */
-#line 1122 "./util/configparser.y"
+#line 1187 "./util/configparser.y"
     {
                OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
                cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
        }
     break;
 
-  case 225:
+  case 233:
 /* Line 1787 of yacc.c  */
-#line 1128 "./util/configparser.y"
+#line 1193 "./util/configparser.y"
     {
                OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
                if(cfg_parser->cfg->stubs->name)
@@ -3361,9 +3434,9 @@ yyreduce:
        }
     break;
 
-  case 226:
+  case 234:
 /* Line 1787 of yacc.c  */
-#line 1138 "./util/configparser.y"
+#line 1203 "./util/configparser.y"
     {
                OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str)))
@@ -3371,9 +3444,9 @@ yyreduce:
        }
     break;
 
-  case 227:
+  case 235:
 /* Line 1787 of yacc.c  */
-#line 1145 "./util/configparser.y"
+#line 1210 "./util/configparser.y"
     {
                OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str)))
@@ -3381,9 +3454,9 @@ yyreduce:
        }
     break;
 
-  case 228:
+  case 236:
 /* Line 1787 of yacc.c  */
-#line 1152 "./util/configparser.y"
+#line 1217 "./util/configparser.y"
     {
                OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3393,9 +3466,9 @@ yyreduce:
        }
     break;
 
-  case 229:
+  case 237:
 /* Line 1787 of yacc.c  */
-#line 1161 "./util/configparser.y"
+#line 1226 "./util/configparser.y"
     {
                OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3406,9 +3479,9 @@ yyreduce:
        }
     break;
 
-  case 230:
+  case 238:
 /* Line 1787 of yacc.c  */
-#line 1171 "./util/configparser.y"
+#line 1236 "./util/configparser.y"
     {
                OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
                if(cfg_parser->cfg->forwards->name)
@@ -3419,9 +3492,9 @@ yyreduce:
        }
     break;
 
-  case 231:
+  case 239:
 /* Line 1787 of yacc.c  */
-#line 1181 "./util/configparser.y"
+#line 1246 "./util/configparser.y"
     {
                OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str)))
@@ -3429,9 +3502,9 @@ yyreduce:
        }
     break;
 
-  case 232:
+  case 240:
 /* Line 1787 of yacc.c  */
-#line 1188 "./util/configparser.y"
+#line 1253 "./util/configparser.y"
     {
                OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str)))
@@ -3439,9 +3512,9 @@ yyreduce:
        }
     break;
 
-  case 233:
+  case 241:
 /* Line 1787 of yacc.c  */
-#line 1195 "./util/configparser.y"
+#line 1260 "./util/configparser.y"
     {
                OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3451,17 +3524,17 @@ yyreduce:
        }
     break;
 
-  case 234:
+  case 242:
 /* Line 1787 of yacc.c  */
-#line 1204 "./util/configparser.y"
+#line 1269 "./util/configparser.y"
     { 
                OUTYY(("\nP(remote-control:)\n")); 
        }
     break;
 
-  case 244:
+  case 252:
 /* Line 1787 of yacc.c  */
-#line 1215 "./util/configparser.y"
+#line 1280 "./util/configparser.y"
     {
                OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str)));
                if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3472,9 +3545,9 @@ yyreduce:
        }
     break;
 
-  case 245:
+  case 253:
 /* Line 1787 of yacc.c  */
-#line 1225 "./util/configparser.y"
+#line 1290 "./util/configparser.y"
     {
                OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
                if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3484,9 +3557,9 @@ yyreduce:
        }
     break;
 
-  case 246:
+  case 254:
 /* Line 1787 of yacc.c  */
-#line 1234 "./util/configparser.y"
+#line 1299 "./util/configparser.y"
     {
                OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str)))
@@ -3494,9 +3567,9 @@ yyreduce:
        }
     break;
 
-  case 247:
+  case 255:
 /* Line 1787 of yacc.c  */
-#line 1241 "./util/configparser.y"
+#line 1306 "./util/configparser.y"
     {
                OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->server_key_file);
@@ -3504,9 +3577,9 @@ yyreduce:
        }
     break;
 
-  case 248:
+  case 256:
 /* Line 1787 of yacc.c  */
-#line 1248 "./util/configparser.y"
+#line 1313 "./util/configparser.y"
     {
                OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->server_cert_file);
@@ -3514,9 +3587,9 @@ yyreduce:
        }
     break;
 
-  case 249:
+  case 257:
 /* Line 1787 of yacc.c  */
-#line 1255 "./util/configparser.y"
+#line 1320 "./util/configparser.y"
     {
                OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->control_key_file);
@@ -3524,9 +3597,9 @@ yyreduce:
        }
     break;
 
-  case 250:
+  case 258:
 /* Line 1787 of yacc.c  */
-#line 1262 "./util/configparser.y"
+#line 1327 "./util/configparser.y"
     {
                OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->control_cert_file);
@@ -3534,17 +3607,17 @@ yyreduce:
        }
     break;
 
-  case 251:
+  case 259:
 /* Line 1787 of yacc.c  */
-#line 1269 "./util/configparser.y"
+#line 1334 "./util/configparser.y"
     { 
                OUTYY(("\nP(python:)\n")); 
        }
     break;
 
-  case 255:
+  case 263:
 /* Line 1787 of yacc.c  */
-#line 1278 "./util/configparser.y"
+#line 1343 "./util/configparser.y"
     {
                OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
                free(cfg_parser->cfg->python_script);
@@ -3554,7 +3627,7 @@ yyreduce:
 
 
 /* Line 1787 of yacc.c  */
-#line 3558 "util/configparser.c"
+#line 3631 "util/configparser.c"
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -3717,7 +3790,9 @@ yyerrlab1:
       YY_STACK_PRINT (yyss, yyssp);
     }
 
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 
 
   /* Shift the error token.  */
@@ -3783,9 +3858,8 @@ yyreturn:
 }
 
 
-/* Line 2048 of yacc.c  */
-#line 1283 "./util/configparser.y"
+/* Line 2050 of yacc.c  */
+#line 1348 "./util/configparser.y"
 
 
 /* parse helper routines could be here */
-
index a862769de20620799236df334492ce63b71107fa..c41efc4c7a0eba62c2312453257de0803e3b6070 100644 (file)
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 2.6.1.  */
+/* A Bison parser, made by GNU Bison 2.7.12-4996.  */
 
 /* Bison interface for Yacc-like parsers in C
    
-      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -30,8 +30,8 @@
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
-#ifndef YY_UTIL_CONFIGPARSER_H
-# define YY_UTIL_CONFIGPARSER_H
+#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
+# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
 /* Enabling traces.  */
 #ifndef YYDEBUG
 # define YYDEBUG 0
@@ -173,7 +173,11 @@ extern int yydebug;
      VAR_STUB_FIRST = 382,
      VAR_MINIMAL_RESPONSES = 383,
      VAR_RRSET_ROUNDROBIN = 384,
-     VAR_MAX_UDP_SIZE = 385
+     VAR_SEND_CLIENT_SUBNET = 385,
+     VAR_CLIENT_SUBNET_OPCODE = 386,
+     VAR_MAX_CLIENT_SUBNET_IPV4 = 387,
+     VAR_MAX_CLIENT_SUBNET_IPV6 = 388,
+     VAR_MAX_UDP_SIZE = 389
    };
 #endif
 /* Tokens.  */
@@ -304,21 +308,25 @@ extern int yydebug;
 #define VAR_STUB_FIRST 382
 #define VAR_MINIMAL_RESPONSES 383
 #define VAR_RRSET_ROUNDROBIN 384
-#define VAR_MAX_UDP_SIZE 385
+#define VAR_SEND_CLIENT_SUBNET 385
+#define VAR_CLIENT_SUBNET_OPCODE 386
+#define VAR_MAX_CLIENT_SUBNET_IPV4 387
+#define VAR_MAX_CLIENT_SUBNET_IPV6 388
+#define VAR_MAX_UDP_SIZE 389
 
 
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
 {
-/* Line 2049 of yacc.c  */
+/* Line 2053 of yacc.c  */
 #line 64 "./util/configparser.y"
 
        char*   str;
 
 
-/* Line 2049 of yacc.c  */
-#line 322 "util/configparser.h"
+/* Line 2053 of yacc.c  */
+#line 330 "util/configparser.h"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -341,4 +349,4 @@ int yyparse ();
 #endif
 #endif /* ! YYPARSE_PARAM */
 
-#endif /* !YY_UTIL_CONFIGPARSER_H  */
+#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED  */
index 10823124db0eff65822bdb2b7a214f8c50315f6d..7c8178b5dace271cd439a96e71d54e5af96762eb 100644 (file)
@@ -166,8 +166,8 @@ content_server: server_num_threads | server_verbosity | server_port |
        server_ssl_service_key | server_ssl_service_pem | server_ssl_port |
        server_minimal_responses | server_rrset_roundrobin | 
        server_send_client_subnet | server_client_subnet_opcode |
-       server_max_client_subnet_ipv4 | server_max_client_subnet_ipv6
-       server_minimal_responses | server_rrset_roundrobin | server_max_udp_size
+       server_max_client_subnet_ipv4 | server_max_client_subnet_ipv6 |
+       server_max_udp_size
        ;
 stubstart: VAR_STUB_ZONE
        {
index bfe3d08920cc63ec4d929194fbbba6fd9e35789f..b41d476f01548c16b76f24079b445051dd22ac05 100644 (file)
@@ -213,6 +213,9 @@ fptr_whitelist_hash_sizefunc(lruhash_sizefunc_t fptr)
        else if(fptr == &infra_sizefunc) return 1;
        else if(fptr == &key_entry_sizefunc) return 1;
        else if(fptr == &test_slabhash_sizefunc) return 1;
+#ifdef CLIENT_SUBNET
+       else if(fptr == &msg_cache_sizefunc) return 1;
+#endif
        return 0;
 }