From 2d69fd90b969935ea2d0c192e0fad669050ce10b Mon Sep 17 00:00:00 2001
From: Bruce Momjian
Date: Sat, 3 Oct 1998 05:41:01 +0000
Subject: [PATCH] Integrate new IP type from Tom Ivar Helbekkmo.
---
contrib/README | 4 -
contrib/ip_and_mac/Makefile | 27 -
contrib/ip_and_mac/README | 43 -
contrib/ip_and_mac/README.ORIG | 56 -
contrib/ip_and_mac/ip.c | 448 ---
contrib/ip_and_mac/ip.sql | 301 --
contrib/ip_and_mac/ip_orig.c | 257 --
contrib/ip_and_mac/ipaddr.html | 488 ---
contrib/ip_and_mac/ipi.sql | 64 -
contrib/ip_and_mac/mac.c | 244 --
contrib/ip_and_mac/mac.h | 133 -
contrib/ip_and_mac/mac.sql | 125 -
contrib/ip_and_mac/t1.sql | 5 -
contrib/ip_and_mac/test.DATA | 999 ------
contrib/ip_and_mac/test.sql | 71 -
contrib/ip_and_mac/test1.sql | 11 -
contrib/ip_and_mac/test2.sql | 26 -
doc/README.ipaddr | 74 +
src/backend/parser/gram.c | 4787 ++++++++++++-------------
src/backend/utils/adt/Makefile | 5 +-
src/backend/utils/adt/inet_net_ntop.c | 137 +
src/backend/utils/adt/inet_net_pton.c | 217 ++
src/backend/utils/adt/ip.c | 283 ++
src/backend/utils/adt/mac.c | 323 ++
src/include/catalog/pg_amop.h | 22 +-
src/include/catalog/pg_amproc.h | 4 +-
src/include/catalog/pg_opclass.h | 6 +-
src/include/catalog/pg_operator.h | 51 +-
src/include/catalog/pg_proc.h | 55 +-
src/include/catalog/pg_type.h | 11 +-
src/include/utils/builtins.h | 39 +-
src/include/utils/mac.h | 58 +
src/tools/pgindent/pgindent | 2 +
33 files changed, 3641 insertions(+), 5735 deletions(-)
delete mode 100644 contrib/ip_and_mac/Makefile
delete mode 100644 contrib/ip_and_mac/README
delete mode 100644 contrib/ip_and_mac/README.ORIG
delete mode 100644 contrib/ip_and_mac/ip.c
delete mode 100644 contrib/ip_and_mac/ip.sql
delete mode 100644 contrib/ip_and_mac/ip_orig.c
delete mode 100644 contrib/ip_and_mac/ipaddr.html
delete mode 100644 contrib/ip_and_mac/ipi.sql
delete mode 100644 contrib/ip_and_mac/mac.c
delete mode 100644 contrib/ip_and_mac/mac.h
delete mode 100644 contrib/ip_and_mac/mac.sql
delete mode 100644 contrib/ip_and_mac/t1.sql
delete mode 100644 contrib/ip_and_mac/test.DATA
delete mode 100644 contrib/ip_and_mac/test.sql
delete mode 100644 contrib/ip_and_mac/test1.sql
delete mode 100644 contrib/ip_and_mac/test2.sql
create mode 100644 doc/README.ipaddr
create mode 100644 src/backend/utils/adt/inet_net_ntop.c
create mode 100644 src/backend/utils/adt/inet_net_pton.c
create mode 100644 src/backend/utils/adt/ip.c
create mode 100644 src/backend/utils/adt/mac.c
create mode 100644 src/include/utils/mac.h
diff --git a/contrib/README b/contrib/README
index b66dd8012c..88dc7b645a 100644
--- a/contrib/README
+++ b/contrib/README
@@ -31,10 +31,6 @@ int8 -
64-bit integer arithmetic for Postgres
by Thomas G. Lockhart
-ip_and_mac -
- PostgreSQL type extensions for IP and MAC addresses
- by Tom Ivar Helbekkmo
-
isbn_issn -
PostgreSQL type extensions for ISBN (books) and ISSN (serials)
by Garrett A. Wollman
diff --git a/contrib/ip_and_mac/Makefile b/contrib/ip_and_mac/Makefile
deleted file mode 100644
index 0071eb6123..0000000000
--- a/contrib/ip_and_mac/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# PostgreSQL types for IP and MAC addresses
-#
-# $Id: Makefile,v 1.5 1998/06/16 05:35:10 momjian Exp $
-
-all: ip.so mac.so
-
-ip.so: ip.o
- ld -Bshareable -o ip.so ip.o
-
-ip.o: ip.c
- cc -g -O -fPIC -I/usr/local/pgsql/include -c ip.c
-
-mac.so: mac.o
- ld -Bshareable -o mac.so mac.o
-
-mac.o: mac.c mac.h
- cc -g -O -fPIC -I/usr/local/pgsql/include -c mac.c
-
-install: ip.so mac.so
- install -c ip.so mac.so /usr/local/pgsql/contrib/ip_and_macs
-
-clean:
- rm -f *.o *.so *.b
-#
-# eof
-#
diff --git a/contrib/ip_and_mac/README b/contrib/ip_and_mac/README
deleted file mode 100644
index c946f20b9e..0000000000
--- a/contrib/ip_and_mac/README
+++ /dev/null
@@ -1,43 +0,0 @@
-
-This directory contain 2 new classes - macaddr to store mac addresses
-written by (Bergen, Norway, 1998-01-31, Tom Ivar Helbekkmo
-(tih@Hamartun.Priv.NO)), and ipaddr type and ipaddr_ops operator class,
-rewritten by me (alex@relcom.EU.net, Aleksei Roudnev, Moscow, Russia,
-25.05.98) and written first by Bergen.
-
-To see the description of macaddr type, read README.ORIG file. To see
-the description of ipaddr type, read ipaddr.html file.
- ^^^^^^^^^^^
-
-This ipaddr type differ slightly from the original one. First, if you
-input '193.124.23.0' it sets /24 prefix instead of /32 (this is in
-accordance to CISCO's notification and our internal data bases and
-records); if you input '0.0.0.0' it's '0.0.0.0/0' (default) but not NULL
-or NOADDR value.
-
-Then, you can store ADDRESS/PREFIX pair, even if ADDRESS is not the
-subnet address (for example, you can store interface address and mask at
-the single attribute). This allow us to determine, for example, which
-interfaces/routers are accessible by connected network for our interface
-(select * from database where '193.124.23.4' @ interface_address);
-
-Then, it have been written a few new functions and a few operators
-(addr1 @ addr - TRUE if addr1 is the part of subnet addr2);
-'ipaddr_print' function allow you to convert address to any form you
-want; and so on.
-
-And then, I add ipi.sql setup script and test1.sql + test2.sql test
-scripts to allow and test indexing by this new class.
-
-This ipaddr type/opclass are used for our internal IP ROUTING and
-ACCOUNTING data base, and I hope it shpuld be usefull for more people.
-
-For those who like crazy tasks, I propose to realise 'RTREE' indexing
-method to allow effectively use '@' operation for the binding statistic
-records to the customers etc networks. Note 'ipaddr' type can be written
-as 'start,end' coordination pair and it's possible to define all '<<,
-&<, @@, etc graphical operators over this type.
-
-
-25.05.1998, Aleksei Roudnev, alex@relcom.EU.net, Relcom, Moscow, Russia. /+7-095-194-1995.
-==========================================================================================
diff --git a/contrib/ip_and_mac/README.ORIG b/contrib/ip_and_mac/README.ORIG
deleted file mode 100644
index d0e4f436a6..0000000000
--- a/contrib/ip_and_mac/README.ORIG
+++ /dev/null
@@ -1,56 +0,0 @@
-PostgreSQL type extensions for IP and MAC addresses.
----------------------------------------------------
-
-$Id: README.ORIG,v 1.2 1998/06/16 05:35:10 momjian Exp $
-
-I needed to record IP and MAC level ethernet addresses in a data
-base, and I really didn't want to store them as plain strings, with
-no enforced error checking, so I put together the accompanying code
-as my first experiment with adding a data type to PostgreSQL. I
-then thought that this might be useful to others, both directly and
-as a very simple example of how to do this sort of thing, so here
-it is, in the hope that it will be useful.
-
-IP addresses are implemented as a 6 byte struct (this may be 1 byte
-more than is useful, but I figured that since it has to be at least 5,
-it might as well be an even number of bytes) that contains the four
-byte address and a mask width. The external representation of an IP
-address looks like '158.37.96.15/32' (or just '158.37.96.15', which is
-understood to mean the same thing). This address happens to be part
-of a subnet where I work; '158.37.96.0/24', which itself is a part of
-the larger subnet allocated to our site, which is '158.37.96.0/21',
-which again, if you go by the old book, is part of the class "B" net
-called '158.37.0.0/16'.
-
-Input and output functions are supplied, along with the "normal" <,
-<=, =, >=, > and <> operators, which all do what you expect. In
-addition, there is a function to check whether a given address is a
-member of a given subnet: ipaddr_in_net(addr, net), and functions to
-return the netmask and the broadcast address of a given network:
-ipaddr_mask(net) and ipaddr_bcast(net).
-
-MAC level ethernet addresses are implemented as a 6 byte struct that
-contains the address as unsigned chars. Several input forms are
-accepted; the following are all the same address: '08002b:010203',
-'08002b-010203', '0800.2b01.0203', '08-00-2b-01-02-03' and
-'08:00:2b:01:02:03'. Upper and lower case is accepted for the digits
-'a' through 'f'. Output is always in the latter of the given forms.
-
-As with IP addresses, input and output functions are supplied as well
-as the "normal" operators, which do what you expect. As an extra
-feature, a function macaddr_manuf() is defined, which returns the name
-of the manufacturer as a string. This is currently held in a
-hard-coded struct internal to the C module -- it might be smarter to
-put this information into an actual data base table, and look up the
-manufacturer there. (Another TODO, for both new data types, is to
-interface them to indices. If anyone can explain this to me in a way
-that is easier to understand than the current documentation, I would
-be most grateful!)
-
-I don't know what changes are needed to the Makefile for other systems
-than the one I'm running (NetBSD 1.3), but anyway: to install on a BSD
-system: fix the path names in the SQL files and the Makefile if you
-need to, then make, make install, slurp the SQL files into psql or
-whatever, and you're off. Enjoy!
-
-Bergen, Norway, 1998-01-31, Tom Ivar Helbekkmo (tih@Hamartun.Priv.NO).
diff --git a/contrib/ip_and_mac/ip.c b/contrib/ip_and_mac/ip.c
deleted file mode 100644
index 0b56375488..0000000000
--- a/contrib/ip_and_mac/ip.c
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * PostgreSQL type definitions for IP addresses.
- *
- * $Id: ip.c,v 1.5 1998/06/16 05:35:10 momjian Exp $
- */
-
-#include
-
-#include
-#include
-
-/*
- * This is the internal storage format for IP addresses:
- */
-
-typedef struct ipaddr
-{
- uint32 address;
- int16 width;
-} ipaddr;
-
-/*
- * Various forward declarations:
- */
-
-ipaddr *ipaddr_in(char *str);
-char *ipaddr_out(ipaddr * addr);
-
-bool ipaddr_lt(ipaddr * a1, ipaddr * a2);
-bool ipaddr_le(ipaddr * a1, ipaddr * a2);
-bool ipaddr_eq(ipaddr * a1, ipaddr * a2);
-bool ipaddr_ge(ipaddr * a1, ipaddr * a2);
-bool ipaddr_gt(ipaddr * a1, ipaddr * a2);
-
-bool ipaddr_ne(ipaddr * a1, ipaddr * a2);
-
-int4 ipaddr_cmp(ipaddr * a1, ipaddr * a2);
-
-bool ipaddr_in_net(ipaddr * a1, ipaddr * a2);
-ipaddr *ipaddr_mask(ipaddr * a);
-ipaddr *ipaddr_bcast(ipaddr * a);
-
-/*
- * Build a mask of a given width:
- */
-
-unsigned long
-build_mask(unsigned char bits)
-{
- unsigned long mask = 0;
- int i;
-
- for (i = 0; i < bits; i++)
- mask = (mask >> 1) | 0x80000000;
- return mask;
-}
-
-/*
- * IP address reader. Note how the count returned by sscanf()
- * is used to determine whether the mask size was specified.
- */
-
-ipaddr *
-ipaddr_in(char *str)
-{
- int a,
- b,
- c,
- d,
- w;
- ipaddr *result;
- int count;
-
- if (strlen(str) > 0)
- {
-
- count = sscanf(str, "%d.%d.%d.%d/%d", &a, &b, &c, &d, &w);
-
- if (count < 4)
- {
- elog(ERROR, "ipaddr_in: error in parsing \"%s\"", str);
- return (NULL);
- }
- if ( count == 3 ) {
- d = 0;
- count = 4;
- };
- if (count == 4)
- {
- w = 32;
- if ( a >= 192 && a < 224 && d == 0 ) w = 24;
- if ( a >= 128 && a < 192 && d == 0 && c == 0 ) w = 16;
- if ( a > 0 && a < 128 && c == 0 && b == 0 && a < 128 ) w = 8;
- if ( a == 0 && b == 0 && c == 0 && d == 0 ) w = 0;
- };
- if ((a < 0) || (a > 255) || (b < 0) || (b > 255) ||
- (c < 0) || (c > 255) || (d < 0) || (d > 255) ||
- (w < 0) || (w > 32))
- {
- elog(ERROR, "ipaddr_in: illegal address \"%s\"", str);
- return (NULL);
- }
- }
- else
- {
- a = b = c = d = w = 255; /* special case for missing address */
- }
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
-
- result->address = (uint32) ((a << 24) | (b << 16) | (c << 8) | d);
- result->width = w;
-
- return (result);
-}
-
-/*
- * IP address output function. Note mask size specification
- * generated only for subnets, not for plain host addresses.
- */
-
-char *
-ipaddr_out(ipaddr * addr)
-{
- char *result;
- int a, b, c, d, w;
- if (addr == NULL)
- return (NULL);
-
- result = (char *) palloc(32);
-
- w = addr->width;
- a = (addr->address >> 24) & 0xff;
- b = (addr->address >> 16) & 0xff;
- c = (addr->address >> 8) & 0xff;
- d = (addr->address >> 0) & 0xff;
- /* Check by missing address (w > 32 ) */
- if ( w >= 0 && w <= 32 )
- {
- /* In case of NATURAL network don't output the prefix */
- if ( (a == 0 && b == 0 && c == 0 && d == 0 && w == 0 ) ||
- (a < 128 && b == 0 && c == 0 && d == 0 && w == 8 ) ||
- (a < 192 && c == 0 && d == 0 && w == 16 ) ||
- (a < 224 && d == 0 && w == 24 ) ||
- ( d != 0 ) ) w = -1;
- if (w == -1 )
- sprintf(result, "%d.%d.%d.%d",a,b,c,d);
- else
- sprintf(result, "%d.%d.%d.%d/%d",a,b,c,d,w);
- }
- else
- {
- result[0] = 0; /* special case for missing address */
- }
- return (result);
-}
-
-/*
- * Print ipaddr by format
- * %A - address
- * %M - maska
- * %P - prefix
- * %B - negated maska
- */
-# define TXT_LEN_0 4
-text *
-ipaddr_print(ipaddr * addr, text *fmt)
-{
- text *result;
- char *p, *op;
- uint32 aaa;
- int a, b, c, d;
- if (addr == NULL)
- return (NULL);
-
- result = (text *) palloc( sizeof(text) + 64 );
-
- /* Check by missing address (w > 32 ) */
- for ( p = fmt->vl_dat, op = result->vl_dat; *p && (p - fmt->vl_dat) < (fmt->vl_len - TXT_LEN_0) && (op - result->vl_dat) < 48; p++) {
- if ( *p != '%' ) {
- *op++ = *p;
- continue;
- };
- p++;
- if ( *p == 'A' )
- {
- aaa = addr->address;
- goto pta;
- };
- if ( *p == 'M' ) {
- aaa = build_mask(addr->width);
- goto pta;
- }
- if ( *p == 'B' ) {
- aaa = build_mask(32 - addr->width) >> addr->width;
- goto pta;
- }
- if ( *p == 'P' ) {
- sprintf(op,"%d",addr->width);
- while ( *op) op++;
- continue;
- };
- *op++ = *p;
- continue;
-pta:
- a = (aaa >> 24) & 0xff;
- b = (aaa >> 16) & 0xff;
- c = (aaa >> 8) & 0xff;
- d = (aaa >> 0) & 0xff;
- sprintf(op, "%d.%d.%d.%d",a,b,c,d);
- while ( *op ) op++;
- continue;
- };
- *op = 0;
- result->vl_len = (op - result->vl_dat) + TXT_LEN_0;
- return (result);
-}
-
-/*
- * Boolean tests for magnitude.
- */
-
-bool
-ipaddr_lt(ipaddr * a1, ipaddr * a2)
-{
- if ( a1->address == a2->address ) return(a1->width < a2->width);
- return (a1->address < a2->address);
-};
-
-bool
-ipaddr_le(ipaddr * a1, ipaddr * a2)
-{
- if ( a1->address == a2->address ) return(a1->width <= a2->width);
- return (a1->address <= a2->address);
-};
-
-bool
-ipaddr_eq(ipaddr * a1, ipaddr * a2)
-{
- if ( a1->address == a2->address ) return(a1->width == a2->width);
- return (a1->address == a2->address);
-};
-
-bool
-ipaddr_ge(ipaddr * a1, ipaddr * a2)
-{
- if ( a1->address == a2->address ) return(a1->width >= a2->width);
- return (a1->address >= a2->address);
-};
-
-bool
-ipaddr_gt(ipaddr * a1, ipaddr * a2)
-{
- if ( a1->address == a2->address ) return(a1->width > a2->width);
- return (a1->address > a2->address);
-};
-
-bool
-ipaddr_ne(ipaddr * a1, ipaddr * a2)
-{
- if ( a1->address == a2->address ) return(a1->width != a2->width);
- return (a1->address != a2->address);
-};
-
-/*
- * Comparison function for sorting:
- */
-
-int4
-ipaddr_cmp(ipaddr * a1, ipaddr * a2)
-{
- if (a1->address < a2->address)
- return -1;
- else if (a1->address > a2->address)
- return 1;
- else
- {
- if (a1->width < a2->width)
- return -1;
- else if (a1->width > a2->width)
- return 1;
- }
- return 0;
-}
-
-/*
- * The number of hosts in the network
- */
-int4
-ipaddr_len(ipaddr * a)
-{
- if ( a->width > 32 || a->width < 0 ) return(0);
- return(1 << (32 - a->width));
-}
-
-/*
- * The number of network bits
- */
-int4
-ipaddr_pref(ipaddr * a)
-{
- if ( a->width > 32 || a->width < 0 ) return(0);
- return(a->width);
-}
-
-/*
- * The host addr as an integer
- */
-int4
-ipaddr_integer(ipaddr * a)
-{
- return(a->address);
-}
-
-/*
- * Test whether an address is within a given subnet:
- */
-
-bool
-ipaddr_in_net(ipaddr * a1, ipaddr * a2)
-{
- uint32 maskbits;
-
- if (a1->width < a2->width)
- return FALSE;
- if ((a1->width == 32) && (a2->width == 32))
- return ipaddr_eq(a1, a2);
- maskbits = build_mask(a2->width);
- if ((a1->address & maskbits) == (a2->address & maskbits))
- return TRUE;
- return FALSE;
-}
-
-/*
- * Test whether an address is the network or a host in the network:
- */
-
-bool
-ipaddr_is_net(ipaddr * a)
-{
- uint32 maskbits;
-
- if (a->width == 32)
- return FALSE;
- maskbits = build_mask(a->width);
- if ( (a->address & maskbits) == a->address )
- return TRUE;
- return FALSE;
-}
-
-/*
- * Pick out just the mask of a network:
- */
-
-ipaddr *
-ipaddr_mask(ipaddr * a)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- result->address = build_mask(a->width);
- result->width = 32;
-
- return result;
-}
-
-/*
- * Return the broadcast address of a network:
- */
-
-ipaddr *
-ipaddr_bcast(ipaddr * a)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- result->address = a->address;
- result->address |= (build_mask(32 - a->width) >> a->width);
- result->width = 32;
-
- return result;
-}
-
-/*
- * Return the base network of the address/network:
- */
-
-ipaddr *
-ipaddr_net(ipaddr * a)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- result->address = a->address;
- result->address &= build_mask(a->width);
- result->width = a->width;
-
- return result;
-}
-
-/*
- * Compose ipaddr from ADDR and PREFIX
- */
-ipaddr *
-ipaddr_compose(int4 addr, int4 pref)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- if ( pref < 0 || pref > 32 ) {
- pref = 255;
- addr = 0;
- };
- result->address = addr;
- result->width = pref;
- return result;
-}
-
-/*
- * Plus and Minus operators
- */
-ipaddr *
-ipaddr_plus(ipaddr * a, int4 i)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- result->address = a->address + i;
- result->width = a->width;
-
- return result;
-}
-
-ipaddr *
-ipaddr_minus(ipaddr * a, int4 i)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- result->address = a->address - i;
- result->width = a->width;
-
- return result;
-}
-
-/*
- * eof
- */
diff --git a/contrib/ip_and_mac/ip.sql b/contrib/ip_and_mac/ip.sql
deleted file mode 100644
index 2d402bd8f0..0000000000
--- a/contrib/ip_and_mac/ip.sql
+++ /dev/null
@@ -1,301 +0,0 @@
---
--- PostgreSQL code for IP addresses.
---
--- $Id: ip.sql,v 1.5 1998/06/16 05:35:10 momjian Exp $
--- Invoced from 1998/02/14 17:58:04 scrappy
---
--- New - INPUT/OUTPUT, functions, indexing by btree, test.
--- PART # 1 - ip.sql - load new type, functions and operators.
--- Then you should execute ipi.sql - add ipaddr_ops class to allow indexing.
-
-load '/usr/local/pgsql/contrib/ip_and_macs/ip.so';
-
---
--- Input and output functions and the type itself:
--- Note - we input 193.124.23.1 as /32, and 193.124.23.0 as /24.
--- We output /24 network withouth /24 suffix, and /32 hosts wothouth suffixes
--- if it is not '0' address of /24 network.
--- Just the same, we threat 0.0.0.0 as 0.0.0.0/0 == DEFAULT.
---
-
-create function ipaddr_in(opaque)
- returns opaque
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
-
-
-create function ipaddr_out(opaque)
- returns opaque
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
-create type ipaddr (
- internallength = 6,
- externallength = variable,
- input = ipaddr_in,
- output = ipaddr_out
-);
-
---
--- Print address by format
--- %A - address
--- %P - /Pref
--- %M - maska
--- %B - reversed maska
-drop function ipaddr_print;
-create function ipaddr_print(ipaddr, text)
- returns text
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-);
-
---
--- The various boolean tests:
--- In case if addresseas are equal, we compare prefix length
--- It means 193.124.23.0/24 < 193.124.23.0/32
---
-
-create function ipaddr_lt(ipaddr, ipaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
-create function ipaddr_le(ipaddr, ipaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
-create function ipaddr_eq(ipaddr, ipaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
-create function ipaddr_ge(ipaddr, ipaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
-create function ipaddr_gt(ipaddr, ipaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
-create function ipaddr_ne(ipaddr, ipaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Test if a1 is in net a2
--- Return TRUE if a1 is IN a2 subnet or if a1 == a2
---
-create function ipaddr_in_net(ipaddr, ipaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Return the network from the host/network address. This means
--- 193.124.23.4/24 -> 193.124.23.0/24.
--- This allow to use interface address (with the real netmask) to create
--- network, and to link interfaces and addresses belongs to the same network.
---
-
- create function ipaddr_net(ipaddr)
- returns ipaddr
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Return TRUE if addr describe NETWORK, not host in the network
--- It's equivalent to ipaddr_net(a) == a
---
-
- create function ipaddr_is_net(ipaddr)
- returns boolean
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Return the number of the hosts in the network
---
-
- create function ipaddr_len(ipaddr)
- returns int4
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Return the prefix length of the network
---
-
- create function ipaddr_pref(ipaddr)
- returns int4
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Convert network into the integer.
--- Can be used for 'compose' function
---
-
- create function ipaddr_integer(ipaddr)
- returns int4
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Compose ipaddr from the ADDRESS and PREF
--- ipaddr_compose(ipaddr_integer(a),ipaddr_pref(a)) == a
---
-
- create function ipaddr_compose(int4,int4)
- returns ipaddr
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Return MASK for the network
---
-
- create function ipaddr_mask(ipaddr)
- returns ipaddr
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Return BROADCAST address for the network
---
-
- create function ipaddr_bcast(ipaddr)
- returns ipaddr
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Compare 2 addresses. First, compare addresses, then, compare prefixes (if the addresses
--- are the same).
---
-
- create function ipaddr_cmp(ipaddr,ipaddr)
- returns int4
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Plus and Minus operators
---
-
- create function ipaddr_plus(ipaddr,int4)
- returns ipaddr
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
- create function ipaddr_minus(ipaddr,int4)
- returns ipaddr
- as '/usr/local/pgsql/contrib/ip_and_macs/ip.so'
- language 'c';
-
---
--- Now the operators. Note how some of the parameters to some
--- of the 'create operator' commands are commented out. This
--- is because they reference as yet undefined operators, and
--- will be implicitly defined when those are, further down.
---
-
--- drop operator < ( ipaddr, ipaddr);
-create operator < (
- leftarg = ipaddr,
- rightarg = ipaddr,
--- negator = >=,
- procedure = ipaddr_lt,
- restrict = intltsel,
- join = intltjoinsel
-);
-
--- drop operator <= (ipaddr,ipaddr);
-create operator <= (
- leftarg = ipaddr,
- rightarg = ipaddr,
--- negator = >,
- procedure = ipaddr_le,
- restrict = intltsel,
- join = intltjoinsel
-);
-
--- drop operator = (ipaddr,ipaddr);
-create operator = (
- leftarg = ipaddr,
- rightarg = ipaddr,
- commutator = =,
--- negator = <>,
- restrict = eqsel,
- join = eqjoinsel,
- procedure = ipaddr_eq
-);
-
-
--- drop operator >= (ipaddr,ipaddr);
-create operator >= (
- leftarg = ipaddr,
- rightarg = ipaddr,
- negator = <,
- procedure = ipaddr_ge,
- restrict = intgtsel,
- join = intgtjoinsel
-);
-
--- drop operator > (ipaddr,ipaddr);
-create operator > (
- leftarg = ipaddr,
- rightarg = ipaddr,
- negator = <=,
- procedure = ipaddr_gt,
- restrict = intgtsel,
- join = intgtjoinsel
-);
-
--- drop operator <> (ipaddr,ipaddr);
-create operator <> (
- leftarg = ipaddr,
- rightarg = ipaddr,
- negator = =,
- procedure = ipaddr_ne,
- restrict = neqsel,
- join = neqjoinsel
-);
-
-create operator @ (
- leftarg = ipaddr,
- rightarg = ipaddr,
- procedure = ipaddr_in_net
-);
-
-create operator + (
- leftarg = ipaddr,
- rightarg = int4,
- procedure = ipaddr_plus
-);
-
-create operator - (
- leftarg = ipaddr,
- rightarg = int4,
- procedure = ipaddr_minus
-);
-
--- *****************************************************************************************
--- * For now, you have: input/output (remember, '193.124.23.0' means /24 network, *
--- * '193.124.23.1' means /32 host) *
--- * <, <=, = <>, >=, > relational operations; host @ net (host is the part of the net) op *
--- * varchar ipaddr_print(addr, '%A/%P %M %B') - print by pattern function *
--- * ipaddr ipaddr_mask(a),ipaddr_bcast(a),ipaddr_net(a) functions (mask,bcast, start addr)*
--- * int4 ipaddr_len(a) - lenght of subnet; ipaddr_pref(a) - prefix length, *
--- * int4 ipaddr_integer(a) - integer value; ipaddr ipaddr_compose(integer_addr,pref_len) *
--- * compose ipaddr from addr and mask *
--- * '+' and '-' operators (ipaddr = ipaddr + integer),(ipaddr = ipaddr - integer) ops *
--- *****************************************************************************************
--- * R E A D T H I S T E X T B E F O R E E X I T I N G : *
--- * Now you should execute ipi.sql to allow BTREE indexing on this class. *
--- *****************************************************************************************
--- eof
diff --git a/contrib/ip_and_mac/ip_orig.c b/contrib/ip_and_mac/ip_orig.c
deleted file mode 100644
index 316e824407..0000000000
--- a/contrib/ip_and_mac/ip_orig.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * PostgreSQL type definitions for IP addresses.
- *
- * $Id: ip_orig.c,v 1.1 1998/06/16 05:35:11 momjian Exp $
- */
-
-#include
-
-#include
-#include
-
-/*
- * This is the internal storage format for IP addresses:
- */
-
-typedef struct ipaddr
-{
- uint32 address;
- int16 width;
-} ipaddr;
-
-/*
- * Various forward declarations:
- */
-
-ipaddr *ipaddr_in(char *str);
-char *ipaddr_out(ipaddr * addr);
-
-bool ipaddr_lt(ipaddr * a1, ipaddr * a2);
-bool ipaddr_le(ipaddr * a1, ipaddr * a2);
-bool ipaddr_eq(ipaddr * a1, ipaddr * a2);
-bool ipaddr_ge(ipaddr * a1, ipaddr * a2);
-bool ipaddr_gt(ipaddr * a1, ipaddr * a2);
-
-bool ipaddr_ne(ipaddr * a1, ipaddr * a2);
-
-int4 ipaddr_cmp(ipaddr * a1, ipaddr * a2);
-
-bool ipaddr_in_net(ipaddr * a1, ipaddr * a2);
-ipaddr *ipaddr_mask(ipaddr * a);
-ipaddr *ipaddr_bcast(ipaddr * a);
-
-/*
- * Build a mask of a given width:
- */
-
-unsigned long
-build_mask(unsigned char bits)
-{
- unsigned long mask = 0;
- int i;
-
- for (i = 0; i < bits; i++)
- mask = (mask >> 1) | 0x80000000;
- return mask;
-}
-
-/*
- * IP address reader. Note how the count returned by sscanf()
- * is used to determine whether the mask size was specified.
- */
-
-ipaddr *
-ipaddr_in(char *str)
-{
- int a,
- b,
- c,
- d,
- w;
- ipaddr *result;
- int count;
-
- if (strlen(str) > 0)
- {
-
- count = sscanf(str, "%d.%d.%d.%d/%d", &a, &b, &c, &d, &w);
-
- if (count < 4)
- {
- elog(ERROR, "ipaddr_in: error in parsing \"%s\"", str);
- return (NULL);
- }
-
- if (count == 4)
- w = 32;
-
- if ((a < 0) || (a > 255) || (b < 0) || (b > 255) ||
- (c < 0) || (c > 255) || (d < 0) || (d > 255) ||
- (w < 0) || (w > 32))
- {
- elog(ERROR, "ipaddr_in: illegal address \"%s\"", str);
- return (NULL);
- }
- }
- else
- {
- a = b = c = d = w = 0; /* special case for missing address */
- }
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
-
- result->address = (uint32) ((a << 24) | (b << 16) | (c << 8) | d);
- result->address &= build_mask(w);
- result->width = w;
-
- return (result);
-}
-
-/*
- * IP address output function. Note mask size specification
- * generated only for subnets, not for plain host addresses.
- */
-
-char *
-ipaddr_out(ipaddr * addr)
-{
- char *result;
-
- if (addr == NULL)
- return (NULL);
-
- result = (char *) palloc(32);
-
- if (addr->address > 0)
- {
- if (addr->width == 32)
- sprintf(result, "%d.%d.%d.%d",
- (addr->address >> 24) & 0xff,
- (addr->address >> 16) & 0xff,
- (addr->address >> 8) & 0xff,
- addr->address & 0xff);
- else
- sprintf(result, "%d.%d.%d.%d/%d",
- (addr->address >> 24) & 0xff,
- (addr->address >> 16) & 0xff,
- (addr->address >> 8) & 0xff,
- addr->address & 0xff,
- addr->width);
- }
- else
- {
- result[0] = 0; /* special case for missing address */
- }
- return (result);
-}
-
-/*
- * Boolean tests for magnitude.
- */
-
-bool
-ipaddr_lt(ipaddr * a1, ipaddr * a2)
-{
- return (a1->address < a2->address);
-};
-
-bool
-ipaddr_le(ipaddr * a1, ipaddr * a2)
-{
- return (a1->address <= a2->address);
-};
-
-bool
-ipaddr_eq(ipaddr * a1, ipaddr * a2)
-{
- return (a1->address == a2->address);
-};
-
-bool
-ipaddr_ge(ipaddr * a1, ipaddr * a2)
-{
- return (a1->address >= a2->address);
-};
-
-bool
-ipaddr_gt(ipaddr * a1, ipaddr * a2)
-{
- return (a1->address > a2->address);
-};
-
-bool
-ipaddr_ne(ipaddr * a1, ipaddr * a2)
-{
- return (a1->address != a2->address);
-};
-
-/*
- * Comparison function for sorting:
- */
-
-int4
-ipaddr_cmp(ipaddr * a1, ipaddr * a2)
-{
- if (a1->address < a2->address)
- return -1;
- else if (a1->address > a2->address)
- return 1;
- else
- return 0;
-}
-
-/*
- * Test whether an address is within a given subnet:
- */
-
-bool
-ipaddr_in_net(ipaddr * a1, ipaddr * a2)
-{
- uint32 maskbits;
-
- if (a1->width < a2->width)
- return FALSE;
- if ((a1->width == 32) && (a2->width == 32))
- return ipaddr_eq(a1, a2);
- maskbits = build_mask(a2->width);
- if ((a1->address & maskbits) == (a2->address & maskbits))
- return TRUE;
- return FALSE;
-}
-
-/*
- * Pick out just the mask of a network:
- */
-
-ipaddr *
-ipaddr_mask(ipaddr * a)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- result->address = build_mask(a->width);
- result->width = 32;
-
- return result;
-}
-
-/*
- * Return the broadcast address of a network:
- */
-
-ipaddr *
-ipaddr_bcast(ipaddr * a)
-{
- ipaddr *result;
-
- result = (ipaddr *) palloc(sizeof(ipaddr));
- result->address = a->address;
- result->address |= (build_mask(32 - a->width) >> a->width);
- result->width = 32;
-
- return result;
-}
-
-/*
- * eof
- */
diff --git a/contrib/ip_and_mac/ipaddr.html b/contrib/ip_and_mac/ipaddr.html
deleted file mode 100644
index 8b7d3eb164..0000000000
--- a/contrib/ip_and_mac/ipaddr.html
+++ /dev/null
@@ -1,488 +0,0 @@
-
-
-
-
-
-
-
-
-New object class for the IP ADDRESSES manipulations.
-
-1. Description:
-
-
-
-2. How to install:
-
-
-Use script ip.sql to add new type, new functions and operators
-to the data base.
-
-Use script ipi.sql to add new type and new operator class ipaddr_ops
-to the index system and allow indexing by this new type (with search by
-'>', '>=', '<', '<=', '='
-boolean operators).
-
-Use scripts 'test1.sql' and 'test2.sql' (edit second script
-first) to check if indexing work properly.
-
-
-3. Input / output formsts.
-
-New type stores IP address and IP prefix in the single data attribute.
-To input data, you should use the form
-
-
-
-for the address DDD.DDD.DDD.DDD and prefix PP (prefix
-is len from 0 (for 0.0.0.0) to 32 (for 255.255.255.255)). You can miss
-/PP n two cases:
-
-
-- You enter host address (this means /32 prefix) and this is not the
-address of the natural class A, B or C network.
-
-- You enter natural class A, B, C network with the /8, /16 and /24 prefix.
-
-
-For example, 193.124.23.0 should be read as '193.124.23.0/24'
-network, and '193.124.23.1' should be read as /32 host address.
-To enter interface address 193.124.23.6/24, you should use exact
-form '193.124.23.6/24'.
-
-The address '0.0.0.0' means '0.0.0.0/0', this is default in terms
-of routers.
-
-ipaddr type data are printed just in the same form (to allow
-input/output compatibility) - 193.124.23.0/24 should be printed
-as '193.124.23.0' and '193.124.23.1/32' should be printed
-as '193.124.23.1'.
-
-There is special function to convert ipaddr data into string by the
-format:
-
-
-char ipaddr_print(ipaddr,format)
-
-
-format consist of plain text and %C special characters:
-
-
-%A - address in form ddd.ddd.ddd.ddd,
-%M - network mask in form ddd.ddd.ddd.ddd,
-%B - negated mask ('0.0.0.7' for '/29' prefix, for example),
-%P - prefix (withouth '/' delimiter).
-
-
-4. Operators.
-
-
-
-Left argument
-A1 |
-
-Op |
-
-Right argument
-A2 |
-
-Result
-R |
-
-Description |
-
-
-
-ipaddr |
-
-< |
-
-ipaddr |
-
-boolean |
-
-Compare addresses, if they are equal, compare prefixes, |
-
-
-
-ipaddr |
-
-<= |
-
-ipaddr |
-
-boolean |
-
-Compare addresses, if they are equal, compare prefixes, |
-
-
-
-ipaddr |
-
-= |
-
-ipaddr |
-
-boolean |
-
-Compare addresses, if they are equal, compare prefixes, |
-
-
-
-ipaddr |
-
->= |
-
-ipaddr |
-
-boolean |
-
-Compare addresses, if they are equal, compare prefixes, |
-
-
-
-ipaddr |
-
-> |
-
-ipaddr |
-
-boolean |
-
-Compare addresses, if they are equal, compare prefixes, |
-
-
-
-ipaddr |
-
-<> |
-
-ipaddr |
-
-boolean |
-
-Compare addresses, if they are equal, compare prefixes, |
-
-
-
-ipaddr |
-
-@ |
-
-ipaddr |
-
-boolean |
-
-True if A1 is the part of network (subnetwork) A2 or if A1 = A2 |
-
-
-
-ipaddr |
-
-+ |
-
-int4 |
-
-ipaddr |
-
-Increase address A1 on A2 value (A2 is integer). |
-
-
-
-ipaddr |
-
-- |
-
-int4 |
-
-ipaddr |
-
-Decrease address A1 on A2. |
-
-
-
-5. Functions.
-
-There is a lot of functions defined for new ipaddr data type. Some of
-them are duplicated by operators described above, some are not.
-
-
-
-Function(arguments) |
-
-Function type |
-
-Description |
-
-Operator |
-
-
-
-ipaddr_print(ipaddr, text) |
-
-text |
-
-Converts ipaddr to the text string by format from the second argument.
-Format can contain %A - address, %M - mask, %B - reversed mask, %P - prefix,
-and any other characters. |
-
- |
-
-
-
-ipaddr_lt(ipaddr, ipaddr) |
-
-boolean |
-
-Compare by '<' |
-
-< |
-
-
-
-ipaddr_le(ipaddr,ipaddr) |
-
-boolean |
-
-Compare by '<=' |
-
-<= |
-
-
-
-ipaddr_eq(ipaddr, ipaddr) |
-
-boolean |
-
-Compare by '=' |
-
-= |
-
-
-
-ipaddr_ne(ipaddr, ipaddr) |
-
-boolean |
-
-Compare by '<>' |
-
-<> |
-
-
-
-ipaddr_ge(ipaddr, ipaddr) |
-
-boolean |
-
-Compare by '>=' |
-
->= |
-
-
-
-ipaddr_gt(ipaddr, ipaddr) |
-
-boolean |
-
-Compare by '>' |
-
-> |
-
-
-
-ipaddr_in_net(ipaddr, ipaddr) |
-
-boolean |
-
-True if fisrt argument is the host or subnetwork of the second
-argument (first address is equal or included into the second one) |
-
-@ |
-
-
-
-ipaddr_net(ipaddr) |
-
-ipaddr |
-
-Return the network (with the 0 in host bits) for the argument; for
-example ipaddr_net('193.124.23.1/24') = '193.124.23.0'; |
-
- |
-
-
-
-ipaddr_bcast(ipaddr) |
-
-ipaddr |
-
-Return broadcast address (with the /32 prefix) for the network described
-by argument. |
-
- |
-
-
-
-ipaddr_is_net(ipaddr) |
-
-boolean |
-
-True if ipaddr is network address; false if its' the
-host in the network. For the /32 addresses, returns false. |
-
- |
-
-
-
-ipaddr_mask(ipaddr) |
-
-ipaddr |
-
-Return netmask (with /32 prefix) for the network. |
-
- |
-
-
-
-ipaddr_prefix(ipaddr) |
-
-int4 |
-
-Return the prefix size (from 0 to 32). |
-
- |
-
-
-
-ipaddr_len(ipaddr) |
-
-int4 |
-
-Return the number of addresses in the particular network (for example,
-256 for /24 prefix). |
-
- |
-
-
-
-ipaddr_integer(ipaddr) |
-
-int4 |
-
-Return IP address (withouth the prefix) as integer. |
-
- |
-
-
-
-ipaddr_compose(int4,int4) |
-
-ipaddr |
-
-Compose ipaddr object from ip address (first argument) and prefix lenght
-(second argument). ipaddr_compose(ipaddr_integer(a),ipaddr_prefix(a)) =
-a. |
-
- |
-
-
-
-ipaddr_plus(ipaddr, int4) |
-
-ipaddr |
-
-Operator PLUS (addres increased, prefix does not changed) |
-
-+ |
-
-
-
-ipaddr_minus(ipaddr, int4) |
-
-ipaddr |
-
-Operator MINUS (address decreased, prefix does not changed). |
-
-- |
-
-
-
-ipaddr_cmp(ipaddr, ipaddr) |
-
-int4 |
-
-Compare it's arguments and return -1, 0 or +1. |
-
- |
-
-
-
-5. Usage.
-
-New type opens many interesting futures for the ip routing or ip accounting
-networks. For example, you can search all interfaces connected to the same
-phisical network by comparing ipaddr_net(interface_address) /if you store
-address as address/prefix pair in the single attribute, and so on.
-
-Unfortunately, I had not time (and was not too familiar with RTree ideas
-used in Postgres) to check if it's possible to use RTree indexing for the
-fast routing lookups by data base. It's important task because usial usage
-of this future is _determine the nearest network the particular address
-contain to, and link the accounting record to this network_. And so on.
-
-Write any questions or wishes to me by e-mail. This is BETA version
-of this package for now, because we are building our IP routing data base
-just now and did not tested all this fucntions under heavy conditions;
-through I hope this functions are too simple for the hidden bugs, and they
-was tested carefully at the simple tests.
-
-6. Installation.
-
-
-- Translate shared library ip.so:
-make
-
-- Install shared library to the proper place (/usr/local/pgsql/contrib/ip_and_macs)
-make install
-(in case if your system is not FreeBSD, it can be nessesary modify 'Makefile'
-before).
-
-- Public to the accessible place scripts ip.sql (installation of data
-type), ipi.sql (describing of this data type for the proper indexing),
-test1.sql, test2.sql, test.DATA (test and data). Modify test1.sql in accordance
-to real location of the data files.
-
-- To add new data type into your data base, exec scripts in this data
-base:
-psql DATA_BASE
-\i ip.sql -- change this to the real location
-\i ipi.sql -- change this to the real location
-
-- To test this data type, exec test1.sql and test2.sql SQL scripts.
-
-
-7. Download.
-
-You can download this data type from http://relcom.EU.net/ip_class.tar.gz
-
-
-
-
-
-
-
-Aleksei Roudnev, The Network Operation Centre, Relcom Network; Moscow,
-Russia.
-
-
-
-
-
-
-
diff --git a/contrib/ip_and_mac/ipi.sql b/contrib/ip_and_mac/ipi.sql
deleted file mode 100644
index 66dc1e3d93..0000000000
--- a/contrib/ip_and_mac/ipi.sql
+++ /dev/null
@@ -1,64 +0,0 @@
-begin;
-select pgam.oid from pg_am pgam
-where amname = 'btree';
---
--- Temporary oper table
---
--- drop table tmp_op;
-create table tmp_op ( oprname name, opi int2);
---
--- Fill in this table
---
-insert into tmp_op values('<','1');
-insert into tmp_op values('<=','2');
-insert into tmp_op values('=','3');
-insert into tmp_op values('>=','4');
-insert into tmp_op values('>','5');
-select * from tmp_op;
---
--- Add record to the pg_opclass
---
-DELETE FROM pg_opclass WHERE opcname = 'ipaddr_ops';
-INSERT INTO pg_opclass (opcname,opcdeftype)
-select 'ipaddr_ops',oid from pg_type where typname = 'ipaddr';
---
--- And determine oid
---
-SELECT opc.oid,opc.opcname
- FROM pg_opclass opc
- WHERE opc.opcname = 'ipaddr_ops';
---
-SELECT o.oid AS opoid, o.oprname
-INTO TABLE ipaddr_tmp
-FROM pg_operator o, pg_type t
-WHERE o.oprleft = t.oid and o.oprright = t.oid and t.typname = 'ipaddr';
-SELECT * FROM ipaddr_tmp;
---
-INSERT INTO pg_amop (amopid, amopclaid, amopopr, amopstrategy, amopselect, amopnpages)
-SELECT am.oid,opcl.oid,c.opoid,t.opi,'btreesel'::regproc, 'btreenpage'::regproc
-FROM pg_am am, pg_opclass opcl, ipaddr_tmp c, tmp_op t
-WHERE t.oprname = c.oprname
- and amname = 'btree'
- and opcname = 'ipaddr_ops';
---
-SELECT prc.oid, prc.proname FROM pg_proc prc
-WHERE prc.proname = 'ipaddr_cmp';
---
-INSERT INTO pg_amproc (amid, amopclaid, amproc, amprocnum)
-SELECT pgam.oid, opc.oid,prc.oid,'1'::int2
-FROM pg_am pgam,
- pg_opclass opc,
- pg_proc prc
-WHERE prc.proname = 'ipaddr_cmp'
- and pgam.amname = 'btree'
- and opc.opcname = 'ipaddr_ops';
-
-drop table tmp_op;
-DROP TABLE ipaddr_tmp;
-COMMIT;
-
--- *****************************************************************
--- * Now you should test this by running test1.sql and test2.sql *
--- * In test2, be sure the 'explain' operator show you *
--- * search by index in the last line of output *
--- *****************************************************************
diff --git a/contrib/ip_and_mac/mac.c b/contrib/ip_and_mac/mac.c
deleted file mode 100644
index f4f5fff7df..0000000000
--- a/contrib/ip_and_mac/mac.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * PostgreSQL type definitions for MAC addresses.
- *
- * $Id: mac.c,v 1.3 1998/02/26 04:27:44 momjian Exp $
- */
-
-#include
-
-#include
-#include
-
-#include "mac.h"
-
-/*
- * This is the internal storage format for MAC addresses:
- */
-
-typedef struct macaddr
-{
- unsigned char a;
- unsigned char b;
- unsigned char c;
- unsigned char d;
- unsigned char e;
- unsigned char f;
-} macaddr;
-
-/*
- * Various forward declarations:
- */
-
-macaddr *macaddr_in(char *str);
-char *macaddr_out(macaddr * addr);
-
-bool macaddr_lt(macaddr * a1, macaddr * a2);
-bool macaddr_le(macaddr * a1, macaddr * a2);
-bool macaddr_eq(macaddr * a1, macaddr * a2);
-bool macaddr_ge(macaddr * a1, macaddr * a2);
-bool macaddr_gt(macaddr * a1, macaddr * a2);
-
-bool macaddr_ne(macaddr * a1, macaddr * a2);
-
-int4 macaddr_cmp(macaddr * a1, macaddr * a2);
-
-text *macaddr_manuf(macaddr * addr);
-
-/*
- * Utility macros used for sorting and comparing:
- */
-
-#define hibits(addr) \
- ((unsigned long)((addr->a<<16)|(addr->b<<8)|(addr->c)))
-
-#define lobits(addr) \
- ((unsigned long)((addr->c<<16)|(addr->e<<8)|(addr->f)))
-
-/*
- * MAC address reader. Accepts several common notations.
- */
-
-macaddr *
-macaddr_in(char *str)
-{
- int a,
- b,
- c,
- d,
- e,
- f;
- macaddr *result;
- int count;
-
- if (strlen(str) > 0)
- {
-
- count = sscanf(str, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f);
- if (count != 6)
- count = sscanf(str, "%x-%x-%x-%x-%x-%x", &a, &b, &c, &d, &e, &f);
- if (count != 6)
- count = sscanf(str, "%2x%2x%2x:%2x%2x%2x", &a, &b, &c, &d, &e, &f);
- if (count != 6)
- count = sscanf(str, "%2x%2x%2x-%2x%2x%2x", &a, &b, &c, &d, &e, &f);
- if (count != 6)
- count = sscanf(str, "%2x%2x.%2x%2x.%2x%2x", &a, &b, &c, &d, &e, &f);
-
- if (count != 6)
- {
- elog(ERROR, "macaddr_in: error in parsing \"%s\"", str);
- return (NULL);
- }
-
- if ((a < 0) || (a > 255) || (b < 0) || (b > 255) ||
- (c < 0) || (c > 255) || (d < 0) || (d > 255) ||
- (e < 0) || (e > 255) || (f < 0) || (f > 255))
- {
- elog(ERROR, "macaddr_in: illegal address \"%s\"", str);
- return (NULL);
- }
- }
- else
- {
- a = b = c = d = e = f = 0; /* special case for missing
- * address */
- }
-
- result = (macaddr *) palloc(sizeof(macaddr));
-
- result->a = a;
- result->b = b;
- result->c = c;
- result->d = d;
- result->e = e;
- result->f = f;
-
- return (result);
-}
-
-/*
- * MAC address output function. Fixed format.
- */
-
-char *
-macaddr_out(macaddr * addr)
-{
- char *result;
-
- if (addr == NULL)
- return (NULL);
-
- result = (char *) palloc(32);
-
- if ((hibits(addr) > 0) || (lobits(addr) > 0))
- {
- sprintf(result, "%02x:%02x:%02x:%02x:%02x:%02x",
- addr->a, addr->b, addr->c, addr->d, addr->e, addr->f);
- }
- else
- {
- result[0] = 0; /* special case for missing address */
- }
- return (result);
-}
-
-/*
- * Boolean tests.
- */
-
-bool
-macaddr_lt(macaddr * a1, macaddr * a2)
-{
- return ((hibits(a1) < hibits(a2)) ||
- ((hibits(a1) == hibits(a2)) && lobits(a1) < lobits(a2)));
-};
-
-bool
-macaddr_le(macaddr * a1, macaddr * a2)
-{
- return ((hibits(a1) < hibits(a2)) ||
- ((hibits(a1) == hibits(a2)) && lobits(a1) <= lobits(a2)));
-};
-
-bool
-macaddr_eq(macaddr * a1, macaddr * a2)
-{
- return ((hibits(a1) == hibits(a2)) && (lobits(a1) == lobits(a2)));
-};
-
-bool
-macaddr_ge(macaddr * a1, macaddr * a2)
-{
- return ((hibits(a1) > hibits(a2)) ||
- ((hibits(a1) == hibits(a2)) && lobits(a1) >= lobits(a2)));
-};
-
-bool
-macaddr_gt(macaddr * a1, macaddr * a2)
-{
- return ((hibits(a1) > hibits(a2)) ||
- ((hibits(a1) == hibits(a2)) && lobits(a1) > lobits(a2)));
-};
-
-bool
-macaddr_ne(macaddr * a1, macaddr * a2)
-{
- return ((hibits(a1) != hibits(a2)) || (lobits(a1) != lobits(a2)));
-};
-
-/*
- * Comparison function for sorting:
- */
-
-int4
-macaddr_cmp(macaddr * a1, macaddr * a2)
-{
- if (hibits(a1) < hibits(a2))
- return -1;
- else if (hibits(a1) > hibits(a2))
- return 1;
- else if (lobits(a1) < lobits(a2))
- return -1;
- else if (lobits(a1) > lobits(a2))
- return 1;
- else
- return 0;
-}
-
-/*
- * The special manufacturer fetching function. See "mac.h".
- */
-
-text *
-macaddr_manuf(macaddr * addr)
-{
- manufacturer *manuf;
- int length;
- text *result;
-
- for (manuf = manufacturers; manuf->name != NULL; manuf++)
- {
- if ((manuf->a == addr->a) &&
- (manuf->b == addr->b) &&
- (manuf->c == addr->c))
- break;
- }
- if (manuf->name == NULL)
- {
- result = palloc(VARHDRSZ + 1);
- memset(result, 0, VARHDRSZ + 1);
- VARSIZE(result) = VARHDRSZ + 1;
- }
- else
- {
- length = strlen(manuf->name) + 1;
- result = palloc(length + VARHDRSZ);
- memset(result, 0, length + VARHDRSZ);
- VARSIZE(result) = length + VARHDRSZ;
- memcpy(VARDATA(result), manuf->name, length);
- }
- return result;
-}
-
-/*
- * eof
- */
diff --git a/contrib/ip_and_mac/mac.h b/contrib/ip_and_mac/mac.h
deleted file mode 100644
index 954dc05925..0000000000
--- a/contrib/ip_and_mac/mac.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * PostgreSQL type definitions for MAC addresses.
- *
- * $Id: mac.h,v 1.3 1998/02/26 04:27:50 momjian Exp $
- */
-
-typedef struct manufacturer
-{
- unsigned char a;
- unsigned char b;
- unsigned char c;
- char *name;
-} manufacturer;
-
-manufacturer manufacturers[] = {
- {0x00, 0x00, 0x0C, "Cisco"},
- {0x00, 0x00, 0x0E, "Fujitsu"},
- {0x00, 0x00, 0x0F, "NeXT"},
- {0x00, 0x00, 0x10, "Sytek"},
- {0x00, 0x00, 0x1D, "Cabletron"},
- {0x00, 0x00, 0x20, "DIAB"},
- {0x00, 0x00, 0x22, "Visual Technology"},
- {0x00, 0x00, 0x2A, "TRW"},
- {0x00, 0x00, 0x32, "GPT Limited"},
- {0x00, 0x00, 0x5A, "S & Koch"},
- {0x00, 0x00, 0x5E, "IANA"},
- {0x00, 0x00, 0x65, "Network General"},
- {0x00, 0x00, 0x6B, "MIPS"},
- {0x00, 0x00, 0x77, "MIPS"},
- {0x00, 0x00, 0x7A, "Ardent"},
- {0x00, 0x00, 0x89, "Cayman Systems"},
- {0x00, 0x00, 0x93, "Proteon"},
- {0x00, 0x00, 0x9F, "Ameristar Technology"},
- {0x00, 0x00, 0xA2, "Wellfleet"},
- {0x00, 0x00, 0xA3, "Network Application Technology"},
- {0x00, 0x00, 0xA6, "Network General"},
- {0x00, 0x00, 0xA7, "NCD"},
- {0x00, 0x00, 0xA9, "Network Systems"},
- {0x00, 0x00, 0xAA, "Xerox"},
- {0x00, 0x00, 0xB3, "CIMLinc"},
- {0x00, 0x00, 0xB7, "Dove Fastnet"},
- {0x00, 0x00, 0xBC, "Allen-Bradley"},
- {0x00, 0x00, 0xC0, "Western Digital"},
- {0x00, 0x00, 0xC5, "Farallon"},
- {0x00, 0x00, 0xC6, "Hewlett-Packard"},
- {0x00, 0x00, 0xC8, "Altos"},
- {0x00, 0x00, 0xC9, "Emulex"},
- {0x00, 0x00, 0xD7, "Dartmouth College"},
- {0x00, 0x00, 0xD8, "3Com (?)"},
- {0x00, 0x00, 0xDD, "Gould"},
- {0x00, 0x00, 0xDE, "Unigraph"},
- {0x00, 0x00, 0xE2, "Acer Counterpoint"},
- {0x00, 0x00, 0xEF, "Alantec"},
- {0x00, 0x00, 0xFD, "High Level Hardware"},
- {0x00, 0x01, 0x02, "BBN internal usage"},
- {0x00, 0x20, 0xAF, "3Com"},
- {0x00, 0x17, 0x00, "Kabel"},
- {0x00, 0x80, 0x64, "Wyse Technology"},
- {0x00, 0x80, 0x2B, "IMAC (?)"},
- {0x00, 0x80, 0x2D, "Xylogics, Inc."},
- {0x00, 0x80, 0x8C, "Frontier Software Development"},
- {0x00, 0x80, 0xC2, "IEEE 802.1 Committee"},
- {0x00, 0x80, 0xD3, "Shiva"},
- {0x00, 0xAA, 0x00, "Intel"},
- {0x00, 0xDD, 0x00, "Ungermann-Bass"},
- {0x00, 0xDD, 0x01, "Ungermann-Bass"},
- {0x02, 0x07, 0x01, "Racal InterLan"},
- {0x02, 0x04, 0x06, "BBN internal usage"},
- {0x02, 0x60, 0x86, "Satelcom MegaPac"},
- {0x02, 0x60, 0x8C, "3Com"},
- {0x02, 0xCF, 0x1F, "CMC"},
- {0x08, 0x00, 0x02, "3Com"},
- {0x08, 0x00, 0x03, "ACC"},
- {0x08, 0x00, 0x05, "Symbolics"},
- {0x08, 0x00, 0x08, "BBN"},
- {0x08, 0x00, 0x09, "Hewlett-Packard"},
- {0x08, 0x00, 0x0A, "Nestar Systems"},
- {0x08, 0x00, 0x0B, "Unisys"},
- {0x08, 0x00, 0x11, "Tektronix"},
- {0x08, 0x00, 0x14, "Excelan"},
- {0x08, 0x00, 0x17, "NSC"},
- {0x08, 0x00, 0x1A, "Data General"},
- {0x08, 0x00, 0x1B, "Data General"},
- {0x08, 0x00, 0x1E, "Apollo"},
- {0x08, 0x00, 0x20, "Sun"},
- {0x08, 0x00, 0x22, "NBI"},
- {0x08, 0x00, 0x25, "CDC"},
- {0x08, 0x00, 0x26, "Norsk Data"},
- {0x08, 0x00, 0x27, "PCS Computer Systems GmbH"},
- {0x08, 0x00, 0x28, "Texas Instruments"},
- {0x08, 0x00, 0x2B, "DEC"},
- {0x08, 0x00, 0x2E, "Metaphor"},
- {0x08, 0x00, 0x2F, "Prime Computer"},
- {0x08, 0x00, 0x36, "Intergraph"},
- {0x08, 0x00, 0x37, "Fujitsu-Xerox"},
- {0x08, 0x00, 0x38, "Bull"},
- {0x08, 0x00, 0x39, "Spider Systems"},
- {0x08, 0x00, 0x41, "DCA Digital Comm. Assoc."},
- {0x08, 0x00, 0x45, "Xylogics (?)"},
- {0x08, 0x00, 0x46, "Sony"},
- {0x08, 0x00, 0x47, "Sequent"},
- {0x08, 0x00, 0x49, "Univation"},
- {0x08, 0x00, 0x4C, "Encore"},
- {0x08, 0x00, 0x4E, "BICC"},
- {0x08, 0x00, 0x56, "Stanford University"},
- {0x08, 0x00, 0x58, "DECsystem 20 (?)"},
- {0x08, 0x00, 0x5A, "IBM"},
- {0x08, 0x00, 0x67, "Comdesign"},
- {0x08, 0x00, 0x68, "Ridge"},
- {0x08, 0x00, 0x69, "Silicon Graphics"},
- {0x08, 0x00, 0x6E, "Concurrent"},
- {0x08, 0x00, 0x75, "DDE"},
- {0x08, 0x00, 0x7C, "Vitalink"},
- {0x08, 0x00, 0x80, "XIOS"},
- {0x08, 0x00, 0x86, "Imagen/QMS"},
- {0x08, 0x00, 0x87, "Xyplex"},
- {0x08, 0x00, 0x89, "Kinetics"},
- {0x08, 0x00, 0x8B, "Pyramid"},
- {0x08, 0x00, 0x8D, "XyVision"},
- {0x08, 0x00, 0x90, "Retix Inc"},
- {0x48, 0x44, 0x53, "HDS (?)"},
- {0x80, 0x00, 0x10, "AT&T"},
- {0xAA, 0x00, 0x00, "DEC"},
- {0xAA, 0x00, 0x01, "DEC"},
- {0xAA, 0x00, 0x02, "DEC"},
- {0xAA, 0x00, 0x03, "DEC"},
- {0xAA, 0x00, 0x04, "DEC"},
- {0x00, 0x00, 0x00, NULL}
-};
-
-/*
- * eof
- */
diff --git a/contrib/ip_and_mac/mac.sql b/contrib/ip_and_mac/mac.sql
deleted file mode 100644
index e0f4d72079..0000000000
--- a/contrib/ip_and_mac/mac.sql
+++ /dev/null
@@ -1,125 +0,0 @@
---
--- PostgreSQL code for MAC addresses.
---
--- $Id: mac.sql,v 1.4 1998/06/16 05:35:11 momjian Exp $
---
-
-load '/usr/local/pgsql/contrib/ip_and_macs/mac.so';
-
---
--- Input and output functions and the type itself:
---
-
-create function macaddr_in(opaque)
- returns opaque
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
-create function macaddr_out(opaque)
- returns opaque
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
-create type macaddr (
- internallength = 6,
- externallength = variable,
- input = macaddr_in,
- output = macaddr_out
-);
-
---
--- The boolean tests:
---
-
-create function macaddr_lt(macaddr, macaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
-create function macaddr_le(macaddr, macaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
-create function macaddr_eq(macaddr, macaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
-create function macaddr_ge(macaddr, macaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
-create function macaddr_gt(macaddr, macaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
-create function macaddr_ne(macaddr, macaddr)
- returns bool
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
---
--- Now the operators. Note how some of the parameters to some
--- of the 'create operator' commands are commented out. This
--- is because they reference as yet undefined operators, and
--- will be implicitly defined when those are, further down.
---
-
-create operator < (
- leftarg = macaddr,
- rightarg = macaddr,
--- negator = >=,
- procedure = macaddr_lt
-);
-
-create operator <= (
- leftarg = macaddr,
- rightarg = macaddr,
--- negator = >,
- procedure = macaddr_le
-);
-
-create operator = (
- leftarg = macaddr,
- rightarg = macaddr,
- commutator = =,
--- negator = <>,
- procedure = macaddr_eq
-);
-
-create operator >= (
- leftarg = macaddr,
- rightarg = macaddr,
- negator = <,
- procedure = macaddr_ge
-);
-
-create operator > (
- leftarg = macaddr,
- rightarg = macaddr,
- negator = <=,
- procedure = macaddr_gt
-);
-
-create operator <> (
- leftarg = macaddr,
- rightarg = macaddr,
- negator = =,
- procedure = macaddr_ne
-);
-
---
--- Finally, the special manufacurer matching function:
---
-
-create function macaddr_manuf(macaddr)
- returns text
- as '/usr/local/pgsql/contrib/ip_and_macs/mac.so'
- language 'c';
-
---
--- eof
---
diff --git a/contrib/ip_and_mac/t1.sql b/contrib/ip_and_mac/t1.sql
deleted file mode 100644
index 0ded14f3d3..0000000000
--- a/contrib/ip_and_mac/t1.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-insert into xx values('193.124.23.2','host2');
-insert into xx values('193.124.23.3','host3');
-insert into xx values('193.124.22.1','host4');
-insert into xx values('193.124.22.2','host5');
-insert into xx values('193.124.22.3','host6');
diff --git a/contrib/ip_and_mac/test.DATA b/contrib/ip_and_mac/test.DATA
deleted file mode 100644
index 1bce53bd62..0000000000
--- a/contrib/ip_and_mac/test.DATA
+++ /dev/null
@@ -1,999 +0,0 @@
-193.125.80.35 193.232.202.80 2 880
-193.125.80.35 194.87.0.22 2 574
-194.87.42.38 195.16.106.31 262 10696
-204.62.245.169 193.125.24.10 14 833
-193.125.80.35 195.24.128.65 3 180
-193.125.80.35 195.54.2.1 2 630
-193.125.80.35 195.54.192.33 7 448
-194.87.42.38 195.16.106.22 14 736
-193.125.80.35 195.210.140.7 3 1068
-194.87.41.131 195.46.160.46 10 681
-194.87.37.2 194.135.213.244 66 9088
-194.87.36.193 195.9.53.1 8 464
-194.87.36.193 194.135.2.7 8 464
-194.87.36.1 195.24.224.1 2 716
-194.87.34.44 195.16.96.2 2 164
-194.87.31.230 195.46.160.92 10 757
-194.87.24.93 195.46.160.46 9 664
-194.87.24.93 195.16.104.35 8 598
-194.87.23.28 195.210.155.149 22 1249
-194.87.22.107 195.46.160.34 76 3630
-194.87.18.152 195.90.162.2 15 666
-194.87.18.152 195.90.128.107 1 66
-193.125.80.35 62.76.114.44 2 880
-194.87.16.174 195.46.160.120 17 2276
-204.62.245.168 194.226.45.36 8 444
-194.87.16.78 195.16.104.35 8 720
-194.87.16.61 195.16.96.22 29 1248
-194.87.16.39 194.220.215.66 324 25148
-194.87.16.10 195.128.133.65 57 4301
-194.87.16.10 194.135.176.121 237 18379
-193.125.80.38 194.84.69.5 21 1929
-193.125.80.38 212.46.1.30 40 3758
-204.62.245.168 144.206.160.32 8 450
-193.125.80.44 195.151.199.4 45 2520
-194.87.15.158 195.46.160.46 2 112
-193.125.80.60 193.232.127.78 2 880
-193.125.80.60 193.232.202.80 2 864
-194.87.15.138 195.16.110.7 2 112
-193.125.80.60 195.96.65.2 2 864
-194.87.15.138 193.124.110.130 2 112
-194.87.15.1 195.90.130.133 3 84
-193.125.80.144 212.46.4.3 311 21140
-193.125.80.163 194.84.132.222 261 110114
-193.125.80.163 194.87.12.50 582 38097
-193.125.80.163 194.87.13.2 34 2499
-194.87.14.221 195.46.165.215 5 382
-193.125.81.139 195.34.34.70 107 7799
-193.125.81.140 194.67.115.130 5 220
-204.62.245.167 195.222.130.72 9 475
-204.62.245.167 193.125.242.225 2 88
-194.87.14.221 195.46.163.47 117 99564
-193.125.81.146 194.87.5.3 12 672
-193.125.81.146 194.87.12.50 4 224
-193.125.81.146 194.87.13.2 5 280
-194.87.14.221 195.46.162.91 137 21211
-193.125.81.146 195.161.0.34 2 112
-193.125.81.146 195.218.135.39 2 112
-194.87.14.221 195.12.32.8 131 132002
-194.87.14.221 193.124.252.73 530 214220
-193.125.81.148 194.67.146.145 201 8040
-193.125.81.148 194.87.5.3 49 3140
-193.125.81.148 194.87.12.50 230 12526
-193.125.81.148 194.87.13.2 31 2042
-194.87.14.216 195.210.154.154 68 32028
-193.125.81.148 194.190.218.2 8 611
-193.125.81.148 195.161.0.34 17 1473
-193.125.81.148 195.218.135.39 245 16647
-193.125.81.152 193.193.192.2 215 14797
-193.125.81.152 194.87.13.2 12 748
-193.125.81.152 195.24.128.65 27 1896
-193.125.81.152 195.54.192.118 53 3209
-194.87.14.216 195.210.154.152 83 81270
-193.125.84.12 195.46.160.45 47 2373
-193.125.84.154 195.90.128.107 1 62
-193.125.84.154 195.90.140.2 1 62
-194.87.14.203 195.210.130.62 6 821
-194.87.14.152 195.46.160.69 12 2172
-193.125.86.4 195.19.32.1 176 89133
-194.87.14.73 195.90.162.2 41 42955
-194.87.14.53 195.46.162.75 149 138236
-194.87.14.51 195.210.190.19 19 10290
-194.87.14.6 195.46.163.31 22 24836
-193.125.90.34 194.87.161.7 2 208
-193.125.90.34 194.87.161.229 13 8867
-193.125.90.34 195.54.17.33 644 81839
-194.87.14.5 193.124.97.131 53 12784
-193.125.90.130 194.58.95.62 82 7119
-194.87.13.26 212.248.36.8 14 7757
-194.87.13.26 195.98.162.111 80 39391
-194.87.13.26 195.98.161.25 70 76902
-194.87.13.26 195.46.165.196 30 14838
-194.87.13.26 195.46.161.219 47 39327
-193.125.95.121 193.124.1.131 248 101051
-194.87.13.26 194.85.149.13 28 24599
-194.87.13.21 195.98.162.9 32 16101
-194.87.13.21 195.90.136.148 84 93861
-193.125.95.121 194.186.254.26 79 5470
-194.87.13.21 195.46.162.244 10 400
-194.87.13.21 195.12.32.182 96 53171
-194.87.13.20 212.248.36.8 14 6798
-194.87.13.20 212.20.8.250 358 438254
-194.87.13.20 195.222.130.242 4 550
-194.87.13.20 195.222.130.77 8 6753
-193.125.95.124 192.124.176.69 4 538
-193.125.95.124 193.124.5.54 2 126
-194.87.13.20 195.210.143.145 4 168
-193.125.95.124 193.124.110.129 21 2181
-193.125.95.124 193.124.148.81 2 310
-194.87.13.20 195.210.136.25 4 626
-193.125.95.124 194.67.2.97 3 382
-193.125.95.124 194.84.222.2 3 382
-194.87.13.20 195.208.94.133 115 122276
-194.87.13.20 195.182.129.11 15 17177
-194.87.13.20 195.170.195.70 14 14313
-204.62.245.167 193.124.97.135 9 472
-194.87.13.20 195.144.198.159 90 40576
-194.87.13.20 195.144.192.198 79 91293
-193.125.95.124 195.222.130.67 9 745
-194.87.13.20 195.128.144.246 14 12816
-194.87.13.20 195.128.140.71 17 15901
-194.87.13.20 195.128.140.3 44 47802
-194.87.13.20 195.128.132.20 25 27119
-194.87.13.20 195.128.128.98 28 15369
-194.87.13.20 195.98.162.188 2 3000
-193.125.98.254 194.190.170.19 26 1456
-193.125.98.254 195.72.225.204 73 4088
-204.62.245.166 195.9.80.194 2 88
-204.62.245.161 193.124.182.40 2 138
-204.62.132.32 193.124.97.131 3 618
-193.125.103.137 195.46.163.141 7 372
-194.87.13.20 195.98.162.170 4 628
-193.125.121.1 193.124.22.22 2 136
-193.125.121.121 194.85.157.200 790 31921
-193.125.125.253 193.124.22.65 80 5411
-193.125.127.42 193.124.22.65 18 1368
-193.125.127.42 194.190.170.19 1227 63804
-194.87.13.20 195.98.162.155 73 70166
-194.87.13.20 195.98.162.9 323 163018
-194.87.13.20 195.98.161.32 10 9756
-194.87.13.20 195.98.161.25 4 1208
-194.87.13.20 195.90.180.25 3 568
-194.87.13.20 195.90.162.2 4 738
-194.87.13.20 195.54.8.139 42 53309
-194.87.13.20 195.54.5.129 27 13705
-194.87.13.20 195.46.164.25 11 12641
-194.87.13.20 195.46.164.16 62 74088
-194.87.13.20 195.46.163.158 35 37649
-194.87.13.20 195.46.163.89 52 57716
-194.87.13.20 195.46.163.15 11 12641
-193.125.132.129 193.124.215.71 26 4734
-193.125.132.129 193.124.222.161 5 220
-194.87.13.20 195.46.162.196 13 12813
-194.87.13.20 195.46.162.173 30 36193
-194.87.13.20 195.46.161.242 69 82486
-194.87.13.20 195.46.161.210 15 13392
-194.87.13.20 195.46.161.209 43 39183
-193.125.132.129 194.190.211.25 2 80
-194.87.13.20 195.46.161.111 85 93111
-194.87.13.20 195.46.161.100 41 8909
-194.87.13.20 195.16.102.4 5 3716
-194.87.13.20 195.16.101.109 17 20273
-194.87.13.20 195.16.101.101 93 112303
-194.87.13.20 195.16.98.99 152 171268
-194.87.13.20 195.9.103.3 11 12641
-194.87.13.20 194.220.53.195 303 100520
-194.87.13.20 194.190.56.83 8 1096
-194.87.13.20 194.85.149.18 43 48875
-194.87.13.20 194.85.137.152 30 34921
-194.87.13.20 194.58.169.23 5 590
-194.87.13.20 194.58.92.67 10 1044
-194.87.13.20 194.58.72.102 34 31635
-194.87.13.20 194.58.47.81 4 172
-194.87.13.20 193.124.241.239 53 51597
-193.125.142.40 195.54.3.15 7 500
-193.125.142.40 195.90.183.40 1 40
-193.125.143.130 195.90.128.103 13 11141
-193.125.143.135 195.46.160.46 45 2957
-204.62.129.195 195.19.1.132 10 4438
-193.125.148.150 193.124.22.65 12 912
-194.87.13.20 193.124.121.65 4 2216
-194.87.13.20 193.124.114.33 8 1084
-194.87.13.16 195.98.162.134 259 254892
-194.87.13.16 195.46.165.162 292 145058
-194.87.13.16 195.46.162.200 51 42010
-194.87.13.16 195.46.160.69 97 45411
-194.87.13.16 193.124.97.35 74 81434
-194.87.13.15 212.20.1.95 11 10485
-194.87.13.15 195.210.136.135 16 15786
-194.87.13.15 195.210.131.39 6 3168
-193.125.152.1 147.45.130.1 2 326
-194.87.13.15 195.98.162.153 136 143332
-194.87.13.15 195.98.162.9 308 168069
-194.87.13.15 195.46.165.185 1183 633028
-194.87.13.15 195.46.165.166 2 104
-194.87.13.15 195.46.164.44 70 53112
-194.87.13.15 195.46.163.156 159 113967
-194.87.13.15 195.46.162.241 64 20483
-194.87.13.15 195.46.162.30 120 95284
-194.87.13.15 195.16.101.67 115 82325
-194.87.13.15 195.9.90.85 7 600
-194.87.13.15 194.135.176.88 92 7543
-193.125.152.1 193.124.5.54 382 18328
-193.125.152.1 193.124.22.22 271 246786
-193.125.152.1 193.124.22.65 58 3504
-193.125.152.1 193.124.22.68 12 1443
-193.125.152.1 193.124.22.69 535 50134
-193.125.152.1 193.124.22.70 10 1187
-193.125.152.1 193.124.22.71 430 57506
-193.125.152.1 193.124.22.72 57 7236
-193.125.152.1 193.124.22.73 12 1443
-193.125.152.1 193.124.22.74 9 1059
-193.125.152.1 193.124.22.75 237 33658
-193.125.152.1 193.124.22.77 266 37279
-193.125.152.1 193.124.22.81 2265 522913
-193.125.152.1 193.124.22.83 739 88013
-193.125.152.1 193.124.36.45 1639 813217
-193.125.152.1 193.124.57.65 219 74665
-194.87.13.15 194.135.2.7 75 27476
-194.87.13.15 193.124.252.73 254 110171
-193.125.152.1 193.124.182.41 4 160
-193.125.152.1 193.124.241.3 15 2284
-193.125.152.1 193.124.241.14 1 244
-193.125.152.1 193.124.241.18 3 636
-193.125.152.1 193.124.241.29 19 3767
-193.125.152.1 193.124.241.40 13 3140
-193.125.152.1 193.124.241.53 32 7802
-193.125.152.1 193.124.241.58 2 420
-193.125.152.1 193.124.241.75 1 244
-193.125.152.1 193.124.241.84 4 670
-193.125.152.1 193.124.241.123 16 3574
-193.125.152.1 193.124.241.154 2 524
-193.125.152.1 193.124.241.158 44 10519
-193.125.152.1 193.124.241.229 1 200
-193.125.152.1 193.124.241.239 22 4490
-193.125.152.1 193.124.241.249 6 1748
-193.125.152.1 193.125.65.235 321 13793
-193.125.152.1 193.125.80.35 2 476
-194.87.13.15 193.124.241.39 512 271010
-194.87.13.15 193.124.32.49 1119 1170153
-194.87.13.14 195.210.136.135 188 193578
-193.125.152.1 193.232.0.205 24 1555
-193.125.152.1 193.232.21.26 17 1138
-193.125.152.1 193.232.21.31 24 2206
-193.125.152.1 193.232.69.159 8 1176
-193.125.152.1 193.232.88.17 19 1387
-193.125.152.1 193.232.119.131 783 31804
-193.125.152.1 193.232.202.12 2 818
-193.125.152.1 193.233.86.14 11 660
-193.125.152.1 193.233.86.33 11 660
-193.125.152.1 193.233.208.3 3 738
-194.87.13.12 212.248.36.8 5 1763
-194.87.13.12 212.20.8.250 49 37420
-194.87.13.12 195.210.182.31 50 3544
-194.87.13.12 195.210.179.4 37 33062
-193.125.152.1 194.58.169.17 357 155601
-193.125.152.1 194.58.201.193 6 774
-193.125.152.1 194.58.230.92 8 1576
-193.125.152.1 194.58.230.110 1 60
-193.125.152.1 194.67.2.97 10 2760
-193.125.152.1 194.67.90.1 8 448
-194.87.13.12 195.210.154.48 37 13937
-194.87.13.12 195.210.130.50 20 2117
-193.125.152.1 194.84.23.125 16 1168
-193.125.152.1 194.84.41.68 298 127287
-193.125.152.1 194.84.42.17 16 1325
-193.125.152.1 194.84.96.2 44 10261
-193.125.152.1 194.84.204.222 1 112
-193.125.152.1 194.84.242.126 10 2178
-193.125.152.1 194.85.80.238 18 1178
-193.125.152.1 194.85.128.10 25 1375
-193.125.152.1 194.85.137.89 8 440
-194.87.13.12 195.208.94.133 33 20968
-193.125.152.1 194.85.224.33 28 1708
-193.125.152.1 194.85.224.34 26 1586
-193.125.152.1 194.87.0.20 12 873
-193.125.152.1 194.87.5.3 8 448
-193.125.152.1 194.87.5.21 2 518
-193.125.152.1 194.87.13.2 4 224
-193.125.152.1 194.87.44.1 1 146
-193.125.152.1 194.87.210.41 2 402
-194.87.13.12 195.182.129.11 23 15865
-194.87.13.12 195.170.195.70 63 44135
-194.87.13.12 195.144.192.198 31 6314
-193.125.152.1 194.117.64.34 20 1271
-193.125.152.1 194.135.34.19 13 2470
-193.125.152.1 194.135.34.85 12 2254
-193.125.152.1 194.135.34.136 6 866
-193.125.152.1 194.135.34.150 2 488
-193.125.152.1 194.135.34.159 1 467
-193.125.152.1 194.135.34.212 11 2560
-193.125.152.1 194.135.34.229 2 337
-193.125.152.1 194.135.34.233 4 680
-193.125.152.1 194.135.102.10 2 414
-193.125.152.1 194.135.178.74 7 1162
-193.125.152.1 194.154.93.80 2 284
-194.87.13.12 195.128.140.3 14 872
-193.125.152.1 194.190.218.2 2 518
-194.87.13.12 195.128.130.2 4 352
-194.87.13.12 195.98.162.155 75 60095
-194.87.13.12 195.98.162.78 98 64468
-193.125.152.1 194.220.36.1 37 2850
-193.125.152.1 194.220.146.79 2 522
-194.87.13.12 195.98.162.9 62 13543
-194.87.13.12 195.98.161.59 7 476
-194.87.13.12 195.98.161.32 12 865
-204.62.128.51 195.19.1.132 43 38029
-204.62.128.48 193.124.97.153 9 3356
-204.59.144.222 194.85.149.1 2 266
-193.125.152.1 195.5.128.130 2 512
-194.87.13.12 195.98.161.25 8 3438
-193.125.152.1 195.16.104.35 5 280
-193.125.152.1 195.34.19.108 2 312
-193.125.152.1 195.34.32.11 2 476
-193.125.152.1 195.34.41.33 9 504
-194.87.13.12 195.90.136.148 32 3564
-194.87.13.12 195.90.136.143 10 890
-193.125.152.1 195.46.160.2 8 448
-193.125.152.1 195.46.160.34 2 630
-193.125.152.1 195.54.193.9 18 1405
-193.125.152.1 195.91.133.77 4 1212
-193.125.152.1 195.98.55.1 18 1405
-193.125.152.1 195.133.94.129 23 1485
-193.125.152.1 195.138.67.91 8 544
-193.125.152.1 195.138.80.33 19 1245
-193.125.152.1 195.138.80.34 20 1308
-193.125.152.1 195.146.64.131 4 472
-193.125.152.1 195.161.8.6 19 1445
-193.125.152.1 195.161.8.159 42 3569
-194.87.13.12 195.54.8.139 74 6178
-193.125.152.1 195.208.141.38 2 512
-193.125.152.1 195.209.37.18 2 670
-193.125.152.1 195.209.39.133 8 1698
-194.87.13.12 195.46.165.250 2 80
-193.125.152.1 195.218.133.114 24 1905
-194.87.13.12 195.46.165.196 9 3478
-193.125.152.1 195.230.64.66 101 4508
-193.125.152.1 195.239.88.50 37 1480
-193.125.152.1 195.239.193.64 2 476
-193.125.152.1 195.239.210.2 2 500
-194.87.13.12 195.46.164.25 69 4776
-194.87.13.12 195.46.164.17 28 16790
-194.87.13.12 195.46.163.158 30 6337
-194.87.13.12 195.46.163.89 56 28328
-194.87.13.12 195.46.163.15 8 336
-194.87.13.12 195.46.162.213 4 160
-194.87.13.12 195.46.162.206 41 25676
-194.87.13.12 195.46.162.196 54 38487
-194.87.13.12 195.46.162.173 63 40346
-194.87.13.12 195.46.162.55 7 657
-194.87.13.12 195.46.162.31 5 200
-194.87.13.12 195.46.161.242 67 20130
-194.87.13.12 195.46.161.219 5 1831
-194.87.13.12 195.46.161.210 12 13389
-194.87.13.12 195.46.161.209 64 26136
-194.87.13.12 195.46.161.111 47 3947
-194.87.13.12 195.16.101.109 31 2924
-194.87.13.12 195.16.101.101 42 3051
-194.87.13.12 195.16.98.99 13 903
-194.87.13.12 195.9.103.3 74 5122
-194.87.13.12 194.220.215.111 75 5304
-194.87.13.12 194.220.215.110 22 2367
-194.87.13.12 194.220.215.66 6 539
-194.87.13.12 194.190.82.40 14 1558
-194.87.13.12 193.125.19.101 23 2074
-194.87.13.12 193.124.241.239 10 4274
-194.87.13.12 193.124.114.33 42 13726
-193.125.152.1 62.76.114.44 9 2780
-194.87.13.8 212.20.8.250 110 87859
-194.87.13.8 195.222.130.242 4 527
-194.87.13.8 195.210.182.31 9 1222
-194.87.13.8 195.210.179.4 14 15689
-194.87.13.8 195.210.154.48 13 1602
-194.87.13.8 195.210.136.135 163 171207
-194.87.13.8 195.210.130.50 8 6213
-194.87.13.8 195.210.128.65 6 408
-194.87.13.8 195.208.94.133 63 43061
-194.87.13.8 195.208.76.33 5 355
-194.87.13.8 195.208.67.19 400 446069
-194.87.13.8 195.208.64.146 50 39549
-194.87.13.8 195.208.64.144 12 12685
-194.87.13.8 195.182.129.11 16 18647
-194.87.13.8 195.170.195.70 14 2119
-194.87.13.8 195.146.70.100 49 27151
-194.87.13.8 195.144.198.159 12 1336
-194.87.13.8 195.144.192.198 16 2213
-194.87.13.8 195.128.140.71 15 6105
-194.87.13.8 195.128.140.3 8 821
-194.87.13.8 195.98.162.170 5 699
-194.87.13.8 195.98.162.155 43 43382
-194.87.13.8 195.98.162.153 12 8634
-194.87.13.8 195.98.162.78 57 25228
-194.87.13.8 195.98.162.9 94 33009
-194.87.13.8 195.98.161.57 4 6000
-194.87.13.8 195.98.161.41 52 57725
-194.87.13.8 195.98.161.32 6 433
-194.87.13.8 195.96.174.178 17 20989
-194.87.13.8 195.96.163.66 13 8510
-194.87.13.8 195.90.188.105 169 68987
-194.87.13.8 195.90.188.98 13 13679
-194.87.13.8 195.90.185.38 100 23568
-194.87.13.8 195.90.162.2 26 9575
-194.87.13.8 195.90.136.148 25 3160
-194.87.13.8 195.90.136.143 4 2024
-194.87.13.8 195.90.132.57 4 1398
-194.87.13.8 195.54.8.139 33 10681
-194.87.13.8 195.54.5.129 4 735
-194.87.13.8 195.46.165.250 5 697
-194.87.13.8 195.46.165.215 23 10108
-194.87.13.8 195.46.164.25 25 2325
-194.87.13.8 195.46.164.17 16 11423
-194.87.13.8 195.46.164.16 9 6253
-194.87.13.8 195.46.163.171 50 24920
-194.87.13.8 195.46.163.158 19 6681
-194.87.13.8 195.46.163.156 18 19033
-194.87.13.8 195.46.163.123 11 10683
-194.87.13.8 195.46.163.89 69 36648
-194.87.13.8 195.46.163.15 4 353
-194.87.13.8 195.46.163.7 173 112297
-194.87.13.8 195.46.162.206 12 2050
-194.87.13.8 195.46.162.196 30 35369
-194.87.13.8 195.46.162.184 80 104089
-194.87.13.8 195.46.162.173 18 16346
-194.87.13.8 195.46.162.91 306 246711
-194.87.13.8 195.46.162.55 5 393
-194.87.13.8 195.46.162.31 9 557
-194.87.13.8 195.46.162.13 10 1014
-194.87.13.8 195.46.161.242 44 35502
-194.87.13.8 195.46.161.210 15 18274
-194.87.13.8 195.46.161.209 24 15531
-194.87.13.8 195.46.161.186 31 27219
-194.87.13.8 195.46.161.170 9 1482
-194.87.13.8 195.46.161.133 21 24725
-194.87.13.8 195.46.161.123 11 10683
-194.87.13.8 195.46.161.111 26 2791
-194.87.13.8 195.46.161.83 25 10320
-194.87.13.8 195.46.161.71 124 123406
-194.87.13.8 195.46.160.69 11 10785
-194.87.13.8 195.16.101.109 5 393
-193.125.152.3 158.250.39.28 2 126
-193.125.152.3 158.250.100.24 2 734
-193.125.152.3 159.93.17.7 4 234
-194.87.13.8 195.16.101.101 57 53033
-194.87.13.8 195.16.98.99 100 68835
-194.87.13.8 195.16.98.37 24 4428
-194.87.13.8 195.12.35.2 18 17726
-194.87.13.8 195.9.103.3 76 32081
-194.87.13.8 195.9.96.7 22 14498
-194.87.13.8 194.220.215.111 16 2352
-194.87.13.8 194.220.215.110 13 1554
-194.87.13.8 194.220.215.66 5 759
-194.87.13.8 194.220.53.195 7 797
-194.87.13.8 194.135.178.214 70 27886
-194.87.13.8 194.135.111.18 260 289019
-194.87.13.8 194.85.149.18 6 475
-194.87.13.8 194.58.72.102 5 703
-194.87.13.8 193.124.241.239 13 6926
-194.87.13.8 193.124.241.39 31 18403
-194.87.13.8 193.124.121.118 17 1675
-194.87.13.8 193.124.114.33 43 19148
-194.87.13.6 195.98.162.153 2 120
-194.87.13.2 212.20.8.250 16 3749
-194.87.13.2 212.20.8.246 5 1259
-194.87.13.2 212.20.1.95 33 7367
-194.87.13.2 195.238.68.234 9 2454
-194.87.13.2 195.222.138.108 7 1203
-194.87.13.2 195.222.130.242 21 5860
-194.87.13.2 195.210.190.19 19 4260
-194.87.13.2 195.210.189.1 5 1119
-194.87.13.2 195.210.182.31 35 26895
-194.87.13.2 195.210.176.170 4 1079
-194.87.13.2 195.210.174.6 5 1119
-194.87.13.2 195.210.164.25 5 1119
-194.87.13.2 195.210.154.164 9 2484
-194.87.13.2 195.210.154.152 8 1376
-193.125.152.3 192.188.189.3 2 136
-194.87.13.2 195.210.154.48 43 28721
-194.87.13.2 195.210.150.2 31 6855
-194.87.13.2 195.210.148.242 17 2910
-194.87.13.2 195.210.143.145 7 2110
-194.87.13.2 195.210.136.145 20 3862
-194.87.13.2 195.210.136.135 9 1423
-194.87.13.2 195.210.136.131 7 1353
-194.87.13.2 195.210.130.50 16 14690
-194.87.13.2 195.208.94.133 33 9913
-194.87.13.2 195.208.93.154 9 1411
-194.87.13.2 195.208.72.139 4 1079
-194.87.13.2 195.208.72.47 8 2154
-194.87.13.2 195.208.67.19 4 1079
-194.87.13.2 195.208.67.10 8 1376
-194.87.13.2 195.208.64.152 4 1079
-194.87.13.2 195.208.64.144 6 2066
-193.125.152.3 193.124.5.37 11 1336
-193.125.152.3 193.124.5.50 2 266
-193.125.152.3 193.124.5.54 4 692
-193.125.152.3 193.124.22.22 11 2138
-193.125.152.3 193.124.22.65 141 15806
-193.125.152.3 193.124.32.129 5 1116
-193.125.152.3 193.124.57.100 3 197
-193.125.152.3 193.124.76.86 1 278
-194.87.13.2 195.208.64.129 6 1167
-193.125.152.3 193.124.110.130 2 766
-193.125.152.3 193.124.134.19 4 548
-194.87.13.2 195.182.129.8 9 3525
-193.125.152.3 193.124.148.73 9 1408
-193.125.152.3 193.124.171.67 2 354
-193.125.152.3 193.124.182.40 2 144
-193.125.152.3 193.124.241.39 2 356
-193.125.152.3 193.124.241.83 4 866
-194.87.13.2 195.182.128.2 39 9020
-193.125.152.3 193.124.250.22 79 12968
-193.125.152.3 193.125.80.35 2 300
-194.87.13.2 195.170.195.70 55 42078
-194.87.13.2 195.146.71.226 5 1119
-194.87.13.2 195.146.71.178 53 11410
-194.87.13.2 195.146.70.100 6 2070
-194.87.13.2 195.146.70.97 7 1199
-194.87.13.2 195.144.198.159 44 14597
-194.87.13.2 195.144.192.198 17 4040
-194.87.13.2 195.128.144.142 7 2110
-194.87.13.2 195.128.144.133 6 2342
-194.87.13.2 195.128.140.71 19 16072
-194.87.13.2 195.128.140.3 22 5159
-194.87.13.2 195.128.139.110 13 2642
-194.87.13.2 195.128.139.94 18 6772
-193.125.152.3 193.193.193.100 2 132
-193.125.152.3 193.193.193.107 4 1148
-193.125.152.3 193.193.226.226 3 489
-194.87.13.2 195.128.138.136 6 1309
-194.87.13.2 195.128.136.186 20 4622
-193.125.152.3 193.232.8.20 5 323
-193.125.152.3 193.232.68.1 2 120
-193.125.152.3 193.232.88.17 44 4923
-193.125.152.3 193.232.88.125 2 388
-193.125.152.3 193.232.112.1 2 134
-193.125.152.3 193.232.127.78 20 4237
-193.125.152.3 193.232.212.12 9 1177
-193.125.152.3 193.232.232.66 4 1210
-193.125.152.3 193.233.48.9 7 447
-193.125.152.3 193.233.48.65 2 130
-193.125.152.3 193.233.56.200 2 294
-193.125.152.3 193.233.78.1 2 276
-193.125.152.3 193.233.86.14 4 240
-193.125.152.3 193.233.86.33 4 240
-193.125.152.3 193.233.192.19 2 118
-193.125.152.3 193.233.208.3 4 238
-193.125.152.3 193.233.224.1 4 800
-194.87.13.2 195.128.136.71 6 1159
-194.87.13.2 195.128.134.99 5 1264
-194.87.13.2 195.128.132.70 23 6787
-194.87.13.2 195.128.129.155 4 1079
-194.87.13.2 195.128.128.98 30 17304
-193.125.152.3 194.44.157.250 2 134
-194.87.13.2 195.128.128.70 5 2372
-194.87.13.2 195.128.128.66 8 2422
-193.125.152.3 194.58.101.95 12 2368
-193.125.152.3 194.58.124.24 2 320
-194.87.13.2 195.128.128.3 5 1187
-193.125.152.3 194.58.230.249 7 1050
-194.87.13.2 195.112.226.35 23 956
-193.125.152.3 194.67.1.154 9 1436
-193.125.152.3 194.67.2.97 11 1861
-193.125.152.3 194.67.2.98 12 973
-193.125.152.3 194.67.66.176 2 122
-193.125.152.3 194.67.82.228 2 552
-193.125.152.3 194.67.110.2 4 688
-193.125.152.3 194.67.114.81 3 198
-193.125.152.3 194.67.114.193 5 330
-193.125.152.3 194.67.115.35 5 330
-193.125.152.3 194.67.115.38 2 412
-193.125.152.3 194.67.128.130 2 330
-194.87.13.2 195.98.162.189 11 2282
-194.87.13.2 195.98.162.182 10 3433
-194.87.13.2 195.98.162.170 56 55418
-194.87.13.2 195.98.162.165 12 2318
-193.125.152.3 194.84.2.73 2 298
-193.125.152.3 194.84.17.34 17 2183
-193.125.152.3 194.84.21.18 6 1320
-193.125.152.3 194.84.23.125 21 1523
-193.125.152.3 194.84.31.233 11 5316
-193.125.152.3 194.84.32.67 2 138
-193.125.152.3 194.84.39.28 7 981
-193.125.152.3 194.84.48.11 2 130
-193.125.152.3 194.84.54.130 2 358
-193.125.152.3 194.84.86.6 1 58
-193.125.152.3 194.84.96.57 6 387
-193.125.152.3 194.84.122.1 20 1460
-193.125.152.3 194.84.132.2 8 2208
-193.125.152.3 194.84.167.1 2 146
-193.125.152.3 194.84.168.49 4 670
-193.125.152.3 194.84.204.131 2 146
-193.125.152.3 194.84.204.222 2 476
-193.125.152.3 194.84.206.3 5 305
-193.125.152.3 194.84.206.193 18 1098
-193.125.152.3 194.84.223.2 2 148
-193.125.152.3 194.84.243.71 2 300
-194.87.13.2 195.98.162.164 9 1287
-194.87.13.2 195.98.162.160 29 8361
-194.87.13.2 195.98.162.155 8 2174
-194.87.13.2 195.98.162.151 15 3499
-194.87.13.2 195.98.162.147 6 1300
-193.125.152.3 194.85.128.10 28 1552
-193.125.152.3 194.85.137.89 76 4180
-194.87.13.2 195.98.162.141 22 5639
-194.87.13.2 195.98.162.135 35 10480
-194.87.13.2 195.98.162.131 31 25682
-194.87.13.2 195.98.162.118 5 1262
-194.87.13.2 195.98.162.114 6 1159
-193.125.152.3 194.85.200.204 6 816
-193.125.152.3 194.85.224.33 68 4150
-193.125.152.3 194.85.224.34 64 3904
-193.125.152.3 194.87.0.8 4 294
-193.125.152.3 194.87.0.22 50 8498
-193.125.152.3 194.87.0.242 24 4272
-193.125.152.3 194.87.37.2 2 308
-193.125.152.3 194.87.43.111 2 114
-193.125.152.3 194.87.110.35 2 114
-193.125.152.3 194.87.157.34 2 318
-193.125.152.3 194.87.161.7 2 430
-193.125.152.3 194.87.162.120 2 308
-193.125.152.3 194.87.186.1 4 692
-193.125.152.3 194.87.210.41 2 112
-193.125.152.3 194.87.224.99 5 875
-193.125.152.3 194.87.233.66 2 238
-193.125.152.3 194.87.239.39 2 358
-194.87.13.2 195.98.162.111 5 1119
-194.87.13.2 195.98.162.102 7 1341
-194.87.13.2 195.98.162.97 5 2030
-194.87.13.2 195.98.162.94 13 2362
-194.87.13.2 195.98.162.78 134 104964
-194.87.13.2 195.98.162.77 6 1163
-194.87.13.2 195.98.162.73 15 5512
-194.87.13.2 195.98.162.72 26 5763
-194.87.13.2 195.98.162.66 4 1225
-194.87.13.2 195.98.162.9 231 74902
-194.87.13.2 195.98.161.71 13 3581
-193.125.152.3 194.135.2.131 16 3134
-193.125.152.3 194.135.34.42 3 733
-193.125.152.3 194.135.34.85 11 2042
-193.125.152.3 194.135.34.136 6 866
-194.87.13.2 195.98.161.67 10 2513
-193.125.152.3 194.135.102.10 8 1490
-193.125.152.3 194.135.161.11 13 1287
-193.125.152.3 194.154.82.67 2 304
-193.125.152.3 194.154.82.122 2 102
-194.87.13.2 195.98.161.59 20 4472
-193.125.152.3 194.186.38.34 2 298
-193.125.152.3 194.186.113.254 5 644
-193.125.152.3 194.186.170.253 2 476
-193.125.152.3 194.186.208.51 4 550
-193.125.152.3 194.186.212.137 2 336
-193.125.152.3 194.186.254.23 2 360
-194.87.13.2 195.98.161.57 28 6345
-193.125.152.3 194.190.105.2 2 232
-193.125.152.3 194.190.163.127 6 702
-193.125.152.3 194.190.195.66 4 268
-193.125.152.3 194.190.199.1 2 430
-193.125.152.3 194.190.215.113 10 1471
-193.125.152.3 194.190.216.124 2 448
-193.125.152.3 194.190.218.2 4 598
-194.87.13.2 195.98.161.46 8 1387
-194.87.13.2 195.98.161.40 11 3193
-194.87.13.2 195.98.161.33 13 3387
-194.87.13.2 195.98.160.174 5 1119
-194.87.13.2 195.98.160.148 11 1907
-194.87.13.2 195.98.160.146 8 428
-194.87.13.2 195.96.163.66 37 22436
-194.87.13.2 195.90.188.112 8 2150
-194.87.13.2 195.90.188.111 5 1237
-193.125.152.3 194.220.146.79 2 322
-194.87.13.2 195.90.188.105 27 7280
-193.125.152.3 194.226.167.195 14 1947
-194.87.13.2 195.90.188.101 1 1089
-194.87.13.2 195.90.186.228 7 1332
-194.87.13.2 195.90.185.38 20 3294
-194.87.13.2 195.90.183.122 12 3627
-194.87.13.2 195.90.180.25 22 18568
-204.58.155.18 144.206.2.1 3 173
-204.57.67.249 194.58.72.120 4 160
-204.57.67.150 195.146.67.100 5 200
-204.57.67.150 194.58.72.120 4 160
-204.57.67.146 195.146.67.100 5 200
-204.57.67.146 194.58.72.120 4 160
-194.87.13.2 195.90.180.12 4 1300
-194.87.13.2 195.90.162.2 53 15773
-193.125.152.3 195.5.128.130 4 814
-193.125.152.3 195.5.141.6 11 1500
-193.125.152.3 195.5.151.21 5 615
-194.87.13.2 195.90.158.23 3 1035
-194.87.13.2 195.90.152.133 3 124
-193.125.152.3 195.7.179.36 4 744
-194.87.13.2 195.90.146.80 4 1075
-194.87.13.2 195.90.145.35 6 2070
-193.125.152.3 195.9.90.65 66 14486
-193.125.152.3 195.9.90.70 3 615
-193.125.152.3 195.9.94.33 2 140
-193.125.152.3 195.12.66.1 4 250
-193.125.152.3 195.16.96.2 3 482
-193.125.152.3 195.16.101.2 2 126
-193.125.152.3 195.16.114.47 3 192
-194.87.13.2 195.90.145.1 3 1180
-193.125.152.3 195.19.160.1 6 1066
-193.125.152.3 195.19.188.66 4 248
-194.87.13.2 195.90.142.27 7 2280
-194.87.13.2 195.90.137.230 4 1075
-194.87.13.2 195.90.136.148 4 1276
-194.87.13.2 195.90.136.143 4 1260
-194.87.13.2 195.90.136.135 6 2066
-193.125.152.3 195.26.160.48 3 434
-193.125.152.3 195.34.0.1 4 618
-193.125.152.3 195.34.17.13 4 843
-193.125.152.3 195.34.32.11 2 352
-193.125.152.3 195.34.41.33 3 495
-193.125.152.3 195.46.160.4 7 1412
-193.125.152.3 195.46.163.120 42 9840
-193.125.152.3 195.54.2.1 9 1433
-193.125.152.3 195.54.192.33 20 2704
-193.125.152.3 195.54.193.30 2 230
-194.87.13.2 195.90.136.82 10 2230
-194.87.13.2 195.90.134.250 7 2387
-193.125.152.3 195.90.128.103 2 455
-193.125.152.3 195.90.128.107 3 197
-193.125.152.3 195.90.136.1 2 286
-193.125.152.3 195.90.158.139 6 318
-193.125.152.3 195.90.184.66 15 2690
-193.125.152.3 195.91.133.54 28 5845
-193.125.152.3 195.96.65.2 23 5249
-193.125.152.3 195.98.64.65 2 494
-193.125.152.3 195.98.162.10 2 520
-193.125.152.3 195.98.163.16 2 144
-194.87.13.2 195.90.132.67 7 1199
-194.87.13.2 195.90.132.57 9 2318
-193.125.152.3 195.128.128.1 18 1801
-193.125.152.3 195.133.0.8 6 420
-193.125.152.3 195.133.103.1 2 274
-194.87.13.2 195.90.132.10 7 2256
-193.125.152.3 195.146.64.42 5 736
-193.125.152.3 195.146.72.34 4 232
-194.87.13.2 195.90.132.3 9 2190
-194.87.13.2 195.90.128.103 27 7388
-193.125.152.3 195.151.16.12 2 288
-193.125.152.3 195.151.16.13 2 436
-193.125.152.3 195.151.35.66 9 1339
-193.125.152.3 195.151.108.130 2 280
-193.125.152.3 195.151.163.75 3 552
-193.125.152.3 195.161.0.135 6 543
-193.125.152.3 195.161.20.33 3 552
-193.125.152.3 195.161.21.2 3 186
-193.125.152.3 195.161.21.130 5 291
-193.125.152.3 195.178.199.130 2 104
-193.125.152.3 195.208.49.11 2 282
-193.125.152.3 195.208.72.3 3 363
-193.125.152.3 195.208.93.132 3 416
-194.87.13.2 195.72.224.74 16 3667
-194.87.13.2 195.54.8.139 28 17598
-193.125.152.3 195.208.248.36 2 512
-193.125.152.3 195.208.252.2 2 346
-193.125.152.3 195.208.252.180 2 118
-193.125.152.3 195.209.0.6 4 236
-193.125.152.3 195.209.63.161 2 446
-193.125.152.3 195.210.128.6 2 264
-194.87.13.2 195.54.6.67 5 1266
-194.87.13.2 195.54.5.129 60 27325
-193.125.152.3 195.218.218.37 4 264
-193.125.152.3 195.222.130.67 3 186
-193.125.152.3 195.239.46.189 2 706
-193.125.152.3 195.239.193.64 2 374
-193.125.152.3 195.239.210.2 1 51
-194.87.13.2 195.54.2.8 6 1438
-194.87.13.2 195.46.165.248 16 6178
-194.87.13.2 195.46.165.239 10 4284
-194.87.13.2 195.46.165.227 8 2254
-194.87.13.2 195.46.165.226 11 6825
-194.87.13.2 195.46.165.204 6 2070
-194.87.13.2 195.46.165.200 70 42657
-194.87.13.2 195.46.165.196 10 4963
-194.87.13.2 195.46.165.194 7 2110
-194.87.13.2 195.46.165.193 10 5874
-194.87.13.2 195.46.165.191 7 2400
-194.87.13.2 195.46.165.172 14 11492
-194.87.13.2 195.46.165.162 19 11262
-194.87.13.2 195.46.165.158 7 2382
-194.87.13.2 195.46.165.151 8 2254
-194.87.13.2 195.46.165.145 161 74887
-194.87.13.2 195.46.165.135 26 11996
-194.87.13.2 195.46.165.133 14 5629
-194.87.13.2 195.46.164.27 11 2278
-194.87.13.2 195.46.164.25 64 67188
-194.87.13.2 195.46.164.17 35 26017
-194.87.13.2 195.46.164.16 6 1300
-194.87.13.2 195.46.164.8 14 5798
-194.87.13.2 195.46.164.6 5 1254
-194.87.13.2 195.46.164.2 4 1079
-194.87.13.2 195.46.163.180 5 1187
-194.87.13.2 195.46.163.178 25 2053
-194.87.13.2 195.46.163.174 5 1119
-194.87.13.2 195.46.163.160 8 1365
-194.87.13.2 195.46.163.159 5 1119
-194.87.13.2 195.46.163.158 28 17225
-194.87.13.2 195.46.163.156 16 3397
-194.87.13.2 195.46.163.147 6 1163
-194.87.13.2 195.46.163.136 5 1119
-194.87.13.2 195.46.163.133 10 2370
-194.87.13.2 195.46.163.132 6 1284
-194.87.13.2 195.46.163.123 15 3503
-194.87.13.2 195.46.163.120 14 3613
-194.87.13.2 195.46.163.105 6 1294
-194.87.13.2 195.46.163.94 5 1119
-194.87.13.2 195.46.163.89 132 107364
-194.87.13.2 195.46.163.76 13 2646
-194.87.13.2 195.46.163.65 20 4627
-194.87.13.2 195.46.163.60 8 1239
-194.87.13.2 195.46.163.47 7 2110
-194.87.13.2 195.46.163.38 17 3593
-194.87.13.2 195.46.163.31 9 2378
-194.87.13.2 195.46.163.30 14 2506
-194.87.13.2 195.46.163.13 18 3681
-194.87.13.2 195.46.163.7 21 3885
-194.87.13.2 195.46.162.243 19 4865
-194.87.13.2 195.46.162.226 8 2440
-194.87.13.2 195.46.162.221 21 2981
-194.87.13.2 195.46.162.218 5 1265
-194.87.13.2 195.46.162.213 5 1257
-194.87.13.2 195.46.162.206 59 43287
-194.87.13.2 195.46.162.203 5 1119
-194.87.13.2 195.46.162.196 18 14883
-194.87.13.2 195.46.162.193 5 1119
-194.87.13.2 195.46.162.184 13 1455
-194.87.13.2 195.46.162.180 5 1119
-194.87.13.2 195.46.162.179 9 3109
-194.87.13.2 195.46.162.177 4 1079
-194.87.13.2 195.46.162.173 8 2499
-194.87.13.2 195.46.162.172 6 1159
-194.87.13.2 195.46.162.169 8 2420
-194.87.13.2 195.46.162.165 4 1079
-194.87.13.2 195.46.162.120 5 1119
-194.87.13.2 195.46.162.119 5 1262
-194.87.13.2 195.46.162.104 4 1079
-194.87.13.2 195.46.162.100 6 1290
-194.87.13.2 195.46.162.72 5 1119
-194.87.13.2 195.46.162.70 10 2373
-194.87.13.2 195.46.162.60 14 3601
-194.87.13.2 195.46.162.55 27 28360
-194.87.13.2 195.46.162.53 7 1203
-194.87.13.2 195.46.162.47 21 3887
-194.87.13.2 195.46.162.42 12 2624
-194.87.13.2 195.46.162.40 11 2420
-194.87.13.2 195.46.162.34 11 2411
-194.87.13.2 195.46.162.30 7 1207
-194.87.13.2 195.46.162.28 18 3603
-194.87.13.2 195.46.162.13 42 51477
-194.87.13.2 195.46.162.8 5 1119
-194.87.13.2 195.46.162.6 9 2452
-194.87.13.2 195.46.162.1 14 2562
-194.87.13.2 195.46.161.252 5 1119
-194.87.13.2 195.46.161.251 21 4943
-194.87.13.2 195.46.161.236 5 1260
-193.125.152.3 212.192.34.200 2 298
-193.125.152.3 212.248.39.3 3 174
-194.87.13.2 195.46.161.233 5 1262
-194.87.13.2 195.46.161.224 11 1508
-194.87.13.2 195.46.161.217 22 5891
-194.87.13.2 195.46.161.209 11 2619
-194.87.13.2 195.46.161.207 20 2351
-193.125.152.3 62.76.0.1 12 888
-193.125.152.3 62.76.114.44 4 861
-194.87.13.2 195.46.161.205 5 1119
-194.87.13.2 195.46.161.201 5 1262
-194.87.13.2 195.46.161.199 13 4623
-194.87.13.2 195.46.161.186 90 82991
-193.125.152.4 193.124.1.131 20 1742
-193.125.152.4 193.124.22.81 402 73761
-193.125.152.4 193.124.36.34 37 8132
-193.125.152.4 193.124.188.65 101 48405
-193.125.152.4 193.125.44.76 6 240
-193.125.152.4 193.125.80.35 37 3336
-193.125.152.4 193.233.208.3 4 240
-193.125.152.4 194.58.38.18 36 3384
-194.87.13.2 195.46.161.184 5 1119
-193.125.152.4 194.58.124.17 39 3399
-193.125.152.4 194.58.212.34 25 3742
-193.125.152.4 194.67.80.42 25 1795
-193.125.152.4 194.84.44.35 18 1638
-193.125.152.4 194.87.0.20 82 19845
-193.125.152.4 194.87.160.195 17 1150
-193.125.152.4 194.87.206.137 19 1690
-193.125.152.4 194.87.211.1 103 8898
-194.87.13.2 195.46.161.177 6 2360
-194.87.13.2 195.46.161.172 5 1259
-193.125.152.4 194.154.92.129 31 5655
-193.125.152.4 194.186.221.251 19 1238
-193.125.152.4 194.186.254.26 62 31955
-193.125.152.4 194.190.194.33 16 1534
-194.87.13.2 195.46.161.171 16 3685
-204.57.67.27 194.58.72.120 4 160
-193.125.152.4 195.9.16.2 23 1913
-193.125.152.4 195.12.66.81 16 1534
-194.87.13.2 195.46.161.170 32 7476
-193.125.152.4 195.54.2.7 17 1586
-193.125.152.4 195.58.1.145 35 7789
-193.125.152.4 195.90.136.21 94 11466
-193.125.152.4 195.222.130.67 17 1577
-193.125.152.4 195.239.88.50 21 1220
-194.87.13.2 195.46.161.164 7 2364
-194.87.13.2 195.46.161.156 12 2478
-194.87.13.2 195.46.161.155 6 1296
-194.87.13.2 195.46.161.154 11 2282
-194.87.13.2 195.46.161.153 5 1256
-194.87.13.2 195.46.161.146 6 252
-194.87.13.2 195.46.161.113 11 3596
-194.87.13.2 195.46.161.111 16 3598
-193.125.152.5 193.124.22.65 18 1368
-194.87.13.2 195.46.161.109 4 1079
-194.87.13.2 195.46.161.85 10 1383
-194.87.13.2 195.46.161.84 21 4799
-194.87.13.2 195.46.161.83 121 57225
-194.87.13.2 195.46.161.75 3 124
-193.125.152.6 193.124.22.22 2 88
-193.125.152.6 193.124.22.65 15 930
-193.125.152.6 193.232.119.131 2 80
-194.87.13.2 195.46.160.69 147 34960
-193.125.152.6 194.226.235.33 6 254
-194.87.13.2 195.38.160.38 10 1591
-194.87.13.2 195.16.108.139 10 9589
-193.125.152.6 195.91.161.2 4 176
-193.125.152.6 195.128.140.2 19 5145
-193.125.152.6 195.161.24.66 23 1283
-194.87.13.2 195.16.108.135 8 3272
-194.87.13.2 195.16.102.4 8 2154
-194.87.13.2 195.16.101.101 4 1280
-194.87.13.2 195.16.101.67 72 52581
-193.125.152.6 212.46.3.250 4 176
-193.125.152.8 193.124.22.65 4 224
-194.87.13.2 195.16.98.235 22 3020
-193.125.152.8 193.124.224.35 14 2571
-194.87.13.2 195.16.98.230 7 1330
-194.87.13.2 195.16.98.209 10 3463
-194.87.13.2 195.16.98.204 27 5394
-194.87.13.2 195.16.98.194 13 3269
-194.87.13.2 195.16.98.193 14 4507
-194.87.13.2 195.16.98.99 7 1400
-194.87.13.2 195.16.98.37 44 49756
-194.87.13.2 195.16.98.13 14 3317
-193.125.152.10 158.250.26.145 18 1368
-194.87.13.2 195.16.96.9 11 2554
-194.87.13.2 195.12.32.170 8 3451
-193.125.152.10 193.124.22.65 18 1368
-193.125.152.10 193.233.11.84 4 304
-193.125.152.10 194.67.64.33 18 1368
-193.125.152.10 194.67.65.17 18 1368
-193.125.152.10 194.67.65.18 18 1368
-193.125.152.10 194.67.65.130 18 1368
-193.125.152.10 194.67.106.209 20 1520
-193.125.152.10 194.84.127.22 12 912
-194.87.13.2 195.12.32.165 27 4363
-194.87.13.2 195.12.32.52 5 2138
-194.87.13.2 195.12.32.7 4 1219
-193.125.152.10 194.190.105.2 2 152
-193.125.152.10 194.190.105.4 1 76
-193.125.152.10 194.190.105.7 2 152
-193.125.152.10 195.5.128.42 18 1368
-193.125.152.10 195.5.138.6 18 1368
-193.125.152.10 195.5.138.44 16 1216
-193.125.152.10 195.26.160.48 15 1140
-193.125.152.10 195.26.160.50 18 1368
-193.125.152.10 195.54.192.1 2 152
-193.125.152.10 195.54.192.43 2 152
-193.125.152.10 195.133.94.129 4 336
-193.125.152.10 195.151.111.45 13 988
-194.87.13.2 195.9.176.153 18 5299
-194.87.13.2 195.9.103.3 184 183787
-194.87.13.2 195.9.96.7 96 66779
-193.125.152.12 193.124.22.65 2 152
-193.125.152.15 193.124.22.65 18 1368
-193.125.152.16 193.124.22.65 15 1140
-193.125.152.17 193.124.22.22 12 906
-193.125.152.17 193.124.22.65 12 912
-193.125.152.18 193.124.22.65 2 152
-204.57.67.9 195.146.67.100 5 200
-194.87.13.2 195.9.94.33 11 2544
-193.125.152.19 193.124.22.65 13 988
-194.87.13.2 195.9.90.85 139 61939
-194.87.13.2 195.9.67.45 18 3485
-193.125.152.23 193.124.22.65 4 246
-194.87.13.2 195.9.47.230 7 2488
-193.125.152.23 194.87.0.28 3783 538698
-193.125.152.23 194.186.254.26 6986 644105
-194.87.13.2 194.220.215.111 73 61702
-193.125.152.24 192.124.174.67 5717 2168144
-194.87.13.2 194.220.215.110 56 45039
-193.125.152.24 193.124.97.131 504 27627
-194.87.13.2 194.220.215.66 59 35775
-194.87.13.2 194.220.169.1 32 14343
-193.125.152.24 193.125.95.121 1040 572488
-194.87.13.2 194.220.140.106 6 1159
-194.87.13.2 194.190.105.4 40 8033
-194.87.13.2 194.190.82.40 34 24976
-193.125.152.24 194.58.72.102 2072 1038564
-193.125.152.24 194.58.110.33 649 310072
-194.87.13.2 194.190.56.83 11 1499
diff --git a/contrib/ip_and_mac/test.sql b/contrib/ip_and_mac/test.sql
deleted file mode 100644
index d1a99aca41..0000000000
--- a/contrib/ip_and_mac/test.sql
+++ /dev/null
@@ -1,71 +0,0 @@
---
--- A quick test of the IP address code
---
--- $Id: test.sql,v 1.2 1998/06/16 05:35:12 momjian Exp $
--- This is original test (it was written before my changes in this class). alex.
-
--- temporary table:
-create table addresses (address ipaddr);
-
--- sample data from two subnets:
-insert into addresses values ('158.37.96.15');
-insert into addresses values ('158.37.96.16');
-insert into addresses values ('158.37.96.17');
-insert into addresses values ('158.37.97.15');
-insert into addresses values ('158.37.97.16');
-insert into addresses values ('158.37.97.17');
-insert into addresses values ('158.37.98.15');
-insert into addresses values ('158.37.98.16');
-insert into addresses values ('158.37.98.17');
-insert into addresses values ('158.37.96.150');
-insert into addresses values ('158.37.96.160');
-insert into addresses values ('158.37.96.170');
-insert into addresses values ('158.37.97.150');
-insert into addresses values ('158.37.97.160');
-insert into addresses values ('158.37.97.170');
-insert into addresses values ('158.37.98.150');
-insert into addresses values ('158.37.98.160');
-insert into addresses values ('158.37.98.170');
-
--- show them all:
-select * from addresses;
-
--- select the ones in subnet 96:
-select * from addresses where ipaddr_in_net(address, '158.37.96.0/24');
-
--- select the ones not in subnet 96:
-select * from addresses where not ipaddr_in_net(address, '158.37.96.0/24');
-
--- select the ones in subnet 97:
-select * from addresses where ipaddr_in_net(address, '158.37.97.0/24');
-
--- select the ones not in subnet 97:
-select * from addresses where not ipaddr_in_net(address, '158.37.97.0/24');
-
--- select the ones in subnet 96 or 97, sorted:
-select * from addresses where ipaddr_in_net(address, '158.37.96.0/23')
- order by address;
-
--- now some networks:
-create table networks (network ipaddr);
-
--- now the subnets mentioned above:
-insert into networks values ('158.37.96.0/24');
-insert into networks values ('158.37.97.0/24');
-insert into networks values ('158.37.98.0/24');
-
--- select the netmasks of the net containing each:
-select address, ipaddr_mask(network) from addresses, networks
- where ipaddr_in_net(address, network);
-
--- select the broadcast address of the net containing each:
-select address, ipaddr_bcast(network) from addresses, networks
- where ipaddr_in_net(address, network);
-
--- tidy up:
-drop table addresses;
-drop table networks;
-
---
--- eof
---
diff --git a/contrib/ip_and_mac/test1.sql b/contrib/ip_and_mac/test1.sql
deleted file mode 100644
index 372a0843eb..0000000000
--- a/contrib/ip_and_mac/test1.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop table stat_t;
-create table stat_t(i1 ipaddr, i2 ipaddr, p int4, b int4);
-create index stat_i1 on stat_t using btree (i1 ipaddr_ops);
-create index stat_i2 on stat_t using btree (i2 ipaddr_ops);
-copy stat_t from '/v/noc/src/ip_class/test.DATA' using delimiters ' ';
---
--- Please, check if your test data are not in /v/noc/src/ip_class/test.DATA file,
--- edit test1.sql file and repeatr it.
---
--- If everything is OK, you should run test2.sql now
---
diff --git a/contrib/ip_and_mac/test2.sql b/contrib/ip_and_mac/test2.sql
deleted file mode 100644
index 3207aa2c22..0000000000
--- a/contrib/ip_and_mac/test2.sql
+++ /dev/null
@@ -1,26 +0,0 @@
-vacuum verbose analyze stat_t (i1,i2);
---
---
-select i2,sum(b) as b
-into tmp
-from stat_t
-where i1 >= '144.206.0.0' and i1 <= '144.206.255.255'
-group by i2;
-insert into tmp
-select '0.0.0.0' as i2,sum(b) as k
-from tmp
-where b < 10 * 1024;
-delete from tmp
-where b < 10 * 1024 and i2 <> '0.0.0.0';
-select i2,b / 1024 as k from tmp
-order by k desc;
-select ipaddr_print(i2,'%A/%P'),b from tmp where i2 = '0.0.0.0';
-drop table tmp;
-explain select i2,sum(b) as b
-into tmp
-from stat_t
-where i1 >= '144.206.0.0' and i1 <= '144.206.255.255'
-group by i2;
--- ********************************************************
--- * Now remove test table by 'drop table stat_t' command *
--- ********************************************************
diff --git a/doc/README.ipaddr b/doc/README.ipaddr
new file mode 100644
index 0000000000..7e7883a47e
--- /dev/null
+++ b/doc/README.ipaddr
@@ -0,0 +1,74 @@
+PostgreSQL type extensions for IP and MAC addresses.
+---------------------------------------------------
+
+$Id: README.ipaddr,v 1.1 1998/10/03 05:40:41 momjian Exp $
+
+I needed to record IP and MAC level ethernet addresses in a data
+base, and I really didn't want to store them as plain strings, with
+no enforced error checking, so I put together the accompanying code
+as my first experiment with adding a data type to PostgreSQL. I
+then thought that this might be useful to others, both directly and
+as a very simple example of how to do this sort of thing, so I
+submitted it to the PostgreSQL project for inclusion in the contrib
+directory. Since then, that directory has been modified to contain
+Aleksei Roudnev's implementation, which is based on mine.
+
+For those who have seen my previous contribution of these types, note
+that much has changed: I've modified the IP address type to work the
+way Paul Vixie did with his CIDR type. In fact, I've pretty much just
+stolen his solution, modifying it into my framework in such a way as
+to facilitate the addition of IPV6 handling code in the future. I've
+pretty much ignored Aleksei's C code, but I've added his SQL code to
+enter the necessary operators into the various system tables needed to
+make the types indexable.
+
+IP addresses are implemented as a struct of fixed in-memory length,
+but variable on-disk storage size. For IPV4, it contains the address
+family (AF_INET), the CIDR prefix length and four byte address. For
+IPV6, the address family will be different, and the address longer.
+
+The external representation of an IP address generally looks like
+'158.37.96.15/32'. This address happens to be part of a subnet where
+I work; '158.37.96.0/24', which itself is a part of the larger subnet
+allocated to our site, which is '158.37.96.0/21', which again, if you
+go by the old book, is part of the class "B" net '158.37.0.0/16'.
+
+Input and output functions are supplied, along with the "normal" <,
+<=, =, >=, > and <> operators, which all do what you expect. In
+addition, there are operators to check for networks or addresses being
+subnets of or addresses contained within other networks. << tests
+whether the left operand is contained within the right, <<= includes
+equality, >> and >>= do the same things the opposite way.
+
+The input and output functions use routines from Paul Vixie's BIND,
+and I've snarfed the source files inet_net_ntop.c and inet_net_pton.c
+directly from a recent distribution of that code. They are included
+here to avoid the need to fetch and install the BIND libraries to be
+able to use this code. IANAL, but it looks from the copyright
+messages in the files as if this should be acceptable. Read the
+documentation in inet_net_pton.c to see the legal input formats.
+
+MAC level ethernet addresses are implemented as a 6 byte struct that
+contains the address as unsigned chars. Several input forms are
+accepted; the following are all the same address: '08002b:010203',
+'08002b-010203', '0800.2b01.0203', '08-00-2b-01-02-03' and
+'08:00:2b:01:02:03'. Upper and lower case is accepted for the digits
+'a' through 'f'. Output is always in the latter of the given forms.
+
+As with IP addresses, input and output functions are supplied as well
+as the "normal" operators, which do what you expect. As an extra
+feature, a function macaddr_manuf() is defined, which returns the name
+of the manufacturer as a string. This is currently held in a
+hard-coded struct internal to the C module -- it might be smarter to
+put this information into an actual data base table, and look up the
+manufacturer there.
+
+Many thanks to Aleksei Roudnev and Paul Vixie for their fine work!
+
+I don't know what changes are needed to the Makefile for other systems
+than the one I'm running (NetBSD 1.3), but anyway: to install on a BSD
+system: fix the path names in the Makefile if you need to, then make,
+make install, slurp the SQL files into psql or whatever, and you're
+off. Enjoy!
+
+Bergen, Norway, 1998-08-09, Tom Ivar Helbekkmo (tih@nhh.no).
diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c
index 770d47d6fe..76e80c6d71 100644
--- a/src/backend/parser/gram.c
+++ b/src/backend/parser/gram.c
@@ -229,7 +229,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.39 1998/09/30 05:48:25 thomas Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.40 1998/10/03 05:40:42 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -344,7 +344,7 @@ typedef union
-#define YYFINAL 1649
+#define YYFINAL 1650
#define YYFLAG -32768
#define YYNTBASE 229
@@ -483,18 +483,18 @@ static const short yyprhs[] = { 0,
2574, 2578, 2582, 2584, 2588, 2592, 2596, 2598, 2600, 2605,
2608, 2612, 2616, 2618, 2622, 2624, 2628, 2630, 2632, 2633,
2635, 2637, 2639, 2641, 2643, 2645, 2647, 2649, 2651, 2653,
- 2655, 2657, 2659, 2661, 2664, 2666, 2668, 2670, 2672, 2674,
- 2676, 2678, 2680, 2682, 2684, 2686, 2688, 2690, 2692, 2694,
- 2696, 2698, 2700, 2702, 2704, 2706, 2708, 2710, 2712, 2714,
- 2716, 2718, 2720, 2722, 2724, 2726, 2728, 2730, 2732, 2734,
- 2736, 2738, 2740, 2742, 2744, 2746, 2748, 2750, 2752, 2754,
- 2756, 2758, 2760, 2762, 2764, 2766, 2768, 2770, 2772, 2774,
- 2776, 2778, 2780, 2782, 2784, 2786, 2788, 2790, 2792, 2794,
- 2796, 2798, 2800, 2802, 2804, 2806, 2808, 2810, 2812, 2814,
- 2816, 2818, 2820, 2822, 2824, 2826, 2828, 2830, 2832, 2834,
- 2836, 2838, 2840, 2842, 2844, 2846, 2848, 2850, 2852, 2854,
- 2856, 2858, 2860, 2862, 2864, 2866, 2868, 2870, 2872, 2874,
- 2876, 2878, 2880, 2882, 2884, 2886, 2888, 2890
+ 2655, 2657, 2659, 2661, 2664, 2666, 2668, 2670, 2673, 2675,
+ 2677, 2679, 2681, 2683, 2685, 2687, 2689, 2691, 2693, 2695,
+ 2697, 2699, 2701, 2703, 2705, 2707, 2709, 2711, 2713, 2715,
+ 2717, 2719, 2721, 2723, 2725, 2727, 2729, 2731, 2733, 2735,
+ 2737, 2739, 2741, 2743, 2745, 2747, 2749, 2751, 2753, 2755,
+ 2757, 2759, 2761, 2763, 2765, 2767, 2769, 2771, 2773, 2775,
+ 2777, 2779, 2781, 2783, 2785, 2787, 2789, 2791, 2793, 2795,
+ 2797, 2799, 2801, 2803, 2805, 2807, 2809, 2811, 2813, 2815,
+ 2817, 2819, 2821, 2823, 2825, 2827, 2829, 2831, 2833, 2835,
+ 2837, 2839, 2841, 2843, 2845, 2847, 2849, 2851, 2853, 2855,
+ 2857, 2859, 2861, 2863, 2865, 2867, 2869, 2871, 2873, 2875,
+ 2877, 2879, 2881, 2883, 2885, 2887, 2889, 2891
};
static const short yyrhs[] = { 230,
@@ -765,29 +765,29 @@ static const short yyrhs[] = { 230,
486, 0, 204, 0, 486, 0, 486, 0, 486, 0,
483, 0, 204, 0, 482, 0, 209, 0, 483, 0,
421, 483, 0, 481, 0, 119, 0, 47, 0, 208,
- 0, 207, 0, 205, 0, 204, 0, 486, 0, 426,
- 0, 431, 0, 204, 0, 436, 0, 3, 0, 4,
- 0, 137, 0, 138, 0, 140, 0, 141, 0, 143,
- 0, 146, 0, 147, 0, 148, 0, 149, 0, 150,
- 0, 41, 0, 152, 0, 153, 0, 156, 0, 157,
- 0, 158, 0, 159, 0, 160, 0, 161, 0, 60,
- 0, 162, 0, 163, 0, 66, 0, 67, 0, 164,
- 0, 167, 0, 72, 0, 169, 0, 170, 0, 79,
- 0, 173, 0, 174, 0, 176, 0, 178, 0, 84,
- 0, 179, 0, 86, 0, 180, 0, 87, 0, 181,
- 0, 95, 0, 96, 0, 182, 0, 99, 0, 183,
- 0, 101, 0, 184, 0, 186, 0, 187, 0, 188,
- 0, 105, 0, 189, 0, 190, 0, 193, 0, 194,
- 0, 195, 0, 196, 0, 111, 0, 113, 0, 114,
- 0, 134, 0, 197, 0, 135, 0, 201, 0, 203,
- 0, 133, 0, 486, 0, 136, 0, 139, 0, 142,
- 0, 144, 0, 25, 0, 145, 0, 27, 0, 28,
- 0, 151, 0, 154, 0, 155, 0, 47, 0, 51,
- 0, 55, 0, 165, 0, 166, 0, 168, 0, 171,
- 0, 172, 0, 175, 0, 89, 0, 92, 0, 93,
- 0, 185, 0, 191, 0, 192, 0, 110, 0, 117,
- 0, 119, 0, 200, 0, 202, 0, 28, 0, 172,
- 0
+ 449, 0, 207, 0, 205, 0, 204, 0, 486, 0,
+ 426, 0, 431, 0, 204, 0, 436, 0, 3, 0,
+ 4, 0, 137, 0, 138, 0, 140, 0, 141, 0,
+ 143, 0, 146, 0, 147, 0, 148, 0, 149, 0,
+ 150, 0, 41, 0, 152, 0, 153, 0, 156, 0,
+ 157, 0, 158, 0, 159, 0, 160, 0, 161, 0,
+ 60, 0, 162, 0, 163, 0, 66, 0, 67, 0,
+ 164, 0, 167, 0, 72, 0, 169, 0, 170, 0,
+ 79, 0, 173, 0, 174, 0, 176, 0, 178, 0,
+ 84, 0, 179, 0, 86, 0, 180, 0, 87, 0,
+ 181, 0, 95, 0, 96, 0, 182, 0, 99, 0,
+ 183, 0, 101, 0, 184, 0, 186, 0, 187, 0,
+ 188, 0, 105, 0, 189, 0, 190, 0, 193, 0,
+ 194, 0, 195, 0, 196, 0, 111, 0, 113, 0,
+ 114, 0, 134, 0, 197, 0, 135, 0, 201, 0,
+ 203, 0, 133, 0, 486, 0, 136, 0, 139, 0,
+ 142, 0, 144, 0, 25, 0, 145, 0, 27, 0,
+ 28, 0, 151, 0, 154, 0, 155, 0, 47, 0,
+ 51, 0, 55, 0, 165, 0, 166, 0, 168, 0,
+ 171, 0, 172, 0, 175, 0, 89, 0, 92, 0,
+ 93, 0, 185, 0, 191, 0, 192, 0, 110, 0,
+ 117, 0, 119, 0, 200, 0, 202, 0, 28, 0,
+ 172, 0
};
#endif
@@ -875,18 +875,18 @@ static const short yyrline[] = { 0,
4376, 4384, 4394, 4396, 4398, 4409, 4411, 4413, 4428, 4435,
4442, 4461, 4463, 4468, 4475, 4482, 4494, 4508, 4509, 4512,
4517, 4529, 4530, 4531, 4532, 4533, 4539, 4540, 4542, 4543,
- 4548, 4555, 4562, 4569, 4577, 4579, 4589, 4601, 4608, 4609,
- 4610, 4617, 4619, 4621, 4632, 4633, 4634, 4635, 4636, 4637,
- 4638, 4639, 4640, 4641, 4642, 4643, 4644, 4645, 4646, 4647,
- 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657,
- 4658, 4659, 4660, 4661, 4662, 4663, 4664, 4665, 4666, 4667,
- 4668, 4669, 4670, 4671, 4672, 4673, 4674, 4675, 4676, 4677,
- 4678, 4679, 4680, 4681, 4682, 4683, 4684, 4685, 4686, 4687,
- 4688, 4689, 4690, 4691, 4692, 4693, 4694, 4695, 4696, 4697,
- 4698, 4699, 4700, 4701, 4714, 4715, 4716, 4717, 4718, 4719,
- 4720, 4721, 4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729,
- 4730, 4731, 4732, 4733, 4734, 4735, 4736, 4737, 4738, 4739,
- 4740, 4741, 4742, 4743, 4744, 4745, 4748, 4755
+ 4548, 4555, 4562, 4569, 4577, 4579, 4589, 4601, 4609, 4610,
+ 4611, 4618, 4620, 4622, 4633, 4634, 4635, 4636, 4637, 4638,
+ 4639, 4640, 4641, 4642, 4643, 4644, 4645, 4646, 4647, 4648,
+ 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658,
+ 4659, 4660, 4661, 4662, 4663, 4664, 4665, 4666, 4667, 4668,
+ 4669, 4670, 4671, 4672, 4673, 4674, 4675, 4676, 4677, 4678,
+ 4679, 4680, 4681, 4682, 4683, 4684, 4685, 4686, 4687, 4688,
+ 4689, 4690, 4691, 4692, 4693, 4694, 4695, 4696, 4697, 4698,
+ 4699, 4700, 4701, 4702, 4715, 4716, 4717, 4718, 4719, 4720,
+ 4721, 4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4730,
+ 4731, 4732, 4733, 4734, 4735, 4736, 4737, 4738, 4739, 4740,
+ 4741, 4742, 4743, 4744, 4745, 4746, 4749, 4756
};
#endif
@@ -1144,7 +1144,7 @@ static const short yyr2[] = { 0,
3, 3, 1, 3, 3, 3, 1, 1, 4, 2,
3, 3, 1, 3, 1, 3, 1, 1, 0, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 1, 1, 1, 2, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1193,7 +1193,7 @@ static const short yydefact[] = { 0,
292, 302, 0, 0, 443, 0, 0, 0, 568, 568,
640, 641, 643, 645, 559, 839, 0, 0, 817, 553,
593, 0, 568, 0, 595, 556, 0, 0, 886, 584,
- 0, 816, 646, 564, 891, 0, 825, 0, 818, 812,
+ 0, 816, 646, 564, 891, 0, 825, 0, 730, 812,
0, 797, 0, 0, 0, 0, 0, 531, 538, 541,
540, 536, 561, 539, 826, 795, 615, 594, 730, 469,
793, 0, 0, 616, 815, 811, 813, 617, 417, 69,
@@ -1206,731 +1206,819 @@ static const short yydefact[] = { 0,
563, 570, 0, 0, 0, 546, 545, 0, 735, 0,
544, 579, 580, 581, 577, 585, 576, 568, 566, 695,
0, 0, 547, 740, 765, 0, 574, 0, 0, 575,
- 543, 542, 537, 573, 635, 618, 628, 626, 627, 0,
- 0, 0, 594, 814, 0, 535, 0, 0, 0, 0,
- 665, 0, 0, 0, 0, 655, 657, 636, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 614, 471, 0,
- 500, 0, 0, 0, 73, 74, 68, 72, 71, 66,
- 70, 67, 788, 730, 500, 787, 0, 0, 730, 420,
- 0, 0, 335, 286, 428, 374, 374, 374, 374, 79,
- 0, 54, 55, 59, 0, 0, 0, 0, 0, 0,
- 101, 103, 104, 152, 0, 219, 220, 0, 59, 405,
- 247, 246, 248, 0, 243, 0, 412, 550, 839, 548,
- 551, 341, 0, 823, 824, 342, 822, 346, 0, 0,
- 225, 0, 0, 0, 0, 222, 0, 0, 276, 0,
- 273, 0, 0, 525, 493, 261, 0, 0, 366, 299,
- 298, 0, 0, 445, 730, 0, 477, 0, 438, 0,
- 0, 0, 572, 0, 0, 0, 477, 0, 737, 738,
- 736, 0, 0, 0, 0, 0, 0, 0, 565, 0,
+ 543, 542, 537, 573, 635, 0, 818, 618, 628, 626,
+ 627, 0, 0, 0, 594, 814, 0, 535, 0, 0,
+ 0, 0, 665, 0, 0, 0, 0, 655, 657, 636,
+ 0, 0, 0, 0, 0, 0, 0, 0, 614, 471,
+ 0, 500, 0, 0, 0, 73, 74, 68, 72, 71,
+ 66, 70, 67, 788, 730, 500, 787, 0, 0, 730,
+ 420, 0, 0, 335, 286, 428, 374, 374, 374, 374,
+ 79, 0, 54, 55, 59, 0, 0, 0, 0, 0,
+ 0, 101, 103, 104, 152, 0, 219, 220, 0, 59,
+ 405, 247, 246, 248, 0, 243, 0, 412, 550, 839,
+ 548, 551, 341, 0, 823, 824, 342, 822, 346, 0,
+ 0, 225, 0, 0, 0, 0, 222, 0, 0, 276,
+ 0, 273, 0, 0, 525, 493, 261, 0, 0, 366,
+ 299, 298, 0, 0, 445, 730, 0, 477, 0, 438,
+ 0, 0, 0, 572, 0, 0, 0, 477, 0, 737,
+ 738, 736, 0, 0, 0, 0, 0, 0, 0, 565,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 730, 0, 742, 755, 731, 767, 0, 0, 0,
- 0, 0, 0, 594, 772, 0, 631, 0, 0, 534,
- 0, 0, 900, 902, 903, 907, 908, 909, 916, 917,
- 918, 922, 923, 924, 896, 897, 898, 899, 901, 904,
- 905, 906, 910, 911, 912, 913, 914, 915, 919, 920,
- 921, 925, 926, 895, 794, 693, 0, 715, 716, 718,
- 720, 0, 0, 0, 721, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 697, 698, 0, 661, 0, 656,
- 659, 633, 0, 667, 0, 694, 0, 0, 0, 632,
- 0, 0, 0, 625, 0, 0, 0, 623, 0, 0,
- 0, 624, 0, 0, 0, 619, 0, 0, 0, 620,
- 0, 0, 0, 622, 0, 0, 0, 621, 629, 0,
- 0, 792, 0, 526, 796, 781, 783, 804, 0, 638,
- 0, 782, 790, 0, 526, 0, 0, 95, 89, 88,
- 0, 0, 422, 373, 102, 85, 0, 0, 0, 372,
- 52, 57, 58, 63, 0, 0, 0, 0, 0, 0,
- 214, 0, 216, 112, 108, 215, 63, 0, 0, 415,
- 0, 407, 549, 0, 340, 345, 339, 0, 0, 0,
- 224, 234, 226, 227, 228, 229, 0, 0, 0, 0,
- 272, 322, 477, 0, 356, 0, 0, 312, 316, 314,
- 0, 442, 446, 440, 0, 0, 317, 0, 0, 0,
- 562, 642, 644, 0, 558, 0, 647, 648, 0, 552,
- 587, 588, 589, 590, 591, 592, 586, 0, 555, 0,
- 740, 765, 0, 753, 743, 748, 0, 649, 0, 754,
- 0, 0, 0, 0, 0, 741, 0, 0, 0, 0,
- 769, 650, 583, 0, 771, 0, 0, 0, 654, 0,
- 0, 604, 606, 605, 607, 608, 609, 610, 611, 0,
- 601, 0, 529, 534, 560, 0, 0, 0, 740, 765,
- 0, 711, 699, 706, 704, 705, 0, 0, 712, 0,
- 0, 0, 0, 0, 696, 0, 0, 660, 658, 662,
- 0, 0, 634, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 730, 0, 742, 755, 731, 767, 0, 0,
+ 0, 0, 0, 0, 594, 772, 0, 0, 631, 0,
+ 0, 534, 0, 0, 900, 902, 903, 907, 908, 909,
+ 916, 917, 918, 922, 923, 924, 896, 897, 898, 899,
+ 901, 904, 905, 906, 910, 911, 912, 913, 914, 915,
+ 919, 920, 921, 925, 926, 895, 794, 693, 0, 715,
+ 716, 718, 720, 0, 0, 0, 721, 0, 0, 0,
+ 0, 0, 0, 0, 730, 0, 697, 698, 0, 661,
+ 0, 656, 659, 633, 0, 667, 0, 694, 0, 0,
+ 0, 632, 0, 0, 0, 625, 0, 0, 0, 623,
+ 0, 0, 0, 624, 0, 0, 0, 619, 0, 0,
+ 0, 620, 0, 0, 0, 622, 0, 0, 0, 621,
+ 629, 0, 792, 0, 526, 796, 781, 783, 804, 0,
+ 638, 0, 782, 790, 0, 526, 0, 0, 95, 89,
+ 88, 0, 0, 422, 373, 102, 85, 0, 0, 0,
+ 372, 52, 57, 58, 63, 0, 0, 0, 0, 0,
+ 0, 214, 0, 216, 112, 108, 215, 63, 0, 0,
+ 415, 0, 407, 549, 0, 340, 345, 339, 0, 0,
+ 0, 224, 234, 226, 227, 228, 229, 0, 0, 0,
+ 0, 272, 322, 477, 0, 356, 0, 0, 312, 316,
+ 314, 0, 442, 446, 440, 0, 0, 317, 0, 0,
+ 0, 562, 642, 644, 0, 558, 0, 647, 648, 0,
+ 552, 587, 588, 589, 590, 591, 592, 586, 0, 555,
+ 0, 740, 765, 0, 753, 743, 748, 0, 649, 0,
+ 754, 0, 0, 0, 0, 0, 741, 0, 0, 0,
+ 0, 769, 650, 583, 0, 771, 0, 0, 0, 654,
+ 0, 730, 0, 0, 604, 606, 605, 607, 608, 609,
+ 610, 611, 0, 601, 0, 529, 534, 560, 0, 0,
+ 0, 740, 765, 0, 711, 699, 706, 704, 705, 0,
+ 0, 712, 0, 0, 0, 0, 0, 696, 0, 0,
+ 660, 658, 662, 0, 0, 634, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 730, 468,
- 0, 499, 503, 506, 527, 495, 0, 637, 639, 786,
- 449, 791, 0, 91, 92, 98, 90, 0, 429, 0,
- 0, 80, 0, 82, 0, 371, 0, 65, 0, 0,
- 160, 0, 0, 0, 0, 0, 0, 0, 0, 159,
- 815, 161, 151, 0, 0, 0, 100, 0, 99, 218,
- 220, 0, 106, 0, 0, 0, 0, 0, 0, 119,
- 105, 107, 110, 114, 65, 0, 244, 414, 409, 413,
- 418, 343, 0, 0, 344, 390, 391, 388, 389, 0,
- 235, 0, 0, 232, 360, 280, 230, 231, 277, 279,
- 281, 278, 275, 274, 0, 0, 0, 368, 369, 367,
- 313, 0, 301, 444, 500, 0, 0, 569, 571, 0,
- 500, 734, 0, 0, 0, 0, 0, 0, 0, 0,
- 751, 739, 752, 744, 745, 747, 746, 749, 756, 0,
- 766, 733, 732, 0, 764, 651, 652, 653, 770, 0,
- 0, 613, 612, 0, 0, 534, 0, 530, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 709, 663, 710,
- 700, 701, 703, 702, 707, 713, 0, 773, 0, 774,
- 775, 0, 0, 0, 0, 669, 0, 0, 676, 0,
- 0, 674, 0, 0, 675, 0, 0, 670, 0, 0,
- 671, 0, 0, 673, 0, 0, 672, 0, 728, 514,
- 0, 0, 0, 505, 528, 0, 497, 785, 784, 789,
- 0, 87, 0, 427, 81, 0, 0, 0, 0, 0,
- 50, 0, 183, 184, 162, 172, 170, 171, 0, 0,
- 0, 0, 0, 0, 0, 0, 186, 188, 185, 0,
- 0, 0, 0, 0, 0, 0, 0, 153, 0, 0,
- 0, 154, 0, 111, 0, 0, 0, 144, 145, 147,
- 149, 116, 150, 0, 0, 0, 0, 0, 0, 117,
- 0, 124, 118, 120, 443, 109, 49, 251, 0, 0,
- 411, 338, 0, 0, 0, 282, 233, 803, 321, 0,
- 500, 0, 526, 439, 630, 557, 526, 554, 0, 758,
- 759, 0, 0, 0, 763, 757, 768, 0, 0, 0,
- 0, 603, 0, 532, 534, 0, 717, 719, 722, 723,
- 0, 0, 0, 727, 714, 666, 0, 664, 777, 0,
- 778, 779, 685, 677, 692, 684, 690, 682, 691, 683,
- 686, 678, 687, 679, 689, 681, 688, 680, 730, 516,
- 512, 516, 514, 511, 516, 513, 0, 501, 0, 504,
- 0, 0, 464, 0, 430, 84, 0, 370, 62, 61,
- 0, 0, 175, 181, 0, 200, 0, 191, 0, 187,
- 190, 179, 0, 0, 0, 182, 178, 167, 168, 169,
- 163, 164, 166, 165, 173, 176, 0, 158, 0, 155,
- 0, 0, 113, 0, 0, 0, 142, 125, 135, 133,
- 134, 0, 143, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 203, 250, 0, 0, 245, 0, 526, 387,
- 236, 0, 323, 324, 326, 331, 0, 804, 526, 315,
- 495, 495, 0, 760, 761, 762, 596, 0, 599, 600,
- 0, 533, 0, 724, 725, 726, 776, 668, 0, 729,
- 515, 508, 509, 507, 510, 0, 502, 494, 496, 473,
- 479, 97, 83, 0, 64, 0, 0, 0, 199, 193,
- 189, 192, 0, 0, 180, 0, 177, 0, 213, 115,
- 0, 0, 0, 138, 141, 130, 131, 132, 126, 127,
- 129, 128, 136, 139, 0, 123, 0, 206, 252, 253,
- 249, 0, 0, 0, 0, 339, 0, 0, 0, 334,
- 0, 495, 497, 497, 750, 597, 598, 708, 780, 519,
- 472, 0, 0, 461, 60, 0, 196, 0, 194, 0,
- 0, 157, 443, 0, 146, 148, 0, 140, 201, 202,
- 0, 121, 205, 0, 337, 393, 386, 318, 325, 330,
- 329, 0, 805, 328, 332, 0, 497, 464, 464, 0,
- 0, 0, 477, 463, 466, 0, 174, 198, 197, 195,
- 203, 0, 122, 0, 0, 204, 256, 392, 0, 333,
- 331, 464, 441, 462, 0, 0, 498, 0, 473, 478,
- 480, 488, 206, 137, 210, 0, 0, 207, 208, 260,
- 257, 258, 0, 254, 259, 377, 0, 0, 376, 378,
- 334, 479, 0, 0, 520, 524, 522, 500, 0, 0,
- 486, 487, 0, 482, 156, 209, 211, 212, 0, 240,
- 0, 381, 382, 0, 327, 457, 517, 0, 518, 0,
- 526, 465, 481, 483, 484, 485, 255, 379, 384, 385,
- 380, 0, 450, 521, 523, 495, 383, 0, 0, 456,
- 497, 458, 0, 459, 467, 460, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 468, 0, 499, 503, 506, 527, 495, 0, 637, 639,
+ 786, 449, 791, 0, 91, 92, 98, 90, 0, 429,
+ 0, 0, 80, 0, 82, 0, 371, 0, 65, 0,
+ 0, 160, 0, 0, 0, 0, 0, 0, 0, 0,
+ 159, 815, 161, 151, 0, 0, 0, 100, 0, 99,
+ 218, 220, 0, 106, 0, 0, 0, 0, 0, 0,
+ 119, 105, 107, 110, 114, 65, 0, 244, 414, 409,
+ 413, 418, 343, 0, 0, 344, 390, 391, 388, 389,
+ 0, 235, 0, 0, 232, 360, 280, 230, 231, 277,
+ 279, 281, 278, 275, 274, 0, 0, 0, 368, 369,
+ 367, 313, 0, 301, 444, 500, 0, 0, 569, 571,
+ 0, 500, 734, 0, 0, 0, 0, 0, 0, 0,
+ 0, 751, 739, 752, 744, 745, 747, 746, 749, 756,
+ 0, 766, 733, 732, 0, 764, 651, 652, 653, 770,
+ 0, 728, 0, 0, 613, 612, 0, 0, 534, 0,
+ 530, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 709, 663, 710, 700, 701, 703, 702, 707, 713, 0,
+ 773, 0, 774, 775, 0, 0, 0, 0, 669, 0,
+ 0, 676, 0, 0, 674, 0, 0, 675, 0, 0,
+ 670, 0, 0, 671, 0, 0, 673, 0, 0, 672,
+ 514, 0, 0, 0, 505, 528, 0, 497, 785, 784,
+ 789, 0, 87, 0, 427, 81, 0, 0, 0, 0,
+ 0, 50, 0, 183, 184, 162, 172, 170, 171, 0,
+ 0, 0, 0, 0, 0, 0, 0, 186, 188, 185,
+ 0, 0, 0, 0, 0, 0, 0, 0, 153, 0,
+ 0, 0, 154, 0, 111, 0, 0, 0, 144, 145,
+ 147, 149, 116, 150, 0, 0, 0, 0, 0, 0,
+ 117, 0, 124, 118, 120, 443, 109, 49, 251, 0,
+ 0, 411, 338, 0, 0, 0, 282, 233, 803, 321,
+ 0, 500, 0, 526, 439, 630, 557, 526, 554, 0,
+ 758, 759, 0, 0, 0, 763, 757, 768, 730, 0,
+ 0, 0, 0, 603, 0, 532, 534, 0, 717, 719,
+ 722, 723, 0, 0, 0, 727, 714, 666, 0, 664,
+ 777, 0, 778, 779, 685, 677, 692, 684, 690, 682,
+ 691, 683, 686, 678, 687, 679, 689, 681, 688, 680,
+ 516, 512, 516, 514, 511, 516, 513, 0, 501, 0,
+ 504, 0, 0, 464, 0, 430, 84, 0, 370, 62,
+ 61, 0, 0, 175, 181, 0, 200, 0, 191, 0,
+ 187, 190, 179, 0, 0, 0, 182, 178, 167, 168,
+ 169, 163, 164, 166, 165, 173, 176, 0, 158, 0,
+ 155, 0, 0, 113, 0, 0, 0, 142, 125, 135,
+ 133, 134, 0, 143, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 203, 250, 0, 0, 245, 0, 526,
+ 387, 236, 0, 323, 324, 326, 331, 0, 804, 526,
+ 315, 495, 495, 0, 760, 761, 762, 729, 596, 0,
+ 599, 600, 0, 533, 0, 724, 725, 726, 776, 668,
+ 0, 515, 508, 509, 507, 510, 0, 502, 494, 496,
+ 473, 479, 97, 83, 0, 64, 0, 0, 0, 199,
+ 193, 189, 192, 0, 0, 180, 0, 177, 0, 213,
+ 115, 0, 0, 0, 138, 141, 130, 131, 132, 126,
+ 127, 129, 128, 136, 139, 0, 123, 0, 206, 252,
+ 253, 249, 0, 0, 0, 0, 339, 0, 0, 0,
+ 334, 0, 495, 497, 497, 750, 597, 598, 708, 780,
+ 519, 472, 0, 0, 461, 60, 0, 196, 0, 194,
+ 0, 0, 157, 443, 0, 146, 148, 0, 140, 201,
+ 202, 0, 121, 205, 0, 337, 393, 386, 318, 325,
+ 330, 329, 0, 805, 328, 332, 0, 497, 464, 464,
+ 0, 0, 0, 477, 463, 466, 0, 174, 198, 197,
+ 195, 203, 0, 122, 0, 0, 204, 256, 392, 0,
+ 333, 331, 464, 441, 462, 0, 0, 498, 0, 473,
+ 478, 480, 488, 206, 137, 210, 0, 0, 207, 208,
+ 260, 257, 258, 0, 254, 259, 377, 0, 0, 376,
+ 378, 334, 479, 0, 0, 520, 524, 522, 500, 0,
+ 0, 486, 487, 0, 482, 156, 209, 211, 212, 0,
+ 240, 0, 381, 382, 0, 327, 457, 517, 0, 518,
+ 0, 526, 465, 481, 483, 484, 485, 255, 379, 384,
+ 385, 380, 0, 450, 521, 523, 495, 383, 0, 0,
+ 456, 497, 458, 0, 459, 467, 460, 0, 0, 0
};
-static const short yydefgoto[] = { 1647,
- 33, 34, 35, 36, 37, 400, 544, 794, 1339, 998,
- 1191, 38, 520, 517, 39, 40, 41, 540, 42, 43,
- 781, 986, 235, 532, 1182, 44, 550, 551, 552, 1031,
- 1032, 1023, 1033, 1034, 1475, 1240, 553, 554, 1367, 1008,
- 1448, 1449, 1478, 1522, 1523, 1578, 1019, 45, 402, 555,
- 556, 46, 412, 586, 1056, 1057, 1058, 47, 181, 48,
- 49, 407, 564, 565, 1249, 1395, 1481, 1583, 1584, 50,
- 51, 279, 182, 589, 415, 590, 591, 1059, 52, 53,
- 207, 310, 432, 54, 214, 215, 216, 839, 1073, 55,
- 56, 183, 1066, 1402, 1403, 1404, 1405, 1490, 1534, 57,
- 58, 59, 1044, 410, 573, 817, 818, 60, 200, 61,
- 424, 62, 63, 1060, 281, 598, 64, 995, 787, 65,
- 579, 1589, 1611, 1612, 1399, 1050, 1559, 66, 67, 68,
- 69, 88, 70, 71, 72, 567, 812, 1039, 380, 73,
- 74, 75, 237, 395, 783, 988, 76, 77, 78, 609,
- 436, 603, 604, 79, 80, 81, 82, 287, 1633, 1640,
- 1644, 83, 618, 1441, 1544, 1545, 511, 244, 1502, 222,
- 1504, 1570, 1571, 1604, 398, 289, 290, 1177, 1333, 764,
- 972, 973, 1327, 1432, 1542, 1594, 1595, 420, 974, 486,
- 913, 357, 358, 359, 360, 361, 574, 451, 463, 446,
- 362, 363, 441, 613, 851, 364, 365, 467, 457, 646,
- 367, 481, 482, 910, 1115, 368, 717, 942, 712, 508,
- 655, 622, 623, 640, 641, 648, 891, 1105, 656, 1139,
- 1140, 1300, 1301, 369, 766, 525, 526, 370, 371, 165,
- 461, 262, 1259, 767, 1535, 232, 291, 373, 241, 304,
- 374, 375, 376, 377, 257, 576, 378, 695, 230
+static const short yydefgoto[] = { 1648,
+ 33, 34, 35, 36, 37, 400, 545, 795, 1340, 999,
+ 1192, 38, 521, 518, 39, 40, 41, 541, 42, 43,
+ 782, 987, 235, 533, 1183, 44, 551, 552, 553, 1032,
+ 1033, 1024, 1034, 1035, 1476, 1241, 554, 555, 1368, 1009,
+ 1449, 1450, 1479, 1523, 1524, 1579, 1020, 45, 402, 556,
+ 557, 46, 412, 587, 1057, 1058, 1059, 47, 181, 48,
+ 49, 407, 565, 566, 1250, 1396, 1482, 1584, 1585, 50,
+ 51, 279, 182, 590, 415, 591, 592, 1060, 52, 53,
+ 207, 310, 432, 54, 214, 215, 216, 840, 1074, 55,
+ 56, 183, 1067, 1403, 1404, 1405, 1406, 1491, 1535, 57,
+ 58, 59, 1045, 410, 574, 818, 819, 60, 200, 61,
+ 424, 62, 63, 1061, 281, 599, 64, 996, 788, 65,
+ 580, 1590, 1612, 1613, 1400, 1051, 1560, 66, 67, 68,
+ 69, 88, 70, 71, 72, 568, 813, 1040, 380, 73,
+ 74, 75, 237, 395, 784, 989, 76, 77, 78, 610,
+ 436, 604, 605, 79, 80, 81, 82, 287, 1634, 1641,
+ 1645, 83, 619, 1442, 1545, 1546, 512, 244, 1503, 222,
+ 1505, 1571, 1572, 1605, 398, 289, 290, 1178, 1334, 765,
+ 973, 974, 1328, 1433, 1543, 1595, 1596, 420, 975, 488,
+ 916, 357, 358, 359, 360, 361, 575, 451, 463, 446,
+ 362, 363, 441, 614, 852, 364, 365, 467, 457, 647,
+ 367, 483, 484, 913, 1118, 368, 719, 945, 714, 477,
+ 656, 623, 624, 641, 642, 649, 892, 1106, 657, 1142,
+ 1143, 1302, 1303, 369, 767, 526, 527, 370, 371, 165,
+ 461, 262, 1260, 768, 1536, 232, 291, 373, 241, 304,
+ 374, 375, 376, 377, 257, 577, 378, 697, 230
};
-static const short yypact[] = { 14006,
- 192, 129, 13511, 129, 1933, 13511, 65, 2257, 129, -58,
- 73, 49, 87, 49, 129, 243, 12870, 12568, 129, 13511,
- 61, 57, 91, 12568, 96, 156, 73, 12568, 13662, 13813,
- 12568, 57, 14006, 135,-32768,-32768,-32768,-32768,-32768,-32768,
+static const short yypact[] = { 13937,
+ 246, 264, 13442, 264, 1338, 13442, 20, 4215, 264, -92,
+ 60, 55, 40, 55, 264, 80, 12801, 12499, 264, 13442,
+ -10, -20, 63, 12499, 76, 163, 60, 12499, 13593, 13744,
+ 12499, -20, 13937, 142,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 12499, 131,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 12568, 154,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768, 12499,-32768, 131,
+ 13442, 13442,-32768,-32768, 13442, 13442,-32768, 13442, 12499,-32768,
+ 193, 10521, 225, 32,-32768, 12499, 13442, 131,-32768, 13442,
+-32768, 13442, 13442, 13442,-32768, 1013, 392,-32768, 13442, 13442,
+-32768, 239,-32768,-32768,-32768,-32768, 68, 371,-32768,-32768,
+-32768,-32768,-32768, 386, 276,-32768, 12499, 405,-32768,-32768,
+ 418, 5123, 17, 383, -63,-32768,-32768, 422,-32768,-32768,
+-32768, 441,-32768,-32768, 12499,-32768, 355, 13442,-32768,-32768,
+-32768,-32768,-32768, 12499, 68,-32768, 410,-32768, 413,-32768,
+-32768, 411, 334,-32768, 335,-32768, 439, 341, 439, 562,
+ 152, 450,-32768, 358,-32768, 591,-32768, 543,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 390,
+-32768,-32768, 13442, 508,-32768,-32768, 589, 501,-32768, 412,
+-32768,-32768, 554, 10904,-32768, 358,-32768, 415,-32768, 76,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 436, 434,
+-32768,-32768, 13442, 24, 420, 13442, 13442, 423, 534, 534,
+-32768, 447, 469,-32768, 474, 594, 475, 485,-32768, 498,
+ 626, 707, 534, 7826,-32768, 502, 517, 523, 104, 646,
+ 552,-32768,-32768,-32768, 171, 1935, 203, 7826, 512,-32768,
+ 7826,-32768, 7826, 7826, 7826, 7205, 76, 533,-32768,-32768,
+-32768,-32768, 574,-32768, 234, 794,-32768, 9875, 512, 26,
+-32768, 586, 583,-32768, 587,-32768,-32768, -99,-32768,-32768,
+-32768, 12, 45, 45, 10716, 12499, 685,-32768, 501,-32768,
+ 434,-32768,-32768,-32768, 12499,-32768,-32768, 52, 642, 182,
+ 12311, 814, 182, 722,-32768,-32768, 250, 664, 3076, 647,
+-32768, 456, 76, 10353,-32768, 752,-32768, 788, 7826,-32768,
+ 13442, 12499,-32768,-32768,-32768,-32768, 12952,-32768,-32768, 13442,
+ 13442,-32768, 725,-32768, 13442, 28, 789,-32768, 7826,-32768,
+-32768, 823, 436, 436, 436,-32768,-32768, 736, 833, 436,
+-32768, 729, 730, 745, 746,-32768,-32768, 534,-32768, 1547,
+ 641, 436,-32768, 9056, 7205, 753,-32768, 4502, 594,-32768,
+-32768,-32768,-32768,-32768, 440, 7826,-32768, 645, 645, 645,
+ 645, 638, 643, 649, 1949,-32768, 105,-32768, 436, 11928,
+ 7826, 8033,-32768, 48, 7826, 123, 7826,-32768,-32768, 7412,
+ 5342, 5549, 5756, 5963, 6170, 6377, 6584, 3331,-32768, 163,
+ 5123, 820, 11055, 3479, 13442,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 512, -8,-32768, 654, 587, 256,
+-32768, 704, 87,-32768,-32768, 659, 33, 865, 865, 865,
+-32768, 131,-32768,-32768, 186, 665, 13442, 821, 828, 669,
+ 314,-32768,-32768,-32768,-32768, 395,-32768, 2994, 736, 186,
+-32768,-32768,-32768,-32768, 815, 817, 697, 757,-32768, 818,
+-32768,-32768,-32768, 401,-32768,-32768,-32768,-32768, 721, 829,
+ -4,-32768, -4, -4, -4, -4,-32768, 755, 706, 709,
+ 438,-32768, 12499, 808, 9875,-32768,-32768, 692, 696, 699,
+-32768,-32768, 12650, 445,-32768, 512, 802, 80, 710,-32768,
+ 12650, 2435, 830, 914, 712, 713, 449, 80, 714,-32768,
+-32768,-32768, 715, 893, 723, 228, 197, 843, 876,-32768,
+ 13442, 460, 726, 728, 731, 732, 9056, 9056, 9056, 9056,
+ 733, 367, 512, 735,-32768, -99,-32768, 74, 738, 824,
+ 6791, 7205, 6791, 6791, 2607, -60, 739, 2243,-32768, 478,
+ 7826, 741, 749, 742,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 12568,-32768, 154,
- 13511, 13511,-32768,-32768, 13511, 13511,-32768, 13511, 12568,-32768,
- 183, 10590, 220, 39,-32768, 12568, 13511, 154,-32768, 13511,
--32768, 13511, 13511, 13511,-32768, 688, 329,-32768, 13511, 13511,
--32768, 210,-32768,-32768,-32768,-32768, 29, 313,-32768,-32768,
--32768,-32768,-32768, 344, 197,-32768, 12568, 348,-32768,-32768,
- 357, 5028, 19, 310, -82,-32768,-32768, 342,-32768,-32768,
--32768, 372,-32768,-32768, 12568,-32768, 109, 13511,-32768,-32768,
--32768,-32768,-32768, 12568, 29,-32768, 327,-32768, 347,-32768,
--32768, 349, 277,-32768, 278,-32768, 373, 275, 373, 505,
- 252, 398,-32768, 304,-32768, 525,-32768, 473,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 312,
--32768,-32768, 13511, 439,-32768,-32768, 515, 423,-32768, 346,
--32768,-32768, 490, 10973,-32768, 304,-32768, 354,-32768, 96,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 387, 271,
--32768,-32768, 13511, 97, 368, 13511, 13511, 378, 482, 482,
--32768, 388, 411,-32768, 414, 507, 417, 425,-32768, 436,
- 539, 595, 482, 7731,-32768, 446, 452, 456, -103, 554,
- 474,-32768,-32768,-32768, -13, 902, 53, 7731,-32768,-32768,
- 7731,-32768, 7731, 7731, 7731, 7110, 96, 465,-32768,-32768,
--32768,-32768, 491,-32768, 93, 717,-32768, 9962, 509, 16,
--32768, 523, 524,-32768, 528,-32768,-32768, 150,-32768,-32768,
--32768, 25, 22, 22, 10785, 12568, 622,-32768, 423,-32768,
- 271,-32768,-32768,-32768, 12568,-32768,-32768, 59, 573, 104,
- 12380, 745, 104, 649,-32768,-32768, 45, 590, 4219, 580,
--32768, 526, 96, 10422,-32768, 689,-32768, 726, 7731,-32768,
- 13511, 12568,-32768,-32768,-32768,-32768, 13021,-32768,-32768, 13511,
- 13511,-32768, 662,-32768, 13511, 36, 729,-32768, 7731,-32768,
--32768, 769, 387, 387, 387,-32768,-32768, 676, 999, 387,
--32768, 674, 675, 678, 680,-32768,-32768, 482,-32768, 1279,
- 569, 387,-32768, 8961, 7110, 687,-32768, 4407, 507,-32768,
--32768,-32768,-32768,-32768, 519, 576, 576, 576, 576, 574,
- 575, 578, 2320,-32768, 88,-32768, 387, 11997, 7731, 7938,
--32768, 200, 7731, 82, 7731,-32768,-32768, 7317, 5247, 5454,
- 5661, 5868, 6075, 6282, 6489, 1549, 7731,-32768, 156, 5028,
- 754, 11124, 3208, 13511,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 509, -1,-32768, 585, 528, 152,-32768,
- 630, 34,-32768,-32768, 589, 38, 805, 805, 805,-32768,
- 154,-32768,-32768, 132, 603, 13511, 766, 770, 610, 118,
--32768,-32768,-32768,-32768, 162,-32768, 14255, 676, 132,-32768,
--32768,-32768,-32768, 755, 751, 632, 692,-32768, 748,-32768,
--32768,-32768, 246,-32768,-32768,-32768,-32768, 659, 768, -93,
--32768, -93, -93, -93, -93,-32768, 693, 643, 644, 297,
--32768, 12568, 749, 9962,-32768,-32768, 631, 633, 634,-32768,
--32768, 12719, 393,-32768, 509, 734, 243, 636,-32768, 12719,
- 9780, 757, 844, 641, 642, 396, 243, 646,-32768,-32768,
--32768, 647, 820, 654, 191, 24, 780, 809,-32768, 13511,
- 400, 666, 670, 681, 682, 8961, 8961, 8961, 8961, 679,
- 376, 509, 690,-32768, 150,-32768, -8, 686, 782, 6696,
- 7110, 6696, 6696, 2922, -49, 696,-32768, 777, 7731, 697,
- 707, 704,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1547, 754,-32768,
+ 762, 763,-32768, 764, 765, 766,-32768, 8033, 8033, 8033,
+ 8033, 8033, 7826, 62, 512, 767,-32768, -99, 768,-32768,
+ 332,-32768,-32768, 910, 8033,-32768, 7826, 640, 770, 779,
+ 6998, 440, 780, 782, 6998, 950, 783, 784, 6998, 2526,
+ 790, 795, 6998, 2526, 803, 805, 6998, 115, 813, 816,
+ 6998, 115, 819, 825, 6998, 645, 835, 836, 6998, 645,
+-32768, 12499,-32768, 9836, 501,-32768, 734,-32768,-32768, 751,
+-32768, -34, 734,-32768, 11552, 501, 11206, 804,-32768,-32768,
+-32768, 245, 13442,-32768,-32768, 12311,-32768, 13442, 13442, 13442,
+ 13442,-32768,-32768,-32768, 958, 9446, 326, 837, 844, 13442,
+ 12311, 881, 13442,-32768, 931, 582,-32768, 958, 12499, 250,
+ 51, 834,-32768,-32768, 12123,-32768,-32768, 919, 12123, 64,
+ 436,-32768,-32768,-32768,-32768,-32768,-32768, 10521, 10158, 10158,
+ 10353,-32768, 936, 80, 13442,-32768, 13103, 13442,-32768, 939,
+-32768, 13442,-32768,-32768,-32768, 5123, 5123,-32768, 3331, 13442,
+ 13442,-32768,-32768,-32768, 436,-32768, 5123,-32768,-32768, 7826,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 436,-32768,
+ 9056, 9056, 7205, 4709, 238, 847, 847, 381,-32768, 9056,
+ 9251, 9056, 9056, 9056, 9056, 3331,-32768, 3686, 7205, 7826,
+ 7205, 1024,-32768,-32768, 848, -60, 849, 854, 7205,-32768,
+ 7826, 512, 856, 1026,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768, 37, 1980, 224,-32768, 741,-32768, 8033, 436,
+ 436, 9056, 7205, 4916, 605, 860, 860, 860, 860, 890,
+ 8033, 8240, 8033, 8033, 8033, 8033, 3331,-32768, 3893, 13978,
+-32768,-32768,-32768, 101, 859, 910, 736, 736, 862, 736,
+ 736, 863, 736, 736, 866, 736, 736, 869, 736, 736,
+ 870, 736, 736, 871, 736, 736, 872, 736, 736, 880,
+-32768, 12499, 861, 1065, 13291, 894, 1054, 11357,-32768,-32768,
+-32768,-32768,-32768, 7205,-32768,-32768, 988,-32768, 491,-32768,
+ 525, 2994,-32768, 25,-32768, 999,-32768, 1066, 928, 903,
+ 9446,-32768, 9446, 9446, 9446, 9446, 9446, 9446, 1342, 904,
+-32768,-32768, 905,-32768, 13442, 13442, 529,-32768, 911,-32768,
+-32768,-32768, 1071,-32768, 912, 13442, 8447, 1038, 1077, 13442,
+-32768,-32768, 582,-32768,-32768, 928, 1098, 1067,-32768,-32768,
+-32768, 17,-32768, 390, 1143,-32768,-32768,-32768,-32768,-32768,
+ 1039,-32768, 993, 13442,-32768, 472,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768, 954, 932, 5123,-32768,-32768,
+-32768,-32768, 1114,-32768,-32768, 14, 536, 942,-32768,-32768,
+ 944, 14, 9875, 945, 259, 946, 948, 6791, 6791, 6791,
+ 949,-32768, 864, 238, 266, 266, 847, 847,-32768,-32768,
+ -18, -60, 9875,-32768, 7205,-32768,-32768,-32768,-32768, -60,
+ 2504,-32768, 736, 951,-32768,-32768, 7619, 955, 741, 961,
+-32768, 361, 959, 960, 963, 968, 6791, 6791, 6791, 969,
+-32768, 935, 605, 289, 289, 860, 860,-32768,-32768, 46,
+-32768, 973, 979,-32768, 8033, 13978, 987, 990,-32768, 992,
+ 994,-32768, 1011, 1014,-32768, 1015, 1016,-32768, 1017, 1018,
+-32768, 1019, 1021,-32768, 1022, 1027,-32768, 1029, 1032,-32768,
+ 832, 12499, 1124, 11928,-32768,-32768, 1191, 1185,-32768,-32768,
+-32768, 1104,-32768, 13442,-32768,-32768, 1224, 1226, 13442, 131,
+ 1072,-32768, 9446, 10398, 453, 1047, 1047, 1047, 1047, 1563,
+ 9446, 14097, 1046, 255, 9446, 351, 9446,-32768,-32768, 9641,
+ 9446, 9446, 9446, 9446, 9446, 9446, 9446, 3331,-32768, 4295,
+ 537, 541,-32768, 13442,-32768, 9446, 660, 1048,-32768, 1050,
+ 1052,-32768,-32768,-32768, 8654, 8654, 8654, 8654, 8654, 8654,
+ 771, 1056,-32768,-32768,-32768, 420,-32768,-32768, 1122, 1236,
+ 250,-32768,-32768, 76, 12499, 76,-32768,-32768,-32768,-32768,
+ 13442, 14, 1194, 501,-32768,-32768,-32768, 501,-32768, 3331,
+-32768,-32768, 1057, 1058, 1061,-32768,-32768, -60, 512, 1068,
+ 736, 1069, 1073, 9875, 736,-32768, 741, 3331,-32768,-32768,
+-32768,-32768, 1076, 1079, 1083,-32768,-32768,-32768, 14097, 935,
+-32768, 1084, 1074,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768, 1279, 694,-32768, 706, 708,
--32768, 711, 712, 714,-32768, 7938, 7938, 7938, 7938, 7938,
- 7731, 134, 509, 715,-32768, 150, 718,-32768, 27,-32768,
--32768, 440, 7938,-32768, 7731, 10023, 719, 720, 6903, 519,
- 722, 723, 6903, 1108, 727, 730, 6903, 2017, 733, 735,
- 6903, 2017, 736, 738, 6903, 114, 740, 742, 6903, 114,
- 743, 746, 6903, 576, 752, 753, 6903, 576,-32768, 2902,
- 12568,-32768, 9741, 423,-32768, 731,-32768,-32768, 716,-32768,
- -40, 731,-32768, 11621, 423, 11275, 750,-32768,-32768,-32768,
- 230, 13511,-32768,-32768, 12380,-32768, 13511, 13511, 13511, 13511,
--32768,-32768,-32768, 876, 9351, 270, 759, 760, 13511, 12380,
- 811, 13511,-32768, 884, 504,-32768, 876, 12568, 45, 23,
- 771,-32768,-32768, 12192,-32768,-32768, 851, 12192, 44, 387,
--32768,-32768,-32768,-32768,-32768,-32768, 10590, 10227, 10227, 10422,
--32768, 860, 243, 13511,-32768, 13172, 13511,-32768, 865,-32768,
- 13511,-32768,-32768,-32768, 5028, 5028,-32768, 1549, 13511, 13511,
--32768,-32768,-32768, 387,-32768, 5028,-32768,-32768, 7731,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 387,-32768, 8961,
- 8961, 7110, 4614, 461, 773, 773, 547,-32768, 8961, 9156,
- 8961, 8961, 8961, 8961, 1549,-32768, 3415, 7110, 7731, 7110,
- 946,-32768,-32768, 778, -49, 779, 787, 7110,-32768, 783,
- 947,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 48,
- 2711, 119,-32768, 697,-32768, 7938, 387, 387, 8961, 7110,
- 4821, 604, 791, 791, 791, 791, 1360, 7938, 8145, 7938,
- 7938, 7938, 7938, 1549,-32768, 3622, 14047,-32768,-32768,-32768,
- 146, 790, 440, 676, 676, 799, 676, 676, 801, 676,
- 676, 802, 676, 676, 803, 676, 676, 807, 676, 676,
- 808, 676, 676, 816, 676, 676, 818, 7731, 509,-32768,
- 12568, 792, 1020, 13360, 832, 998, 11426,-32768,-32768,-32768,
--32768,-32768, 7110,-32768,-32768, 930,-32768, 403,-32768, 404,
- 14255,-32768, 77,-32768, 942,-32768, 1003, 863, 839, 9351,
--32768, 9351, 9351, 9351, 9351, 9351, 9351, 1522, 848,-32768,
--32768, 849,-32768, 13511, 13511, 421,-32768, 852,-32768,-32768,
--32768, 1014,-32768, 855, 13511, 8352, 1001, 1018, 13511,-32768,
--32768, 504,-32768,-32768, 863, 1036, 1000,-32768,-32768,-32768,
- 19,-32768, 312, 1080,-32768,-32768,-32768,-32768,-32768, 977,
--32768, 929, 13511,-32768, 257,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 898, 880, 5028,-32768,-32768,-32768,
--32768, 1049,-32768,-32768, 0, 422, 881,-32768,-32768, 883,
- 0, 9962, 888, 170, 889, 891, 6696, 6696, 6696, 892,
--32768, 853, 461, 153, 153, 773, 773,-32768,-32768, -20,
- -49, 9962,-32768, 7110,-32768,-32768,-32768,-32768, -49, 676,
- 899,-32768,-32768, 7524, 900, 697, 904,-32768, 253, 906,
- 907, 909, 916, 6696, 6696, 6696, 931,-32768, 908, 604,
- 205, 205, 791, 791,-32768,-32768, -17,-32768, 933, 882,
--32768, 7938, 14047, 934, 935,-32768, 937, 941,-32768, 943,
- 945,-32768, 948, 951,-32768, 953, 954,-32768, 955, 956,
--32768, 958, 959,-32768, 960, 962,-32768, 9899,-32768, 468,
- 12568, 1093, 11997,-32768,-32768, 1145, 1118,-32768,-32768,-32768,
- 1025,-32768, 13511,-32768,-32768, 1154, 1155, 13511, 154, 994,
--32768, 9351, 10467, 846, 969, 969, 969, 969, 2047, 9351,
- 14166, 968, 206, 9351, 90, 9351,-32768,-32768, 9546, 9351,
- 9351, 9351, 9351, 9351, 9351, 9351, 1549,-32768, 4024, 432,
- 433,-32768, 13511,-32768, 9351, 516, 971,-32768, 972, 973,
--32768,-32768,-32768, 8559, 8559, 8559, 8559, 8559, 8559, 1047,
- 975,-32768,-32768,-32768, 368,-32768,-32768, 1052, 1161, 45,
--32768,-32768, 96, 12568, 96,-32768,-32768,-32768,-32768, 13511,
- 0, 1127, 423,-32768,-32768,-32768, 423,-32768, 1549,-32768,
--32768, 987, 989, 990,-32768,-32768, -49, 991, 676, 993,
- 995, 9962, 676,-32768, 697, 1549,-32768,-32768,-32768,-32768,
- 996, 997, 1002,-32768,-32768,-32768, 14166, 908,-32768, 1010,
- 1015,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 509, 1136,
--32768, 1136, 468,-32768, 1136,-32768, 1162,-32768, 12568,-32768,
- 7110, 7731, 1109, 96,-32768,-32768, 8559,-32768, 1016,-32768,
- 1038, 9940,-32768, 10467, 1236,-32768, 14166,-32768, 80,-32768,
--32768, 553, 14166, 1019, 9351, 10063, 846, 1655, 2130, 2130,
- 238, 238, 969, 969,-32768,-32768, 438, 10003, 1147,-32768,
- 1021, 2260,-32768, 8559, 387, 387, 932, 1023, 1023, 1023,
- 1023, 939, 8766, 8559, 8559, 8559, 8559, 8559, 8559, 8559,
- 1549, 3829, 1180,-32768, 6, 1158,-32768, 1189, 423, 1043,
--32768, 1039, 1040,-32768,-32768, 3, 1041, 849, 423,-32768,
- 998, 998, 1042,-32768,-32768,-32768,-32768, 1045,-32768,-32768,
- 1046,-32768, 1050,-32768,-32768,-32768,-32768,-32768, 14166,-32768,
--32768,-32768,-32768,-32768,-32768, 12568,-32768, -49, 9962, 1263,
- 1186,-32768, 1047, 154,-32768, 1549, 14166, 444,-32768,-32768,
--32768,-32768, 1271, 14166, 553, 9351,-32768, 13511,-32768,-32768,
- 188, 1054, 1057,-32768, 932, 1047, 826, 826, 274, 274,
- 1023, 1023,-32768,-32768, 472, 1047, 202, 1204,-32768,-32768,
--32768, 13511, 96, 1142, 13511, 851, 13511, 1549, 1549, -26,
- 13511, 998, 1118, 1118,-32768,-32768,-32768,-32768,-32768, 15,
--32768, 1188, 1281,-32768,-32768, 1069,-32768, 14166,-32768, 14166,
- 495, 10003, 368, 1549,-32768,-32768, 8559,-32768,-32768,-32768,
- 33,-32768, 1204, 1073,-32768, 1139,-32768,-32768,-32768,-32768,
--32768, 1099,-32768,-32768,-32768, 496, 1118, 1109, 1109, 1081,
- 1082, 1079, 243, 1190,-32768, 7731,-32768,-32768,-32768,-32768,
- 1180, 1085, 1047, 56, 56,-32768, 203,-32768, 379,-32768,
- 3, 1109,-32768,-32768, 7731, 11809,-32768, 5028, 1263, 1089,
--32768, 2880, 1204,-32768,-32768, 1312, 75,-32768,-32768,-32768,
--32768,-32768, 502,-32768,-32768,-32768, 109, 109,-32768,-32768,
- -26, 1186, 2619, 521,-32768,-32768, 1095, 0, 1188, 7731,
--32768,-32768, 374,-32768,-32768,-32768,-32768,-32768, 203,-32768,
- 1103, 109, 1110, 1100,-32768, 1282,-32768, 11809,-32768, 13511,
- 423,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1111,-32768,
--32768, 195,-32768,-32768,-32768, 998,-32768, 1249, 1252,-32768,
- 1118,-32768, 13511,-32768,-32768, 1113, 1340, 1342,-32768
+ 1223,-32768, 1223, 832,-32768, 1223,-32768, 1249,-32768, 12499,
+-32768, 7205, 7826, 1197, 76,-32768,-32768, 8654,-32768, 1092,
+-32768, 1117, 3275,-32768, 10398, 1313,-32768, 14097,-32768, 376,
+-32768,-32768, 1235, 14097, 1096, 9446, 10035, 453, 1053, 2621,
+ 2621, 331, 331, 1047, 1047,-32768,-32768, 542, 9994, 1225,
+-32768, 1100, 1607,-32768, 8654, 436, 436, 978, 1099, 1099,
+ 1099, 1099, 822, 8861, 8654, 8654, 8654, 8654, 8654, 8654,
+ 8654, 3331, 4100, 1254,-32768, 223, 1232,-32768, 1263, 501,
+ 1109,-32768, 1106, 1111,-32768,-32768, 0, 1105, 905, 501,
+-32768, 1054, 1054, 1112,-32768,-32768,-32768,-32768,-32768, 1113,
+-32768,-32768, 1115,-32768, 1118,-32768,-32768,-32768,-32768,-32768,
+ 14097,-32768,-32768,-32768,-32768,-32768, 12499,-32768, -60, 9875,
+ 1333, 1253,-32768, 771, 131,-32768, 3331, 14097, 545,-32768,
+-32768,-32768,-32768, 1336, 14097, 1235, 9446,-32768, 13442,-32768,
+-32768, 349, 1119, 1120,-32768, 978, 771, 842, 842, 354,
+ 354, 1099, 1099,-32768,-32768, 549, 771, 43, 1260,-32768,
+-32768,-32768, 13442, 76, 1198, 13442, 919, 13442, 3331, 3331,
+ -55, 13442, 1054, 1185, 1185,-32768,-32768,-32768,-32768,-32768,
+ 173,-32768, 1245, 1341,-32768,-32768, 1130,-32768, 14097,-32768,
+ 14097, 556, 9994, 420, 3331,-32768,-32768, 8654,-32768,-32768,
+-32768, 77,-32768, 1260, 1132,-32768, 1199,-32768,-32768,-32768,
+-32768,-32768, 1158,-32768,-32768,-32768, 564, 1185, 1197, 1197,
+ 1139, 1140, 1141, 80, 1248,-32768, 7826,-32768,-32768,-32768,
+-32768, 1254, 1145, 771, 44, 44,-32768, 384,-32768, 258,
+-32768, 0, 1197,-32768,-32768, 7826, 11740,-32768, 5123, 1333,
+ 1148,-32768, 2222, 1260,-32768,-32768, 1367, 31,-32768,-32768,
+-32768,-32768,-32768, 568,-32768,-32768,-32768, 355, 355,-32768,
+-32768, -55, 1253, 1634, 579,-32768,-32768, 1153, 14, 1245,
+ 7826,-32768,-32768, 399,-32768,-32768,-32768,-32768,-32768, 384,
+-32768, 1152, 355, 1157, 1150,-32768, 1329,-32768, 11740,-32768,
+ 13442, 501,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1160,
+-32768,-32768, 164,-32768,-32768,-32768, 1054,-32768, 1305, 1308,
+-32768, 1185,-32768, 13442,-32768,-32768, 1167, 1394, 1395,-32768
};
static const short yypgoto[] = {-32768,
--32768, 1311,-32768,-32768,-32768, 1086, 950, 789,-32768, 544,
- 311,-32768, 970,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768, 570, 557, 571,-32768,
--32768,-32768, 330, 133,-32768, -675,-32768, -504,-32768, -115,
- -91, -1190, -179, -212, -149, -180,-32768,-32768,-32768,-32768,
- 577,-32768,-32768,-32768,-32768,-32768, -15,-32768,-32768,-32768,
--32768,-32768,-32768, -779,-32768,-32768,-32768,-32768, -233,-32768,
--32768,-32768,-32768, -176, 334,-32768, 548, 559,-32768,-32768,
- 1363, 1148, 1005,-32768, 1378,-32768, 1083, 784,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768, -89, -162, -187,-32768,
--32768,-32768, -81, 1114,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 1211, -189,-32768,-32768,-32768, -31,-32768,
--32768,-32768, -177,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 338,-32768,-32768,-32768,-32768,-32768,-32768, 367,-32768,
--32768,-32768, 1377,-32768,-32768,-32768,-32768, -221,-32768,-32768,
- -1214, -794, 572,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, 1008, 1075, -1234,-32768, -185,-32768, 910, -154, -595,
- -175,-32768, -184,-32768,-32768, -195, -71, -1369, -1424, -524,
--32768, -1106, 98, -1014,-32768,-32768, -196, -344, -963,-32768,
- -904, -469, 1077,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768, -373, -253,-32768,-32768,-32768, 1112,-32768,-32768, -203,
--32768, 317,-32768,-32768,-32768, 1355,-32768,-32768, -660, -511,
- -436,-32768,-32768, -793, -546, -787,-32768,-32768, -612,-32768,
--32768,-32768,-32768, -190, 912,-32768, 653, -822, 922,-32768,
- 110, 1241,-32768, -938, -97, -101, 62, 764,-32768,-32768,
- 1815, 1424, -6, -16, -168, -703, -3, 263,-32768
+-32768, 1363,-32768,-32768,-32768, 1138, 998, 845,-32768, 595,
+ 366,-32768, 1020,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, 621, 607, 623,-32768,
+-32768,-32768, 382, 187,-32768, -1160,-32768, -498,-32768, -863,
+ -46, -1166, -136, -157, -106, -137,-32768,-32768,-32768,-32768,
+ 617,-32768,-32768,-32768,-32768,-32768, 130,-32768,-32768,-32768,
+-32768,-32768,-32768, -787,-32768,-32768,-32768,-32768, -189,-32768,
+-32768,-32768,-32768, -176, 380,-32768, 596, 598,-32768,-32768,
+ 1398, 1181, 1040,-32768, 1425,-32768, 1126, 831,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, -45, -118, -147,-32768,
+-32768,-32768, -41, 1159,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 1257, -185,-32768,-32768,-32768, -39,-32768,
+-32768,-32768, -132,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 509,-32768,-32768,-32768,-32768,-32768,-32768, 416,-32768,
+-32768,-32768, 1431,-32768,-32768,-32768,-32768, -224,-32768,-32768,
+ -1208, -795, 625,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 1070, -220, -1103,-32768, -135,-32768, 965, -101, -600,
+ -123,-32768, -130,-32768,-32768, -195, -15, -1371, -1387, -524,
+-32768, -1125, 154, -1122,-32768,-32768, -140, -369, -965,-32768,
+ -882, -471, 1135,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, -377, -216,-32768,-32768,-32768, 1116,-32768,-32768, -206,
+-32768, 365,-32768,-32768,-32768, 1763,-32768,-32768, -611, -345,
+ -443,-32768,-32768, -767, -481, -763,-32768,-32768, -620,-32768,
+-32768,-32768,-32768, 798, 971,-32768, 716, -817, 977,-32768,
+ 27, 1291,-32768, -966, -43, -119, 67, 1144,-32768,-32768,
+ 2085, 1551, -197, -16, -169, -386, -3, 318,-32768
};
-#define YYLAST 14459
+#define YYLAST 14306
static const short yytable[] = { 166,
- 775, 259, 185, 301, 1016, 280, 299, 1170, 242, 1118,
- 1345, 845, 773, 225, 229, 388, 233, 777, 366, 292,
- 229, 856, 1075, 1076, 229, 248, 250, 229, 647, 1037,
- 1393, 786, 383, 1081, 305, 575, 759, 894, 1179, 896,
- 897, 1493, 1494, 888, 533, 922, 923, 924, 925, 926,
- 763, 763, 1488, 1112, 208, 379, 1113, 545, 519, 1038,
- 784, 515, 941, 536, 1328, 537, 442, 184, 1538, 1539,
- 1554, 1575, 606, 938, 889, 203, 771, 1085, 509, 459,
- 229, 1046, 561, 889, 1086, 779, 209, 805, 547, 874,
- 875, 876, 877, 843, 723, 516, 864, 1532, 284, 1540,
- 538, -575, 1353, 889, 1047, 562, 889, 306, 939, 210,
- 1042, 1607, 1562, 308, 1045, 889, 186, 433, 1186, -575,
- 437, 820, 1537, 307, 202, 1122, 1450, 228, 384, 865,
- 886, 548, 1123, 239, 209, 1576, 389, 246, 1541, 724,
- 251, 928, 607, 285, 6, 940, 7, 1354, 780, 217,
- 1048, 725, 480, 1142, 1555, 211, 1608, 210, 549, 1355,
- 608, 1451, 1453, 1577, 229, 1049, 563, 185, 185, 13,
- 212, 263, 265, 204, 185, 229, 890, 1533, 282, 1269,
- 286, 416, 229, 185, 1187, 890, 185, 979, 185, 263,
- 265, -543, 1479, 255, 524, 185, 185, 1514, 1452, 1480,
- 311, 935, 234, 211, 629, 890, 381, 1276, 890, -543,
- 1295, 1284, 205, 229, 895, 16, 1645, 890, 212, 1220,
- 1221, 1489, 1437, 240, 774, 510, 240, 240, 206, 240,
- 18, 229, 260, 261, 233, 308, 213, 1067, 311, 266,
- 229, 510, 539, 309, 1261, 86, 718, 861, 220, 542,
- 238, 293, 1348, 294, 1519, 1119, 1507, -542, 236, 87,
- 1090, 302, 1286, 862, 785, 243, 1641, 1129, 1130, 1131,
- 1132, 1133, 1134, 642, 1114, -542, 543, 258, 792, 233,
- 719, 720, 221, 428, 213, 28, 1349, 1350, 267, 545,
- 185, 1013, 1520, 1638, 308, 288, 863, -573, 1551, 713,
- 240, 84, 429, 1563, 1564, 793, 366, 1433, 1127, 185,
- 1435, 660, 185, 438, 85, -573, 1639, 1548, 721, 1549,
- 547, 1406, 430, 1084, 1351, 308, 315, 1592, 431, 504,
- 505, 372, 1092, 1093, 1094, 1095, 1096, 1097, 506, 929,
- 484, 167, 1116, 800, 387, 801, 201, 930, 931, 932,
- 933, 929, 219, 390, 254, 425, 231, 256, 934, 930,
- 931, 932, 933, 548, 268, 518, 521, 521, 883, 884,
- 934, -801, 791, -801, 507, 880, -808, 885, 1077, 283,
- 1422, 529, 229, 881, 882, 883, 884, 802, 405, 803,
- 549, 229, 406, 1383, 885, 300, 587, 557, 1384, 1385,
- 1386, 1387, 1388, 1389, 1390, 577, 1580, 240, 312, 1581,
- 282, 1582, 1391, 303, 6, 1098, 7, 185, 229, 976,
- 932, 933, 314, 185, 984, 985, 185, 185, 313, 934,
- 981, 605, 316, 879, 240, 647, 614, 615, 616, 13,
- 575, 317, 382, 624, 575, 642, 642, 642, 642, 385,
- 1100, 1101, 490, 1215, 1216, 631, 386, 1169, 929, 392,
- 645, 1109, 1217, 308, 1135, 1257, 930, 931, 932, 933,
- 1397, 814, 1500, 815, 1272, 1273, 1274, 934, 661, 393,
- 662, 1298, 595, 647, 694, 16, 716, 394, 599, 1389,
- 1390, 600, 601, 397, 527, 530, 396, 491, 1391, 1137,
- 18, 401, 399, 492, 535, 788, 789, 790, 768,-32768,
- 768, 1291, 1292, 1293, 404, 713, 713, 713, 713, 713,
- 1320, 805, 830, 1024, 831, 480, 1321, 408, 1025, 480,
- 409, 596, 713, 480, 411, 1024, 1322, 480, 414, 413,
- 1026, 480, 185, 417, 1323, 480, 1527, 418, 1406, 480,
- 1263, 419, 1026, 480, 1586, 28, 1267, 1324, 1377, 1378,
- 1379, 1380, 1381, 1382, 821, 1201, 823, 824, 825, 826,
- 1325, 421, 452, 822, 422, 822, 822, 822, 822, 1624,
- 427, 880, 492, 524, 1027, 1625, 1626, 1326, 229, 881,
- 882, 883, 884, 308, 435, 453, 1027, 1028, 840, 447,
- 885, 1587, 496, 1029, 439, 1588, 840, 796, 440, 1028,
- 1202, 454, 99, 458, 443, 1029, 1203, 497, 841, 372,
- 842, 854,-32768, 855, 1030, 868, 768, 869, 1183, 800,
- 1184, 1185, 645, 645, 645, 645, 1030, 444, 299, 299,
- 445, 366, 366, 448, 109, 498, 841, 510, 1222, 1264,
- 1052, 449, 366, 502, 503, 504, 505, 841, 841, 1369,
- 1370, 1443, 450, 1456, 506, 1457,-32768, 1277, 580, 1508,
- 455, 1509, 462, 581, 881, 882, 883, 884, 464, 642,
- 642, 496, 465, 466, 582, 885, 1103, 485, 642, 642,
- 642, 642, 642, 642, 583, 584, 497, 1517, 1461, 1518,
- 468, 832, 716, 716, 716, 716, 716, 1465, 1466, 1467,
- 1468, 1469, 1470, 1471, 1472, 1207, 1476, 487, 585, 716,
- 1508, 421, 1550, 1561,-32768, 713, 488, 1609, 642, 1610,
- 1208, 507, 502, 503, 504, 505, 1409, 713, 713, 713,
- 713, 713, 713, 506, 512, 1598, 1618, 1365, 1619, 514,
- 513, 531, 880, 541, 558, 16, 566, 229, 1209, 229,
- 881, 882, 883, 884, 987, 578, 1213, 1214, 1215, 1216,
- 529, 885, 768, 592, 1091, 593, 602, 1217, 185, 1180,
- 610, 991, 617, 991, 993, 994, 185, 612, 625, 626,
- 630, 1012, 627, 1040, 628, 605, 991, 649, 1021, 1413,
- 506, 657, 658, 659, 229, 763, 776, 1430, 778,-32768,
- 577, 1061, 1061, 1051, 577, 782, 1423, 930, 931, 932,
- 933, 822, 822, 282, 1062, 1062, 282, 784, 934, 795,
- 185, 797, 185, 1071, 900, 798, 799, 605, 809, 808,
- 813, 1553, 810, 989, 811, 1078, 1079, 1080, 1646, 816,
- 827, 996, 819, 828, 829, 833, 834, 901, 844, 836,
- 835, 1083, 846, 366, 849, 850, 645, 645, 852, 853,
- 970, 859, 975, 857, 858, 645, 645, 645, 645, 645,
- 645, 860, 867, 527, 1193, 866, 1194, 1195, 1196, 1197,
- 1198, 1199, 870, 297, 1438, 1068, 871, 1070, 272, 273,
- 274, 275, 276, 277, 278, 1117, 878, 872, 873, 1203,
- 1120, 1121, 716, 892, 893, 645, 887, 1036, 1411, 912,
- 916, 1473, 1412, 899, 716, 716, 716, 716, 716, 716,
- 914, 915, 917, 997, 918, 91, 325, 919, 920, 264,
- 921, 936, 469, 978, 937, 944, 945, 1568, 947, 948,
- 330, 713, 977, 950, 372, 372, 951, 296, 93, 953,
- 983, 954, 956, 331, 957, 372, 959, 229, 960, 962,
- 1174, 1018, 963, 768, 98, 99, 1506, 1022, 965, 966,
- 1043, 1041, 902, 1065, 336, 1014, 1015, 903, 904, 905,
- 906, 907, 908, 909, 1072, 1104, 1012, 885, 1012, 1012,
- 1012, 1012, 1012, 1012, 1111, 1106, 1107, 109, 1207, 1110,
- 605, 605, 470, 340, 1108, 934, 1143, 1171, 1530, 1531,
- 1340, 185, 265, 1208, 381, 1245, 1146, 1371, 1149, 1152,
- 1155, 1383, 91, 113, 1158, 1161, 471,-32768,-32768, 1387,
- 1388, 1389, 1390, 1164, 1552, 1167, 1172, 1175, 1051, 1256,
- 1391,-32768, 1176, 1181, 1484, 93, 1188, 1189, 880, 1213,
- 1214, 1215, 1216, 1190, 1492, 1192, 881, 882, 883, 884,
- 1217, 98, 99, 1621, 1219, -808, 1342, 885, 1223, 1224,
- 975, 1225, 1243, 1244, 1344, 1248, 1226, 1250, 1352, 1253,
- 1356, 1254, 1255, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
- 1364, 1258, 1262, 1368, 109, 472, 1260, 1297, 1265, 1372,
- 1266, 619, 620, 929, 164, 1268, 1270, 164, 1271, 1275,
- 490, 930, 931, 932, 933, 1279, 1283, 1285, 164, 164,
- 113, 164, 934, 1287, 1288, 164, 1289,-32768, 716, 164,
- 164, 164, 164, 1290, 1383, 1387, 1388, 1389, 1390, 1384,
- 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1329, 1294, 1331,
- 1296, 1303, 1304, 1391, 1305, 491, 1464, 229, 1306, 694,
- 1307, 492, 1308, 1332, 1334, 1309, 372, 493, 1310, 185,
- 1311, 1312, 1313, 1314, 185, 1315, 1316, 1317, 1012, 1318,
- 1336, 1337, 1341, 1217, 1347, 164, 1012, 1374, 1375, 1376,
- 1012, 1392, 1012, 1394, 1396, 1012, 1012, 1012, 1012, 1012,
- 1012, 1012, 1012, 1410, 1414, 1012, 1415, 1416, 1417, 185,
- 1419, 1012, 1420, 1424, 1425, 1431, 1436, 643, 1440, 1426,
- 265, 265, 265, 265, 265, 265, 1398, 1428, 1401, 1455,
- 1429, 1444, 1445, 1447, 1335, 1454, 1458, 1391, 1459, 1338,
- 229, 1477, 1383, 714, 1482, 1483, 1408, 1384, 1385, 1386,
- 1387, 1388, 1389, 1390, 1485, 1487, 1486, 1491, 1501, 1495,
- 496, 1391, 1496, 1497, 1503, 1505, 1636, 1498, 1510, 164,
- 975, 1515, 164, 164, 1516, 497, 164, 164, 1521, 164,
- 164, 490, 1526, 164, 1543, 1546, 1547, 164, 164, 1557,
- 1558, 164, 1533, 164, 164, 164, 1567, 1565, 1566, 1569,
- 164, 164, 1574, 498, 1600, 1606, 1620, 1442, 499, 500,
- 501, 502, 503, 504, 505, 229, 1628, 1631, 164, 1630,
- 1637, 1632, 506, 265, 1642, 1643, 491, 1590, 841, 1648,
- 1512, 1649, 492, 253, 403, 1247, 164, 807, 493, 164,
- 1035, 1012, 559, 522, 990, 164, 1017, 992, 1373, 494,
- 1605, 1246, 1511, 1400, 366, 1613, 1613, 489, 1462, 1463,
- 265, 1573, 490, 1556, 1579, 1627, 1252, 1064, 1020, 265,
- 265, 265, 265, 265, 265, 265, 265, 1063, 265, 245,
- 1629, 218, 391, 847, 164, 534, 434, 1529, 1591, 643,
- 643, 643, 643, 1615, 1528, 164, 298, 1251, 252, 426,
- 1614, 560, 1074, 1622, 1599, 1623, 1616, 491, 761, 1536,
- 1434, 1634, 473, 492, 164, 772, 980, 164, 164, 493,
- 1281, 762, 229, 295, 1560, 1330, 0, 0, 975, 0,
- 494, 496, 456, 0, 0, 0, 0, 495, 0, 0,
- 0, 0, 1012, 0, 1513, 0, 497, 474, 0, 0,
- 0, 0, 0, 0, 0, 0, 1525, 0, 0, 714,
- 714, 714, 714, 714, 0, 0, 0, 0, 185, 0,
- 0, 768, 0, 768, 498, 0, 714, 185, 0, 499,
- 500, 501, 502, 503, 504, 505, 164, 164, 0, 0,
- 0, 0, 0, 506, 0, 0, 164, 0, 0, 0,
- 0, 0, 164, 265, 0, 0, 0, 0, 0, 0,
- 164, 0, 496, 0, 0, 164, 0, 0, 0, 1200,
- 0, 0, 164, 164, 1201, 0, 0, 497, 164, 0,
- 1585, 164, 164, 1524, 0, 975, 164, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1009, 1596,
- 621, 0, 1597, 0, 0, 498, 319, 320, 0, 0,
- 499, 500, 501, 502, 503, 504, 505, 0, 0, 1202,
- 0, 0, 91, 325, 506, 1203, 0, 1128, 0, 469,
- 0, 1204, 1585, 0, 0, 0, 0, 330, 0, 164,
- 0, 0, 1205, 0, 0, 93, 0, 0, 0, 1206,
- 331, 1596, 0, 0, 1597, 0, 1635, 474, 0, 0,
- 0, 98, 99, 164, 332, 164, 333, 0, 0, 0,
- 0, 336, 806, 643, 643, 0, 0, 0, 0, 605,
- 0, 0, 643, 643, 643, 643, 643, 643, 0, 0,
- 0, 0, 0, 0, 109, 0, 0, 164, 0, 470,
- 340, 0, 0, 0, 0, 0, 0, 1201, 474, 0,
- 0, 0, 0, 0, 344, 0, 0, 372, 0, 714,
- 113, 0, 643, 471, 1207, 0, 0, 0, 460, 0,
- 0, 714, 714, 714, 714, 714, 714, 0, 0, 1208,
- 0, 0, 475, 164, 0, 476, 0, 477, 478, 479,
- 483, 0, 1202, 164, 0, 0, 0, 0, 1203, 0,
- 0, 164, 0, 0, 1204, 0, 0, 1209, 0, 0,
- 0, 0, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 346,
- 0, 164, 0, 0, 0, 0, 1217, 0, 0, 1218,
- 0, 0, 472, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1009, 0, 1009, 1009, 1009, 1009, 1009,
- 1009, 0, 0, 594, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241,
- 0, 0, 0, 611, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 946, 0, 0, 0, 949, 528, 0,
- 0, 952, 0, 0, 0, 955, 0, 1207, 0, 958,
- 0, 0, 654, 961, 0, 0, 0, 964, 0, 0,
- 0, 967, 1208, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 696, 0, 0, 0, 722, 0, 726,
- 0, 0, 730, 734, 738, 742, 746, 750, 754, 758,
- 1209, 760, 0, 0, 0, 1210, 1211, 1212, 1213, 1214,
- 1215, 1216, 164, 0, 164, 0, 0, 0, 0, 1217,
- 0, 0, 0, 0, 0, 164, 0, 164, 0, 0,
- 0, 0, 0, 164, 0, 0, 164, 0, 164, 164,
- 164, 164, 0, 0, 0, 714, 0, 0, 0, 0,
- 164, 164, 0, 164, 0, 0, 0, 0, 0, 164,
- 0, 0, 0, 0, 0, 164, 0, 0, 0, 164,
- 0, 0, 0, 0, 0, 0, 0, 0, 164, 164,
- 164, 164, 0, 0, 0, 164, 0, 164, 164, 0,
- 0, 0, 164, 0, 0, 1009, 0, 0, 0, 474,
- 164, 164, 0, 1009, 0, 0, 0, 1009, 0, 1009,
- 0, 0, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009,
- 0, 0, 1009, 0, 0, 0, 0, 0, 1009, 0,
- 0, 0, 0, 0, 0, 0, 474, 1241, 1241, 1241,
- 1241, 1241, 1241, 0, 654, 0, 654, 654, 0, 0,
- 0, 1138, 0, 911, 0, 0, 0, 0, 1144, 1145,
- 0, 1147, 1148, 1407, 1150, 1151, 0, 1153, 1154, 490,
- 1156, 1157, 0, 1159, 1160, 0, 1162, 1163, 0, 1165,
- 1166, 0, 168, 0, 0, 474, 0, 0, 474, 0,
- 0, 0, 0, 169, 1200, 170, 0, 0, 0, 1201,
- 171, 0, 0, 0, 0, 927, 172, 173, 0, 0,
- 174, 0, 0, 0, 491, 0, 0, 0, 0, 943,
- 492, 175, 164, 483, 0, 164, 493, 483, 164, 176,
- 0, 483, -320, 0, 0, 483, 0, 0, 0, 483,
- 1241, 0, 474, 483, 1202, 0, 0, 483, 0, 0,
- 1203, 483, 177, 0, 0, 0, 1204, 0, 1009, 0,
- 178, 179, 0, 0, 0, 164, 164, 1205, 0, 180,
- 0, 0, 0, 0, 1206, 0, 164, 1241, 0, 0,
- 164, 0, 1201, 0, 0, 0, 1241, 1241, 1241, 1241,
- 1241, 1241, 1241, 1241, 0, 1241, 0, 0, 0, 0,
- 0, 0, 0, 0, 164, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 496,
- 0, 0, 0, 0, 1278, 0, 0, 1202, 1280, 0,
- 0, 0, 0, 1203, 497, 0, 0, 528, 0, 1204,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207,
- 0, 0, 0, 1082, 0, 0, 0, 1299, 1011, 1009,
- 0, 0, 498, 0, 1208, 0, 0, 654,-32768,-32768,
- 502, 503, 504, 505, 0, 0, 0, 0, 0, 0,
- 0, 506, 0, 1102, 0, 0, 0, 0, 0, 0,
- 0, 0, 1209, 0, 474, 0, 0, 1210, 1211, 1212,
- 1213, 1214, 1215, 1216, 0, 0, 0, 1200, 0, 0,
- 0, 1217, 1201, 0, 1343, 654, 0, 0, 644, 0,
- 1241, 0, 164, 0, 164, 0, 0, 0, 0, 0,
- 0, 0, 1207, 0, 164, 0, 0, 0, 0, 164,
- 0, 0, 0, 0, 715, 0, 0, 1208, 0, 0,
- 0, 0, 474, 0, 0, 0, 0, 1202, 0, 0,
- 0, 0, 1168, 1203, 0, 0, 0, 489, 474, 1204,
- 0, 0, 490, 0, 164, 1209, 0, 0, 0, 0,
- 1205,-32768,-32768, 1213, 1214, 1215, 1216, 1206, 0, 0,
- 0, 0, 0, 1418, 1217, 0, 0, 1421, 0, 0,
- 1011, 0, 0, 0, 0, 164, 187, 0, 0, 0,
- 0, 164, 0, 0, 0, 0, 0, 491, 0, 188,
- 474, 0, 0, 492, 189, 0, 0, 0, 0, 493,
- 190, 191, 0, 0, 192, 0, 0, 474, 0, 0,
- 494, 0, 0, 0, 0, 193, 0, 495, 474, 0,
- 0, 0, 0, 194, 0, 0, 195, 0, 0, 0,
- 0, 0, 1207, 1011, 0, 1011, 1011, 1011, 1011, 1011,
- 1011, 0, 0, 0, 0, 0, 196, 1208, 197, 0,
- 164, 654, 654, 654, 198, 199, 0, 0, 0, 1011,
- 644, 644, 644, 644, 0, 0, 0, 0, 474, 0,
- 0, 0, 0, 0, 474, 1209, 0, 0, 1282, 0,
- 1210, 1211, 1212, 1213, 1214, 1215, 1216, 0, 654, 654,
- 654, 0, 496, 0, 1217, 0, 0, 1460, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 497, 0, 0,
- 0, 0, 474, 0, 0, 0, 0, 0, 0, 0,
+ 259, 776, 185, 301, 1017, 280, 1171, 846, 242, 311,
+ 299, 1180, 388, 225, 229, 366, 233, 857, 292, 534,
+ 229, 648, 1038, 509, 229, 248, 250, 229, 1076, 1077,
+ 895, 576, 897, 898, 1121, 1346, 761, 1394, 787, 1082,
+ 1494, 1495, 1115, 764, 228, 1116, 1329, 311, 516, 1489,
+ 239, 383, 546, 379, 246, 785, 537, 251, 538, 1576,
+ 208, 209, 203, 890, 607, 764, 1187, 1608, 1533, 931,
+ 772, 186, 184, 305, 1378, 1379, 1380, 1381, 1382, 1383,
+ 229, 520, 517, 548, 210, 220, 806, 1039, 510, 890,
+ 202, 284, 209, 539, 720, 1520, 925, 926, 927, 928,
+ 929, 1047, 217, 442, 1086, 890, 1539, 1540, 1145, 1087,
+ 255, 429, 1609, 944, 1555, 210, 459, 433, 389, 221,
+ 437, 1538, -801, 1577, 1048, 889, 549, -808, 721, 722,
+ 211, 234, 1188, 1521, 608, 725, 285, 1194, 780, 1195,
+ 1196, 1197, 1198, 1199, 1200, 212, 306, 384, 1534, 482,
+ 1563, 1578, 609, 550, 1125, 875, 876, 877, 878, 1126,
+ 204, 211, 307, 416, 229, 891, 723, 185, 185, 890,
+ 1049, 263, 265, 286, 185, 229, 212, 1444, 282, 774,
+ 726, 236, 229, 185, 778, 1050, 185, 1454, 185, 263,
+ 265, 891, 727, 980, 258, 185, 185, 890, 1556, 205,
+ 1434, 781, 308, 1436, 1438, 267, 381, 891, 896, 1277,
+ 821, 213, 288, 229, 1462, 206, 240, 775, 1490, 1221,
+ 1222, 240, 238, 1466, 1467, 1468, 1469, 1470, 1471, 1472,
+ 1473, 229, 1477, 1068, 233, 540, 1286, 260, 261, 511,
+ 229, 630, 213, 315, 266, 615, 616, 617, 372, 240,
+ 1262, 511, 625, 1091, 1646, 240, 293, 1541, 294, 786,
+ 844, 387, 1639, 1117, 632, 1642, 302, 932, 1270, 865,
+ 390, 891, 243, 1297, 308, 933, 934, 935, 936, 233,
+ 240, 1508, 309, 428, 862, 1640, 937, 562, 405, 663,
+ 185, 664, 406, 6, 1407, 7, 1542, 887, 1014, 891,
+ 863, 1349, 866, 1130, 366, 1552, 932, 1122, -575, 185,
+ 563, 308, 185, 438, 933, 934, 935, 936, 13, 1132,
+ 1133, 1134, 1135, 1136, 1137, 937, -575, 543, 662, 1343,
+ 506, 507, 793, 864, 256, 1350, 1351, 1345, 807, 508,
+ 486, 1353, 1549, 1357, 1550, 546, 1358, 1359, 1360, 1361,
+ 1362, 1363, 1364, 1365, 544, 84, 1369, 1554, 1515, 794,
+ 425, 254, 1373, 1354, 16, 519, 522, 522, 85, 938,
+ 1288, 564, 792, 1352, 268, -543, 548, 1078, 941, 18,
+ 86, 530, 229, 823, 283, 823, 823, 823, 823, 1085,
+ 6, 229, 7, -543, 87, 977, 588, 558, 1093, 1094,
+ 1095, 1096, 1097, 1098, 1424, 578, 982, -542, 1355, 1480,
+ 282, 528, 531, 942, 1099, 13, 1481, 185, 229, 549,
+ 1356, 536, 1451, 185, 880, -542, 185, 185, 1043, 648,
+ 308, 606, 1046, 1587, 28, 1564, 1565, 576, -573, 985,
+ 986, 576, 303,-32768, 1101, 1102, 550, 1119, 597, 240,
+ 943, 882, 883, 884, 885, 1110, -573, 1452, 300, 1593,
+ 646, 16, 886, 1398, 881, 1138, 312, 1273, 1274, 1275,
+ 313, 1501, 882, 883, 884, 885, 18, -801, 476, 648,
+ 1588, 884, 885, 886, 1589, 430, 696, 596, 718, 316,
+ 886, 431, 1456, 600, 1453, 1140, 601, 602, 789, 790,
+ 791, 314, 317, 494, 935, 936, 1293, 1294, 1295, 769,
+ 949, 769, 167, 937, 952, 382, 1204, 201, 955, 1528,
+ 806, 1407, 958, 219, 482, 386, 961, 231, 482, 385,
+ 964, 28, 482, 1300, 967, 903, 482, 372, 970, 801,
+ 482, 802, 392, 185, 482, 393, 1216, 1217, 482, 394,
+ 397, 1264, 482, 396, 1384, 1218, 1112, 1268, 904, 1385,
+ 1386, 1387, 1388, 1389, 1390, 1391, 932, 401, 399, 1390,
+ 1391, 404, 881, 1392, 933, 934, 935, 936, 1392, 408,
+ 882, 883, 884, 885, 409, 937, 881, 1581, 240, 229,
+ 1582, 886, 1583, 1513, 882, 883, 884, 885, 581, 841,
+ 411, 1025, 498, 582, 1625, 886, 1026, 841, 1092, 413,
+ 1626, 1627, 417, 797, 583, 1208, 414, 499, 1027, 833,
+ 803, 418, 804, 1052, 584, 585, 815, 769, 816, 419,
+ 1209, 823, 823, 646, 646, 646, 646, 421, 422, 366,
+ 366, 427, 308, 299, 299,-32768, 435, 491, 586, 439,
+ 366, 1053, 492, 504, 505, 506, 507, 1081,-32768, 452,
+ 440, 1278, 1028, 831, 508, 832, 1214, 1215, 1216, 1217,
+ 842, 1084, 843, 443, 855, 1029, 856, 1218, 308, 1025,
+ 1258, 1030, 453, 905, 1104, 869, 447, 870, 906, 907,
+ 908, 909, 910, 911, 912, 444, 1027, 493, 454, 99,
+ 445, 448, 1031, 494, 718, 718, 718, 718, 718, 495,
+ 822, 449, 824, 825, 826, 827, 1184, 1120, 1185, 1141,
+ 496, 718, 1123, 1124, 450, 458, 1147, 1148, 462, 1150,
+ 1151, 109, 1153, 1154, 476, 1156, 1157, 1410, 1159, 1160,
+ 1028, 1162, 1163, 464, 1165, 1166, 1366, 1168, 1169, 465,
+ 801, 1599, 1186, 1029, 842, 487, 1223, 455, 229, 1030,
+ 229, 511, 842, 1265, 1370, 988, 842, 1457, 1371, 1458,
+ 1509, 530, 1510, 769, 1518, 466, 1519, 1181, 468, 185,
+ 1031, 1509, 992, 1551, 992, 994, 995, 185, 971, 421,
+ 976, 1562, 1013, 1610, 1041, 1611, 606, 992, 1414, 1022,
+ 489, 528, 498, 490, 1619, 229, 1620, 513, 515, 514,
+-32768, 578, 1062, 1062, 532, 578, 1425, 499, 933, 934,
+ 935, 936, 542, 559, 282, 1063, 1063, 282, 16, 937,
+ 567, 185, 579, 185, 1072, 1037, 593, 594, 606, 603,
+ 611, 613, 618, 626, 627, 500, 1079, 1080, 1647, 990,
+ 501, 502, 503, 504, 505, 506, 507, 997, 1052, 628,
+ 629, 366, 631, 650, 508, 659, 91, 646, 646, 508,
+ 660, 764, 372, 372, 661, 777, 646, 646, 646, 646,
+ 646, 646, 779, 372, 1321, 783, 798, 785, 1439, 93,
+ 1322, 796, 1280, 799, 1412, 800, 1282, 491, 1413, 809,
+ 1323, 1069, 492, 1071, 810, 98, 99, 811, 1324, 812,
+ 814, 817, 828, 820, 834, 718, 829, 835, 646, 830,
+ 1474, 1325, 492, 836, 837, 1301, 845, 718, 718, 718,
+ 718, 718, 718, 1418, 1326, 851, 847, 850, 109, 853,
+ 854, 858, 859, 1569, 860, 620, 621, 493, 867, 868,
+ 861, 1327, 871, 494, 872, 978, 894, 873, 874, 495,
+ 879, 888, 492, 915, 113, 893, 900, 493, 229, 918,
+ 496, 1175, 917, 494, 769, 1507, 1384, 497, 979,-32768,
+ 919, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 920, 921,
+ 922, 923, 924, 939, 940, 1392, 947, 1013, 976, 1013,
+ 1013, 1013, 1013, 1013, 1013, 948, 950, 493, 951, 953,
+ 954, 606, 606, 494, 984, 998, 956, 1531, 1532, 495,
+ 1341, 957, 185, 265, 1023, 381, 1246, 1384, 1372, 959,
+ 1485, 960, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 962,
+ 1493, 1019, 963, 1553, 1042, 965, 1392, 1384, 1044, 1465,
+ 1257, 966, 498,-32768,-32768, 1388, 1389, 1390, 1391, 1066,
+ 1420, 968, 969, 1015, 1423, 1202, 1392, 499, 1073, 881,
+ 1016, 886, 498, 1105, 1622, 1107, 1108, 882, 883, 884,
+ 885, 1109, 1113, 1114, 937, 1146, 1172, 499, 886, 1149,
+ 1152, 1173, 1227, 1155, 372, 500, 1158, 1161, 1164, 1167,
+ 501, 502, 503, 504, 505, 506, 507, 1170, 1177, 1176,
+ 1203, 1182, 498, 1189, 508, 500, 1204, 1131, 164, 1244,
+ 1190, 164, 1205, 504, 505, 506, 507, 499, 1191, 1193,
+ 1220, -808, 164, 164, 508, 164, 1225, 1224, 1226, 164,
+ 932, 718, 1245, 164, 164, 164, 164, 1249, 933, 934,
+ 935, 936, 1254, 1255, 1251, 500, 1256, 1259, 1261, 937,
+ 501, 502, 503, 504, 505, 506, 507, 1263, 229, 1266,
+ 696, 1267, 1269, 1271, 508, 1272, 1276, 1281, 1463, 1464,
+ 185, 1285, 525,-32768, 1287, 185, 1289, 1290, 1330, 1013,
+ 1291, 1388, 1389, 1390, 1391, 1292, 1296, 1013, 976, 164,
+ 1298, 1013, 1392, 1013, 1299, 1332, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1305, 1208, 1013, 1306, 297, 1307,
+ 185, 1308, 1013, 272, 273, 274, 275, 276, 277, 278,
+ 1209, 265, 265, 265, 265, 265, 265, 1399, 1309, 1402,
+ 1333, 1310, 1311, 1312, 1313, 1314, 1315, 1202, 1316, 1317,
+ 1336, 229, 1637, 1335, 1318, 1339, 1319, 1409, 1210, 1320,
+ 1337, 643, 1338, 1211, 1212, 1213, 1214, 1215, 1216, 1217,
+ 1342, 1218, 1348, 1395, 1375, 1506, 1376, 1218, 1377, 1397,
+ 1411, 1401, 1393, 164, 1415, 1416, 164, 164, 1417, 715,
+ 164, 164, 1203, 164, 164, 1419, 1421, 164, 1204, 1431,
+ 1422, 164, 164, 1426,-32768, 164, 1427, 164, 164, 164,
+ 1428, 1430, 1432, 1437, 164, 164, 1441, 1445, 1443, 264,
+ 1448, 1446, 1455, 1392, 1459, 1478, 229, 1460, 1483, 1484,
+ 1486, 1492, 164, 1487, 265, 1591, 1488, 296, 1502, 1496,
+ 1497, 1504, 1498, 1511, 1522, 1499, 1516, 1517, 1527, 1201,
+ 164, 1544, 1013, 164, 1202, 1547, 976, 1548, 1558, 164,
+ 1559, 1534, 366, 1614, 1614, 1566, 1567, 1570, 1568, 1597,
+ 1607, 265, 1575, 1601, 1621, 1629, 1631, 1632, 1633, 1638,
+ 265, 265, 265, 265, 265, 265, 265, 265, 1630, 265,
+ 1643, 1644, 842, 1649, 1650, 253, 403, 1208, 164, 1203,
+ 560, 1248, 1036, 523, 808, 1204, 991, 1018, 1512, 164,
+ 993, 1205, 1209, 1374, 1247, 1574, 1606, 1557, 1580, 1021,
+ 1628, 1597, 1206, 1253, 245, 391, 1065, 1064, 164, 1207,
+ 535, 164, 164, 229, 643, 643, 643, 643, 218, 434,
+ 1210, 848, 1530, 1592, 1616, 1529, 456, 168, 1214, 1215,
+ 1216, 1217, 298, 1013, 426, 1514, 1615, 1252, 169, 1218,
+ 170, 474, 252, 976, 1623, 171, 1075, 1526, 1600, 1617,
+ 1624, 172, 173, 561, 762, 174, 1537, 1435, 1635, 185,
+ 473, 1283, 769, 295, 769, 773, 175, 763, 185, 1561,
+ 981, 1331, 0, 0, 176, 0, 0, -320, 0, 0,
+ 164, 164, 0, 0, 1208, 715, 715, 715, 715, 715,
+ 164, 0, 0, 0, 265, 0, 164, 177, 0, 1209,
+ 0, 0, 715, 0, 164, 178, 179, 0, 0, 164,
+ 0, 0, 0, 0, 180, 0, 164, 164, 0, 0,
+ 0, 1586, 164, 0, 0, 164, 164, 1210, 0, 1525,
+ 164, 0, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 492,
+ 0, 0, 0, 1598, 622, 0, 1218, 0, 0, 1219,
+ 1201, 0, 525, 0, 0, 1202, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 715, 715, 715, 715, 715, 498, 0, 0, 0, 0,
- 499, 500, 501, 502, 503, 504, 505, 715, 0, 0,
- 474, 0, 0, 0, 506, -603, 0, 164, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 474, 474, 0,
- 0, 0, 0, 0, 0, 474, 1011, 0, 0, 164,
+ 0, 0, 0, 1586, 0, 372, 0, 0, 0, 0,
+ 0, 0, 0, 0, 493, 164, 0, 644, 0, 0,
+ 494, 0, 0, 0, 1201, 1598, 495, 1636, 0, 1202,
+ 1203, 0, 0, 474, 0, 0, 1204, 496, 164, 0,
+ 164, 0, 1205, 0, 0, 716, 0, 0, 0, 0,
+ 606, 491, 0, 1206, 0, 0, 492, 0, 0, 0,
+ 1207, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 164, 0, 1203, 0, 0, 0, 643, 643,
+ 1204, 0, 0, 474, 0, 0, 1205, 643, 643, 643,
+ 643, 643, 643, 0, 0, 0, 0, 1206, 0, 0,
+ 0, 493, 0, 0, 1207, 0, 0, 494, 0, 0,
+ 0, 0, 0, 495, 0, 0, 0, 0, 164, 498,
+ 0, 0, 0, 0, 496, 0, 715, 0, 164, 643,
+ 0, 497, 0, 0, 499, 1208, 164, 0, 715, 715,
+ 715, 715, 715, 715, 0, 0, 0, 0, 0, 0,
+ 1209, 0, 0, 0, 0, 0, 164, 0, 0, 0,
+ 0, 0, 500, 0, 0, 0, 0, 501, 502, 503,
+ 504, 505, 506, 507, 0, 0, 0, 0, 1210, 1208,
+ 0, 508, 0, 1211, 1212, 1213, 1214, 1215, 1216, 1217,
+ 644, 644, 644, 644, 1209, 0, 0, 1218, 0, 0,
+ 1344, 0, 0, 0, 0, 0, 498, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 499, 1210, 0, 0, 0, 0, 1211, 1212, 1213,
+ 1214, 1215, 1216, 1217, 0, 0, 0, 0, 0, 0,
+ 0, 1218, 0, 0, 1461, 0, 0, 0, 0, 500,
+ 0, 0, 0, 0, 501, 502, 503, 504, 505, 506,
+ 507, 716, 716, 716, 716, 716, 0, 0, 508, 0,
+ 0, 1618, 0, 0, 0, 0, 0, 0, 716, 0,
+ 0, 0, 0, 0, 0, 0, 0, 164, 0, 164,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 164, 0, 0, 164, 0, 164, 474,
- 474, 0, 164, 0, 0, 0, 0, 0, 0, 1010,
- 0, 0, 0, 0, 0, 1011, 0, 0, 0, 474,
- 0, 474, 0, 1011, 1011, 474, 489, 1011, 0, 1011,
- 0, 490, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
- 0, 0, 1011, 0, 0, 0, 0, 0, 1011, 0,
- 0, 0, 0, 0, 0, 0, 0, 1011, 1011, 1011,
- 1011, 1011, 1011, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 491, 164, 0, 0,
- 0, 0, 492, 0, 644, 644, 1439, 0, 493, 0,
- 0, 0, 0, 644, 644, 644, 644, 644, 644, 494,
- 0, 0, 0, 0, 0, 0, 495, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 489, 0,
- 1011, 0, 0, 490, 0, 0, 0, 0, 0, 164,
- 715, 164, 0, 644, 0, 0, 0, 0, 0, 0,
- 0, 0, 715, 715, 715, 715, 715, 715, 0, 0,
- 0, 1141, 0, 0, 164, 0, 0, 0, 0, 0,
- 1011, 0, 0, 0, 0, 0, 0, 0, 491, 0,
- 1011, 0, 0, 0, 492, 0, 1011, 0, 1011, 0,
- 493, 496, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 494, 0, 0, 0, 0, 497, 1011, 495, 0,
- 0, 0, 0, 0, 0, 0, 1011, 1011, 1011, 1011,
- 1011, 1011, 1011, 1011, 1010, 1011, 1010, 1010, 1010, 1010,
- 1010, 1010, 0, 0, 498, 0, 0, 0, 0, 499,
- 500, 501, 502, 503, 504, 505, 0, 0, 0, 0,
- 1242, 0, 0, 506, 0, 0, 1617, 0, 0, 0,
- 0, 0, 1011, 0, 0, 0, 0, 0, 0, 0,
+ 164, 0, 164, 0, 0, 0, 0, 0, 164, 0,
+ 0, 164, 0, 164, 164, 164, 164, 0, 0, 0,
+ 0, 0, 0, 0, 0, 164, 164, 0, 164, 0,
+ 0, 0, 0, 0, 164, 0, 0, 0, 0, 0,
+ 164, 0, 0, 0, 164, 529, 0, 0, 0, 1010,
+ 0, 0, 715, 164, 164, 164, 164, 0, 0, 0,
+ 164, 0, 164, 164, 0, 0, 491, 164, 0, 0,
+ 0, 492, 0, 0, 474, 164, 164, 0, 91, 325,
+ 0, 0, 0, 0, 0, 469, 0, 0, 0, 0,
+ 0, 0, 0, 330, 0, 0, 0, 491, 0, 0,
+ 0, 93, 492, 0, 0, 0, 331, 0, 0, 0,
+ 0, 474, 0, 0, 0, 0, 493, 98, 99, 0,
+ 0, 0, 494, 0, 644, 644, 0, 336, 495, 0,
+ 0, 0, 0, 644, 644, 644, 644, 644, 644, 496,
+ 0, 0, 0, 0, 0, 0, 497, 493, 0, 0,
+ 109, 0, 0, 494, 0, 470, 340, 0, 0, 495,
+ 0, 0, 474, 0, 0, 474, 0, 0, 0, 0,
+ 496, 0, 716, 0, 0, 644, 113, 497, 0, 471,
+ 0, 0, 0, 0, 716, 716, 716, 716, 716, 716,
+ 0, 0, 0, 0, 0, 0, 0, 164, 0, 0,
+ 164, 0, 0, 164, 0, 0, 460, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 474, 0, 0,
+ 475, 498, 0, 478, 0, 479, 480, 481, 485, 0,
+ 0, 0, 0, 0, 0, 0, 499, 0, 0, 0,
+ 164, 164, 0, 0, 0, 0, 0, 0, 472, 0,
+ 0, 164, 498, 0, 1010, 164, 1010, 1010, 1010, 1010,
+ 1010, 1010, 0, 0, 500, 0, 0, 499, 0, 501,
+ 502, 503, 504, 505, 506, 507, 0, 0, 0, 164,
+ 1242, 0, 0, 508, -603, 0, 0, 0, 0, 0,
+ 0, 595, 0, 0, 0, 500, 0, 0, 0, 0,
+ 501, 502, 503, 504, 505, 506, 507, 0, 0, 0,
+ 0, 612, 0, 0, 508, -602, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1011, 0, 0, 496, 0, 0, 0, 1011, 0, 1011,
- 0, 0, 0, 0, 0, 0, 0, 489, 497, 0,
- 1601, 0, 490, 0, 0, 0, 0, 0, 0, 0,
- 1572, 0, 0, 0, 0, 0, 0, 0, 0, 489,
- 0, 0, 0, 0, 490, 0, 498, 0, 1602, 1593,
- 0, 499, 500, 501, 502, 503, 504, 505, 0, 489,
- 0, 1011, 0, 1011, 490, 506, -602, 491, 0, 0,
- 1011, 0, 0, 492, 0, 0, 0, 0, 0, 493,
- 0, 0, 0, 0, 1572, 0, 715, 1302, 0, 491,
- 494, 0, 0, 0, 0, 492, 0, 495, 0, 0,
- 0, 493, 0, 898, 0, 0, 0, 0, 0, 491,
- 0, 0, 494, 0, 0, 492, 0, 0, 0, 495,
- 0, 493, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 494, 1603, 0, 0, 1010, 0, 0, 495,
- 0, 0, 0, 0, 1010, 1346, 0, 0, 1010, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 491,
+ 655, 0, 1602, 0, 492, 0, 0, 0, 658, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 491, 0, 0, 698, 0, 492, 0, 724, 0, 728,
+ 1603, 474, 732, 736, 740, 744, 748, 752, 756, 760,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 493,
+ 0, 0, 0, 0, 0, 494, 0, 164, 716, 164,
+ 0, 495, 0, 0, 0, 0, 0, 0, 0, 164,
+ 493, 0, 496, 0, 164, 0, 494, 0, 0, 497,
+ 0, 0, 495, 0, 0, 0, 0, 474, 0, 0,
+ 0, 0, 0, 496, 0, 529, 0, 0, 0, 0,
+ 497, 0, 0, 474, 0, 0, 1010, 0, 0, 164,
+ 0, 0, 0, 0, 1010, 1604, 1012, 0, 1010, 0,
1010, 0, 0, 1010, 1010, 1010, 1010, 1010, 1010, 1010,
1010, 0, 0, 1010, 0, 0, 0, 0, 0, 1010,
- 0, 0, 496, 0, 0, 0, 0, 0, 1242, 1242,
- 1242, 1242, 1242, 1242, 0, 0, 0, 497, 0, 0,
- 0, 0, 0, 0, 496, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 497,
- 0, 0, 0, 0, 496, 498, 0, 0, 0, 0,
- 499, 500, 501, 502, 503, 504, 505, 0, 0, 497,
- 0, 0, 0, 0, 506, 0, 0, 498, 0, 0,
- 0, 1427, 499, 500, 501, 502, 503, 504, 505, 0,
- 968, 0, 0, 0, 0, 969, 506, 498, 0, 0,
- 0, 0, 499, 500, 501, 502, 503, 504, 505, 0,
- 0, 0, 0, 0, 0, 0, 506, 0, 0, 0,
- 0, 1242, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1346, 0, 0, 0, 0, 0, 1346, 0, 1010,
+ 164, 0, 0, 0, 0, 0, 164, 0, 1242, 1242,
+ 1242, 1242, 1242, 1242, 498, 474, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 499,
+ 0, 0, 0, 474, 1408, 498, 0, 0, 0, 0,
+ 0, 0, 0, 655, 474, 655, 655, 0, 0, 0,
+ 499, 0, 0, 914, 0, 0, 0, 500, 0, 0,
+ 0, 0, 501, 502, 503, 504, 505, 506, 507, 0,
+ 0, 0, 491, 0, 849, 164, 508, 492, 500, 0,
+ 0, 0, 0, 501, 502, 503, 504, 505, 506, 507,
+ 0, 901, 0, 474, 0, 0, 902, 508, 0, 474,
+ 0, 0, 0, 0, 0, 930, 0, 0, 0, 0,
+ 0, 1242, 0, 0, 0, 0, 0, 0, 0, 946,
+ 1012, 0, 493, 485, 0, 0, 0, 485, 494, 1010,
+ 0, 485, 0, 0, 495, 485, 0, 474, 0, 485,
+ 0, 491, 0, 485, 0, 496, 492, 485, 1242, 0,
+ 0, 485, 497, 0, 0, 0, 0, 1242, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 0, 1242, 0, 492, 0,
+ 0, 0, 0, 0, 0, 0, 474, 0, 645, 0,
+ 0, 1012, 164, 1012, 1012, 1012, 1012, 1012, 1012, 0,
+ 0, 493, 474, 474, 0, 0, 0, 494, 0, 0,
+ 474, 0, 0, 495, 164, 0, 717, 1012, 0, 0,
+ 0, 0, 0, 493, 496, 0, 0, 0, 0, 494,
+ 0, 497, 0, 0, 0, 495, 0, 498, 164, 0,
+ 1010, 164, 0, 164, 474, 474, 0, 164, 0, 0,
+ 0, 0, 499, 0, 491, 0, 0, 0, 0, 492,
+ 0, 0, 1083, 0, 474, 0, 474, 0, 0, 0,
+ 474, 0, 0, 1202, 0, 0, 655, 0, 0, 0,
+ 500, 0, 0, 0, 0, 501, 502, 503, 504, 505,
+ 506, 507, 1103, 0, 0, 0, 0, 0, 899, 508,
+ 0, 1242, 0, 1111, 493, 0, 498, 0, 0, 0,
+ 494, 0, 0, 0, 0, 0, 495, 0, 1203, 0,
+ 0, 499, 164, 0, 1204, 0, 655, 496, 498, 0,
+ 1205, 0, 0, 0, 497, 0, 1012, 0, 0, 0,
+ 0, 0, 0, 499, 0, 0, 0, 0, 0, 500,
+ 0, 0, 0, 0, 501, 502, 503, 504, 505, 506,
+ 507, 645, 645, 645, 645, 0, 0, 1279, 508, 0,
+ 0, 500, 0, 0, 164, 0, 164,-32768,-32768, 504,
+ 505, 506, 507, 1012, 0, 0, 0, 0, 0, 0,
+ 508, 1012, 1012, 0, 0, 1012, 0, 1012, 0, 164,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 0, 498,
+ 1012, 0, 0, 0, 0, 0, 1012, 0, 0, 0,
+ 0, 0, 0, 1208, 499, 1012, 1012, 1012, 1012, 1012,
+ 1012, 0, 717, 717, 717, 717, 717, 0, 1209, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 717,
+ 0, 0, 500, 0, 0, 0, 0, 501, 502, 503,
+ 504, 505, 506, 507, 0, 0, 1210, 0, 0, 0,
+ 0, 508,-32768,-32768, 1214, 1215, 1216, 1217, 0, 0,
+ 0, 0, 0, 0, 0, 1218, 0, 0, 0, 1012,
+ 655, 655, 655, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1242, 0,
- 0, 0, 0, 0, 0, 0, 0, 1242, 1242, 1242,
- 1242, 1242, 1242, 1242, 1242, 0, 1242, 0, 0, 0,
- 89, 90, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 318, 319, 320, 0, 0, 0,
- 0, 0, 0, 0, 0, 226, 321, 322, 323, 324,
- 0, 91, 325, 1499, 0, 0, 0, 0, 326, 0,
- 0, 0, 327, 328, 329, 0, 330, 0, 0, 0,
- 0, 1346, 0, 0, 93, 0, 0, 94, 1346, 331,
- 1010, 0, 0, 95, 96, 0, 0, 0, 0, 97,
- 98, 99, 0, 332, 0, 333, 100, 0, 334, 335,
- 336, 101, 0, 102, 103, 0, 0, 0, 0, 337,
- 0, 0, 104, 105, 0, 0, 106, 0, 107, 0,
- 0, 0, 108, 109, 0, 0, 338, 0, 339, 340,
- 111, 112, 1346, 0, 1346, 341, 342, 0, 0, 0,
- 343, 1242, 0, 344, 0, 0, 0, 0, 0, 113,
- 114, 115, 345, 0, 117, 118, 0, 119, 120, 0,
- 121, 0, 0, 122, 123, 124, 125, 126, 0, 127,
- 128, 0, 0, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 0, 0, 138, 0, 139, 140, 0, 227,
- 141, 142, 0, 143, 0, 144, 145, 146, 147, 148,
- 149, 150, 0, 151, 152, 153, 154, 155, 346, 0,
- 156, 157, 158, 159, 160, 0, 0, 0, 161, 0,
- 162, 347, 240, 348, 308, 349, 350, 89, 90, 0,
- 0, 0, 351, 769, 0, 353, 354, 355, 0, 0,
- 0, 318, 319, 320, 356, 770, 0, 0, 0, 0,
- 0, 0, 226, 321, 322, 323, 324, 0, 91, 325,
- 0, 0, 0, 0, 0, 326, 0, 0, 0, 327,
- 328, 329, 0, 330, 0, 0, 0, 0, 0, 0,
- 0, 93, 0, 0, 94, 0, 331, 0, 0, 0,
- 95, 96, 0, 0, 0, 0, 97, 98, 99, 0,
- 332, 0, 333, 100, 0, 334, 335, 336, 101, 0,
- 102, 103, 0, 0, 0, 0, 337, 0, 0, 104,
- 105, 0, 0, 106, 0, 107, 0, 0, 0, 108,
- 109, 0, 0, 338, 0, 339, 340, 111, 112, 0,
- 0, 0, 341, 342, 0, 0, 0, 343, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284,
+ 1011, 0, 0, 0, 0, 0, 0, 0, 1012, 655,
+ 655, 655, 0, 0, 0, 0, 0, 0, 1012, 0,
+ 0, 0, 0, 0, 1012, 0, 1012, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1012, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 0, 1012, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 645, 645, 0, 0, 0,
+ 0, 0, 0, 0, 645, 645, 645, 645, 645, 645,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1012, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0,
+ 0, 0, 0, 717, 0, 1012, 645, 1012, 0, 0,
+ 0, 319, 320, 0, 0, 717, 717, 717, 717, 717,
+ 717, 0, 0, 0, 1144, 0, 0, 91, 325, 0,
+ 0, 0, 0, 0, 469, 0, 0, 0, 0, 0,
+ 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
+ 93, 0, 0, 0, 0, 331, 0, 0, 0, 1012,
+ 0, 1012, 0, 0, 0, 0, 98, 99, 1012, 332,
+ 0, 333, 0, 0, 0, 0, 336, 0, 89, 90,
+ 0, 0, 0, 0, 0, 1011, 0, 1011, 1011, 1011,
+ 1011, 1011, 1011, 319, 320, 1440, 0, 0, 0, 109,
+ 0, 0, 0, 0, 470, 340, 0, 0, 0, 91,
+ 569, 1243, 0, 0, 0, 0, 570, 0, 0, 344,
+ 0, 0, 0, 0, 571, 113, 0, 0, 471, 0,
+ 0, 0, 93, 0, 0, 94, 0, 0, 0, 0,
+ 0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
+ 0, 332, 0, 333, 100, 0, 0, 0, 572, 101,
+ 0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
+ 104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
+ 108, 109, 0, 805, 346, 0, 110, 0, 111, 112,
+ 0, 0, 0, 0, 0, 0, 0, 472, 0, 0,
+ 0, 344, 0, 0, 0, 0, 0, 113, 114, 115,
+ 116, 0, 117, 118, 0, 119, 120, 0, 121, 0,
+ 0, 122, 123, 124, 125, 126, 0, 127, 128, 717,
+ 1304, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 0, 0, 138, 0, 139, 140, 0, 0, 141, 142,
+ 0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
+ 0, 151, 152, 153, 154, 155, 0, 0, 156, 157,
+ 158, 159, 160, 0, 0, 0, 161, 1011, 162, 163,
+ 0, 0, 1201, 0, 1447, 1011, 1347, 1202, 0, 1011,
+ 0, 1011, 0, 0, 1011, 1011, 1011, 1011, 1011, 1011,
+ 1011, 1011, 0, 573, 1011, 0, 0, 0, 0, 1573,
+ 1011, 0, 0, 0, 0, 0, 0, 0, 0, 1243,
+ 1243, 1243, 1243, 1243, 1243, 0, 0, 0, 1594, 0,
+ 0, 0, 1203, 0, 0, 0, 0, 0, 1204, 0,
+ 0, 0, 0, 0, 1205, 0, 0, 0, 319, 320,
+ 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0,
+ 0, 0, 1207, 1573, 91, 325, 0, 0, 0, 0,
+ 0, 469, 0, 0, 0, 0, 0, 0, 0, 330,
+ 0, 0, 0, 1429, 0, 0, 0, 93, 0, 0,
+ 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 98, 99, 0, 332, 0, 333, 0,
+ 0, 0, 0, 336, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1347, 0, 0, 0, 109, 1208, 1347, 0,
+ 1011, 470, 340, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1209, 0, 0, 0, 344, 0, 0, 1243,
+ 0, 0, 113, 0, 0, 471, 0, 0, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 0, 1243, 0, 0,
+ 1210, 89, 90, 0, 0, 1211, 1212, 1213, 1214, 1215,
+ 1216, 1217, 0, 0, 0, 318, 319, 320, 0, 1218,
+ 0, 0, 0, 0, 0, 0, 226, 321, 322, 323,
+ 324, 0, 91, 325, 0, 1500, 0, 0, 0, 326,
+ 0, 346, 0, 327, 328, 329, 0, 330, 0, 0,
+ 0, 0, 1347, 0, 472, 93, 0, 0, 94, 1347,
+ 331, 1011, 0, 0, 95, 96, 0, 0, 0, 0,
+ 97, 98, 99, 0, 332, 0, 333, 100, 0, 334,
+ 335, 336, 101, 0, 102, 103, 0, 0, 0, 0,
+ 337, 0, 0, 104, 105, 0, 0, 106, 0, 107,
+ 0, 0, 0, 108, 109, 0, 0, 338, 0, 339,
+ 340, 111, 112, 1347, 0, 1347, 341, 342, 0, 0,
+ 0, 343, 1243, 0, 344, 0, 0, 0, 0, 0,
+ 113, 114, 115, 345, 0, 117, 118, 0, 119, 120,
+ 0, 121, 0, 0, 122, 123, 124, 125, 126, 0,
+ 127, 128, 0, 0, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 0, 0, 138, 0, 139, 140, 0,
+ 227, 141, 142, 0, 143, 0, 144, 145, 146, 147,
+ 148, 149, 150, 0, 151, 152, 153, 154, 155, 346,
+ 0, 156, 157, 158, 159, 160, 0, 0, 0, 161,
+ 0, 162, 347, 240, 348, 308, 349, 350, 89, 90,
+ 0, 0, 0, 351, 770, 0, 353, 354, 355, 0,
+ 0, 0, 318, 319, 320, 356, 771, 0, 0, 0,
+ 0, 0, 0, 226, 321, 322, 323, 324, 0, 91,
+ 325, 0, 0, 0, 0, 0, 326, 0, 0, 0,
+ 327, 328, 329, 0, 330, 0, 0, 0, 0, 0,
+ 0, 0, 93, 0, 0, 94, 0, 331, 0, 0,
+ 0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
+ 0, 332, 0, 333, 100, 0, 334, 335, 336, 101,
+ 0, 102, 103, 0, 0, 0, 0, 337, 0, 0,
+ 104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
+ 108, 109, 0, 0, 338, 0, 339, 340, 111, 112,
+ 0, 0, 0, 341, 342, 0, 0, 0, 343, 0,
+ 0, 344, 0, 0, 0, 0, 0, 113, 114, 115,
+ 345, 0, 117, 118, 0, 119, 120, 0, 121, 0,
+ 0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
+ 0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 0, 0, 138, 0, 139, 140, 0, 227, 141, 142,
+ 0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
+ 0, 151, 152, 153, 154, 155, 346, 0, 156, 157,
+ 158, 159, 160, 0, 0, 0, 161, 0, 162, 347,
+ 240, 348, 308, 349, 350, 89, 90, 0, 0, 0,
+ 351, 0, 0, 353, 354, 355, 0, 0, 0, 318,
+ 319, 320, 356, 1100, 0, 0, 0, 0, 0, 0,
+ 226, 321, 322, 323, 324, 0, 91, 325, 0, 0,
+ 0, 0, 0, 326, 0, 0, 0, 327, 328, 329,
+ 0, 330, 0, 0, 0, 0, 0, 0, 0, 93,
+ 0, 0, 94, 0, 331, 0, 0, 0, 95, 96,
+ 0, 0, 0, 0, 97, 98, 99, 0, 332, 0,
+ 333, 100, 0, 334, 335, 336, 101, 0, 102, 103,
+ 0, 0, 0, 0, 337, 0, 0, 104, 105, 0,
+ 0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
+ 0, 338, 0, 339, 340, 111, 112, 0, 0, 0,
+ 341, 342, 0, 0, 0, 343, 0, 0, 344, 0,
+ 0, 0, 0, 0, 113, 114, 115, 345, 0, 117,
+ 118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
+ 124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 0, 0, 138,
+ 0, 139, 140, 0, 227, 141, 142, 0, 143, 0,
+ 144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
+ 153, 154, 155, 346, 0, 156, 157, 158, 159, 160,
+ 0, 0, 0, 161, 0, 162, 347, 240, 348, 308,
+ 349, 350, 89, 90, 0, 0, 0, 351, 0, 0,
+ 353, 354, 355, 0, 0, 0, 1228, 319, 320, 356,
+ 1139, 0, 0, 0, 0, 0, 0, 0, 1229, 1230,
+ 1231, 1232, 0, 91, 325, 0, 0, 0, 0, 0,
+ 326, 0, 0, 0, 0, 0, 329, 0, 330, 0,
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 94,
+ 0, 331, 0, 0, 0, 95, 96, 0, 0, 0,
+ 0, 97, 98, 99, 0, 332, 0, 333, 100, 0,
+ 0, 0, 336, 101, 0, 102, 103, 0, 0, 0,
+ 0, 0, 0, 0, 104, 105, 0, 0, 106, 0,
+ 107, 0, 0, 0, 108, 109, 0, 0, 0, 0,
+ 339, 340, 111, 112, 0, 0, 0, 0, 342, 0,
+ 0, 0, 1234, 0, 0, 344, 0, 0, 0, 0,
+ 0, 113, 114, 115, 345, 0, 117, 118, 0, 119,
+ 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
+ 0, 127, 128, 0, 0, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 0, 0, 138, 0, 139, 140,
+ 0, 0, 141, 142, 0, 143, 0, 144, 145, 146,
+ 147, 148, 149, 150, 0, 151, 152, 153, 154, 155,
+ 346, 0, 156, 157, 158, 159, 160, 89, 90, 0,
+ 161, 0, 162, 347, 240, 1235, 308, 349, 350, 0,
+ 0, 1000, 319, 320, 1236, 0, 0, 1237, 1238, 1239,
+ 0, 0, 0, 0, 187, 0, 1240, 1475, 91, 325,
+ 0, 0, 0, 0, 0, 326, 0, 188, 0, 0,
+ 0, 329, 189, 330, 0, 0, 0, 0, 190, 191,
+ 0, 93, 192, 0, 94, 0, 331, 0, 0, 0,
+ 95, 96, 0, 193, 0, 0, 97, 98, 99, 0,
+ 332, 194, 333, 100, 195, 1001, 1002, 336, 101, 0,
+ 102, 103, 0, 0, 0, 0, 0, 0, 0, 104,
+ 105, 0, 0, 106, 196, 107, 197, 0, 0, 108,
+ 109, 0, 198, 199, 0, 339, 340, 111, 112, 0,
+ 0, 0, 0, 342, 0, 0, 0, 0, 0, 0,
344, 0, 0, 0, 0, 0, 113, 114, 115, 345,
0, 117, 118, 0, 119, 120, 0, 121, 0, 0,
122, 123, 124, 125, 126, 0, 127, 128, 0, 0,
129, 130, 131, 132, 133, 134, 135, 136, 137, 0,
- 0, 138, 0, 139, 140, 0, 227, 141, 142, 0,
+ 0, 138, 0, 139, 140, 0, 0, 141, 142, 0,
143, 0, 144, 145, 146, 147, 148, 149, 150, 0,
151, 152, 153, 154, 155, 346, 0, 156, 157, 158,
159, 160, 0, 0, 0, 161, 0, 162, 347, 240,
- 348, 308, 349, 350, 89, 90, 0, 0, 0, 351,
- 0, 0, 353, 354, 355, 0, 0, 0, 318, 319,
- 320, 356, 1099, 0, 0, 0, 0, 0, 0, 226,
+ 1003, 308, 349, 350, 89, 90, 0, 0, 0, 1004,
+ 0, 0, 1005, 1006, 1007, 651, 0, 0, 318, 319,
+ 320, 1008, 1367, 0, 0, 0, 0, 0, 0, 226,
321, 322, 323, 324, 0, 91, 325, 0, 0, 0,
0, 0, 326, 0, 0, 0, 327, 328, 329, 0,
- 330, 0, 0, 0, 0, 0, 0, 0, 93, 0,
- 0, 94, 0, 331, 0, 0, 0, 95, 96, 0,
+ 330, 0, 0, 652, 0, 0, 0, 0, 93, 0,
+ 0, 94, 0, 331, 0, 0, 0, 95, 96, 653,
0, 0, 0, 97, 98, 99, 0, 332, 0, 333,
100, 0, 334, 335, 336, 101, 0, 102, 103, 0,
0, 0, 0, 337, 0, 0, 104, 105, 0, 0,
106, 0, 107, 0, 0, 0, 108, 109, 0, 0,
- 338, 0, 339, 340, 111, 112, 0, 0, 0, 341,
+ 338, 0, 339, 340, 111, 112, 0, 654, 0, 341,
342, 0, 0, 0, 343, 0, 0, 344, 0, 0,
0, 0, 0, 113, 114, 115, 345, 0, 117, 118,
0, 119, 120, 0, 121, 0, 0, 122, 123, 124,
@@ -1941,149 +2029,174 @@ static const short yytable[] = { 166,
154, 155, 346, 0, 156, 157, 158, 159, 160, 0,
0, 0, 161, 0, 162, 347, 240, 348, 308, 349,
350, 89, 90, 0, 0, 0, 351, 0, 0, 353,
- 354, 355, 0, 0, 0, 1227, 319, 320, 356, 1136,
- 0, 0, 0, 0, 0, 0, 0, 1228, 1229, 1230,
- 1231, 0, 91, 325, 0, 0, 0, 0, 0, 326,
- 0, 0, 0, 0, 0, 329, 0, 330, 0, 0,
- 0, 0, 0, 0, 0, 93, 0, 0, 94, 0,
- 331, 0, 0, 0, 95, 96, 0, 0, 0, 0,
- 97, 98, 99, 0, 332, 0, 333, 100, 0, 0,
- 0, 336, 101, 0, 102, 103, 0, 0, 0, 0,
- 0, 0, 0, 104, 105, 0, 0, 106, 0, 107,
- 0, 0, 0, 108, 109, 0, 0, 0, 0, 339,
- 340, 111, 112, 0, 0, 0, 0, 342, 0, 0,
- 0, 1233, 0, 0, 344, 0, 0, 0, 0, 0,
+ 354, 355, 1088, 0, 0, 318, 319, 320, 356, 0,
+ 0, 0, 0, 0, 0, 0, 226, 321, 322, 323,
+ 324, 0, 91, 325, 0, 0, 0, 0, 0, 326,
+ 0, 0, 0, 327, 328, 329, 0, 330, 0, 0,
+ 652, 0, 0, 0, 0, 93, 0, 0, 94, 0,
+ 331, 0, 0, 0, 95, 96, 1089, 0, 0, 0,
+ 97, 98, 99, 0, 332, 0, 333, 100, 0, 334,
+ 335, 336, 101, 0, 102, 103, 0, 0, 0, 0,
+ 337, 0, 0, 104, 105, 0, 0, 106, 0, 107,
+ 0, 0, 0, 108, 109, 0, 0, 338, 0, 339,
+ 340, 111, 112, 0, 1090, 0, 341, 342, 0, 0,
+ 0, 343, 0, 0, 344, 0, 0, 0, 0, 0,
113, 114, 115, 345, 0, 117, 118, 0, 119, 120,
0, 121, 0, 0, 122, 123, 124, 125, 126, 0,
127, 128, 0, 0, 129, 130, 131, 132, 133, 134,
135, 136, 137, 0, 0, 138, 0, 139, 140, 0,
- 0, 141, 142, 0, 143, 0, 144, 145, 146, 147,
+ 227, 141, 142, 0, 143, 0, 144, 145, 146, 147,
148, 149, 150, 0, 151, 152, 153, 154, 155, 346,
- 0, 156, 157, 158, 159, 160, 89, 90, 0, 161,
- 0, 162, 347, 240, 1234, 308, 349, 350, 0, 0,
- 999, 319, 320, 1235, 0, 0, 1236, 1237, 1238, 0,
- 0, 0, 0, 0, 0, 1239, 1474, 91, 325, 0,
- 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
- 329, 0, 330, 0, 0, 0, 0, 0, 0, 0,
- 93, 0, 0, 94, 0, 331, 0, 0, 0, 95,
- 96, 0, 0, 0, 0, 97, 98, 99, 0, 332,
- 0, 333, 100, 0, 1000, 1001, 336, 101, 0, 102,
- 103, 0, 0, 0, 0, 0, 0, 0, 104, 105,
- 0, 0, 106, 0, 107, 0, 0, 0, 108, 109,
- 0, 0, 0, 0, 339, 340, 111, 112, 0, 0,
- 0, 0, 342, 0, 0, 0, 0, 0, 0, 344,
- 0, 0, 0, 0, 0, 113, 114, 115, 345, 0,
- 117, 118, 0, 119, 120, 0, 121, 0, 0, 122,
- 123, 124, 125, 126, 0, 127, 128, 0, 0, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
- 138, 0, 139, 140, 0, 0, 141, 142, 0, 143,
- 0, 144, 145, 146, 147, 148, 149, 150, 0, 151,
- 152, 153, 154, 155, 346, 0, 156, 157, 158, 159,
- 160, 89, 90, 0, 161, 0, 162, 347, 240, 1002,
- 308, 349, 350, 0, 0, 0, 319, 320, 1003, 0,
- 0, 1004, 1005, 1006, 0, 0, 0, 0, 0, 0,
- 1007, 1366, 91, 568, 0, 0, 0, 0, 0, 569,
- 0, 0, 0, 0, 0, 0, 0, 570, 0, 0,
+ 0, 156, 157, 158, 159, 160, 0, 0, 0, 161,
+ 0, 162, 347, 240, 348, 308, 349, 350, 89, 90,
+ 0, 0, 0, 351, 0, 0, 353, 354, 355, 1127,
+ 0, 0, 318, 319, 320, 356, 0, 0, 0, 0,
+ 0, 0, 0, 226, 321, 322, 323, 324, 0, 91,
+ 325, 0, 0, 0, 0, 0, 326, 0, 0, 0,
+ 327, 328, 329, 0, 330, 0, 0, 652, 0, 0,
+ 0, 0, 93, 0, 0, 94, 0, 331, 0, 0,
+ 0, 95, 96, 1128, 0, 0, 0, 97, 98, 99,
+ 0, 332, 0, 333, 100, 0, 334, 335, 336, 101,
+ 0, 102, 103, 0, 0, 0, 0, 337, 0, 0,
+ 104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
+ 108, 109, 0, 0, 338, 0, 339, 340, 111, 112,
+ 0, 1129, 0, 341, 342, 0, 0, 0, 343, 0,
+ 0, 344, 0, 0, 0, 0, 0, 113, 114, 115,
+ 345, 0, 117, 118, 0, 119, 120, 0, 121, 0,
+ 0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
+ 0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 0, 0, 138, 0, 139, 140, 0, 227, 141, 142,
+ 0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
+ 0, 151, 152, 153, 154, 155, 346, 0, 156, 157,
+ 158, 159, 160, 0, 0, 0, 161, 0, 162, 347,
+ 240, 348, 308, 349, 350, 89, 90, 0, 0, 0,
+ 351, 0, 0, 353, 354, 355, 0, 0, 0, 318,
+ 319, 320, 356, 0, 0, 0, 0, 0, 0, 0,
+ 226, 321, 322, 323, 324, 0, 91, 325, 0, 0,
+ 0, 0, 0, 326, 0, 0, 0, 327, 328, 329,
+ 0, 330, 0, 0, 0, 0, 0, 0, 0, 93,
+ 0, 0, 94, 0, 331, 0, 0, 0, 95, 96,
+ 0, 0, 0, 0, 97, 98, 99, 0, 332, 0,
+ 333, 100, 0, 334, 335, 336, 101, 0, 102, 103,
+ 0, 0, 0, 0, 337, 0, 0, 104, 105, 0,
+ 0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
+ 0, 338, 0, 339, 340, 111, 112, 0, 0, 0,
+ 341, 342, 0, 0, 0, 343, 0, 0, 344, 0,
+ 0, 0, 0, 0, 113, 114, 115, 345, 0, 117,
+ 118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
+ 124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 0, 0, 138,
+ 0, 139, 140, 0, 227, 141, 142, 0, 143, 0,
+ 144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
+ 153, 154, 155, 346, 0, 156, 157, 158, 159, 160,
+ 0, 0, 0, 161, 0, 162, 347, 240, 348, 308,
+ 349, 350, 0, 0, 0, 0, 0, 351, 352, 0,
+ 353, 354, 355, 0, 89, 90, 0, 733, 0, 356,
+ 734, 0, 0, 0, 0, 0, 0, 0, 318, 319,
+ 320, 0, 0, 0, 0, 0, 0, 0, 0, 226,
+ 321, 322, 323, 324, 0, 91, 325, 0, 0, 0,
+ 0, 0, 326, 0, 0, 0, 327, 328, 329, 0,
+ 330, 0, 0, 0, 0, 0, 0, 0, 93, 0,
+ 0, 94, 0, 331, 0, 0, 0, 95, 96, 0,
+ 0, 0, 0, 97, 98, 99, 0, 332, 0, 333,
+ 100, 0, 334, 0, 336, 101, 0, 102, 103, 0,
+ 0, 0, 0, 337, 0, 0, 104, 105, 0, 0,
+ 106, 0, 107, 0, 0, 0, 108, 109, 0, 0,
+ 338, 0, 339, 340, 111, 112, 0, 0, 0, 341,
+ 342, 0, 0, 0, 343, 0, 0, 344, 0, 0,
+ 0, 0, 0, 113, 114, 115, 345, 0, 117, 118,
+ 0, 119, 120, 0, 121, 0, 0, 122, 123, 124,
+ 125, 126, 0, 127, 128, 0, 0, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 0, 0, 138, 0,
+ 139, 140, 0, 227, 141, 142, 0, 143, 0, 144,
+ 145, 146, 147, 148, 149, 150, 0, 151, 152, 153,
+ 154, 155, 346, 0, 156, 157, 158, 159, 160, 0,
+ 0, 0, 161, 0, 162, 347, 240, 348, 308, 349,
+ 350, 89, 90, 0, 737, 0, 351, 738, 0, 353,
+ 354, 355, 0, 0, 0, 318, 319, 320, 735, 0,
+ 0, 0, 0, 0, 0, 0, 226, 321, 322, 323,
+ 324, 0, 91, 325, 0, 0, 0, 0, 0, 326,
+ 0, 0, 0, 327, 328, 329, 0, 330, 0, 0,
0, 0, 0, 0, 0, 93, 0, 0, 94, 0,
- 0, 0, 0, 0, 95, 96, 0, 0, 0, 0,
- 97, 98, 99, 0, 332, 0, 333, 100, 0, 0,
- 0, 571, 101, 0, 102, 103, 0, 0, 0, 0,
- 0, 0, 0, 104, 105, 0, 0, 106, 0, 107,
- 0, 0, 0, 108, 109, 0, 0, 0, 0, 110,
- 0, 111, 112, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 344, 0, 0, 0, 0, 0,
- 113, 114, 115, 116, 0, 117, 118, 0, 119, 120,
+ 331, 0, 0, 0, 95, 96, 0, 0, 0, 0,
+ 97, 98, 99, 0, 332, 0, 333, 100, 0, 334,
+ 0, 336, 101, 0, 102, 103, 0, 0, 0, 0,
+ 337, 0, 0, 104, 105, 0, 0, 106, 0, 107,
+ 0, 0, 0, 108, 109, 0, 0, 338, 0, 339,
+ 340, 111, 112, 0, 0, 0, 341, 342, 0, 0,
+ 0, 343, 0, 0, 344, 0, 0, 0, 0, 0,
+ 113, 114, 115, 345, 0, 117, 118, 0, 119, 120,
0, 121, 0, 0, 122, 123, 124, 125, 126, 0,
127, 128, 0, 0, 129, 130, 131, 132, 133, 134,
135, 136, 137, 0, 0, 138, 0, 139, 140, 0,
- 0, 141, 142, 0, 143, 0, 144, 145, 146, 147,
- 148, 149, 150, 0, 151, 152, 153, 154, 155, 89,
- 90, 156, 157, 158, 159, 160, 0, 0, 0, 161,
- 650, 162, 163, 318, 319, 320, 0, 0, 0, 0,
- 0, 0, 0, 0, 226, 321, 322, 323, 324, 0,
- 91, 325, 0, 0, 0, 0, 572, 326, 0, 0,
- 0, 327, 328, 329, 0, 330, 0, 0, 651, 0,
- 0, 0, 0, 93, 0, 0, 94, 0, 331, 0,
- 0, 0, 95, 96, 652, 0, 0, 0, 97, 98,
- 99, 0, 332, 0, 333, 100, 0, 334, 335, 336,
- 101, 0, 102, 103, 0, 0, 0, 0, 337, 0,
- 0, 104, 105, 0, 0, 106, 0, 107, 0, 0,
- 0, 108, 109, 0, 0, 338, 0, 339, 340, 111,
- 112, 0, 653, 0, 341, 342, 0, 0, 0, 343,
- 0, 0, 344, 0, 0, 0, 0, 0, 113, 114,
- 115, 345, 0, 117, 118, 0, 119, 120, 0, 121,
- 0, 0, 122, 123, 124, 125, 126, 0, 127, 128,
- 0, 0, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 0, 0, 138, 0, 139, 140, 0, 227, 141,
- 142, 0, 143, 0, 144, 145, 146, 147, 148, 149,
- 150, 0, 151, 152, 153, 154, 155, 346, 0, 156,
- 157, 158, 159, 160, 0, 0, 0, 161, 0, 162,
- 347, 240, 348, 308, 349, 350, 89, 90, 0, 0,
- 0, 351, 0, 0, 353, 354, 355, 1087, 0, 0,
- 318, 319, 320, 356, 0, 0, 0, 0, 0, 0,
- 0, 226, 321, 322, 323, 324, 0, 91, 325, 0,
- 0, 0, 0, 0, 326, 0, 0, 0, 327, 328,
- 329, 0, 330, 0, 0, 651, 0, 0, 0, 0,
- 93, 0, 0, 94, 0, 331, 0, 0, 0, 95,
- 96, 1088, 0, 0, 0, 97, 98, 99, 0, 332,
- 0, 333, 100, 0, 334, 335, 336, 101, 0, 102,
- 103, 0, 0, 0, 0, 337, 0, 0, 104, 105,
- 0, 0, 106, 0, 107, 0, 0, 0, 108, 109,
- 0, 0, 338, 0, 339, 340, 111, 112, 0, 1089,
- 0, 341, 342, 0, 0, 0, 343, 0, 0, 344,
- 0, 0, 0, 0, 0, 113, 114, 115, 345, 0,
- 117, 118, 0, 119, 120, 0, 121, 0, 0, 122,
- 123, 124, 125, 126, 0, 127, 128, 0, 0, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
- 138, 0, 139, 140, 0, 227, 141, 142, 0, 143,
- 0, 144, 145, 146, 147, 148, 149, 150, 0, 151,
- 152, 153, 154, 155, 346, 0, 156, 157, 158, 159,
- 160, 0, 0, 0, 161, 0, 162, 347, 240, 348,
- 308, 349, 350, 89, 90, 0, 0, 0, 351, 0,
- 0, 353, 354, 355, 1124, 0, 0, 318, 319, 320,
- 356, 0, 0, 0, 0, 0, 0, 0, 226, 321,
- 322, 323, 324, 0, 91, 325, 0, 0, 0, 0,
- 0, 326, 0, 0, 0, 327, 328, 329, 0, 330,
- 0, 0, 651, 0, 0, 0, 0, 93, 0, 0,
- 94, 0, 331, 0, 0, 0, 95, 96, 1125, 0,
- 0, 0, 97, 98, 99, 0, 332, 0, 333, 100,
- 0, 334, 335, 336, 101, 0, 102, 103, 0, 0,
- 0, 0, 337, 0, 0, 104, 105, 0, 0, 106,
- 0, 107, 0, 0, 0, 108, 109, 0, 0, 338,
- 0, 339, 340, 111, 112, 0, 1126, 0, 341, 342,
- 0, 0, 0, 343, 0, 0, 344, 0, 0, 0,
- 0, 0, 113, 114, 115, 345, 0, 117, 118, 0,
- 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
- 126, 0, 127, 128, 0, 0, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 0, 0, 138, 0, 139,
- 140, 0, 227, 141, 142, 0, 143, 0, 144, 145,
- 146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
- 155, 346, 0, 156, 157, 158, 159, 160, 0, 0,
- 0, 161, 0, 162, 347, 240, 348, 308, 349, 350,
- 89, 90, 0, 0, 0, 351, 0, 0, 353, 354,
- 355, 0, 0, 0, 318, 319, 320, 356, 0, 0,
- 0, 0, 0, 0, 0, 226, 321, 322, 323, 324,
- 0, 91, 325, 0, 0, 0, 0, 0, 326, 0,
- 0, 0, 327, 328, 329, 0, 330, 0, 0, 0,
- 0, 0, 0, 0, 93, 0, 0, 94, 0, 331,
- 0, 0, 0, 95, 96, 0, 0, 0, 0, 97,
- 98, 99, 0, 332, 0, 333, 100, 0, 334, 335,
- 336, 101, 0, 102, 103, 0, 0, 0, 0, 337,
- 0, 0, 104, 105, 0, 0, 106, 0, 107, 0,
- 0, 0, 108, 109, 0, 0, 338, 0, 339, 340,
- 111, 112, 0, 0, 0, 341, 342, 0, 0, 0,
- 343, 0, 0, 344, 0, 0, 0, 0, 0, 113,
- 114, 115, 345, 0, 117, 118, 0, 119, 120, 0,
- 121, 0, 0, 122, 123, 124, 125, 126, 0, 127,
- 128, 0, 0, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 0, 0, 138, 0, 139, 140, 0, 227,
- 141, 142, 0, 143, 0, 144, 145, 146, 147, 148,
- 149, 150, 0, 151, 152, 153, 154, 155, 346, 0,
- 156, 157, 158, 159, 160, 0, 0, 0, 161, 0,
- 162, 347, 240, 348, 308, 349, 350, 0, 0, 0,
- 0, 0, 351, 352, 0, 353, 354, 355, 0, 89,
- 90, 0, 731, 0, 356, 732, 0, 0, 0, 0,
- 0, 0, 0, 318, 319, 320, 0, 0, 0, 0,
+ 227, 141, 142, 0, 143, 0, 144, 145, 146, 147,
+ 148, 149, 150, 0, 151, 152, 153, 154, 155, 346,
+ 0, 156, 157, 158, 159, 160, 0, 0, 0, 161,
+ 0, 162, 347, 240, 348, 308, 349, 350, 89, 90,
+ 0, 741, 0, 351, 742, 0, 353, 354, 355, 0,
+ 0, 0, 318, 319, 320, 739, 0, 0, 0, 0,
+ 0, 0, 0, 226, 321, 322, 323, 324, 0, 91,
+ 325, 0, 0, 0, 0, 0, 326, 0, 0, 0,
+ 327, 328, 329, 0, 330, 0, 0, 0, 0, 0,
+ 0, 0, 93, 0, 0, 94, 0, 331, 0, 0,
+ 0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
+ 0, 332, 0, 333, 100, 0, 334, 0, 336, 101,
+ 0, 102, 103, 0, 0, 0, 0, 337, 0, 0,
+ 104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
+ 108, 109, 0, 0, 338, 0, 339, 340, 111, 112,
+ 0, 0, 0, 341, 342, 0, 0, 0, 343, 0,
+ 0, 344, 0, 0, 0, 0, 0, 113, 114, 115,
+ 345, 0, 117, 118, 0, 119, 120, 0, 121, 0,
+ 0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
+ 0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 0, 0, 138, 0, 139, 140, 0, 227, 141, 142,
+ 0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
+ 0, 151, 152, 153, 154, 155, 346, 0, 156, 157,
+ 158, 159, 160, 0, 0, 0, 161, 0, 162, 347,
+ 240, 348, 308, 349, 350, 89, 90, 0, 745, 0,
+ 351, 746, 0, 353, 354, 355, 0, 0, 0, 318,
+ 319, 320, 743, 0, 0, 0, 0, 0, 0, 0,
+ 226, 321, 322, 323, 324, 0, 91, 325, 0, 0,
+ 0, 0, 0, 326, 0, 0, 0, 327, 328, 329,
+ 0, 330, 0, 0, 0, 0, 0, 0, 0, 93,
+ 0, 0, 94, 0, 331, 0, 0, 0, 95, 96,
+ 0, 0, 0, 0, 97, 98, 99, 0, 332, 0,
+ 333, 100, 0, 334, 0, 336, 101, 0, 102, 103,
+ 0, 0, 0, 0, 337, 0, 0, 104, 105, 0,
+ 0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
+ 0, 338, 0, 339, 340, 111, 112, 0, 0, 0,
+ 341, 342, 0, 0, 0, 343, 0, 0, 344, 0,
+ 0, 0, 0, 0, 113, 114, 115, 345, 0, 117,
+ 118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
+ 124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 0, 0, 138,
+ 0, 139, 140, 0, 227, 141, 142, 0, 143, 0,
+ 144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
+ 153, 154, 155, 346, 0, 156, 157, 158, 159, 160,
+ 0, 0, 0, 161, 0, 162, 347, 240, 348, 308,
+ 349, 350, 89, 90, 0, 749, 0, 351, 750, 0,
+ 353, 354, 355, 0, 0, 0, 318, 319, 320, 747,
+ 0, 0, 0, 0, 0, 0, 0, 226, 321, 322,
+ 323, 324, 0, 91, 325, 0, 0, 0, 0, 0,
+ 326, 0, 0, 0, 327, 328, 329, 0, 330, 0,
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 94,
+ 0, 331, 0, 0, 0, 95, 96, 0, 0, 0,
+ 0, 97, 98, 99, 0, 332, 0, 333, 100, 0,
+ 334, 0, 336, 101, 0, 102, 103, 0, 0, 0,
+ 0, 337, 0, 0, 104, 105, 0, 0, 106, 0,
+ 107, 0, 0, 0, 108, 109, 0, 0, 338, 0,
+ 339, 340, 111, 112, 0, 0, 0, 341, 342, 0,
+ 0, 0, 343, 0, 0, 344, 0, 0, 0, 0,
+ 0, 113, 114, 115, 345, 0, 117, 118, 0, 119,
+ 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
+ 0, 127, 128, 0, 0, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 0, 0, 138, 0, 139, 140,
+ 0, 227, 141, 142, 0, 143, 0, 144, 145, 146,
+ 147, 148, 149, 150, 0, 151, 152, 153, 154, 155,
+ 346, 0, 156, 157, 158, 159, 160, 0, 0, 0,
+ 161, 0, 162, 347, 240, 348, 308, 349, 350, 89,
+ 90, 0, 753, 0, 351, 754, 0, 353, 354, 355,
+ 0, 0, 0, 318, 319, 320, 751, 0, 0, 0,
0, 0, 0, 0, 226, 321, 322, 323, 324, 0,
91, 325, 0, 0, 0, 0, 0, 326, 0, 0,
0, 327, 328, 329, 0, 330, 0, 0, 0, 0,
@@ -2102,9 +2215,9 @@ static const short yytable[] = { 166,
142, 0, 143, 0, 144, 145, 146, 147, 148, 149,
150, 0, 151, 152, 153, 154, 155, 346, 0, 156,
157, 158, 159, 160, 0, 0, 0, 161, 0, 162,
- 347, 240, 348, 308, 349, 350, 89, 90, 0, 735,
- 0, 351, 736, 0, 353, 354, 355, 0, 0, 0,
- 318, 319, 320, 733, 0, 0, 0, 0, 0, 0,
+ 347, 240, 348, 308, 349, 350, 89, 90, 0, 757,
+ 0, 351, 758, 0, 353, 354, 355, 0, 0, 0,
+ 318, 319, 320, 755, 0, 0, 0, 0, 0, 0,
0, 226, 321, 322, 323, 324, 0, 91, 325, 0,
0, 0, 0, 0, 326, 0, 0, 0, 327, 328,
329, 0, 330, 0, 0, 0, 0, 0, 0, 0,
@@ -2123,15 +2236,15 @@ static const short yytable[] = { 166,
0, 144, 145, 146, 147, 148, 149, 150, 0, 151,
152, 153, 154, 155, 346, 0, 156, 157, 158, 159,
160, 0, 0, 0, 161, 0, 162, 347, 240, 348,
- 308, 349, 350, 89, 90, 0, 739, 0, 351, 740,
+ 308, 349, 350, 89, 90, 0, 0, 0, 351, 0,
0, 353, 354, 355, 0, 0, 0, 318, 319, 320,
- 737, 0, 0, 0, 0, 0, 0, 0, 226, 321,
+ 759, 0, 0, 0, 0, 0, 0, 0, 226, 321,
322, 323, 324, 0, 91, 325, 0, 0, 0, 0,
0, 326, 0, 0, 0, 327, 328, 329, 0, 330,
- 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
+ 0, 0, 652, 0, 0, 0, 0, 93, 0, 0,
94, 0, 331, 0, 0, 0, 95, 96, 0, 0,
0, 0, 97, 98, 99, 0, 332, 0, 333, 100,
- 0, 334, 0, 336, 101, 0, 102, 103, 0, 0,
+ 0, 334, 335, 336, 101, 0, 102, 103, 0, 0,
0, 0, 337, 0, 0, 104, 105, 0, 0, 106,
0, 107, 0, 0, 0, 108, 109, 0, 0, 338,
0, 339, 340, 111, 112, 0, 0, 0, 341, 342,
@@ -2144,17 +2257,17 @@ static const short yytable[] = { 166,
146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
155, 346, 0, 156, 157, 158, 159, 160, 0, 0,
0, 161, 0, 162, 347, 240, 348, 308, 349, 350,
- 89, 90, 0, 743, 0, 351, 744, 0, 353, 354,
- 355, 0, 0, 0, 318, 319, 320, 741, 0, 0,
+ 89, 90, 0, 0, 0, 351, 0, 0, 353, 354,
+ 355, 0, 0, 0, 318, 319, 320, 356, 0, 0,
0, 0, 0, 0, 0, 226, 321, 322, 323, 324,
0, 91, 325, 0, 0, 0, 0, 0, 326, 0,
0, 0, 327, 328, 329, 0, 330, 0, 0, 0,
0, 0, 0, 0, 93, 0, 0, 94, 0, 331,
0, 0, 0, 95, 96, 0, 0, 0, 0, 97,
- 98, 99, 0, 332, 0, 333, 100, 0, 334, 0,
+ 98, 99, 0, 332, 0, 333, 100, 0, 334, 335,
336, 101, 0, 102, 103, 0, 0, 0, 0, 337,
0, 0, 104, 105, 0, 0, 106, 0, 107, 0,
- 0, 0, 108, 109, 0, 0, 338, 0, 339, 340,
+ 0, 0, 108, 109, 618, 0, 338, 0, 339, 340,
111, 112, 0, 0, 0, 341, 342, 0, 0, 0,
343, 0, 0, 344, 0, 0, 0, 0, 0, 113,
114, 115, 345, 0, 117, 118, 0, 119, 120, 0,
@@ -2165,14 +2278,14 @@ static const short yytable[] = { 166,
149, 150, 0, 151, 152, 153, 154, 155, 346, 0,
156, 157, 158, 159, 160, 0, 0, 0, 161, 0,
162, 347, 240, 348, 308, 349, 350, 89, 90, 0,
- 747, 0, 351, 748, 0, 353, 354, 355, 0, 0,
- 0, 318, 319, 320, 745, 0, 0, 0, 0, 0,
+ 0, 0, 351, 0, 0, 353, 354, 355, 0, 0,
+ 0, 318, 319, 320, 356, 0, 0, 0, 0, 0,
0, 0, 226, 321, 322, 323, 324, 0, 91, 325,
0, 0, 0, 0, 0, 326, 0, 0, 0, 327,
328, 329, 0, 330, 0, 0, 0, 0, 0, 0,
0, 93, 0, 0, 94, 0, 331, 0, 0, 0,
95, 96, 0, 0, 0, 0, 97, 98, 99, 0,
- 332, 0, 333, 100, 0, 334, 0, 336, 101, 0,
+ 332, 0, 333, 100, 0, 334, 335, 336, 101, 0,
102, 103, 0, 0, 0, 0, 337, 0, 0, 104,
105, 0, 0, 106, 0, 107, 0, 0, 0, 108,
109, 0, 0, 338, 0, 339, 340, 111, 112, 0,
@@ -2185,15 +2298,15 @@ static const short yytable[] = { 166,
143, 0, 144, 145, 146, 147, 148, 149, 150, 0,
151, 152, 153, 154, 155, 346, 0, 156, 157, 158,
159, 160, 0, 0, 0, 161, 0, 162, 347, 240,
- 348, 308, 349, 350, 89, 90, 0, 751, 0, 351,
- 752, 0, 353, 354, 355, 0, 0, 0, 318, 319,
- 320, 749, 0, 0, 0, 0, 0, 0, 0, 226,
+ 348, 308, 349, 350, 89, 90, 0, 729, 0, 351,
+ 730, 0, 353, 354, 355, 0, 0, 0, 318, 319,
+ 320, 356, 0, 0, 0, 0, 0, 0, 0, 226,
321, 322, 323, 324, 0, 91, 325, 0, 0, 0,
0, 0, 326, 0, 0, 0, 327, 328, 329, 0,
330, 0, 0, 0, 0, 0, 0, 0, 93, 0,
0, 94, 0, 331, 0, 0, 0, 95, 96, 0,
0, 0, 0, 97, 98, 99, 0, 332, 0, 333,
- 100, 0, 334, 0, 336, 101, 0, 102, 103, 0,
+ 100, 0, 0, 0, 336, 101, 0, 102, 103, 0,
0, 0, 0, 337, 0, 0, 104, 105, 0, 0,
106, 0, 107, 0, 0, 0, 108, 109, 0, 0,
338, 0, 339, 340, 111, 112, 0, 0, 0, 341,
@@ -2205,9 +2318,9 @@ static const short yytable[] = { 166,
139, 140, 0, 227, 141, 142, 0, 143, 0, 144,
145, 146, 147, 148, 149, 150, 0, 151, 152, 153,
154, 155, 346, 0, 156, 157, 158, 159, 160, 0,
- 0, 0, 161, 0, 162, 347, 240, 348, 308, 349,
- 350, 89, 90, 0, 755, 0, 351, 756, 0, 353,
- 354, 355, 0, 0, 0, 318, 319, 320, 753, 0,
+ 0, 0, 161, 0, 162, 347, 240,-32768, 308, 349,
+ 350, 89, 90, 0, 0, 0, 351, 0, 0, 353,
+ 354, 355, 0, 0, 0, 318, 319, 320, 731, 0,
0, 0, 0, 0, 0, 0, 226, 321, 322, 323,
324, 0, 91, 325, 0, 0, 0, 0, 0, 326,
0, 0, 0, 327, 328, 329, 0, 330, 0, 0,
@@ -2216,7 +2329,7 @@ static const short yytable[] = { 166,
97, 98, 99, 0, 332, 0, 333, 100, 0, 334,
0, 336, 101, 0, 102, 103, 0, 0, 0, 0,
337, 0, 0, 104, 105, 0, 0, 106, 0, 107,
- 0, 0, 0, 108, 109, 0, 0, 338, 0, 339,
+ 0, 0, 0, 108, 109, 618, 0, 338, 0, 339,
340, 111, 112, 0, 0, 0, 341, 342, 0, 0,
0, 343, 0, 0, 344, 0, 0, 0, 0, 0,
113, 114, 115, 345, 0, 117, 118, 0, 119, 120,
@@ -2228,13 +2341,13 @@ static const short yytable[] = { 166,
0, 156, 157, 158, 159, 160, 0, 0, 0, 161,
0, 162, 347, 240, 348, 308, 349, 350, 89, 90,
0, 0, 0, 351, 0, 0, 353, 354, 355, 0,
- 0, 0, 318, 319, 320, 757, 0, 0, 0, 0,
+ 0, 0, 318, 319, 320, 356, 0, 0, 0, 0,
0, 0, 0, 226, 321, 322, 323, 324, 0, 91,
325, 0, 0, 0, 0, 0, 326, 0, 0, 0,
- 327, 328, 329, 0, 330, 0, 0, 651, 0, 0,
+ 327, 328, 329, 0, 330, 0, 0, 0, 0, 0,
0, 0, 93, 0, 0, 94, 0, 331, 0, 0,
0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
- 0, 332, 0, 333, 100, 0, 334, 335, 336, 101,
+ 0, 332, 0, 333, 100, 0, 334, 0, 336, 101,
0, 102, 103, 0, 0, 0, 0, 337, 0, 0,
104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
108, 109, 0, 0, 338, 0, 339, 340, 111, 112,
@@ -2248,18 +2361,18 @@ static const short yytable[] = { 166,
0, 151, 152, 153, 154, 155, 346, 0, 156, 157,
158, 159, 160, 0, 0, 0, 161, 0, 162, 347,
240, 348, 308, 349, 350, 89, 90, 0, 0, 0,
- 351, 0, 0, 353, 354, 355, 0, 0, 0, 318,
+ 351, 0, 0, 353, 354, 355, 0, 0, 0, 699,
319, 320, 356, 0, 0, 0, 0, 0, 0, 0,
- 226, 321, 322, 323, 324, 0, 91, 325, 0, 0,
- 0, 0, 0, 326, 0, 0, 0, 327, 328, 329,
+ 226, 700, 701, 702, 703, 0, 91, 325, 0, 0,
+ 0, 0, 0, 326, 0, 0, 0, 0, 0, 329,
0, 330, 0, 0, 0, 0, 0, 0, 0, 93,
0, 0, 94, 0, 331, 0, 0, 0, 95, 96,
0, 0, 0, 0, 97, 98, 99, 0, 332, 0,
- 333, 100, 0, 334, 335, 336, 101, 0, 102, 103,
- 0, 0, 0, 0, 337, 0, 0, 104, 105, 0,
- 0, 106, 0, 107, 0, 0, 0, 108, 109, 617,
- 0, 338, 0, 339, 340, 111, 112, 0, 0, 0,
- 341, 342, 0, 0, 0, 343, 0, 0, 344, 0,
+ 333, 100, 0, 0, 0, 336, 101, 0, 102, 103,
+ 0, 0, 0, 0, 704, 0, 0, 104, 105, 0,
+ 0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
+ 0, 705, 0, 339, 340, 111, 112, 0, 0, 0,
+ 706, 342, 0, 0, 0, 707, 0, 0, 344, 0,
0, 0, 0, 0, 113, 114, 115, 345, 0, 117,
118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
@@ -2267,20 +2380,20 @@ static const short yytable[] = { 166,
0, 139, 140, 0, 227, 141, 142, 0, 143, 0,
144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
153, 154, 155, 346, 0, 156, 157, 158, 159, 160,
- 0, 0, 0, 161, 0, 162, 347, 240, 348, 308,
- 349, 350, 89, 90, 0, 0, 0, 351, 0, 0,
- 353, 354, 355, 0, 0, 0, 318, 319, 320, 356,
- 0, 0, 0, 0, 0, 0, 0, 226, 321, 322,
- 323, 324, 0, 91, 325, 0, 0, 0, 0, 0,
- 326, 0, 0, 0, 327, 328, 329, 0, 330, 0,
+ 0, 0, 0, 161, 0, 162, 347, 240, 708, 308,
+ 349, 350, 89, 90, 0, 0, 0, 709, 0, 0,
+ 710, 711, 712, 0, 0, 0, 699, 319, 320, 713,
+ 0, 0, 0, 0, 0, 0, 0, 226, 700, 701,
+ 702, 703, 0, 91, 325, 0, 0, 0, 0, 0,
+ 326, 0, 0, 0, 0, 0, 329, 0, 330, 0,
0, 0, 0, 0, 0, 0, 93, 0, 0, 94,
0, 331, 0, 0, 0, 95, 96, 0, 0, 0,
0, 97, 98, 99, 0, 332, 0, 333, 100, 0,
- 334, 335, 336, 101, 0, 102, 103, 0, 0, 0,
- 0, 337, 0, 0, 104, 105, 0, 0, 106, 0,
- 107, 0, 0, 0, 108, 109, 0, 0, 338, 0,
- 339, 340, 111, 112, 0, 0, 0, 341, 342, 0,
- 0, 0, 343, 0, 0, 344, 0, 0, 0, 0,
+ 0, 0, 336, 101, 0, 102, 103, 0, 0, 0,
+ 0, 704, 0, 0, 104, 105, 0, 0, 106, 0,
+ 107, 0, 0, 0, 108, 109, 0, 0, 705, 0,
+ 339, 340, 111, 112, 0, 0, 0, 706, 342, 0,
+ 0, 0, 707, 0, 0, 344, 0, 0, 0, 0,
0, 113, 114, 115, 345, 0, 117, 118, 0, 119,
120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
0, 127, 128, 0, 0, 129, 130, 131, 132, 133,
@@ -2288,183 +2401,99 @@ static const short yytable[] = { 166,
0, 227, 141, 142, 0, 143, 0, 144, 145, 146,
147, 148, 149, 150, 0, 151, 152, 153, 154, 155,
346, 0, 156, 157, 158, 159, 160, 0, 0, 0,
- 161, 0, 162, 347, 240, 348, 308, 349, 350, 89,
- 90, 0, 727, 0, 351, 728, 0, 353, 354, 355,
- 0, 0, 0, 318, 319, 320, 356, 0, 0, 0,
- 0, 0, 0, 0, 226, 321, 322, 323, 324, 0,
+ 161, 0, 162, 347, 240,-32768, 308, 349, 350, 89,
+ 90, 0, 0, 0, 709, 0, 0, 710, 711, 712,
+ 0, 0, 0, 1228, 319, 320, 713, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1229, 1230, 1231, 1232, 0,
91, 325, 0, 0, 0, 0, 0, 326, 0, 0,
- 0, 327, 328, 329, 0, 330, 0, 0, 0, 0,
+ 0, 0, 0, 329, 0, 330, 0, 0, 0, 0,
0, 0, 0, 93, 0, 0, 94, 0, 331, 0,
0, 0, 95, 96, 0, 0, 0, 0, 97, 98,
- 99, 0, 332, 0, 333, 100, 0, 0, 0, 336,
- 101, 0, 102, 103, 0, 0, 0, 0, 337, 0,
+ 99, 0, 332, 0, 333, 100, 0, 0, 1233, 336,
+ 101, 0, 102, 103, 0, 0, 0, 0, 0, 0,
0, 104, 105, 0, 0, 106, 0, 107, 0, 0,
- 0, 108, 109, 0, 0, 338, 0, 339, 340, 111,
- 112, 0, 0, 0, 341, 342, 0, 0, 0, 343,
+ 0, 108, 109, 0, 0, 0, 0, 339, 340, 111,
+ 112, 0, 0, 0, 0, 342, 0, 0, 0, 1234,
0, 0, 344, 0, 0, 0, 0, 0, 113, 114,
115, 345, 0, 117, 118, 0, 119, 120, 0, 121,
0, 0, 122, 123, 124, 125, 126, 0, 127, 128,
0, 0, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 0, 0, 138, 0, 139, 140, 0, 227, 141,
+ 137, 0, 0, 138, 0, 139, 140, 0, 0, 141,
142, 0, 143, 0, 144, 145, 146, 147, 148, 149,
150, 0, 151, 152, 153, 154, 155, 346, 0, 156,
157, 158, 159, 160, 0, 0, 0, 161, 0, 162,
- 347, 240,-32768, 308, 349, 350, 89, 90, 0, 0,
- 0, 351, 0, 0, 353, 354, 355, 0, 0, 0,
- 318, 319, 320, 729, 0, 0, 0, 0, 0, 0,
- 0, 226, 321, 322, 323, 324, 0, 91, 325, 0,
- 0, 0, 0, 0, 326, 0, 0, 0, 327, 328,
+ 347, 240, 1235, 308, 349, 350, 89, 90, 0, 0,
+ 0, 1236, 0, 0, 1237, 1238, 1239, 0, 0, 0,
+ 1228, 319, 320, 1240, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1229, 1230, 1231, 1232, 0, 91, 325, 0,
+ 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
329, 0, 330, 0, 0, 0, 0, 0, 0, 0,
93, 0, 0, 94, 0, 331, 0, 0, 0, 95,
96, 0, 0, 0, 0, 97, 98, 99, 0, 332,
- 0, 333, 100, 0, 334, 0, 336, 101, 0, 102,
- 103, 0, 0, 0, 0, 337, 0, 0, 104, 105,
+ 0, 333, 100, 0, 0, 0, 336, 101, 0, 102,
+ 103, 0, 0, 0, 0, 0, 0, 0, 104, 105,
0, 0, 106, 0, 107, 0, 0, 0, 108, 109,
- 617, 0, 338, 0, 339, 340, 111, 112, 0, 0,
- 0, 341, 342, 0, 0, 0, 343, 0, 0, 344,
+ 0, 0, 0, 0, 339, 340, 111, 112, 0, 0,
+ 0, 0, 342, 0, 0, 0, 1234, 0, 0, 344,
0, 0, 0, 0, 0, 113, 114, 115, 345, 0,
117, 118, 0, 119, 120, 0, 121, 0, 0, 122,
123, 124, 125, 126, 0, 127, 128, 0, 0, 129,
- 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
- 138, 0, 139, 140, 0, 227, 141, 142, 0, 143,
- 0, 144, 145, 146, 147, 148, 149, 150, 0, 151,
- 152, 153, 154, 155, 346, 0, 156, 157, 158, 159,
- 160, 0, 0, 0, 161, 0, 162, 347, 240, 348,
- 308, 349, 350, 89, 90, 0, 0, 0, 351, 0,
- 0, 353, 354, 355, 0, 0, 0, 318, 319, 320,
- 356, 0, 0, 0, 0, 0, 0, 0, 226, 321,
- 322, 323, 324, 0, 91, 325, 0, 0, 0, 0,
- 0, 326, 0, 0, 0, 327, 328, 329, 0, 330,
- 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
- 94, 0, 331, 0, 0, 0, 95, 96, 0, 0,
- 0, 0, 97, 98, 99, 0, 332, 0, 333, 100,
- 0, 334, 0, 336, 101, 0, 102, 103, 0, 0,
- 0, 0, 337, 0, 0, 104, 105, 0, 0, 106,
- 0, 107, 0, 0, 0, 108, 109, 0, 0, 338,
- 0, 339, 340, 111, 112, 0, 0, 0, 341, 342,
- 0, 0, 0, 343, 0, 0, 344, 0, 0, 0,
- 0, 0, 113, 114, 115, 345, 0, 117, 118, 0,
- 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
- 126, 0, 127, 128, 0, 0, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 0, 0, 138, 0, 139,
- 140, 0, 227, 141, 142, 0, 143, 0, 144, 145,
- 146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
- 155, 346, 0, 156, 157, 158, 159, 160, 0, 0,
- 0, 161, 0, 162, 347, 240, 348, 308, 349, 350,
- 89, 90, 0, 0, 0, 351, 0, 0, 353, 354,
- 355, 0, 0, 0, 697, 319, 320, 356, 0, 0,
- 0, 0, 0, 0, 0, 226, 698, 699, 700, 701,
- 0, 91, 325, 0, 0, 0, 0, 0, 326, 0,
- 0, 0, 0, 0, 329, 0, 330, 0, 0, 0,
- 0, 0, 0, 0, 93, 0, 0, 94, 0, 331,
- 0, 0, 0, 95, 96, 0, 0, 0, 0, 97,
- 98, 99, 0, 332, 0, 333, 100, 0, 0, 0,
- 336, 101, 0, 102, 103, 0, 0, 0, 0, 702,
- 0, 0, 104, 105, 0, 0, 106, 0, 107, 0,
- 0, 0, 108, 109, 0, 0, 703, 0, 339, 340,
- 111, 112, 0, 0, 0, 704, 342, 0, 0, 0,
- 705, 0, 0, 344, 0, 0, 0, 0, 0, 113,
- 114, 115, 345, 0, 117, 118, 0, 119, 120, 0,
- 121, 0, 0, 122, 123, 124, 125, 126, 0, 127,
- 128, 0, 0, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 0, 0, 138, 0, 139, 140, 0, 227,
- 141, 142, 0, 143, 0, 144, 145, 146, 147, 148,
- 149, 150, 0, 151, 152, 153, 154, 155, 346, 0,
- 156, 157, 158, 159, 160, 0, 0, 0, 161, 0,
- 162, 347, 240, 706, 308, 349, 350, 89, 90, 0,
- 0, 0, 707, 0, 0, 708, 709, 710, 0, 0,
- 0, 697, 319, 320, 711, 0, 0, 0, 0, 0,
- 0, 0, 226, 698, 699, 700, 701, 0, 91, 325,
- 0, 0, 0, 0, 0, 326, 0, 0, 0, 0,
- 0, 329, 0, 330, 0, 0, 0, 0, 0, 0,
- 0, 93, 0, 0, 94, 0, 331, 0, 0, 0,
- 95, 96, 0, 0, 0, 0, 97, 98, 99, 0,
- 332, 0, 333, 100, 0, 0, 0, 336, 101, 0,
- 102, 103, 0, 0, 0, 0, 702, 0, 0, 104,
- 105, 0, 0, 106, 0, 107, 0, 0, 0, 108,
- 109, 0, 0, 703, 0, 339, 340, 111, 112, 0,
- 0, 0, 704, 342, 0, 0, 0, 705, 0, 0,
- 344, 0, 0, 0, 0, 0, 113, 114, 115, 345,
- 0, 117, 118, 0, 119, 120, 0, 121, 0, 0,
- 122, 123, 124, 125, 126, 0, 127, 128, 0, 0,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 0,
- 0, 138, 0, 139, 140, 0, 227, 141, 142, 0,
- 143, 0, 144, 145, 146, 147, 148, 149, 150, 0,
- 151, 152, 153, 154, 155, 346, 0, 156, 157, 158,
- 159, 160, 0, 0, 0, 161, 0, 162, 347, 240,
--32768, 308, 349, 350, 89, 90, 0, 0, 0, 707,
- 0, 0, 708, 709, 710, 0, 0, 0, 1227, 319,
- 320, 711, 0, 0, 0, 0, 0, 0, 0, 0,
- 1228, 1229, 1230, 1231, 0, 91, 325, 0, 0, 0,
- 0, 0, 326, 0, 0, 0, 0, 0, 329, 0,
- 330, 0, 0, 0, 0, 0, 0, 0, 93, 0,
- 0, 94, 0, 331, 0, 0, 0, 95, 96, 0,
- 0, 0, 0, 97, 98, 99, 0, 332, 0, 333,
- 100, 0, 0, 1232, 336, 101, 0, 102, 103, 0,
- 0, 0, 0, 0, 0, 0, 104, 105, 0, 0,
- 106, 0, 107, 0, 0, 0, 108, 109, 0, 0,
- 0, 0, 339, 340, 111, 112, 0, 0, 0, 0,
- 342, 0, 0, 0, 1233, 0, 0, 344, 0, 0,
- 0, 0, 0, 113, 114, 115, 345, 0, 117, 118,
- 0, 119, 120, 0, 121, 0, 0, 122, 123, 124,
- 125, 126, 0, 127, 128, 0, 0, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 0, 0, 138, 0,
- 139, 140, 0, 0, 141, 142, 0, 143, 0, 144,
- 145, 146, 147, 148, 149, 150, 0, 151, 152, 153,
- 154, 155, 346, 0, 156, 157, 158, 159, 160, 0,
- 0, 0, 161, 0, 162, 347, 240, 1234, 308, 349,
- 350, 89, 90, 0, 0, 0, 1235, 0, 0, 1236,
- 1237, 1238, 0, 0, 0, 1227, 319, 320, 1239, 0,
- 0, 0, 0, 0, 0, 0, 0, 1228, 1229, 1230,
- 1231, 0, 91, 325, 0, 0, 0, 0, 0, 326,
- 0, 0, 0, 0, 0, 329, 0, 330, 0, 0,
- 0, 0, 0, 0, 0, 93, 0, 0, 94, 0,
- 331, 0, 0, 0, 95, 96, 0, 0, 0, 0,
- 97, 98, 99, 0, 332, 0, 333, 100, 0, 0,
- 0, 336, 101, 0, 102, 103, 0, 0, 0, 0,
- 0, 0, 0, 104, 105, 0, 0, 106, 0, 107,
- 0, 0, 0, 108, 109, 0, 0, 0, 0, 339,
- 340, 111, 112, 0, 0, 0, 0, 342, 0, 0,
- 0, 1233, 0, 0, 344, 0, 0, 0, 0, 0,
- 113, 114, 115, 345, 0, 117, 118, 0, 119, 120,
- 0, 121, 0, 0, 122, 123, 124, 125, 126, 0,
- 127, 128, 0, 0, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 0, 0, 138, 0, 139, 140, 0,
- 0, 141, 142, 0, 143, 0, 144, 145, 146, 147,
- 148, 149, 150, 0, 151, 152, 153, 154, 155, 346,
- 0, 156, 157, 158, 159, 160, 0, 0, 0, 161,
- 0, 162, 347, 240, 1234, 308, 349, 350, 89, 90,
- 0, 0, 0, 1235, 0, 0, 1236, 1237, 1238, 0,
- 0, 0, 1227, 319, 320, 1239, 0, 0, 0, 0,
- 0, 0, 0, 0, 1228, 1229, 1230, 1231, 0, 91,
+ 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
+ 138, 0, 139, 140, 0, 0, 141, 142, 0, 143,
+ 0, 144, 145, 146, 147, 148, 149, 150, 0, 151,
+ 152, 153, 154, 155, 346, 0, 156, 157, 158, 159,
+ 160, 0, 0, 0, 161, 0, 162, 347, 240, 1235,
+ 308, 349, 350, 89, 90, 0, 0, 0, 1236, 0,
+ 0, 1237, 1238, 1239, 0, 0, 0, 1228, 319, 320,
+ 1240, 0, 0, 0, 0, 0, 0, 0, 0, 1229,
+ 1230, 1231, 1232, 0, 91, 325, 0, 0, 0, 0,
+ 0, 326, 0, 0, 0, 0, 0, 329, 0, 330,
+ 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
+ 94, 0, 331, 0, 0, 0, 95, 96, 0, 0,
+ 0, 0, 97, 98, 99, 0, 332, 0, 333, 100,
+ 0, 0, 0, 336, 101, 0, 102, 103, 0, 0,
+ 0, 0, 0, 0, 0, 104, 105, 0, 0, 106,
+ 0, 107, 0, 0, 0, 108, 109, 0, 0, 0,
+ 0, 339, 340, 111, 112, 0, 0, 0, 0, 342,
+ 0, 0, 0, 1234, 0, 0, 344, 0, 0, 0,
+ 0, 0, 113, 114, 115, 345, 0, 117, 118, 0,
+ 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
+ 126, 0, 127, 128, 0, 0, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 0, 0, 138, 0, 139,
+ 140, 0, 0, 141, 142, 0, 143, 0, 144, 145,
+ 146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
+ 155, 346, 0, 156, 157, 158, 159, 160, 89, 90,
+ 0, 161, 0, 162, 347, 240,-32768, 308, 349, 350,
+ 0, 0, 633, 319, 320, 1236, 0, 0, 1237, 1238,
+ 1239, 0, 0, 226, 0, 0, 0, 1240, 0, 91,
325, 0, 0, 0, 0, 0, 326, 0, 0, 0,
0, 0, 329, 0, 330, 0, 0, 0, 0, 0,
0, 0, 93, 0, 0, 94, 0, 331, 0, 0,
0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
0, 332, 0, 333, 100, 0, 0, 0, 336, 101,
- 0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
+ 0, 102, 103, 0, 0, 0, 0, 634, 0, 0,
104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
- 108, 109, 0, 0, 0, 0, 339, 340, 111, 112,
- 0, 0, 0, 0, 342, 0, 0, 0, 1233, 0,
+ 108, 109, 0, 0, 635, 0, 339, 340, 111, 112,
+ 0, 0, 0, 636, 342, 0, 0, 0, 0, 0,
0, 344, 0, 0, 0, 0, 0, 113, 114, 115,
345, 0, 117, 118, 0, 119, 120, 0, 121, 0,
0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 0, 0, 138, 0, 139, 140, 0, 0, 141, 142,
+ 0, 0, 138, 0, 139, 140, 0, 227, 141, 142,
0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
0, 151, 152, 153, 154, 155, 346, 0, 156, 157,
158, 159, 160, 89, 90, 0, 161, 0, 162, 347,
- 240,-32768, 308, 349, 350, 0, 0, 632, 319, 320,
- 1235, 0, 0, 1236, 1237, 1238, 0, 0, 226, 0,
- 0, 0, 1239, 0, 91, 325, 0, 0, 0, 0,
+ 240, 637, 308, 349, 350, 0, 0, 633, 319, 320,
+ 638, 0, 0, 639, 0, 0, 0, 0, 226, 0,
+ 0, 0, 640, 0, 91, 325, 0, 0, 0, 0,
0, 326, 0, 0, 0, 0, 0, 329, 0, 330,
0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
94, 0, 331, 0, 0, 0, 95, 96, 0, 0,
0, 0, 97, 98, 99, 0, 332, 0, 333, 100,
0, 0, 0, 336, 101, 0, 102, 103, 0, 0,
- 0, 0, 633, 0, 0, 104, 105, 0, 0, 106,
- 0, 107, 0, 0, 0, 108, 109, 0, 0, 634,
- 0, 339, 340, 111, 112, 0, 0, 0, 635, 342,
+ 0, 0, 634, 0, 0, 104, 105, 0, 0, 106,
+ 0, 107, 0, 0, 0, 108, 109, 0, 0, 635,
+ 0, 339, 340, 111, 112, 0, 0, 0, 636, 342,
0, 0, 0, 0, 0, 0, 344, 0, 0, 0,
0, 0, 113, 114, 115, 345, 0, 117, 118, 0,
119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
@@ -2473,34 +2502,34 @@ static const short yytable[] = { 166,
140, 0, 227, 141, 142, 0, 143, 0, 144, 145,
146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
155, 346, 0, 156, 157, 158, 159, 160, 89, 90,
- 0, 161, 0, 162, 347, 240, 636, 308, 349, 350,
- 0, 0, 632, 319, 320, 637, 0, 0, 638, 0,
- 0, 0, 0, 226, 0, 0, 0, 639, 0, 91,
+ 0, 161, 0, 162, 347, 240,-32768, 308, 349, 350,
+ 0, 0, 1000, 319, 320, 638, 0, 0, 639, 0,
+ 0, 0, 0, 0, 0, 0, 0, 640, 0, 91,
325, 0, 0, 0, 0, 0, 326, 0, 0, 0,
0, 0, 329, 0, 330, 0, 0, 0, 0, 0,
0, 0, 93, 0, 0, 94, 0, 331, 0, 0,
0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
- 0, 332, 0, 333, 100, 0, 0, 0, 336, 101,
- 0, 102, 103, 0, 0, 0, 0, 633, 0, 0,
+ 0, 332, 0, 333, 100, 0, 1001, 1002, 336, 101,
+ 0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
- 108, 109, 0, 0, 634, 0, 339, 340, 111, 112,
- 0, 0, 0, 635, 342, 0, 0, 0, 0, 0,
+ 108, 109, 0, 0, 0, 0, 339, 340, 111, 112,
+ 0, 0, 0, 0, 342, 0, 0, 0, 0, 0,
0, 344, 0, 0, 0, 0, 0, 113, 114, 115,
345, 0, 117, 118, 0, 119, 120, 0, 121, 0,
0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 0, 0, 138, 0, 139, 140, 0, 227, 141, 142,
+ 0, 0, 138, 0, 139, 140, 0, 0, 141, 142,
0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
0, 151, 152, 153, 154, 155, 346, 0, 156, 157,
158, 159, 160, 89, 90, 0, 161, 0, 162, 347,
- 240,-32768, 308, 349, 350, 0, 0, 999, 319, 320,
- 637, 0, 0, 638, 0, 0, 0, 0, 0, 0,
- 0, 0, 639, 0, 91, 325, 0, 0, 0, 0,
+ 240, 1003, 308, 349, 350, 0, 0, 1000, 319, 320,
+ 1004, 0, 0, 1005, 1006, 1007, 0, 0, 0, 0,
+ 0, 0, 1008, 0, 91, 325, 0, 0, 0, 0,
0, 326, 0, 0, 0, 0, 0, 329, 0, 330,
0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
94, 0, 331, 0, 0, 0, 95, 96, 0, 0,
0, 0, 97, 98, 99, 0, 332, 0, 333, 100,
- 0, 1000, 1001, 336, 101, 0, 102, 103, 0, 0,
+ 0, 0, 1002, 336, 101, 0, 102, 103, 0, 0,
0, 0, 0, 0, 0, 104, 105, 0, 0, 106,
0, 107, 0, 0, 0, 108, 109, 0, 0, 0,
0, 339, 340, 111, 112, 0, 0, 0, 0, 342,
@@ -2512,170 +2541,119 @@ static const short yytable[] = { 166,
140, 0, 0, 141, 142, 0, 143, 0, 144, 145,
146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
155, 346, 0, 156, 157, 158, 159, 160, 89, 90,
- 0, 161, 0, 162, 347, 240, 1002, 308, 349, 350,
- 0, 0, 999, 319, 320, 1003, 0, 0, 1004, 1005,
- 1006, 0, 0, 0, 0, 0, 0, 1007, 0, 91,
- 325, 0, 0, 0, 0, 0, 326, 0, 0, 0,
- 0, 0, 329, 0, 330, 0, 0, 0, 0, 0,
- 0, 0, 93, 0, 0, 94, 0, 331, 0, 0,
+ 0, 161, 0, 162, 347, 240,-32768, 308, 349, 350,
+ 0, 0, 0, 0, 0, 1004, 0, 0, 1005, 1006,
+ 1007, 0, 0, 226, 0, 0, 0, 1008, 0, 91,
+ 0, 0, 0, 0, 0, 0, 92, 0, 0, 0,
+ 0, 0, 491, 0, 0, 0, 0, 492, 0, 0,
+ 0, 0, 93, 0, 0, 94, 0, 0, 0, 0,
0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
- 0, 332, 0, 333, 100, 0, 0, 1001, 336, 101,
+ 0, 0, 0, 0, 100, 0, 0, 0, 0, 101,
0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
- 104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
- 108, 109, 0, 0, 0, 0, 339, 340, 111, 112,
- 0, 0, 0, 0, 342, 0, 0, 0, 0, 0,
- 0, 344, 0, 0, 0, 0, 0, 113, 114, 115,
- 345, 0, 117, 118, 0, 119, 120, 0, 121, 0,
+ 104, 105, 493, 0, 106, 0, 107, 0, 494, 0,
+ 108, 109, 0, 0, 495, 0, 110, 0, 111, 112,
+ 0, 0, 0, 0, 0, 496, 0, 0, 0, 0,
+ 0, 0, 497, 0, 0, 0, 0, 113, 114, 115,
+ 116, 0, 117, 118, 0, 119, 120, 0, 121, 0,
0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
- 0, 0, 138, 0, 139, 140, 0, 0, 141, 142,
+ 0, 1201, 138, 0, 139, 140, 1202, 227, 141, 142,
0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
- 0, 151, 152, 153, 154, 155, 346, 0, 156, 157,
- 158, 159, 160, 89, 90, 0, 161, 0, 162, 347,
- 240,-32768, 308, 349, 350, 0, 0, 0, 0, 0,
- 1003, 0, 0, 1004, 1005, 1006, 0, 0, 226, 0,
- 0, 0, 1007, 0, 91, 0, 0, 0, 0, 0,
- 0, 92, 0, 0, 0, 0, 0, 489, 0, 848,
- 0, 0, 490, 0, 0, 0, 0, 93, 0, 0,
- 94, 0, 0, 0, 0, 0, 95, 96, 0, 0,
- 0, 0, 97, 98, 99, 0, 0, 0, 0, 100,
- 0, 0, 0, 0, 101, 0, 102, 103, 0, 0,
- 0, 0, 0, 0, 0, 104, 105, 491, 0, 106,
- 0, 107, 0, 492, 0, 108, 109, 0, 0, 493,
- 0, 110, 0, 111, 112, 0, 0, 0, 0, 0,
- 494, 0, 0, 0, 0, 0, 0, 495, 0, 0,
- 0, 0, 113, 114, 115, 116, 0, 117, 118, 0,
- 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
- 126, 0, 127, 128, 0, 0, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 0, 489, 138, 0, 139,
- 140, 490, 227, 141, 142, 0, 143, 0, 144, 145,
- 146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
- 155, 0, 0, 156, 157, 158, 159, 160, 0, 0,
- 0, 161, 496, 162, 163, 0, 0, 1200, 0, 1446,
- 0, 0, 1201, 0, 0, 0, 491, 497, 0, 0,
- 0, 0, 492, 0, 0, 0, 0, 971, 493, 489,
- 0, 0, 0, 0, 490, 0, 0, 0, 0, 494,
- 0, 0, 0, 0, 0, 498, 495, 0, 0, 0,
- 499, 500, 501, 502, 503, 504, 505, 1202, 0, 0,
- 0, 0, 0, 1203, 506, 0, 0, 0, 0, 1204,
- 1200, 0, 0, 0, 0, 1201, 0, 0, 0, 491,
- 1205, 0, 0, 0, 0, 492, 0, 1206, 0, 0,
- 489, 493, 0, 0, 0, 490, 0, 0, 0, 0,
- 0, 0, 494, 0, 0, 0, 0, 0, 0, 495,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1202, 496, 0, 0, 0, 0, 1203, 0, 0, 0,
- 1200, 0, 1204, 0, 0, 1201, 497, 0, 0, 0,
- 491, 0, 0, 1205, 0, 0, 492, 0, 0, 0,
- 1206, 0, 493, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1207, 494, 498, 0, 0, 0, 0, 499,
- 500, 501, 502, 503, 504, 505, 0, 1208, 0, 0,
- 1202, 0, 1319, 506, 496, 0, 1203, 0, 0, 0,
- 0, 0, 1204, 0, 0, 0, 0, 0, 0, 497,
- 0, 0, 0, 1205, 0, 1209, 0, 0, 0, 0,
- 1210, 1211, 1212, 1213, 1214, 1215, 1216, 0, 0, 0,
- 0, 0, 0, 0, 1217, 1207, 0, 498, 0, 0,
- 0, 0, 499, 500, 501, 502, 503, 504, 505, 0,
- 1208, 0, 0, 0, 0, 496, 506, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 497, 0, 0, 0, 0, 0, 0, 0, 1209, 0,
- 0, 0, 0, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
- 0, 0, 0, 0, 0, 1207, 0, 1217, 498, 89,
- 90, 0, 0, 499, 500, 501, 502, 503, 504, 505,
- 1208, 0, 0, 0, 0, 0, 0, 506, 0, 0,
+ 0, 151, 152, 153, 154, 155, 0, 0, 156, 157,
+ 158, 159, 160, 0, 0, 0, 161, 498, 162, 163,
+ 0, 0, 1201, 0, 0, 0, 0, 1202, 0, 0,
+ 0, 1203, 499, 0, 0, 0, 0, 1204, 0, 0,
+ 0, 0, 972, 1205, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0,
+ 500, 1207, 0, 0, 0, 501, 502, 503, 504, 505,
+ 506, 507, 1203, 0, 0, 0, 0, 0, 1204, 508,
+ 0, 0, 0, 0, 1205, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 91, 0, 0, 0, 0, 0, 0, 92, 1209, 0,
- 0, 0, 0, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
- 0, 0, 0, 93, 0, 0, 94, 1217, 0, 0,
- 0, 0, 95, 96, 0, 0, 0, 0, 97, 98,
- 99, 0, 0, 0, 0, 100, 0, 0, 0, 0,
- 101, 0, 102, 103, 0, 0, 0, 0, 0, 0,
- 0, 104, 105, 0, 0, 106, 0, 107, 0, 0,
- 0, 108, 109, 0, 0, 0, 0, 110, 0, 111,
- 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 113, 114,
- 115, 116, 0, 117, 118, 0, 119, 120, 0, 121,
- 0, 0, 122, 123, 124, 125, 126, 0, 127, 128,
- 0, 0, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 0, 0, 138, 0, 139, 140, 0, 0, 141,
- 142, 0, 143, 0, 144, 145, 146, 147, 148, 149,
- 150, 0, 151, 152, 153, 154, 155, 1053, 0, 156,
- 157, 158, 159, 160, 89, 90, 0, 161, 0, 162,
- 163, 240, 297, 308, 0, 1054, 0, 272, 273, 274,
- 275, 1055, 277, 278, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 91, 0, 0, 588, 0,
- 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 93, 1201,
- 0, 94, 0, 0, 0, 0, 269, 95, 96, 0,
- 0, 0, 0, 97, 98, 99, 0, 0, 0, 0,
- 100, 0, 0, 0, 0, 101, 0, 102, 103, 0,
- 0, 0, 0, 0, 0, 0, 104, 105, 270, 0,
- 106, 0, 107, 0, 1202, 0, 108, 109, 0, 0,
- 1203, 0, 110, 0, 111, 112, 1204, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0,
- 0, 0, 0, 113, 114, 115, 116, 0, 117, 118,
- 0, 119, 120, 0, 121, 0, 0, 122, 123, 124,
- 125, 126, 0, 127, 128, 0, 0, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 0, 0, 138, 0,
- 139, 140, 89, 90, 141, 142, 0, 143, 0, 144,
- 145, 146, 147, 148, 149, 150, 0, 151, 152, 153,
- 154, 155, 0, 0, 156, 157, 158, 159, 160, 0,
- 0, 0, 161, 91, 162, 163, 0, 271, 0, 1207,
- 92, 0, 272, 273, 274, 275, 276, 277, 278, 0,
- 0, 0, 0, 0, 1208, 0, 93, 0, 0, 94,
- 0, 0, 0, 0, 269, 95, 96, 0, 0, 0,
- 0, 97, 98, 99, 0, 0, 0, 0, 100, 0,
- 0, 0, 1209, 101, 0, 102, 103, 1210, 1211, 1212,
- 1213, 1214, 1215, 1216, 104, 105, 270, 0, 106, 0,
- 107, 1217, 0, 0, 108, 109, 0, 0, 0, 0,
- 110, 0, 111, 112, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 113, 114, 115, 116, 0, 117, 118, 0, 119,
- 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
- 0, 127, 128, 0, 0, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 0, 0, 138, 0, 139, 140,
- 0, 0, 141, 142, 0, 143, 0, 144, 145, 146,
- 147, 148, 149, 150, 0, 151, 152, 153, 154, 155,
- 0, 0, 156, 157, 158, 159, 160, 89, 90, 0,
- 161, 0, 162, 163, 0, 271, 0, 0, 0, 0,
- 272, 273, 274, 275, 276, 277, 278, 0, 0, 0,
- 0, 0, 226, 0, 0, 0, 0, 0, 91, 0,
- 0, 0, 0, 0, 0, 92, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 93, 0, 0, 94, 0, 0, 0, 0, 0,
- 95, 96, 0, 0, 0, 0, 97, 98, 99, 0,
- 0, 0, 0, 100, 0, 0, 0, 0, 101, 0,
- 102, 103, 0, 0, 0, 0, 0, 0, 0, 104,
- 105, 0, 0, 106, 0, 107, 0, 0, 0, 108,
- 109, 0, 0, 0, 0, 110, 0, 111, 112, 0,
+ 0, 0, 0, 0, 0, 0, 1208, 0, 0, 0,
+ 89, 90, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1209, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 113, 114, 115, 116,
- 0, 117, 118, 0, 119, 120, 0, 121, 0, 0,
- 122, 123, 124, 125, 126, 0, 127, 128, 0, 0,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 0,
- 0, 138, 0, 139, 140, 0, 227, 141, 142, 0,
- 143, 0, 144, 145, 146, 147, 148, 149, 150, 0,
- 151, 152, 153, 154, 155, 89, 90, 156, 157, 158,
- 159, 160, 0, 0, 0, 161, 0, 162, 163, 0,
- 0, 0, 349, 0, 0, 0, 0, 0, 0, 0,
- 523, 0, 0, 0, 0, 0, 91, 0, 0, 0,
+ 0, 91, 0, 0, 0, 0, 0, 1208, 92, 1210,
+ 0, 0, 0, 0, 1211, 1212, 1213, 1214, 1215, 1216,
+ 1217, 0, 1209, 0, 93, 0, 0, 94, 1218, 0,
+ 0, 0, 0, 95, 96, 0, 0, 0, 0, 97,
+ 98, 99, 0, 0, 0, 0, 100, 0, 0, 0,
+ 1210, 101, 0, 102, 103, 1211, 1212, 1213, 1214, 1215,
+ 1216, 1217, 104, 105, 0, 0, 106, 0, 107, 1218,
+ 0, 0, 108, 109, 0, 0, 0, 0, 110, 0,
+ 111, 112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
+ 114, 115, 116, 0, 117, 118, 0, 119, 120, 0,
+ 121, 0, 0, 122, 123, 124, 125, 126, 0, 127,
+ 128, 0, 0, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 0, 0, 138, 0, 139, 140, 0, 0,
+ 141, 142, 0, 143, 0, 144, 145, 146, 147, 148,
+ 149, 150, 0, 151, 152, 153, 154, 155, 1054, 0,
+ 156, 157, 158, 159, 160, 89, 90, 0, 161, 0,
+ 162, 163, 240, 297, 308, 0, 1055, 0, 272, 273,
+ 274, 275, 1056, 277, 278, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 91, 0, 0, 589,
0, 0, 0, 92, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
- 0, 0, 94, 0, 0, 0, 0, 0, 95, 96,
+ 1202, 0, 94, 0, 0, 0, 0, 269, 95, 96,
0, 0, 0, 0, 97, 98, 99, 0, 0, 0,
0, 100, 0, 0, 0, 0, 101, 0, 102, 103,
- 0, 0, 0, 0, 0, 0, 0, 104, 105, 0,
- 0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
- 0, 0, 0, 110, 0, 111, 112, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 104, 105, 270,
+ 0, 106, 0, 107, 0, 1203, 0, 108, 109, 0,
+ 0, 1204, 0, 110, 0, 111, 112, 1205, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0,
0, 0, 0, 0, 113, 114, 115, 116, 0, 117,
118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
- 124, 125, 126, 0, 127, 128, 89, 90, 129, 130,
+ 124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
131, 132, 133, 134, 135, 136, 137, 0, 0, 138,
- 0, 139, 140, 0, 0, 141, 142, 0, 143, 0,
- 144, 145, 146, 147, 148, 149, 150, 91, 151, 152,
- 153, 154, 155, 0, 92, 156, 157, 158, 159, 160,
- 0, 0, 0, 161, 0, 162, 163, 0, 0, 0,
- 93, 0, 0, 94, 0, 0, 0, 0, 423, 95,
+ 0, 139, 140, 89, 90, 141, 142, 0, 143, 0,
+ 144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
+ 153, 154, 155, 0, 0, 156, 157, 158, 159, 160,
+ 0, 0, 0, 161, 91, 162, 163, 0, 271, 0,
+ 1208, 92, 0, 272, 273, 274, 275, 276, 277, 278,
+ 0, 0, 0, 0, 0, 1209, 0, 93, 0, 0,
+ 94, 0, 0, 0, 0, 269, 95, 96, 0, 0,
+ 0, 0, 97, 98, 99, 0, 0, 0, 0, 100,
+ 0, 0, 0, 1210, 101, 0, 102, 103, 1211, 1212,
+ 1213, 1214, 1215, 1216, 1217, 104, 105, 270, 0, 106,
+ 0, 107, 1218, 0, 0, 108, 109, 0, 0, 0,
+ 0, 110, 0, 111, 112, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 113, 114, 115, 116, 0, 117, 118, 0,
+ 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
+ 126, 0, 127, 128, 0, 0, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 0, 0, 138, 0, 139,
+ 140, 0, 0, 141, 142, 0, 143, 0, 144, 145,
+ 146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
+ 155, 0, 0, 156, 157, 158, 159, 160, 89, 90,
+ 0, 161, 0, 162, 163, 0, 271, 0, 0, 0,
+ 0, 272, 273, 274, 275, 276, 277, 278, 0, 0,
+ 0, 0, 0, 226, 0, 0, 0, 0, 0, 91,
+ 0, 0, 0, 0, 0, 0, 92, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 93, 0, 0, 94, 0, 0, 0, 0,
+ 0, 95, 96, 0, 0, 0, 0, 97, 98, 99,
+ 0, 0, 0, 0, 100, 0, 0, 0, 0, 101,
+ 0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
+ 104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
+ 108, 109, 0, 0, 0, 0, 110, 0, 111, 112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 113, 114, 115,
+ 116, 0, 117, 118, 0, 119, 120, 0, 121, 0,
+ 0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
+ 0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 0, 0, 138, 0, 139, 140, 0, 227, 141, 142,
+ 0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
+ 0, 151, 152, 153, 154, 155, 89, 90, 156, 157,
+ 158, 159, 160, 0, 0, 0, 161, 0, 162, 163,
+ 0, 0, 0, 349, 0, 0, 0, 0, 0, 0,
+ 0, 524, 0, 0, 0, 0, 0, 91, 0, 0,
+ 0, 0, 0, 0, 92, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 93, 0, 0, 94, 0, 0, 0, 0, 0, 95,
96, 0, 0, 0, 0, 97, 98, 99, 0, 0,
0, 0, 100, 0, 0, 0, 0, 101, 0, 102,
103, 0, 0, 0, 0, 0, 0, 0, 104, 105,
@@ -2690,7 +2668,7 @@ static const short yytable[] = { 166,
0, 144, 145, 146, 147, 148, 149, 150, 91, 151,
152, 153, 154, 155, 0, 92, 156, 157, 158, 159,
160, 0, 0, 0, 161, 0, 162, 163, 0, 0,
- 0, 93, 0, 0, 94, 0, 0, 0, 0, 765,
+ 0, 93, 0, 0, 94, 0, 0, 0, 0, 423,
95, 96, 0, 0, 0, 0, 97, 98, 99, 0,
0, 0, 0, 100, 0, 0, 0, 0, 101, 0,
102, 103, 0, 0, 0, 0, 0, 0, 0, 104,
@@ -2706,7 +2684,7 @@ static const short yytable[] = { 166,
151, 152, 153, 154, 155, 0, 92, 156, 157, 158,
159, 160, 0, 0, 0, 161, 0, 162, 163, 0,
0, 0, 93, 0, 0, 94, 0, 0, 0, 0,
- 982, 95, 96, 0, 0, 0, 0, 97, 98, 99,
+ 766, 95, 96, 0, 0, 0, 0, 97, 98, 99,
0, 0, 0, 0, 100, 0, 0, 0, 0, 101,
0, 102, 103, 0, 0, 0, 0, 0, 0, 0,
104, 105, 0, 0, 106, 0, 107, 0, 0, 0,
@@ -2714,100 +2692,58 @@ static const short yytable[] = { 166,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 113, 114, 115,
116, 0, 117, 118, 0, 119, 120, 0, 121, 0,
- 0, 122, 123, 124, 125, 126, 0, 127, 128, 0,
- 0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 0, 122, 123, 124, 125, 126, 0, 127, 128, 89,
+ 90, 129, 130, 131, 132, 133, 134, 135, 136, 137,
0, 0, 138, 0, 139, 140, 0, 0, 141, 142,
0, 143, 0, 144, 145, 146, 147, 148, 149, 150,
- 0, 151, 152, 153, 154, 155, 0, 0, 156, 157,
- 158, 159, 160, 89, 90, 0, 161, 0, 162, 163,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1178, 0, 0, 0, 0, 0, 0, 226, 0,
- 0, 0, 0, 0, 91, 0, 0, 0, 0, 0,
- 0, 92, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
- 94, 0, 0, 0, 0, 0, 95, 96, 0, 0,
- 0, 0, 97, 98, 99, 0, 0, 0, 0, 100,
- 0, 0, 0, 0, 101, 0, 102, 103, 0, 0,
- 0, 0, 0, 0, 0, 104, 105, 0, 0, 106,
- 0, 107, 0, 0, 0, 108, 109, 0, 0, 0,
- 0, 110, 0, 111, 112, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 113, 114, 115, 116, 0, 117, 118, 0,
- 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
- 126, 0, 127, 128, 0, 0, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 0, 0, 138, 0, 139,
- 140, 0, 227, 141, 142, 0, 143, 0, 144, 145,
- 146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
- 155, 89, 90, 156, 157, 158, 159, 160, 0, 0,
- 0, 161, 0, 162, 163, 0, 0, 0, 349, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 91, 0, 0, 0, 0, 0, 0, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 93, 0, 0, 94, 0,
- 0, 0, 0, 0, 95, 96, 0, 0, 0, 0,
- 97, 98, 99, 0, 0, 0, 0, 100, 0, 0,
- 0, 0, 101, 0, 102, 103, 0, 0, 0, 0,
- 0, 0, 0, 104, 105, 0, 0, 106, 0, 107,
- 0, 0, 0, 108, 109, 0, 0, 0, 0, 110,
- 0, 111, 112, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 113, 114, 115, 116, 0, 117, 118, 0, 119, 120,
- 0, 121, 0, 0, 122, 123, 124, 125, 126, 0,
- 127, 128, 0, 0, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 0, 0, 138, 0, 139, 140, 0,
- 0, 141, 142, 0, 143, 0, 144, 145, 146, 147,
- 148, 149, 150, 0, 151, 152, 153, 154, 155, 89,
- 90, 156, 157, 158, 159, 160, 0, 0, 0, 161,
- 0, 162, 163, 0, 0, 308, 0, 0, 0, 0,
- 0, 663, 0, 664, 665, 0, 0, 0, 0, 0,
- 91, 0, 0, 0, 0, 0, 0, 92, 0, 0,
- 0, 0, 0, 666, 0, 0, 0, 667, 0, 0,
- 0, 668, 0, 93, 0, 0, 94, 0, 0, 0,
- 0, 0, 95, 96, 0, 0, 0, 0, 97, 98,
+ 91, 151, 152, 153, 154, 155, 0, 92, 156, 157,
+ 158, 159, 160, 0, 0, 0, 161, 0, 162, 163,
+ 0, 0, 0, 93, 0, 0, 94, 0, 0, 0,
+ 0, 983, 95, 96, 0, 0, 0, 0, 97, 98,
99, 0, 0, 0, 0, 100, 0, 0, 0, 0,
- 101, 0, 102, 103, 0, 669, 0, 0, 670, 671,
+ 101, 0, 102, 103, 0, 0, 0, 0, 0, 0,
0, 104, 105, 0, 0, 106, 0, 107, 0, 0,
- 0, 108, 109, 0, 0, 0, 672, 110, 0, 111,
- 112, 0, 0, 673, 0, 674, 0, 0, 0, 0,
+ 0, 108, 109, 0, 0, 0, 0, 110, 0, 111,
+ 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 113, 114,
- 115, 116, 675, 117, 118, 676, 119, 120, 677, 121,
- 678, 679, 122, 123, 124, 125, 126, 680, 127, 128,
- 681, 682, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 683, 684, 138, 685, 139, 140, 686, 687, 141,
- 142, 688, 143, 0, 144, 145, 146, 147, 148, 149,
- 150, 689, 151, 152, 153, 154, 155, 690, 691, 156,
- 157, 158, 159, 160, 89, 90, 692, 161, 693, 162,
- 163, 0, 0, 0, 0, 0, 0, 0, 0, 319,
- 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 91, 568, 0, 0, 0,
- 0, 0, 569, 0, 0, 0, 0, 0, 0, 0,
- 570, 0, 0, 0, 0, 0, 0, 0, 93, 0,
+ 115, 116, 0, 117, 118, 0, 119, 120, 0, 121,
+ 0, 0, 122, 123, 124, 125, 126, 0, 127, 128,
+ 0, 0, 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 0, 0, 138, 0, 139, 140, 0, 0, 141,
+ 142, 0, 143, 0, 144, 145, 146, 147, 148, 149,
+ 150, 0, 151, 152, 153, 154, 155, 0, 0, 156,
+ 157, 158, 159, 160, 89, 90, 0, 161, 0, 162,
+ 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1179, 0, 0, 0, 0, 0, 0, 226,
+ 0, 0, 0, 0, 0, 91, 0, 0, 0, 0,
+ 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 0,
0, 94, 0, 0, 0, 0, 0, 95, 96, 0,
- 0, 0, 0, 97, 98, 99, 0, 332, 0, 333,
- 100, 0, 0, 0, 571, 101, 0, 102, 103, 0,
+ 0, 0, 0, 97, 98, 99, 0, 0, 0, 0,
+ 100, 0, 0, 0, 0, 101, 0, 102, 103, 0,
0, 0, 0, 0, 0, 0, 104, 105, 0, 0,
106, 0, 107, 0, 0, 0, 108, 109, 0, 0,
0, 0, 110, 0, 111, 112, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 344, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 113, 114, 115, 116, 0, 117, 118,
0, 119, 120, 0, 121, 0, 0, 122, 123, 124,
125, 126, 0, 127, 128, 0, 0, 129, 130, 131,
132, 133, 134, 135, 136, 137, 0, 0, 138, 0,
- 139, 140, 0, 0, 141, 142, 0, 143, 0, 144,
+ 139, 140, 0, 227, 141, 142, 0, 143, 0, 144,
145, 146, 147, 148, 149, 150, 0, 151, 152, 153,
154, 155, 89, 90, 156, 157, 158, 159, 160, 0,
- 0, 0, 161, 0, 162, 163, 0, 0, 0, 545,
- 0, 0, 0, 0, 546, 0, 0, 0, 0, 0,
+ 0, 0, 161, 0, 162, 163, 0, 0, 0, 349,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 91, 0, 0, 0, 0, 0, 0,
92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 547, 0, 0, 0, 0, 0, 93, 0, 0, 94,
+ 0, 0, 0, 0, 0, 0, 93, 0, 0, 94,
0, 0, 0, 0, 0, 95, 96, 0, 0, 0,
0, 97, 98, 99, 0, 0, 0, 0, 100, 0,
0, 0, 0, 101, 0, 102, 103, 0, 0, 0,
- 0, 0, 0, 548, 104, 105, 0, 0, 106, 0,
+ 0, 0, 0, 0, 104, 105, 0, 0, 106, 0,
107, 0, 0, 0, 108, 109, 0, 0, 0, 0,
110, 0, 111, 112, 0, 0, 0, 0, 0, 0,
- 549, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 113, 114, 115, 116, 0, 117, 118, 0, 119,
120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
0, 127, 128, 0, 0, 129, 130, 131, 132, 133,
@@ -2815,30 +2751,72 @@ static const short yytable[] = { 166,
0, 0, 141, 142, 0, 143, 0, 144, 145, 146,
147, 148, 149, 150, 0, 151, 152, 153, 154, 155,
89, 90, 156, 157, 158, 159, 160, 0, 0, 0,
- 161, 0, 162, 163, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 226, 0, 0, 0, 0,
+ 161, 0, 162, 163, 0, 0, 308, 0, 0, 0,
+ 0, 0, 665, 0, 666, 667, 0, 0, 0, 0,
0, 91, 0, 0, 0, 0, 0, 0, 92, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 93, 0, 0, 94, 0, 0,
+ 0, 0, 0, 0, 668, 0, 0, 0, 669, 0,
+ 0, 0, 670, 0, 93, 0, 0, 94, 0, 0,
0, 0, 0, 95, 96, 0, 0, 0, 0, 97,
98, 99, 0, 0, 0, 0, 100, 0, 0, 0,
- 0, 101, 0, 102, 103, 0, 0, 0, 0, 0,
- 0, 0, 104, 105, 0, 0, 106, 0, 107, 0,
- 0, 0, 108, 109, 0, 0, 0, 0, 110, 0,
- 111, 112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 101, 0, 102, 103, 0, 671, 0, 0, 672,
+ 673, 0, 104, 105, 0, 0, 106, 0, 107, 0,
+ 0, 0, 108, 109, 0, 0, 0, 674, 110, 0,
+ 111, 112, 0, 0, 675, 0, 676, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
- 114, 115, 116, 0, 117, 118, 0, 119, 120, 0,
- 121, 0, 0, 122, 123, 124, 125, 126, 0, 127,
- 128, 89, 90, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 0, 0, 138, 0, 139, 140, 0, 227,
- 141, 142, 0, 143, 0, 144, 145, 146, 147, 148,
- 149, 150, 91, 151, 152, 153, 154, 155, 0, 92,
- 156, 157, 158, 159, 160, 0, 0, 0, 161, 0,
- 162, 163, 0, 837, 0, 93, 0, 0, 94, 0,
+ 114, 115, 116, 677, 117, 118, 678, 119, 120, 679,
+ 121, 680, 681, 122, 123, 124, 125, 126, 682, 127,
+ 128, 683, 684, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 685, 686, 138, 687, 139, 140, 688, 689,
+ 141, 142, 690, 143, 0, 144, 145, 146, 147, 148,
+ 149, 150, 691, 151, 152, 153, 154, 155, 692, 693,
+ 156, 157, 158, 159, 160, 89, 90, 694, 161, 695,
+ 162, 163, 0, 0, 0, 0, 0, 0, 0, 0,
+ 319, 320, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 91, 569, 0, 0,
+ 0, 0, 0, 570, 0, 0, 0, 0, 0, 0,
+ 0, 571, 0, 0, 0, 0, 0, 0, 0, 93,
+ 0, 0, 94, 0, 0, 0, 0, 0, 95, 96,
+ 0, 0, 0, 0, 97, 98, 99, 0, 332, 0,
+ 333, 100, 0, 0, 0, 572, 101, 0, 102, 103,
+ 0, 0, 0, 0, 0, 0, 0, 104, 105, 0,
+ 0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
+ 0, 0, 0, 110, 0, 111, 112, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 344, 0,
+ 0, 0, 0, 0, 113, 114, 115, 116, 0, 117,
+ 118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
+ 124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 0, 0, 138,
+ 0, 139, 140, 0, 0, 141, 142, 0, 143, 0,
+ 144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
+ 153, 154, 155, 89, 90, 156, 157, 158, 159, 160,
+ 0, 0, 0, 161, 0, 162, 163, 0, 0, 0,
+ 546, 0, 0, 0, 0, 547, 0, 0, 0, 0,
+ 0, 0, 0, 0, 91, 0, 0, 0, 0, 0,
+ 0, 92, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 548, 0, 0, 0, 0, 0, 93, 0, 0,
+ 94, 0, 0, 0, 0, 0, 95, 96, 0, 0,
+ 0, 0, 97, 98, 99, 0, 0, 0, 0, 100,
+ 0, 0, 0, 0, 101, 0, 102, 103, 0, 0,
+ 0, 0, 0, 0, 549, 104, 105, 0, 0, 106,
+ 0, 107, 0, 0, 0, 108, 109, 0, 0, 0,
+ 0, 110, 0, 111, 112, 0, 0, 0, 0, 0,
+ 0, 550, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 113, 114, 115, 116, 0, 117, 118, 0,
+ 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
+ 126, 0, 127, 128, 0, 0, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 0, 0, 138, 0, 139,
+ 140, 0, 0, 141, 142, 0, 143, 0, 144, 145,
+ 146, 147, 148, 149, 150, 0, 151, 152, 153, 154,
+ 155, 89, 90, 156, 157, 158, 159, 160, 0, 0,
+ 0, 161, 0, 162, 163, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 226, 0, 0, 0,
+ 0, 0, 91, 0, 0, 0, 0, 0, 0, 92,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 93, 0, 0, 94, 0,
0, 0, 0, 0, 95, 96, 0, 0, 0, 0,
97, 98, 99, 0, 0, 0, 0, 100, 0, 0,
0, 0, 101, 0, 102, 103, 0, 0, 0, 0,
- 0, 0, 0, 104, 105, 0, 838, 106, 0, 107,
+ 0, 0, 0, 104, 105, 0, 0, 106, 0, 107,
0, 0, 0, 108, 109, 0, 0, 0, 0, 110,
0, 111, 112, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2846,16 +2824,16 @@ static const short yytable[] = { 166,
0, 121, 0, 0, 122, 123, 124, 125, 126, 0,
127, 128, 89, 90, 129, 130, 131, 132, 133, 134,
135, 136, 137, 0, 0, 138, 0, 139, 140, 0,
- 0, 141, 142, 0, 143, 0, 144, 145, 146, 147,
+ 227, 141, 142, 0, 143, 0, 144, 145, 146, 147,
148, 149, 150, 91, 151, 152, 153, 154, 155, 0,
92, 156, 157, 158, 159, 160, 0, 0, 0, 161,
- 0, 162, 163, 0, 0, 0, 93, 0, 0, 94,
+ 0, 162, 163, 0, 838, 0, 93, 0, 0, 94,
0, 0, 0, 0, 0, 95, 96, 0, 0, 0,
- 0, 97, 98, 99, 223, 0, 0, 0, 100, 0,
+ 0, 97, 98, 99, 0, 0, 0, 0, 100, 0,
0, 0, 0, 101, 0, 102, 103, 0, 0, 0,
- 0, 0, 0, 0, 104, 105, 0, 0, 106, 0,
+ 0, 0, 0, 0, 104, 105, 0, 839, 106, 0,
107, 0, 0, 0, 108, 109, 0, 0, 0, 0,
- 224, 0, 111, 112, 0, 0, 0, 0, 0, 0,
+ 110, 0, 111, 112, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 113, 114, 115, 116, 0, 117, 118, 0, 119,
120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
@@ -2866,17 +2844,17 @@ static const short yytable[] = { 166,
0, 92, 156, 157, 158, 159, 160, 0, 0, 0,
161, 0, 162, 163, 0, 0, 0, 93, 0, 0,
94, 0, 0, 0, 0, 0, 95, 96, 0, 0,
- 0, 0, 97, 98, 99, 0, 0, 0, 0, 100,
+ 0, 0, 97, 98, 99, 223, 0, 0, 0, 100,
0, 0, 0, 0, 101, 0, 102, 103, 0, 0,
0, 0, 0, 0, 0, 104, 105, 0, 0, 106,
0, 107, 0, 0, 0, 108, 109, 0, 0, 0,
- 0, 110, 0, 111, 112, 0, 0, 0, 0, 0,
+ 0, 224, 0, 111, 112, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 113, 114, 115, 116, 0, 117, 118, 0,
119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
126, 0, 127, 128, 89, 90, 129, 130, 131, 132,
133, 134, 135, 136, 137, 0, 0, 138, 0, 139,
- 140, 0, 0, 141, 142, 597, 143, 0, 144, 145,
+ 140, 0, 0, 141, 142, 0, 143, 0, 144, 145,
146, 147, 148, 149, 150, 91, 151, 152, 153, 154,
155, 0, 92, 156, 157, 158, 159, 160, 0, 0,
0, 161, 0, 162, 163, 0, 0, 0, 93, 0,
@@ -2889,31 +2867,31 @@ static const short yytable[] = { 166,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 113, 114, 115, 116, 0, 117, 118,
0, 119, 120, 0, 121, 0, 0, 122, 123, 124,
- 125, 126, 0, 127, 128, 0, 0, 129, 130, 131,
+ 125, 126, 0, 127, 128, 89, 90, 129, 130, 131,
132, 133, 134, 135, 136, 137, 0, 0, 138, 0,
- 139, 140, 0, 0, 141, 142, 1069, 143, 0, 144,
- 145, 146, 147, 148, 149, 150, 0, 151, 152, 153,
- 154, 155, 89, 90, 156, 157, 158, 159, 160, 1173,
- 0, 0, 161, 0, 162, 163, 0, 0, 0, 0,
+ 139, 140, 0, 0, 141, 142, 598, 143, 0, 144,
+ 145, 146, 147, 148, 149, 150, 91, 151, 152, 153,
+ 154, 155, 0, 92, 156, 157, 158, 159, 160, 0,
+ 0, 0, 161, 0, 162, 163, 0, 0, 0, 93,
+ 0, 0, 94, 0, 0, 0, 0, 0, 95, 96,
+ 0, 0, 0, 0, 97, 98, 99, 0, 0, 0,
+ 0, 100, 0, 0, 0, 0, 101, 0, 102, 103,
+ 0, 0, 0, 0, 0, 0, 0, 104, 105, 0,
+ 0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
+ 0, 0, 0, 110, 0, 111, 112, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 91, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 93, 0, 0, 94,
- 0, 0, 0, 0, 0, 95, 96, 0, 0, 0,
- 0, 97, 98, 99, 0, 0, 0, 0, 100, 0,
- 0, 0, 0, 101, 0, 102, 103, 0, 0, 0,
- 0, 0, 0, 0, 104, 105, 0, 0, 106, 0,
- 107, 0, 0, 0, 108, 109, 0, 0, 0, 0,
- 110, 0, 111, 112, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 113, 114, 115, 116, 0, 117,
+ 118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
+ 124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 0, 0, 138,
+ 0, 139, 140, 0, 0, 141, 142, 1070, 143, 0,
+ 144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
+ 153, 154, 155, 89, 90, 156, 157, 158, 159, 160,
+ 1174, 0, 0, 161, 0, 162, 163, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 113, 114, 115, 116, 0, 117, 118, 0, 119,
- 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
- 0, 127, 128, 89, 90, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 0, 0, 138, 0, 139, 140,
- 0, 0, 141, 142, 0, 143, 0, 144, 145, 146,
- 147, 148, 149, 150, 91, 151, 152, 153, 154, 155,
- 0, 92, 156, 157, 158, 159, 160, 0, 0, 0,
- 161, 0, 162, 163, 0, 0, 0, 93, 0, 0,
+ 0, 0, 0, 0, 91, 0, 0, 0, 0, 0,
+ 0, 92, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
94, 0, 0, 0, 0, 0, 95, 96, 0, 0,
0, 0, 97, 98, 99, 0, 0, 0, 0, 100,
0, 0, 0, 0, 101, 0, 102, 103, 0, 0,
@@ -2934,7 +2912,7 @@ static const short yytable[] = { 166,
100, 0, 0, 0, 0, 101, 0, 102, 103, 0,
0, 0, 0, 0, 0, 0, 104, 105, 0, 0,
106, 0, 107, 0, 0, 0, 108, 109, 0, 0,
- 0, 0, 247, 0, 111, 112, 0, 0, 0, 0,
+ 0, 0, 110, 0, 111, 112, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 113, 114, 115, 116, 0, 117, 118,
0, 119, 120, 0, 121, 0, 0, 122, 123, 124,
@@ -2949,437 +2927,532 @@ static const short yytable[] = { 166,
0, 100, 0, 0, 0, 0, 101, 0, 102, 103,
0, 0, 0, 0, 0, 0, 0, 104, 105, 0,
0, 106, 0, 107, 0, 0, 0, 108, 109, 0,
- 0, 0, 0, 249, 0, 111, 112, 0, 0, 0,
+ 0, 0, 0, 247, 0, 111, 112, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 113, 114, 115, 116, 0, 117,
118, 0, 119, 120, 0, 121, 0, 0, 122, 123,
- 124, 125, 126, 0, 127, 128, 0, 0, 129, 130,
+ 124, 125, 126, 0, 127, 128, 89, 90, 129, 130,
131, 132, 133, 134, 135, 136, 137, 0, 0, 138,
0, 139, 140, 0, 0, 141, 142, 0, 143, 0,
- 144, 145, 146, 147, 148, 149, 150, 0, 151, 152,
- 153, 154, 155, 0, 0, 156, 157, 158, 159, 160,
- 0, 0, 1, 161, 0, 162, 163, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 3, 0, 0, 4,
- 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 6, 0, 7, 0, 0, 0, 8, 9, 10,
- 0, 0, 0, 11, 0, 0, 0, 0, 0, 12,
- 0, 0, 0, 0, 319, 320, 13, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 91, 325, 0, 0, 0, 0, 0, 469, 0, 0,
- 0, 0, 0, 329, 0, 330, 0, 0, 0, 0,
- 0, 0, 0, 93, 0, 0, 0, 14, 331, 15,
- 0, 0, 16, 17, 0, 0, 0, 0, 0, 98,
- 99, 0, 332, 0, 333, 0, 0, 18, 0, 336,
+ 144, 145, 146, 147, 148, 149, 150, 91, 151, 152,
+ 153, 154, 155, 0, 92, 156, 157, 158, 159, 160,
+ 0, 0, 0, 161, 0, 162, 163, 0, 0, 0,
+ 93, 0, 0, 94, 0, 0, 0, 0, 0, 95,
+ 96, 0, 0, 0, 0, 97, 98, 99, 0, 0,
+ 0, 0, 100, 0, 0, 0, 0, 101, 0, 102,
+ 103, 0, 0, 0, 0, 0, 0, 0, 104, 105,
+ 0, 0, 106, 0, 107, 0, 0, 0, 108, 109,
+ 0, 0, 0, 0, 249, 0, 111, 112, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 19, 0, 0, 0, 0, 0, 0, 0, 20,
- 21, 0, 109, 617, 0, 0, 0, 470, 340, 22,
- 23, 0, 0, 0, 0, 342, 0, 0, 0, 0,
- 24, 25, 344, 26, 0, 0, 27, 0, 113, 0,
- 0, 471, 28, 319, 320, 0, 0, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 0, 30, 0, 91,
- 325, 0, 0, 31, 0, 32, 469, 0, 0, 0,
- 0, 0, 329, 0, 330, 0, 0, 0, 0, 0,
- 0, 0, 93, 0, 0, 0, 0, 331, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 346, 98, 99,
- 0, 332, 0, 333, 0, 0, 0, 0, 336, 0,
- 472, 240, 0, 308, 349, 350, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 113, 114, 115, 116, 0,
+ 117, 118, 0, 119, 120, 0, 121, 0, 0, 122,
+ 123, 124, 125, 126, 0, 127, 128, 0, 0, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
+ 138, 0, 139, 140, 0, 0, 141, 142, 0, 143,
+ 0, 144, 145, 146, 147, 148, 149, 150, 0, 151,
+ 152, 153, 154, 155, 0, 0, 156, 157, 158, 159,
+ 160, 0, 0, 1, 161, 0, 162, 163, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 4, 0, 5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 7, 0, 0, 0, 8, 9,
+ 10, 0, 0, 0, 11, 0, 0, 0, 0, 0,
+ 12, 0, 0, 0, 0, 319, 320, 13, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 109, 319, 320, 0, 0, 470, 340, 0, 0,
- 0, 0, 0, 0, 342, 0, 0, 0, 91, 325,
- 0, 344, 0, 0, 0, 469, 0, 113, 0, 0,
- 471, 0, 0, 330, 0, 0, 0, 0, 0, 0,
- 0, 93, 0, 0, 0, 0, 331, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 98, 99, 0,
- 332, 0, 333, 0, 0, 0, 0, 336, 0, 0,
+ 0, 91, 325, 0, 0, 0, 0, 0, 469, 0,
+ 0, 0, 0, 0, 329, 0, 330, 0, 0, 0,
+ 0, 0, 0, 0, 93, 0, 0, 0, 14, 331,
+ 15, 0, 0, 16, 17, 0, 0, 0, 0, 0,
+ 98, 99, 0, 332, 0, 333, 0, 0, 18, 0,
+ 336, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
+ 20, 21, 0, 109, 618, 0, 0, 0, 470, 340,
+ 22, 23, 0, 0, 0, 0, 342, 0, 0, 0,
+ 0, 24, 25, 344, 26, 0, 0, 27, 0, 113,
+ 0, 0, 471, 28, 319, 320, 0, 0, 0, 0,
+ 0, 29, 0, 0, 0, 0, 0, 0, 30, 0,
+ 91, 325, 0, 0, 31, 0, 32, 469, 0, 0,
+ 0, 0, 0, 329, 0, 330, 0, 0, 0, 0,
+ 0, 0, 0, 93, 0, 0, 0, 0, 331, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 346, 98,
+ 99, 0, 332, 0, 333, 0, 0, 0, 0, 336,
+ 0, 472, 240, 0, 308, 349, 350, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 346, 0, 0, 0,
- 109, 0, 0, 0, 0, 470, 340, 0, 0, 472,
- 240, 0, 308, 349, 350, 0, 0, 0, 0, 0,
- 344, 0, 0, 0, 0, 0, 113, 0, 0, 471,
+ 0, 0, 109, 0, 0, 0, 0, 470, 340, 0,
+ 0, 0, 0, 0, 0, 342, 0, 0, 0, 0,
+ 0, 0, 344, 0, 0, 0, 0, 0, 113, 0,
+ 0, 471, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 346, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 804, 346, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 472
+ 472, 240, 0, 308, 349, 350
};
static const short yycheck[] = { 3,
- 525, 170, 6, 199, 799, 182, 196, 971, 25, 914,
- 1201, 607, 524, 17, 18, 237, 20, 529, 222, 188,
- 24, 617, 845, 846, 28, 29, 30, 31, 465, 809,
- 1245, 536, 115, 856, 6, 409, 506, 650, 977, 652,
- 653, 1411, 1412, 52, 389, 706, 707, 708, 709, 710,
- 52, 52, 50, 6, 6, 37, 9, 20, 37, 37,
- 23, 37, 723, 5, 1171, 7, 320, 6, 1493, 1494,
- 38, 16, 37, 47, 124, 3, 513, 871, 63, 333,
- 84, 38, 38, 124, 872, 52, 38, 557, 51, 636,
- 637, 638, 639, 605, 13, 71, 73, 124, 60, 85,
- 42, 205, 13, 124, 61, 61, 124, 79, 82, 61,
- 814, 37, 1537, 207, 818, 124, 52, 313, 42, 223,
- 316, 215, 1492, 95, 183, 919, 47, 18, 211, 106,
- 642, 94, 920, 24, 38, 80, 238, 28, 124, 58,
- 31, 8, 107, 105, 36, 119, 38, 58, 115, 63,
- 107, 70, 356, 8, 122, 107, 82, 61, 121, 70,
- 125, 82, 1353, 108, 168, 122, 122, 171, 172, 61,
- 122, 175, 176, 101, 178, 179, 226, 204, 182, 10,
- 142, 283, 186, 187, 108, 226, 190, 228, 192, 193,
- 194, 205, 187, 84, 385, 199, 200, 10, 119, 194,
- 207, 713, 142, 107, 458, 226, 223, 228, 226, 223,
- 228, 1116, 140, 217, 651, 107, 1641, 226, 122, 1014,
- 1015, 219, 1329, 205, 226, 226, 205, 205, 156, 205,
- 122, 235, 171, 172, 238, 207, 188, 833, 245, 178,
- 244, 226, 184, 215, 1067, 117, 47, 57, 6, 146,
- 160, 190, 47, 192, 53, 916, 1447, 205, 202, 131,
- 873, 200, 10, 73, 227, 110, 1636, 928, 929, 930,
- 931, 932, 933, 464, 227, 223, 173, 168, 147, 283,
- 81, 82, 40, 300, 188, 177, 81, 82, 179, 20,
- 294, 796, 91, 99, 207, 186, 106, 205, 1513, 490,
- 205, 110, 309, 1538, 1539, 174, 510, 1322, 921, 313,
- 1325, 224, 316, 317, 123, 223, 122, 1508, 119, 1510,
- 51, 1260, 52, 870, 119, 207, 217, 1562, 58, 216,
- 217, 222, 879, 880, 881, 882, 883, 884, 225, 206,
- 357, 4, 224, 226, 235, 228, 9, 214, 215, 216,
- 217, 206, 15, 244, 220, 294, 19, 204, 225, 214,
- 215, 216, 217, 94, 182, 382, 383, 384, 216, 217,
- 225, 222, 541, 222, 223, 206, 227, 225, 848, 160,
- 1285, 385, 386, 214, 215, 216, 217, 226, 137, 228,
- 121, 395, 141, 206, 225, 67, 413, 401, 211, 212,
- 213, 214, 215, 216, 217, 409, 204, 205, 96, 207,
- 414, 209, 225, 204, 36, 885, 38, 421, 422, 764,
- 216, 217, 226, 427, 195, 196, 430, 431, 85, 225,
- 775, 435, 85, 58, 205, 872, 443, 444, 445, 61,
- 814, 85, 133, 450, 818, 636, 637, 638, 639, 108,
- 887, 888, 13, 216, 217, 462, 85, 969, 206, 133,
- 464, 898, 225, 207, 934, 209, 214, 215, 216, 217,
- 1250, 226, 1436, 228, 1087, 1088, 1089, 225, 485, 133,
- 487, 1142, 421, 920, 488, 107, 490, 139, 427, 216,
- 217, 430, 431, 216, 385, 386, 220, 58, 225, 936,
- 122, 227, 130, 64, 395, 537, 538, 539, 512, 70,
- 514, 1124, 1125, 1126, 10, 706, 707, 708, 709, 710,
- 53, 991, 226, 20, 228, 729, 59, 130, 25, 733,
- 227, 422, 723, 737, 10, 20, 69, 741, 227, 67,
- 37, 745, 546, 105, 77, 749, 1485, 33, 1487, 753,
- 1075, 129, 37, 757, 176, 177, 1081, 90, 1234, 1235,
- 1236, 1237, 1238, 1239, 580, 13, 582, 583, 584, 585,
- 103, 226, 34, 580, 85, 582, 583, 584, 585, 206,
- 227, 206, 64, 774, 81, 212, 213, 120, 592, 214,
- 215, 216, 217, 207, 227, 57, 81, 94, 602, 93,
- 225, 223, 163, 100, 227, 227, 610, 546, 127, 94,
- 58, 73, 74, 19, 227, 100, 64, 178, 226, 510,
- 228, 226, 70, 228, 121, 226, 630, 228, 226, 226,
- 228, 228, 636, 637, 638, 639, 121, 227, 828, 829,
- 227, 845, 846, 227, 106, 206, 226, 226, 228, 228,
- 827, 227, 856, 214, 215, 216, 217, 226, 226, 228,
- 228, 1337, 227, 226, 225, 228, 206, 1104, 143, 226,
- 132, 228, 227, 148, 214, 215, 216, 217, 227, 870,
- 871, 163, 227, 130, 159, 225, 890, 223, 879, 880,
- 881, 882, 883, 884, 169, 170, 178, 226, 1374, 228,
- 227, 592, 706, 707, 708, 709, 710, 1383, 1384, 1385,
- 1386, 1387, 1388, 1389, 1390, 163, 1392, 227, 193, 723,
- 226, 226, 228, 228, 206, 916, 10, 226, 919, 228,
- 178, 223, 214, 215, 216, 217, 1261, 928, 929, 930,
- 931, 932, 933, 225, 222, 1568, 226, 1217, 228, 222,
- 227, 130, 206, 181, 10, 107, 167, 761, 206, 763,
- 214, 215, 216, 217, 781, 186, 214, 215, 216, 217,
- 774, 225, 776, 85, 228, 50, 115, 225, 782, 983,
- 52, 785, 107, 787, 788, 789, 790, 19, 115, 115,
- 222, 795, 115, 810, 115, 799, 800, 111, 802, 1269,
- 225, 228, 228, 226, 808, 52, 222, 1319, 179, 206,
- 814, 828, 829, 820, 818, 227, 1286, 214, 215, 216,
- 217, 828, 829, 827, 828, 829, 830, 23, 225, 227,
- 834, 66, 836, 837, 58, 66, 227, 841, 88, 85,
- 93, 1517, 211, 782, 153, 849, 850, 854, 1643, 191,
- 158, 790, 85, 211, 211, 107, 226, 81, 125, 226,
- 228, 868, 227, 1067, 108, 22, 870, 871, 228, 228,
- 761, 52, 763, 228, 228, 879, 880, 881, 882, 883,
- 884, 228, 74, 774, 1000, 106, 1002, 1003, 1004, 1005,
- 1006, 1007, 227, 206, 1331, 834, 227, 836, 211, 212,
- 213, 214, 215, 216, 217, 912, 228, 227, 227, 64,
- 917, 918, 916, 228, 133, 919, 227, 808, 1263, 223,
- 227, 1391, 1267, 228, 928, 929, 930, 931, 932, 933,
- 224, 228, 227, 58, 227, 34, 35, 227, 227, 176,
- 227, 227, 41, 228, 227, 227, 227, 1543, 227, 227,
- 49, 1142, 222, 227, 845, 846, 227, 194, 57, 227,
- 211, 227, 227, 62, 227, 856, 227, 971, 227, 227,
- 974, 161, 227, 977, 73, 74, 1446, 94, 227, 227,
- 130, 211, 206, 124, 83, 227, 227, 211, 212, 213,
- 214, 215, 216, 217, 130, 50, 1000, 225, 1002, 1003,
- 1004, 1005, 1006, 1007, 58, 228, 228, 106, 163, 227,
- 1014, 1015, 111, 112, 228, 225, 227, 226, 1488, 1489,
- 1189, 1025, 1026, 178, 1041, 1029, 228, 1223, 228, 228,
- 228, 206, 34, 132, 228, 228, 135, 212, 213, 214,
- 215, 216, 217, 228, 1514, 228, 27, 216, 1055, 1053,
- 225, 206, 55, 124, 1399, 57, 115, 55, 206, 214,
- 215, 216, 217, 201, 1409, 227, 214, 215, 216, 217,
- 225, 73, 74, 1598, 227, 227, 1192, 225, 227, 66,
- 971, 227, 82, 66, 1200, 50, 1025, 88, 1204, 10,
- 1206, 115, 164, 1209, 1210, 1211, 1212, 1213, 1214, 1215,
- 1216, 204, 54, 1219, 106, 204, 227, 226, 228, 1225,
- 228, 113, 114, 206, 3, 228, 228, 6, 228, 228,
- 13, 214, 215, 216, 217, 227, 227, 224, 17, 18,
- 132, 20, 225, 228, 228, 24, 228, 206, 1142, 28,
- 29, 30, 31, 228, 206, 214, 215, 216, 217, 211,
- 212, 213, 214, 215, 216, 217, 225, 65, 228, 15,
- 228, 228, 228, 225, 228, 58, 228, 1171, 228, 1173,
- 228, 64, 228, 56, 150, 228, 1067, 70, 228, 1183,
- 228, 228, 228, 228, 1188, 228, 228, 228, 1192, 228,
- 37, 37, 199, 225, 227, 84, 1200, 227, 227, 227,
- 1204, 227, 1206, 152, 44, 1209, 1210, 1211, 1212, 1213,
- 1214, 1215, 1216, 87, 228, 1219, 228, 228, 228, 1223,
- 228, 1225, 228, 228, 228, 90, 65, 464, 120, 228,
- 1234, 1235, 1236, 1237, 1238, 1239, 1253, 228, 1255, 1355,
- 226, 226, 205, 8, 1183, 227, 100, 225, 228, 1188,
- 1254, 72, 206, 490, 97, 67, 1260, 211, 212, 213,
- 214, 215, 216, 217, 222, 226, 228, 227, 6, 228,
- 163, 225, 228, 228, 89, 1444, 1621, 228, 8, 168,
- 1171, 228, 171, 172, 228, 178, 175, 176, 85, 178,
- 179, 13, 151, 182, 107, 15, 228, 186, 187, 227,
- 162, 190, 204, 192, 193, 194, 228, 227, 227, 120,
- 199, 200, 228, 206, 226, 4, 222, 1334, 211, 212,
- 213, 214, 215, 216, 217, 1329, 224, 228, 217, 220,
- 220, 50, 225, 1337, 86, 84, 58, 1559, 226, 0,
- 1456, 0, 64, 33, 259, 1035, 235, 559, 70, 238,
- 807, 1355, 403, 384, 785, 244, 800, 787, 1226, 81,
- 1573, 1032, 1454, 1254, 1568, 1587, 1588, 8, 1375, 1376,
- 1374, 1551, 13, 1523, 1555, 1609, 1043, 830, 802, 1383,
- 1384, 1385, 1386, 1387, 1388, 1389, 1390, 829, 1392, 27,
- 1612, 14, 245, 610, 283, 391, 314, 1487, 1561, 636,
- 637, 638, 639, 1591, 1486, 294, 196, 1041, 32, 296,
- 1588, 404, 841, 1599, 1569, 1600, 1592, 58, 509, 1491,
- 1323, 1618, 346, 64, 313, 514, 774, 316, 317, 70,
- 1114, 510, 1436, 193, 1532, 1173, -1, -1, 1329, -1,
- 81, 163, 331, -1, -1, -1, -1, 88, -1, -1,
- -1, -1, 1456, -1, 1458, -1, 178, 346, -1, -1,
- -1, -1, -1, -1, -1, -1, 1483, -1, -1, 706,
- 707, 708, 709, 710, -1, -1, -1, -1, 1482, -1,
- -1, 1485, -1, 1487, 206, -1, 723, 1491, -1, 211,
- 212, 213, 214, 215, 216, 217, 385, 386, -1, -1,
- -1, -1, -1, 225, -1, -1, 395, -1, -1, -1,
- -1, -1, 401, 1517, -1, -1, -1, -1, -1, -1,
- 409, -1, 163, -1, -1, 414, -1, -1, -1, 8,
- -1, -1, 421, 422, 13, -1, -1, 178, 427, -1,
- 1557, 430, 431, 1482, -1, 1436, 435, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 795, 1566,
- 449, -1, 1566, -1, -1, 206, 18, 19, -1, -1,
- 211, 212, 213, 214, 215, 216, 217, -1, -1, 58,
- -1, -1, 34, 35, 225, 64, -1, 228, -1, 41,
- -1, 70, 1609, -1, -1, -1, -1, 49, -1, 488,
- -1, -1, 81, -1, -1, 57, -1, -1, -1, 88,
- 62, 1618, -1, -1, 1618, -1, 1620, 506, -1, -1,
- -1, 73, 74, 512, 76, 514, 78, -1, -1, -1,
- -1, 83, 558, 870, 871, -1, -1, -1, -1, 1643,
- -1, -1, 879, 880, 881, 882, 883, 884, -1, -1,
- -1, -1, -1, -1, 106, -1, -1, 546, -1, 111,
- 112, -1, -1, -1, -1, -1, -1, 13, 557, -1,
- -1, -1, -1, -1, 126, -1, -1, 1568, -1, 916,
- 132, -1, 919, 135, 163, -1, -1, -1, 334, -1,
- -1, 928, 929, 930, 931, 932, 933, -1, -1, 178,
- -1, -1, 348, 592, -1, 351, -1, 353, 354, 355,
- 356, -1, 58, 602, -1, -1, -1, -1, 64, -1,
- -1, 610, -1, -1, 70, -1, -1, 206, -1, -1,
- -1, -1, 211, 212, 213, 214, 215, 216, 217, 191,
- -1, 630, -1, -1, -1, -1, 225, -1, -1, 228,
- -1, -1, 204, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1000, -1, 1002, 1003, 1004, 1005, 1006,
- 1007, -1, -1, 419, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 1026,
- -1, -1, -1, 439, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 729, -1, -1, -1, 733, 385, -1,
- -1, 737, -1, -1, -1, 741, -1, 163, -1, 745,
- -1, -1, 468, 749, -1, -1, -1, 753, -1, -1,
- -1, 757, 178, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 489, -1, -1, -1, 493, -1, 495,
- -1, -1, 498, 499, 500, 501, 502, 503, 504, 505,
- 206, 507, -1, -1, -1, 211, 212, 213, 214, 215,
- 216, 217, 761, -1, 763, -1, -1, -1, -1, 225,
- -1, -1, -1, -1, -1, 774, -1, 776, -1, -1,
- -1, -1, -1, 782, -1, -1, 785, -1, 787, 788,
- 789, 790, -1, -1, -1, 1142, -1, -1, -1, -1,
- 799, 800, -1, 802, -1, -1, -1, -1, -1, 808,
- -1, -1, -1, -1, -1, 814, -1, -1, -1, 818,
- -1, -1, -1, -1, -1, -1, -1, -1, 827, 828,
- 829, 830, -1, -1, -1, 834, -1, 836, 837, -1,
- -1, -1, 841, -1, -1, 1192, -1, -1, -1, 848,
- 849, 850, -1, 1200, -1, -1, -1, 1204, -1, 1206,
- -1, -1, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
- -1, -1, 1219, -1, -1, -1, -1, -1, 1225, -1,
- -1, -1, -1, -1, -1, -1, 885, 1234, 1235, 1236,
- 1237, 1238, 1239, -1, 650, -1, 652, 653, -1, -1,
- -1, 937, -1, 659, -1, -1, -1, -1, 944, 945,
- -1, 947, 948, 1260, 950, 951, -1, 953, 954, 13,
- 956, 957, -1, 959, 960, -1, 962, 963, -1, 965,
- 966, -1, 110, -1, -1, 934, -1, -1, 937, -1,
- -1, -1, -1, 121, 8, 123, -1, -1, -1, 13,
- 128, -1, -1, -1, -1, 711, 134, 135, -1, -1,
- 138, -1, -1, -1, 58, -1, -1, -1, -1, 725,
- 64, 149, 971, 729, -1, 974, 70, 733, 977, 157,
- -1, 737, 160, -1, -1, 741, -1, -1, -1, 745,
- 1337, -1, 991, 749, 58, -1, -1, 753, -1, -1,
- 64, 757, 180, -1, -1, -1, 70, -1, 1355, -1,
- 188, 189, -1, -1, -1, 1014, 1015, 81, -1, 197,
- -1, -1, -1, -1, 88, -1, 1025, 1374, -1, -1,
- 1029, -1, 13, -1, -1, -1, 1383, 1384, 1385, 1386,
- 1387, 1388, 1389, 1390, -1, 1392, -1, -1, -1, -1,
- -1, -1, -1, -1, 1053, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 163,
- -1, -1, -1, -1, 1110, -1, -1, 58, 1114, -1,
- -1, -1, -1, 64, 178, -1, -1, 774, -1, 70,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 163,
- -1, -1, -1, 859, -1, -1, -1, 1143, 795, 1456,
- -1, -1, 206, -1, 178, -1, -1, 873, 212, 213,
- 214, 215, 216, 217, -1, -1, -1, -1, -1, -1,
- -1, 225, -1, 889, -1, -1, -1, -1, -1, -1,
- -1, -1, 206, -1, 1143, -1, -1, 211, 212, 213,
- 214, 215, 216, 217, -1, -1, -1, 8, -1, -1,
- -1, 225, 13, -1, 228, 921, -1, -1, 464, -1,
- 1517, -1, 1171, -1, 1173, -1, -1, -1, -1, -1,
- -1, -1, 163, -1, 1183, -1, -1, -1, -1, 1188,
- -1, -1, -1, -1, 490, -1, -1, 178, -1, -1,
- -1, -1, 1201, -1, -1, -1, -1, 58, -1, -1,
- -1, -1, 968, 64, -1, -1, -1, 8, 1217, 70,
- -1, -1, 13, -1, 1223, 206, -1, -1, -1, -1,
- 81, 212, 213, 214, 215, 216, 217, 88, -1, -1,
- -1, -1, -1, 1279, 225, -1, -1, 1283, -1, -1,
- 937, -1, -1, -1, -1, 1254, 110, -1, -1, -1,
- -1, 1260, -1, -1, -1, -1, -1, 58, -1, 123,
- 1269, -1, -1, 64, 128, -1, -1, -1, -1, 70,
- 134, 135, -1, -1, 138, -1, -1, 1286, -1, -1,
- 81, -1, -1, -1, -1, 149, -1, 88, 1297, -1,
- -1, -1, -1, 157, -1, -1, 160, -1, -1, -1,
- -1, -1, 163, 1000, -1, 1002, 1003, 1004, 1005, 1006,
- 1007, -1, -1, -1, -1, -1, 180, 178, 182, -1,
- 1329, 1087, 1088, 1089, 188, 189, -1, -1, -1, 1026,
- 636, 637, 638, 639, -1, -1, -1, -1, 1347, -1,
- -1, -1, -1, -1, 1353, 206, -1, -1, 1114, -1,
- 211, 212, 213, 214, 215, 216, 217, -1, 1124, 1125,
- 1126, -1, 163, -1, 225, -1, -1, 228, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 178, -1, -1,
- -1, -1, 1391, -1, -1, -1, -1, -1, -1, -1,
+ 170, 526, 6, 199, 800, 182, 972, 608, 25, 207,
+ 196, 978, 237, 17, 18, 222, 20, 618, 188, 389,
+ 24, 465, 810, 369, 28, 29, 30, 31, 846, 847,
+ 651, 409, 653, 654, 917, 1202, 508, 1246, 537, 857,
+ 1412, 1413, 6, 52, 18, 9, 1172, 245, 37, 50,
+ 24, 115, 20, 37, 28, 23, 5, 31, 7, 16,
+ 6, 38, 3, 124, 37, 52, 42, 37, 124, 8,
+ 514, 52, 6, 6, 1235, 1236, 1237, 1238, 1239, 1240,
+ 84, 37, 71, 51, 61, 6, 558, 37, 63, 124,
+ 183, 60, 38, 42, 47, 53, 708, 709, 710, 711,
+ 712, 38, 63, 320, 872, 124, 1494, 1495, 8, 873,
+ 84, 309, 82, 725, 38, 61, 333, 313, 238, 40,
+ 316, 1493, 222, 80, 61, 52, 94, 227, 81, 82,
+ 107, 142, 108, 91, 107, 13, 105, 1001, 52, 1003,
+ 1004, 1005, 1006, 1007, 1008, 122, 79, 211, 204, 356,
+ 1538, 108, 125, 121, 922, 637, 638, 639, 640, 923,
+ 101, 107, 95, 283, 168, 226, 119, 171, 172, 124,
+ 107, 175, 176, 142, 178, 179, 122, 1338, 182, 525,
+ 58, 202, 186, 187, 530, 122, 190, 1354, 192, 193,
+ 194, 226, 70, 228, 168, 199, 200, 124, 122, 140,
+ 1323, 115, 207, 1326, 1330, 179, 223, 226, 652, 228,
+ 215, 188, 186, 217, 1375, 156, 205, 226, 219, 1015,
+ 1016, 205, 160, 1384, 1385, 1386, 1387, 1388, 1389, 1390,
+ 1391, 235, 1393, 834, 238, 184, 1119, 171, 172, 226,
+ 244, 458, 188, 217, 178, 443, 444, 445, 222, 205,
+ 1068, 226, 450, 874, 1642, 205, 190, 85, 192, 227,
+ 606, 235, 99, 227, 462, 1637, 200, 206, 10, 73,
+ 244, 226, 110, 228, 207, 214, 215, 216, 217, 283,
+ 205, 1448, 215, 300, 57, 122, 225, 38, 137, 487,
+ 294, 489, 141, 36, 1261, 38, 124, 643, 797, 226,
+ 73, 47, 106, 924, 511, 1514, 206, 919, 205, 313,
+ 61, 207, 316, 317, 214, 215, 216, 217, 61, 931,
+ 932, 933, 934, 935, 936, 225, 223, 146, 224, 1193,
+ 216, 217, 147, 106, 204, 81, 82, 1201, 559, 225,
+ 357, 1205, 1509, 1207, 1511, 20, 1210, 1211, 1212, 1213,
+ 1214, 1215, 1216, 1217, 173, 110, 1220, 1518, 10, 174,
+ 294, 220, 1226, 13, 107, 382, 383, 384, 123, 715,
+ 10, 122, 542, 119, 182, 205, 51, 849, 47, 122,
+ 117, 385, 386, 581, 160, 583, 584, 585, 586, 871,
+ 36, 395, 38, 223, 131, 765, 413, 401, 880, 881,
+ 882, 883, 884, 885, 1287, 409, 776, 205, 58, 187,
+ 414, 385, 386, 82, 886, 61, 194, 421, 422, 94,
+ 70, 395, 47, 427, 58, 223, 430, 431, 815, 873,
+ 207, 435, 819, 176, 177, 1539, 1540, 815, 205, 195,
+ 196, 819, 204, 206, 888, 889, 121, 224, 422, 205,
+ 119, 214, 215, 216, 217, 899, 223, 82, 67, 1563,
+ 464, 107, 225, 1251, 206, 937, 96, 1088, 1089, 1090,
+ 85, 1437, 214, 215, 216, 217, 122, 222, 223, 923,
+ 223, 216, 217, 225, 227, 52, 490, 421, 492, 85,
+ 225, 58, 1356, 427, 119, 939, 430, 431, 538, 539,
+ 540, 226, 85, 64, 216, 217, 1127, 1128, 1129, 513,
+ 731, 515, 4, 225, 735, 133, 64, 9, 739, 1486,
+ 992, 1488, 743, 15, 731, 85, 747, 19, 735, 108,
+ 751, 177, 739, 1145, 755, 58, 743, 511, 759, 226,
+ 747, 228, 133, 547, 751, 133, 216, 217, 755, 139,
+ 216, 1076, 759, 220, 206, 225, 902, 1082, 81, 211,
+ 212, 213, 214, 215, 216, 217, 206, 227, 130, 216,
+ 217, 10, 206, 225, 214, 215, 216, 217, 225, 130,
+ 214, 215, 216, 217, 227, 225, 206, 204, 205, 593,
+ 207, 225, 209, 1457, 214, 215, 216, 217, 143, 603,
+ 10, 20, 163, 148, 206, 225, 25, 611, 228, 67,
+ 212, 213, 105, 547, 159, 163, 227, 178, 37, 593,
+ 226, 33, 228, 821, 169, 170, 226, 631, 228, 129,
+ 178, 829, 830, 637, 638, 639, 640, 226, 85, 846,
+ 847, 227, 207, 829, 830, 206, 227, 8, 193, 227,
+ 857, 828, 13, 214, 215, 216, 217, 855, 206, 34,
+ 127, 1105, 81, 226, 225, 228, 214, 215, 216, 217,
+ 226, 869, 228, 227, 226, 94, 228, 225, 207, 20,
+ 209, 100, 57, 206, 891, 226, 93, 228, 211, 212,
+ 213, 214, 215, 216, 217, 227, 37, 58, 73, 74,
+ 227, 227, 121, 64, 708, 709, 710, 711, 712, 70,
+ 581, 227, 583, 584, 585, 586, 226, 915, 228, 940,
+ 81, 725, 920, 921, 227, 19, 947, 948, 227, 950,
+ 951, 106, 953, 954, 223, 956, 957, 1262, 959, 960,
+ 81, 962, 963, 227, 965, 966, 1218, 968, 969, 227,
+ 226, 1569, 228, 94, 226, 223, 228, 132, 762, 100,
+ 764, 226, 226, 228, 228, 782, 226, 226, 228, 228,
+ 226, 775, 228, 777, 226, 130, 228, 984, 227, 783,
+ 121, 226, 786, 228, 788, 789, 790, 791, 762, 226,
+ 764, 228, 796, 226, 811, 228, 800, 801, 1270, 803,
+ 227, 775, 163, 10, 226, 809, 228, 222, 222, 227,
+ 206, 815, 829, 830, 130, 819, 1288, 178, 214, 215,
+ 216, 217, 181, 10, 828, 829, 830, 831, 107, 225,
+ 167, 835, 186, 837, 838, 809, 85, 50, 842, 115,
+ 52, 19, 107, 115, 115, 206, 850, 851, 1644, 783,
+ 211, 212, 213, 214, 215, 216, 217, 791, 1056, 115,
+ 115, 1068, 222, 111, 225, 228, 34, 871, 872, 225,
+ 228, 52, 846, 847, 226, 222, 880, 881, 882, 883,
+ 884, 885, 179, 857, 53, 227, 66, 23, 1332, 57,
+ 59, 227, 1113, 66, 1264, 227, 1117, 8, 1268, 85,
+ 69, 835, 13, 837, 88, 73, 74, 211, 77, 153,
+ 93, 191, 158, 85, 107, 919, 211, 226, 922, 211,
+ 1392, 90, 13, 228, 226, 1146, 125, 931, 932, 933,
+ 934, 935, 936, 1279, 103, 22, 227, 108, 106, 228,
+ 228, 228, 228, 1544, 52, 113, 114, 58, 106, 74,
+ 228, 120, 227, 64, 227, 222, 133, 227, 227, 70,
+ 228, 227, 13, 223, 132, 228, 228, 58, 972, 228,
+ 81, 975, 224, 64, 978, 1447, 206, 88, 228, 70,
+ 227, 211, 212, 213, 214, 215, 216, 217, 227, 227,
+ 227, 227, 227, 227, 227, 225, 227, 1001, 972, 1003,
+ 1004, 1005, 1006, 1007, 1008, 227, 227, 58, 227, 227,
+ 227, 1015, 1016, 64, 211, 58, 227, 1489, 1490, 70,
+ 1190, 227, 1026, 1027, 94, 1042, 1030, 206, 1224, 227,
+ 1400, 227, 211, 212, 213, 214, 215, 216, 217, 227,
+ 1410, 161, 227, 1515, 211, 227, 225, 206, 130, 228,
+ 1054, 227, 163, 212, 213, 214, 215, 216, 217, 124,
+ 1281, 227, 227, 227, 1285, 13, 225, 178, 130, 206,
+ 227, 225, 163, 50, 1599, 228, 228, 214, 215, 216,
+ 217, 228, 227, 58, 225, 227, 226, 178, 225, 228,
+ 228, 27, 1026, 228, 1068, 206, 228, 228, 228, 228,
+ 211, 212, 213, 214, 215, 216, 217, 228, 55, 216,
+ 58, 124, 163, 115, 225, 206, 64, 228, 3, 82,
+ 55, 6, 70, 214, 215, 216, 217, 178, 201, 227,
+ 227, 227, 17, 18, 225, 20, 66, 227, 227, 24,
+ 206, 1145, 66, 28, 29, 30, 31, 50, 214, 215,
+ 216, 217, 10, 115, 88, 206, 164, 204, 227, 225,
+ 211, 212, 213, 214, 215, 216, 217, 54, 1172, 228,
+ 1174, 228, 228, 228, 225, 228, 228, 227, 1376, 1377,
+ 1184, 227, 385, 206, 224, 1189, 228, 228, 65, 1193,
+ 228, 214, 215, 216, 217, 228, 228, 1201, 1172, 84,
+ 228, 1205, 225, 1207, 226, 15, 1210, 1211, 1212, 1213,
+ 1214, 1215, 1216, 1217, 228, 163, 1220, 228, 206, 228,
+ 1224, 228, 1226, 211, 212, 213, 214, 215, 216, 217,
+ 178, 1235, 1236, 1237, 1238, 1239, 1240, 1254, 228, 1256,
+ 56, 228, 228, 228, 228, 228, 228, 13, 228, 228,
+ 1184, 1255, 1622, 150, 228, 1189, 228, 1261, 206, 228,
+ 37, 464, 37, 211, 212, 213, 214, 215, 216, 217,
+ 199, 225, 227, 152, 227, 1445, 227, 225, 227, 44,
+ 87, 1255, 227, 168, 228, 228, 171, 172, 228, 492,
+ 175, 176, 58, 178, 179, 228, 228, 182, 64, 226,
+ 228, 186, 187, 228, 70, 190, 228, 192, 193, 194,
+ 228, 228, 90, 65, 199, 200, 120, 226, 1335, 176,
+ 8, 205, 227, 225, 100, 72, 1330, 228, 97, 67,
+ 222, 227, 217, 228, 1338, 1560, 226, 194, 6, 228,
+ 228, 89, 228, 8, 85, 228, 228, 228, 151, 8,
+ 235, 107, 1356, 238, 13, 15, 1330, 228, 227, 244,
+ 162, 204, 1569, 1588, 1589, 227, 227, 120, 228, 1567,
+ 4, 1375, 228, 226, 222, 224, 220, 228, 50, 220,
+ 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1613, 1393,
+ 86, 84, 226, 0, 0, 33, 259, 163, 283, 58,
+ 403, 1036, 808, 384, 560, 64, 786, 801, 1455, 294,
+ 788, 70, 178, 1227, 1033, 1552, 1574, 1524, 1556, 803,
+ 1610, 1619, 81, 1044, 27, 245, 831, 830, 313, 88,
+ 391, 316, 317, 1437, 637, 638, 639, 640, 14, 314,
+ 206, 611, 1488, 1562, 1592, 1487, 331, 110, 214, 215,
+ 216, 217, 196, 1457, 296, 1459, 1589, 1042, 121, 225,
+ 123, 346, 32, 1437, 1600, 128, 842, 1484, 1570, 1593,
+ 1601, 134, 135, 404, 510, 138, 1492, 1324, 1619, 1483,
+ 346, 1117, 1486, 193, 1488, 515, 149, 511, 1492, 1533,
+ 775, 1174, -1, -1, 157, -1, -1, 160, -1, -1,
+ 385, 386, -1, -1, 163, 708, 709, 710, 711, 712,
+ 395, -1, -1, -1, 1518, -1, 401, 180, -1, 178,
+ -1, -1, 725, -1, 409, 188, 189, -1, -1, 414,
+ -1, -1, -1, -1, 197, -1, 421, 422, -1, -1,
+ -1, 1558, 427, -1, -1, 430, 431, 206, -1, 1483,
+ 435, -1, 211, 212, 213, 214, 215, 216, 217, 13,
+ -1, -1, -1, 1567, 449, -1, 225, -1, -1, 228,
+ 8, -1, 775, -1, -1, 13, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 706, 707, 708, 709, 710, 206, -1, -1, -1, -1,
- 211, 212, 213, 214, 215, 216, 217, 723, -1, -1,
- 1429, -1, -1, -1, 225, 226, -1, 1436, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 1446, 1447, -1,
- -1, -1, -1, -1, -1, 1454, 1143, -1, -1, 1458,
+ -1, -1, -1, 1610, -1, 1569, -1, -1, -1, -1,
+ -1, -1, -1, -1, 58, 490, -1, 464, -1, -1,
+ 64, -1, -1, -1, 8, 1619, 70, 1621, -1, 13,
+ 58, -1, -1, 508, -1, -1, 64, 81, 513, -1,
+ 515, -1, 70, -1, -1, 492, -1, -1, -1, -1,
+ 1644, 8, -1, 81, -1, -1, 13, -1, -1, -1,
+ 88, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 547, -1, 58, -1, -1, -1, 871, 872,
+ 64, -1, -1, 558, -1, -1, 70, 880, 881, 882,
+ 883, 884, 885, -1, -1, -1, -1, 81, -1, -1,
+ -1, 58, -1, -1, 88, -1, -1, 64, -1, -1,
+ -1, -1, -1, 70, -1, -1, -1, -1, 593, 163,
+ -1, -1, -1, -1, 81, -1, 919, -1, 603, 922,
+ -1, 88, -1, -1, 178, 163, 611, -1, 931, 932,
+ 933, 934, 935, 936, -1, -1, -1, -1, -1, -1,
+ 178, -1, -1, -1, -1, -1, 631, -1, -1, -1,
+ -1, -1, 206, -1, -1, -1, -1, 211, 212, 213,
+ 214, 215, 216, 217, -1, -1, -1, -1, 206, 163,
+ -1, 225, -1, 211, 212, 213, 214, 215, 216, 217,
+ 637, 638, 639, 640, 178, -1, -1, 225, -1, -1,
+ 228, -1, -1, -1, -1, -1, 163, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 178, 206, -1, -1, -1, -1, 211, 212, 213,
+ 214, 215, 216, 217, -1, -1, -1, -1, -1, -1,
+ -1, 225, -1, -1, 228, -1, -1, -1, -1, 206,
+ -1, -1, -1, -1, 211, 212, 213, 214, 215, 216,
+ 217, 708, 709, 710, 711, 712, -1, -1, 225, -1,
+ -1, 228, -1, -1, -1, -1, -1, -1, 725, -1,
+ -1, -1, -1, -1, -1, -1, -1, 762, -1, 764,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 775, -1, 777, -1, -1, -1, -1, -1, 783, -1,
+ -1, 786, -1, 788, 789, 790, 791, -1, -1, -1,
+ -1, -1, -1, -1, -1, 800, 801, -1, 803, -1,
+ -1, -1, -1, -1, 809, -1, -1, -1, -1, -1,
+ 815, -1, -1, -1, 819, 385, -1, -1, -1, 796,
+ -1, -1, 1145, 828, 829, 830, 831, -1, -1, -1,
+ 835, -1, 837, 838, -1, -1, 8, 842, -1, -1,
+ -1, 13, -1, -1, 849, 850, 851, -1, 34, 35,
+ -1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
+ -1, -1, -1, 49, -1, -1, -1, 8, -1, -1,
+ -1, 57, 13, -1, -1, -1, 62, -1, -1, -1,
+ -1, 886, -1, -1, -1, -1, 58, 73, 74, -1,
+ -1, -1, 64, -1, 871, 872, -1, 83, 70, -1,
+ -1, -1, -1, 880, 881, 882, 883, 884, 885, 81,
+ -1, -1, -1, -1, -1, -1, 88, 58, -1, -1,
+ 106, -1, -1, 64, -1, 111, 112, -1, -1, 70,
+ -1, -1, 937, -1, -1, 940, -1, -1, -1, -1,
+ 81, -1, 919, -1, -1, 922, 132, 88, -1, 135,
+ -1, -1, -1, -1, 931, 932, 933, 934, 935, 936,
+ -1, -1, -1, -1, -1, -1, -1, 972, -1, -1,
+ 975, -1, -1, 978, -1, -1, 334, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 992, -1, -1,
+ 348, 163, -1, 351, -1, 353, 354, 355, 356, -1,
+ -1, -1, -1, -1, -1, -1, 178, -1, -1, -1,
+ 1015, 1016, -1, -1, -1, -1, -1, -1, 204, -1,
+ -1, 1026, 163, -1, 1001, 1030, 1003, 1004, 1005, 1006,
+ 1007, 1008, -1, -1, 206, -1, -1, 178, -1, 211,
+ 212, 213, 214, 215, 216, 217, -1, -1, -1, 1054,
+ 1027, -1, -1, 225, 226, -1, -1, -1, -1, -1,
+ -1, 419, -1, -1, -1, 206, -1, -1, -1, -1,
+ 211, 212, 213, 214, 215, 216, 217, -1, -1, -1,
+ -1, 439, -1, -1, 225, 226, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 1482, -1, -1, 1485, -1, 1487, 1488,
- 1489, -1, 1491, -1, -1, -1, -1, -1, -1, 795,
- -1, -1, -1, -1, -1, 1192, -1, -1, -1, 1508,
- -1, 1510, -1, 1200, 1201, 1514, 8, 1204, -1, 1206,
- -1, 13, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
- -1, -1, 1219, -1, -1, -1, -1, -1, 1225, -1,
- -1, -1, -1, -1, -1, -1, -1, 1234, 1235, 1236,
- 1237, 1238, 1239, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 58, 1566, -1, -1,
- -1, -1, 64, -1, 870, 871, 1332, -1, 70, -1,
- -1, -1, -1, 879, 880, 881, 882, 883, 884, 81,
- -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
- 1297, -1, -1, 13, -1, -1, -1, -1, -1, 1618,
- 916, 1620, -1, 919, -1, -1, -1, -1, -1, -1,
- -1, -1, 928, 929, 930, 931, 932, 933, -1, -1,
- -1, 937, -1, -1, 1643, -1, -1, -1, -1, -1,
- 1337, -1, -1, -1, -1, -1, -1, -1, 58, -1,
- 1347, -1, -1, -1, 64, -1, 1353, -1, 1355, -1,
- 70, 163, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 81, -1, -1, -1, -1, 178, 1374, 88, -1,
- -1, -1, -1, -1, -1, -1, 1383, 1384, 1385, 1386,
- 1387, 1388, 1389, 1390, 1000, 1392, 1002, 1003, 1004, 1005,
- 1006, 1007, -1, -1, 206, -1, -1, -1, -1, 211,
- 212, 213, 214, 215, 216, 217, -1, -1, -1, -1,
- 1026, -1, -1, 225, -1, -1, 228, -1, -1, -1,
- -1, -1, 1429, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 8,
+ 468, -1, 11, -1, 13, -1, -1, -1, 476, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 1447, -1, -1, 163, -1, -1, -1, 1454, -1, 1456,
- -1, -1, -1, -1, -1, -1, -1, 8, 178, -1,
- 11, -1, 13, -1, -1, -1, -1, -1, -1, -1,
- 1546, -1, -1, -1, -1, -1, -1, -1, -1, 8,
- -1, -1, -1, -1, 13, -1, 206, -1, 39, 1565,
- -1, 211, 212, 213, 214, 215, 216, 217, -1, 8,
- -1, 1508, -1, 1510, 13, 225, 226, 58, -1, -1,
- 1517, -1, -1, 64, -1, -1, -1, -1, -1, 70,
- -1, -1, -1, -1, 1600, -1, 1142, 1143, -1, 58,
- 81, -1, -1, -1, -1, 64, -1, 88, -1, -1,
- -1, 70, -1, 52, -1, -1, -1, -1, -1, 58,
- -1, -1, 81, -1, -1, 64, -1, -1, -1, 88,
- -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 81, 124, -1, -1, 1192, -1, -1, 88,
- -1, -1, -1, -1, 1200, 1201, -1, -1, 1204, -1,
- 1206, -1, -1, 1209, 1210, 1211, 1212, 1213, 1214, 1215,
- 1216, -1, -1, 1219, -1, -1, -1, -1, -1, 1225,
- -1, -1, 163, -1, -1, -1, -1, -1, 1234, 1235,
- 1236, 1237, 1238, 1239, -1, -1, -1, 178, -1, -1,
- -1, -1, -1, -1, 163, -1, -1, -1, -1, -1,
+ 8, -1, -1, 491, -1, 13, -1, 495, -1, 497,
+ 39, 1146, 500, 501, 502, 503, 504, 505, 506, 507,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
+ -1, -1, -1, -1, -1, 64, -1, 1172, 1145, 1174,
+ -1, 70, -1, -1, -1, -1, -1, -1, -1, 1184,
+ 58, -1, 81, -1, 1189, -1, 64, -1, -1, 88,
+ -1, -1, 70, -1, -1, -1, -1, 1202, -1, -1,
+ -1, -1, -1, 81, -1, 775, -1, -1, -1, -1,
+ 88, -1, -1, 1218, -1, -1, 1193, -1, -1, 1224,
+ -1, -1, -1, -1, 1201, 124, 796, -1, 1205, -1,
+ 1207, -1, -1, 1210, 1211, 1212, 1213, 1214, 1215, 1216,
+ 1217, -1, -1, 1220, -1, -1, -1, -1, -1, 1226,
+ 1255, -1, -1, -1, -1, -1, 1261, -1, 1235, 1236,
+ 1237, 1238, 1239, 1240, 163, 1270, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 178,
- -1, -1, -1, -1, 163, 206, -1, -1, -1, -1,
- 211, 212, 213, 214, 215, 216, 217, -1, -1, 178,
- -1, -1, -1, -1, 225, -1, -1, 206, -1, -1,
- -1, 1297, 211, 212, 213, 214, 215, 216, 217, -1,
- 219, -1, -1, -1, -1, 224, 225, 206, -1, -1,
+ -1, -1, -1, 1288, 1261, 163, -1, -1, -1, -1,
+ -1, -1, -1, 651, 1299, 653, 654, -1, -1, -1,
+ 178, -1, -1, 661, -1, -1, -1, 206, -1, -1,
-1, -1, 211, 212, 213, 214, 215, 216, 217, -1,
- -1, -1, -1, -1, -1, -1, 225, -1, -1, -1,
- -1, 1337, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 1347, -1, -1, -1, -1, -1, 1353, -1, 1355,
+ -1, -1, 8, -1, 10, 1330, 225, 13, 206, -1,
+ -1, -1, -1, 211, 212, 213, 214, 215, 216, 217,
+ -1, 219, -1, 1348, -1, -1, 224, 225, -1, 1354,
+ -1, -1, -1, -1, -1, 713, -1, -1, -1, -1,
+ -1, 1338, -1, -1, -1, -1, -1, -1, -1, 727,
+ 940, -1, 58, 731, -1, -1, -1, 735, 64, 1356,
+ -1, 739, -1, -1, 70, 743, -1, 1392, -1, 747,
+ -1, 8, -1, 751, -1, 81, 13, 755, 1375, -1,
+ -1, 759, 88, -1, -1, -1, -1, 1384, 1385, 1386,
+ 1387, 1388, 1389, 1390, 1391, -1, 1393, -1, 13, -1,
+ -1, -1, -1, -1, -1, -1, 1431, -1, 464, -1,
+ -1, 1001, 1437, 1003, 1004, 1005, 1006, 1007, 1008, -1,
+ -1, 58, 1447, 1448, -1, -1, -1, 64, -1, -1,
+ 1455, -1, -1, 70, 1459, -1, 492, 1027, -1, -1,
+ -1, -1, -1, 58, 81, -1, -1, -1, -1, 64,
+ -1, 88, -1, -1, -1, 70, -1, 163, 1483, -1,
+ 1457, 1486, -1, 1488, 1489, 1490, -1, 1492, -1, -1,
+ -1, -1, 178, -1, 8, -1, -1, -1, -1, 13,
+ -1, -1, 860, -1, 1509, -1, 1511, -1, -1, -1,
+ 1515, -1, -1, 13, -1, -1, 874, -1, -1, -1,
+ 206, -1, -1, -1, -1, 211, 212, 213, 214, 215,
+ 216, 217, 890, -1, -1, -1, -1, -1, 52, 225,
+ -1, 1518, -1, 901, 58, -1, 163, -1, -1, -1,
+ 64, -1, -1, -1, -1, -1, 70, -1, 58, -1,
+ -1, 178, 1567, -1, 64, -1, 924, 81, 163, -1,
+ 70, -1, -1, -1, 88, -1, 1146, -1, -1, -1,
+ -1, -1, -1, 178, -1, -1, -1, -1, -1, 206,
+ -1, -1, -1, -1, 211, 212, 213, 214, 215, 216,
+ 217, 637, 638, 639, 640, -1, -1, 224, 225, -1,
+ -1, 206, -1, -1, 1619, -1, 1621, 212, 213, 214,
+ 215, 216, 217, 1193, -1, -1, -1, -1, -1, -1,
+ 225, 1201, 1202, -1, -1, 1205, -1, 1207, -1, 1644,
+ 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, -1, 163,
+ 1220, -1, -1, -1, -1, -1, 1226, -1, -1, -1,
+ -1, -1, -1, 163, 178, 1235, 1236, 1237, 1238, 1239,
+ 1240, -1, 708, 709, 710, 711, 712, -1, 178, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 725,
+ -1, -1, 206, -1, -1, -1, -1, 211, 212, 213,
+ 214, 215, 216, 217, -1, -1, 206, -1, -1, -1,
+ -1, 225, 212, 213, 214, 215, 216, 217, -1, -1,
+ -1, -1, -1, -1, -1, 225, -1, -1, -1, 1299,
+ 1088, 1089, 1090, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 1374, -1,
- -1, -1, -1, -1, -1, -1, -1, 1383, 1384, 1385,
- 1386, 1387, 1388, 1389, 1390, -1, 1392, -1, -1, -1,
- 3, 4, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 17, 18, 19, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
- -1, 34, 35, 1429, -1, -1, -1, -1, 41, -1,
- -1, -1, 45, 46, 47, -1, 49, -1, -1, -1,
- -1, 1447, -1, -1, 57, -1, -1, 60, 1454, 62,
- 1456, -1, -1, 66, 67, -1, -1, -1, -1, 72,
- 73, 74, -1, 76, -1, 78, 79, -1, 81, 82,
- 83, 84, -1, 86, 87, -1, -1, -1, -1, 92,
- -1, -1, 95, 96, -1, -1, 99, -1, 101, -1,
- -1, -1, 105, 106, -1, -1, 109, -1, 111, 112,
- 113, 114, 1508, -1, 1510, 118, 119, -1, -1, -1,
- 123, 1517, -1, 126, -1, -1, -1, -1, -1, 132,
- 133, 134, 135, -1, 137, 138, -1, 140, 141, -1,
- 143, -1, -1, 146, 147, 148, 149, 150, -1, 152,
- 153, -1, -1, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, -1, -1, 167, -1, 169, 170, -1, 172,
- 173, 174, -1, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
- 193, 194, 195, 196, 197, -1, -1, -1, 201, -1,
- 203, 204, 205, 206, 207, 208, 209, 3, 4, -1,
- -1, -1, 215, 216, -1, 218, 219, 220, -1, -1,
- -1, 17, 18, 19, 227, 228, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- -1, -1, -1, -1, -1, 41, -1, -1, -1, 45,
- 46, 47, -1, 49, -1, -1, -1, -1, -1, -1,
- -1, 57, -1, -1, 60, -1, 62, -1, -1, -1,
- 66, 67, -1, -1, -1, -1, 72, 73, 74, -1,
- 76, -1, 78, 79, -1, 81, 82, 83, 84, -1,
- 86, 87, -1, -1, -1, -1, 92, -1, -1, 95,
- 96, -1, -1, 99, -1, 101, -1, -1, -1, 105,
- 106, -1, -1, 109, -1, 111, 112, 113, 114, -1,
- -1, -1, 118, 119, -1, -1, -1, 123, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1117,
+ 796, -1, -1, -1, -1, -1, -1, -1, 1338, 1127,
+ 1128, 1129, -1, -1, -1, -1, -1, -1, 1348, -1,
+ -1, -1, -1, -1, 1354, -1, 1356, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1375, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1384, 1385, 1386, 1387, 1388, 1389,
+ 1390, 1391, -1, 1393, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 871, 872, -1, -1, -1,
+ -1, -1, -1, -1, 880, 881, 882, 883, 884, 885,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1448, -1,
+ -1, -1, -1, 919, -1, 1455, 922, 1457, -1, -1,
+ -1, 18, 19, -1, -1, 931, 932, 933, 934, 935,
+ 936, -1, -1, -1, 940, -1, -1, 34, 35, -1,
+ -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
+ -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
+ 57, -1, -1, -1, -1, 62, -1, -1, -1, 1509,
+ -1, 1511, -1, -1, -1, -1, 73, 74, 1518, 76,
+ -1, 78, -1, -1, -1, -1, 83, -1, 3, 4,
+ -1, -1, -1, -1, -1, 1001, -1, 1003, 1004, 1005,
+ 1006, 1007, 1008, 18, 19, 1333, -1, -1, -1, 106,
+ -1, -1, -1, -1, 111, 112, -1, -1, -1, 34,
+ 35, 1027, -1, -1, -1, -1, 41, -1, -1, 126,
+ -1, -1, -1, -1, 49, 132, -1, -1, 135, -1,
+ -1, -1, 57, -1, -1, 60, -1, -1, -1, -1,
+ -1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
+ -1, 76, -1, 78, 79, -1, -1, -1, 83, 84,
+ -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
+ 95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
+ 105, 106, -1, 190, 191, -1, 111, -1, 113, 114,
+ -1, -1, -1, -1, -1, -1, -1, 204, -1, -1,
+ -1, 126, -1, -1, -1, -1, -1, 132, 133, 134,
+ 135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
+ -1, 146, 147, 148, 149, 150, -1, 152, 153, 1145,
+ 1146, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ -1, -1, 167, -1, 169, 170, -1, -1, 173, 174,
+ -1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
+ -1, 186, 187, 188, 189, 190, -1, -1, 193, 194,
+ 195, 196, 197, -1, -1, -1, 201, 1193, 203, 204,
+ -1, -1, 8, -1, 10, 1201, 1202, 13, -1, 1205,
+ -1, 1207, -1, -1, 1210, 1211, 1212, 1213, 1214, 1215,
+ 1216, 1217, -1, 228, 1220, -1, -1, -1, -1, 1547,
+ 1226, -1, -1, -1, -1, -1, -1, -1, -1, 1235,
+ 1236, 1237, 1238, 1239, 1240, -1, -1, -1, 1566, -1,
+ -1, -1, 58, -1, -1, -1, -1, -1, 64, -1,
+ -1, -1, -1, -1, 70, -1, -1, -1, 18, 19,
+ -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
+ -1, -1, 88, 1601, 34, 35, -1, -1, -1, -1,
+ -1, 41, -1, -1, -1, -1, -1, -1, -1, 49,
+ -1, -1, -1, 1299, -1, -1, -1, 57, -1, -1,
+ -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 73, 74, -1, 76, -1, 78, -1,
+ -1, -1, -1, 83, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1338, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1348, -1, -1, -1, 106, 163, 1354, -1,
+ 1356, 111, 112, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 178, -1, -1, -1, 126, -1, -1, 1375,
+ -1, -1, 132, -1, -1, 135, -1, -1, 1384, 1385,
+ 1386, 1387, 1388, 1389, 1390, 1391, -1, 1393, -1, -1,
+ 206, 3, 4, -1, -1, 211, 212, 213, 214, 215,
+ 216, 217, -1, -1, -1, 17, 18, 19, -1, 225,
+ -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
+ 32, -1, 34, 35, -1, 1431, -1, -1, -1, 41,
+ -1, 191, -1, 45, 46, 47, -1, 49, -1, -1,
+ -1, -1, 1448, -1, 204, 57, -1, -1, 60, 1455,
+ 62, 1457, -1, -1, 66, 67, -1, -1, -1, -1,
+ 72, 73, 74, -1, 76, -1, 78, 79, -1, 81,
+ 82, 83, 84, -1, 86, 87, -1, -1, -1, -1,
+ 92, -1, -1, 95, 96, -1, -1, 99, -1, 101,
+ -1, -1, -1, 105, 106, -1, -1, 109, -1, 111,
+ 112, 113, 114, 1509, -1, 1511, 118, 119, -1, -1,
+ -1, 123, 1518, -1, 126, -1, -1, -1, -1, -1,
+ 132, 133, 134, 135, -1, 137, 138, -1, 140, 141,
+ -1, 143, -1, -1, 146, 147, 148, 149, 150, -1,
+ 152, 153, -1, -1, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, -1, -1, 167, -1, 169, 170, -1,
+ 172, 173, 174, -1, 176, -1, 178, 179, 180, 181,
+ 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
+ -1, 193, 194, 195, 196, 197, -1, -1, -1, 201,
+ -1, 203, 204, 205, 206, 207, 208, 209, 3, 4,
+ -1, -1, -1, 215, 216, -1, 218, 219, 220, -1,
+ -1, -1, 17, 18, 19, 227, 228, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
+ 35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
+ 45, 46, 47, -1, 49, -1, -1, -1, -1, -1,
+ -1, -1, 57, -1, -1, 60, -1, 62, -1, -1,
+ -1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
+ -1, 76, -1, 78, 79, -1, 81, 82, 83, 84,
+ -1, 86, 87, -1, -1, -1, -1, 92, -1, -1,
+ 95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
+ 105, 106, -1, -1, 109, -1, 111, 112, 113, 114,
+ -1, -1, -1, 118, 119, -1, -1, -1, 123, -1,
+ -1, 126, -1, -1, -1, -1, -1, 132, 133, 134,
+ 135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
+ -1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
+ -1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ -1, -1, 167, -1, 169, 170, -1, 172, 173, 174,
+ -1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
+ -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
+ 195, 196, 197, -1, -1, -1, 201, -1, 203, 204,
+ 205, 206, 207, 208, 209, 3, 4, -1, -1, -1,
+ 215, -1, -1, 218, 219, 220, -1, -1, -1, 17,
+ 18, 19, 227, 228, -1, -1, -1, -1, -1, -1,
+ 28, 29, 30, 31, 32, -1, 34, 35, -1, -1,
+ -1, -1, -1, 41, -1, -1, -1, 45, 46, 47,
+ -1, 49, -1, -1, -1, -1, -1, -1, -1, 57,
+ -1, -1, 60, -1, 62, -1, -1, -1, 66, 67,
+ -1, -1, -1, -1, 72, 73, 74, -1, 76, -1,
+ 78, 79, -1, 81, 82, 83, 84, -1, 86, 87,
+ -1, -1, -1, -1, 92, -1, -1, 95, 96, -1,
+ -1, 99, -1, 101, -1, -1, -1, 105, 106, -1,
+ -1, 109, -1, 111, 112, 113, 114, -1, -1, -1,
+ 118, 119, -1, -1, -1, 123, -1, -1, 126, -1,
+ -1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
+ 138, -1, 140, 141, -1, 143, -1, -1, 146, 147,
+ 148, 149, 150, -1, 152, 153, -1, -1, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, -1, -1, 167,
+ -1, 169, 170, -1, 172, 173, 174, -1, 176, -1,
+ 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
+ 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
+ -1, -1, -1, 201, -1, 203, 204, 205, 206, 207,
+ 208, 209, 3, 4, -1, -1, -1, 215, -1, -1,
+ 218, 219, 220, -1, -1, -1, 17, 18, 19, 227,
+ 228, -1, -1, -1, -1, -1, -1, -1, 29, 30,
+ 31, 32, -1, 34, 35, -1, -1, -1, -1, -1,
+ 41, -1, -1, -1, -1, -1, 47, -1, 49, -1,
+ -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
+ -1, 62, -1, -1, -1, 66, 67, -1, -1, -1,
+ -1, 72, 73, 74, -1, 76, -1, 78, 79, -1,
+ -1, -1, 83, 84, -1, 86, 87, -1, -1, -1,
+ -1, -1, -1, -1, 95, 96, -1, -1, 99, -1,
+ 101, -1, -1, -1, 105, 106, -1, -1, -1, -1,
+ 111, 112, 113, 114, -1, -1, -1, -1, 119, -1,
+ -1, -1, 123, -1, -1, 126, -1, -1, -1, -1,
+ -1, 132, 133, 134, 135, -1, 137, 138, -1, 140,
+ 141, -1, 143, -1, -1, 146, 147, 148, 149, 150,
+ -1, 152, 153, -1, -1, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, -1, -1, 167, -1, 169, 170,
+ -1, -1, 173, 174, -1, 176, -1, 178, 179, 180,
+ 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
+ 191, -1, 193, 194, 195, 196, 197, 3, 4, -1,
+ 201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
+ -1, 17, 18, 19, 215, -1, -1, 218, 219, 220,
+ -1, -1, -1, -1, 110, -1, 227, 228, 34, 35,
+ -1, -1, -1, -1, -1, 41, -1, 123, -1, -1,
+ -1, 47, 128, 49, -1, -1, -1, -1, 134, 135,
+ -1, 57, 138, -1, 60, -1, 62, -1, -1, -1,
+ 66, 67, -1, 149, -1, -1, 72, 73, 74, -1,
+ 76, 157, 78, 79, 160, 81, 82, 83, 84, -1,
+ 86, 87, -1, -1, -1, -1, -1, -1, -1, 95,
+ 96, -1, -1, 99, 180, 101, 182, -1, -1, 105,
+ 106, -1, 188, 189, -1, 111, 112, 113, 114, -1,
+ -1, -1, -1, 119, -1, -1, -1, -1, -1, -1,
126, -1, -1, -1, -1, -1, 132, 133, 134, 135,
-1, 137, 138, -1, 140, 141, -1, 143, -1, -1,
146, 147, 148, 149, 150, -1, 152, 153, -1, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
- -1, 167, -1, 169, 170, -1, 172, 173, 174, -1,
+ -1, 167, -1, 169, 170, -1, -1, 173, 174, -1,
176, -1, 178, 179, 180, 181, 182, 183, 184, -1,
186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, -1, -1, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, 3, 4, -1, -1, -1, 215,
- -1, -1, 218, 219, 220, -1, -1, -1, 17, 18,
+ -1, -1, 218, 219, 220, 14, -1, -1, 17, 18,
19, 227, 228, -1, -1, -1, -1, -1, -1, 28,
29, 30, 31, 32, -1, 34, 35, -1, -1, -1,
-1, -1, 41, -1, -1, -1, 45, 46, 47, -1,
- 49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
- -1, 60, -1, 62, -1, -1, -1, 66, 67, -1,
+ 49, -1, -1, 52, -1, -1, -1, -1, 57, -1,
+ -1, 60, -1, 62, -1, -1, -1, 66, 67, 68,
-1, -1, -1, 72, 73, 74, -1, 76, -1, 78,
79, -1, 81, 82, 83, 84, -1, 86, 87, -1,
-1, -1, -1, 92, -1, -1, 95, 96, -1, -1,
99, -1, 101, -1, -1, -1, 105, 106, -1, -1,
- 109, -1, 111, 112, 113, 114, -1, -1, -1, 118,
+ 109, -1, 111, 112, 113, 114, -1, 116, -1, 118,
119, -1, -1, -1, 123, -1, -1, 126, -1, -1,
-1, -1, -1, 132, 133, 134, 135, -1, 137, 138,
-1, 140, 141, -1, 143, -1, -1, 146, 147, 148,
@@ -3390,149 +3463,174 @@ static const short yycheck[] = { 3,
189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
-1, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, 3, 4, -1, -1, -1, 215, -1, -1, 218,
- 219, 220, -1, -1, -1, 17, 18, 19, 227, 228,
- -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
+ 219, 220, 14, -1, -1, 17, 18, 19, 227, -1,
+ -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
32, -1, 34, 35, -1, -1, -1, -1, -1, 41,
- -1, -1, -1, -1, -1, 47, -1, 49, -1, -1,
- -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
- 62, -1, -1, -1, 66, 67, -1, -1, -1, -1,
- 72, 73, 74, -1, 76, -1, 78, 79, -1, -1,
- -1, 83, 84, -1, 86, 87, -1, -1, -1, -1,
- -1, -1, -1, 95, 96, -1, -1, 99, -1, 101,
- -1, -1, -1, 105, 106, -1, -1, -1, -1, 111,
- 112, 113, 114, -1, -1, -1, -1, 119, -1, -1,
+ -1, -1, -1, 45, 46, 47, -1, 49, -1, -1,
+ 52, -1, -1, -1, -1, 57, -1, -1, 60, -1,
+ 62, -1, -1, -1, 66, 67, 68, -1, -1, -1,
+ 72, 73, 74, -1, 76, -1, 78, 79, -1, 81,
+ 82, 83, 84, -1, 86, 87, -1, -1, -1, -1,
+ 92, -1, -1, 95, 96, -1, -1, 99, -1, 101,
+ -1, -1, -1, 105, 106, -1, -1, 109, -1, 111,
+ 112, 113, 114, -1, 116, -1, 118, 119, -1, -1,
-1, 123, -1, -1, 126, -1, -1, -1, -1, -1,
132, 133, 134, 135, -1, 137, 138, -1, 140, 141,
-1, 143, -1, -1, 146, 147, 148, 149, 150, -1,
152, 153, -1, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, -1, -1, 167, -1, 169, 170, -1,
- -1, 173, 174, -1, 176, -1, 178, 179, 180, 181,
+ 172, 173, 174, -1, 176, -1, 178, 179, 180, 181,
182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
- -1, 193, 194, 195, 196, 197, 3, 4, -1, 201,
- -1, 203, 204, 205, 206, 207, 208, 209, -1, -1,
- 17, 18, 19, 215, -1, -1, 218, 219, 220, -1,
- -1, -1, -1, -1, -1, 227, 228, 34, 35, -1,
- -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
- 47, -1, 49, -1, -1, -1, -1, -1, -1, -1,
- 57, -1, -1, 60, -1, 62, -1, -1, -1, 66,
- 67, -1, -1, -1, -1, 72, 73, 74, -1, 76,
- -1, 78, 79, -1, 81, 82, 83, 84, -1, 86,
- 87, -1, -1, -1, -1, -1, -1, -1, 95, 96,
- -1, -1, 99, -1, 101, -1, -1, -1, 105, 106,
- -1, -1, -1, -1, 111, 112, 113, 114, -1, -1,
- -1, -1, 119, -1, -1, -1, -1, -1, -1, 126,
- -1, -1, -1, -1, -1, 132, 133, 134, 135, -1,
- 137, 138, -1, 140, 141, -1, 143, -1, -1, 146,
- 147, 148, 149, 150, -1, 152, 153, -1, -1, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, -1, -1,
- 167, -1, 169, 170, -1, -1, 173, 174, -1, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, -1, 186,
- 187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
- 197, 3, 4, -1, 201, -1, 203, 204, 205, 206,
- 207, 208, 209, -1, -1, -1, 18, 19, 215, -1,
- -1, 218, 219, 220, -1, -1, -1, -1, -1, -1,
- 227, 228, 34, 35, -1, -1, -1, -1, -1, 41,
- -1, -1, -1, -1, -1, -1, -1, 49, -1, -1,
+ -1, 193, 194, 195, 196, 197, -1, -1, -1, 201,
+ -1, 203, 204, 205, 206, 207, 208, 209, 3, 4,
+ -1, -1, -1, 215, -1, -1, 218, 219, 220, 14,
+ -1, -1, 17, 18, 19, 227, -1, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
+ 35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
+ 45, 46, 47, -1, 49, -1, -1, 52, -1, -1,
+ -1, -1, 57, -1, -1, 60, -1, 62, -1, -1,
+ -1, 66, 67, 68, -1, -1, -1, 72, 73, 74,
+ -1, 76, -1, 78, 79, -1, 81, 82, 83, 84,
+ -1, 86, 87, -1, -1, -1, -1, 92, -1, -1,
+ 95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
+ 105, 106, -1, -1, 109, -1, 111, 112, 113, 114,
+ -1, 116, -1, 118, 119, -1, -1, -1, 123, -1,
+ -1, 126, -1, -1, -1, -1, -1, 132, 133, 134,
+ 135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
+ -1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
+ -1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ -1, -1, 167, -1, 169, 170, -1, 172, 173, 174,
+ -1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
+ -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
+ 195, 196, 197, -1, -1, -1, 201, -1, 203, 204,
+ 205, 206, 207, 208, 209, 3, 4, -1, -1, -1,
+ 215, -1, -1, 218, 219, 220, -1, -1, -1, 17,
+ 18, 19, 227, -1, -1, -1, -1, -1, -1, -1,
+ 28, 29, 30, 31, 32, -1, 34, 35, -1, -1,
+ -1, -1, -1, 41, -1, -1, -1, 45, 46, 47,
+ -1, 49, -1, -1, -1, -1, -1, -1, -1, 57,
+ -1, -1, 60, -1, 62, -1, -1, -1, 66, 67,
+ -1, -1, -1, -1, 72, 73, 74, -1, 76, -1,
+ 78, 79, -1, 81, 82, 83, 84, -1, 86, 87,
+ -1, -1, -1, -1, 92, -1, -1, 95, 96, -1,
+ -1, 99, -1, 101, -1, -1, -1, 105, 106, -1,
+ -1, 109, -1, 111, 112, 113, 114, -1, -1, -1,
+ 118, 119, -1, -1, -1, 123, -1, -1, 126, -1,
+ -1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
+ 138, -1, 140, 141, -1, 143, -1, -1, 146, 147,
+ 148, 149, 150, -1, 152, 153, -1, -1, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, -1, -1, 167,
+ -1, 169, 170, -1, 172, 173, 174, -1, 176, -1,
+ 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
+ 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
+ -1, -1, -1, 201, -1, 203, 204, 205, 206, 207,
+ 208, 209, -1, -1, -1, -1, -1, 215, 216, -1,
+ 218, 219, 220, -1, 3, 4, -1, 6, -1, 227,
+ 9, -1, -1, -1, -1, -1, -1, -1, 17, 18,
+ 19, -1, -1, -1, -1, -1, -1, -1, -1, 28,
+ 29, 30, 31, 32, -1, 34, 35, -1, -1, -1,
+ -1, -1, 41, -1, -1, -1, 45, 46, 47, -1,
+ 49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
+ -1, 60, -1, 62, -1, -1, -1, 66, 67, -1,
+ -1, -1, -1, 72, 73, 74, -1, 76, -1, 78,
+ 79, -1, 81, -1, 83, 84, -1, 86, 87, -1,
+ -1, -1, -1, 92, -1, -1, 95, 96, -1, -1,
+ 99, -1, 101, -1, -1, -1, 105, 106, -1, -1,
+ 109, -1, 111, 112, 113, 114, -1, -1, -1, 118,
+ 119, -1, -1, -1, 123, -1, -1, 126, -1, -1,
+ -1, -1, -1, 132, 133, 134, 135, -1, 137, 138,
+ -1, 140, 141, -1, 143, -1, -1, 146, 147, 148,
+ 149, 150, -1, 152, 153, -1, -1, 156, 157, 158,
+ 159, 160, 161, 162, 163, 164, -1, -1, 167, -1,
+ 169, 170, -1, 172, 173, 174, -1, 176, -1, 178,
+ 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
+ 189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
+ -1, -1, 201, -1, 203, 204, 205, 206, 207, 208,
+ 209, 3, 4, -1, 6, -1, 215, 9, -1, 218,
+ 219, 220, -1, -1, -1, 17, 18, 19, 227, -1,
+ -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
+ 32, -1, 34, 35, -1, -1, -1, -1, -1, 41,
+ -1, -1, -1, 45, 46, 47, -1, 49, -1, -1,
-1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
- -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
- 72, 73, 74, -1, 76, -1, 78, 79, -1, -1,
+ 62, -1, -1, -1, 66, 67, -1, -1, -1, -1,
+ 72, 73, 74, -1, 76, -1, 78, 79, -1, 81,
-1, 83, 84, -1, 86, 87, -1, -1, -1, -1,
- -1, -1, -1, 95, 96, -1, -1, 99, -1, 101,
- -1, -1, -1, 105, 106, -1, -1, -1, -1, 111,
- -1, 113, 114, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
+ 92, -1, -1, 95, 96, -1, -1, 99, -1, 101,
+ -1, -1, -1, 105, 106, -1, -1, 109, -1, 111,
+ 112, 113, 114, -1, -1, -1, 118, 119, -1, -1,
+ -1, 123, -1, -1, 126, -1, -1, -1, -1, -1,
132, 133, 134, 135, -1, 137, 138, -1, 140, 141,
-1, 143, -1, -1, 146, 147, 148, 149, 150, -1,
152, 153, -1, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, -1, -1, 167, -1, 169, 170, -1,
- -1, 173, 174, -1, 176, -1, 178, 179, 180, 181,
- 182, 183, 184, -1, 186, 187, 188, 189, 190, 3,
- 4, 193, 194, 195, 196, 197, -1, -1, -1, 201,
- 14, 203, 204, 17, 18, 19, -1, -1, -1, -1,
- -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
- 34, 35, -1, -1, -1, -1, 228, 41, -1, -1,
- -1, 45, 46, 47, -1, 49, -1, -1, 52, -1,
- -1, -1, -1, 57, -1, -1, 60, -1, 62, -1,
- -1, -1, 66, 67, 68, -1, -1, -1, 72, 73,
- 74, -1, 76, -1, 78, 79, -1, 81, 82, 83,
- 84, -1, 86, 87, -1, -1, -1, -1, 92, -1,
- -1, 95, 96, -1, -1, 99, -1, 101, -1, -1,
- -1, 105, 106, -1, -1, 109, -1, 111, 112, 113,
- 114, -1, 116, -1, 118, 119, -1, -1, -1, 123,
- -1, -1, 126, -1, -1, -1, -1, -1, 132, 133,
- 134, 135, -1, 137, 138, -1, 140, 141, -1, 143,
- -1, -1, 146, 147, 148, 149, 150, -1, 152, 153,
- -1, -1, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, -1, 167, -1, 169, 170, -1, 172, 173,
- 174, -1, 176, -1, 178, 179, 180, 181, 182, 183,
- 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
- 194, 195, 196, 197, -1, -1, -1, 201, -1, 203,
- 204, 205, 206, 207, 208, 209, 3, 4, -1, -1,
- -1, 215, -1, -1, 218, 219, 220, 14, -1, -1,
- 17, 18, 19, 227, -1, -1, -1, -1, -1, -1,
- -1, 28, 29, 30, 31, 32, -1, 34, 35, -1,
- -1, -1, -1, -1, 41, -1, -1, -1, 45, 46,
- 47, -1, 49, -1, -1, 52, -1, -1, -1, -1,
- 57, -1, -1, 60, -1, 62, -1, -1, -1, 66,
- 67, 68, -1, -1, -1, 72, 73, 74, -1, 76,
- -1, 78, 79, -1, 81, 82, 83, 84, -1, 86,
- 87, -1, -1, -1, -1, 92, -1, -1, 95, 96,
- -1, -1, 99, -1, 101, -1, -1, -1, 105, 106,
- -1, -1, 109, -1, 111, 112, 113, 114, -1, 116,
- -1, 118, 119, -1, -1, -1, 123, -1, -1, 126,
- -1, -1, -1, -1, -1, 132, 133, 134, 135, -1,
- 137, 138, -1, 140, 141, -1, 143, -1, -1, 146,
- 147, 148, 149, 150, -1, 152, 153, -1, -1, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, -1, -1,
- 167, -1, 169, 170, -1, 172, 173, 174, -1, 176,
- -1, 178, 179, 180, 181, 182, 183, 184, -1, 186,
- 187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
- 197, -1, -1, -1, 201, -1, 203, 204, 205, 206,
- 207, 208, 209, 3, 4, -1, -1, -1, 215, -1,
- -1, 218, 219, 220, 14, -1, -1, 17, 18, 19,
- 227, -1, -1, -1, -1, -1, -1, -1, 28, 29,
- 30, 31, 32, -1, 34, 35, -1, -1, -1, -1,
- -1, 41, -1, -1, -1, 45, 46, 47, -1, 49,
- -1, -1, 52, -1, -1, -1, -1, 57, -1, -1,
- 60, -1, 62, -1, -1, -1, 66, 67, 68, -1,
- -1, -1, 72, 73, 74, -1, 76, -1, 78, 79,
- -1, 81, 82, 83, 84, -1, 86, 87, -1, -1,
- -1, -1, 92, -1, -1, 95, 96, -1, -1, 99,
- -1, 101, -1, -1, -1, 105, 106, -1, -1, 109,
- -1, 111, 112, 113, 114, -1, 116, -1, 118, 119,
- -1, -1, -1, 123, -1, -1, 126, -1, -1, -1,
- -1, -1, 132, 133, 134, 135, -1, 137, 138, -1,
- 140, 141, -1, 143, -1, -1, 146, 147, 148, 149,
- 150, -1, 152, 153, -1, -1, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, -1, -1, 167, -1, 169,
- 170, -1, 172, 173, 174, -1, 176, -1, 178, 179,
- 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
- 190, 191, -1, 193, 194, 195, 196, 197, -1, -1,
- -1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
- 3, 4, -1, -1, -1, 215, -1, -1, 218, 219,
- 220, -1, -1, -1, 17, 18, 19, 227, -1, -1,
- -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
- -1, 34, 35, -1, -1, -1, -1, -1, 41, -1,
- -1, -1, 45, 46, 47, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, 57, -1, -1, 60, -1, 62,
- -1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
- 73, 74, -1, 76, -1, 78, 79, -1, 81, 82,
- 83, 84, -1, 86, 87, -1, -1, -1, -1, 92,
- -1, -1, 95, 96, -1, -1, 99, -1, 101, -1,
- -1, -1, 105, 106, -1, -1, 109, -1, 111, 112,
- 113, 114, -1, -1, -1, 118, 119, -1, -1, -1,
- 123, -1, -1, 126, -1, -1, -1, -1, -1, 132,
- 133, 134, 135, -1, 137, 138, -1, 140, 141, -1,
- 143, -1, -1, 146, 147, 148, 149, 150, -1, 152,
- 153, -1, -1, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, -1, -1, 167, -1, 169, 170, -1, 172,
- 173, 174, -1, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
- 193, 194, 195, 196, 197, -1, -1, -1, 201, -1,
- 203, 204, 205, 206, 207, 208, 209, -1, -1, -1,
- -1, -1, 215, 216, -1, 218, 219, 220, -1, 3,
- 4, -1, 6, -1, 227, 9, -1, -1, -1, -1,
- -1, -1, -1, 17, 18, 19, -1, -1, -1, -1,
+ 172, 173, 174, -1, 176, -1, 178, 179, 180, 181,
+ 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
+ -1, 193, 194, 195, 196, 197, -1, -1, -1, 201,
+ -1, 203, 204, 205, 206, 207, 208, 209, 3, 4,
+ -1, 6, -1, 215, 9, -1, 218, 219, 220, -1,
+ -1, -1, 17, 18, 19, 227, -1, -1, -1, -1,
+ -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
+ 35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
+ 45, 46, 47, -1, 49, -1, -1, -1, -1, -1,
+ -1, -1, 57, -1, -1, 60, -1, 62, -1, -1,
+ -1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
+ -1, 76, -1, 78, 79, -1, 81, -1, 83, 84,
+ -1, 86, 87, -1, -1, -1, -1, 92, -1, -1,
+ 95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
+ 105, 106, -1, -1, 109, -1, 111, 112, 113, 114,
+ -1, -1, -1, 118, 119, -1, -1, -1, 123, -1,
+ -1, 126, -1, -1, -1, -1, -1, 132, 133, 134,
+ 135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
+ -1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
+ -1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ -1, -1, 167, -1, 169, 170, -1, 172, 173, 174,
+ -1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
+ -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
+ 195, 196, 197, -1, -1, -1, 201, -1, 203, 204,
+ 205, 206, 207, 208, 209, 3, 4, -1, 6, -1,
+ 215, 9, -1, 218, 219, 220, -1, -1, -1, 17,
+ 18, 19, 227, -1, -1, -1, -1, -1, -1, -1,
+ 28, 29, 30, 31, 32, -1, 34, 35, -1, -1,
+ -1, -1, -1, 41, -1, -1, -1, 45, 46, 47,
+ -1, 49, -1, -1, -1, -1, -1, -1, -1, 57,
+ -1, -1, 60, -1, 62, -1, -1, -1, 66, 67,
+ -1, -1, -1, -1, 72, 73, 74, -1, 76, -1,
+ 78, 79, -1, 81, -1, 83, 84, -1, 86, 87,
+ -1, -1, -1, -1, 92, -1, -1, 95, 96, -1,
+ -1, 99, -1, 101, -1, -1, -1, 105, 106, -1,
+ -1, 109, -1, 111, 112, 113, 114, -1, -1, -1,
+ 118, 119, -1, -1, -1, 123, -1, -1, 126, -1,
+ -1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
+ 138, -1, 140, 141, -1, 143, -1, -1, 146, 147,
+ 148, 149, 150, -1, 152, 153, -1, -1, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, -1, -1, 167,
+ -1, 169, 170, -1, 172, 173, 174, -1, 176, -1,
+ 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
+ 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
+ -1, -1, -1, 201, -1, 203, 204, 205, 206, 207,
+ 208, 209, 3, 4, -1, 6, -1, 215, 9, -1,
+ 218, 219, 220, -1, -1, -1, 17, 18, 19, 227,
+ -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
+ 31, 32, -1, 34, 35, -1, -1, -1, -1, -1,
+ 41, -1, -1, -1, 45, 46, 47, -1, 49, -1,
+ -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
+ -1, 62, -1, -1, -1, 66, 67, -1, -1, -1,
+ -1, 72, 73, 74, -1, 76, -1, 78, 79, -1,
+ 81, -1, 83, 84, -1, 86, 87, -1, -1, -1,
+ -1, 92, -1, -1, 95, 96, -1, -1, 99, -1,
+ 101, -1, -1, -1, 105, 106, -1, -1, 109, -1,
+ 111, 112, 113, 114, -1, -1, -1, 118, 119, -1,
+ -1, -1, 123, -1, -1, 126, -1, -1, -1, -1,
+ -1, 132, 133, 134, 135, -1, 137, 138, -1, 140,
+ 141, -1, 143, -1, -1, 146, 147, 148, 149, 150,
+ -1, 152, 153, -1, -1, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, -1, -1, 167, -1, 169, 170,
+ -1, 172, 173, 174, -1, 176, -1, 178, 179, 180,
+ 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
+ 191, -1, 193, 194, 195, 196, 197, -1, -1, -1,
+ 201, -1, 203, 204, 205, 206, 207, 208, 209, 3,
+ 4, -1, 6, -1, 215, 9, -1, 218, 219, 220,
+ -1, -1, -1, 17, 18, 19, 227, -1, -1, -1,
-1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
34, 35, -1, -1, -1, -1, -1, 41, -1, -1,
-1, 45, 46, 47, -1, 49, -1, -1, -1, -1,
@@ -3572,15 +3670,15 @@ static const short yycheck[] = { 3,
-1, 178, 179, 180, 181, 182, 183, 184, -1, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, -1, -1, -1, 201, -1, 203, 204, 205, 206,
- 207, 208, 209, 3, 4, -1, 6, -1, 215, 9,
+ 207, 208, 209, 3, 4, -1, -1, -1, 215, -1,
-1, 218, 219, 220, -1, -1, -1, 17, 18, 19,
227, -1, -1, -1, -1, -1, -1, -1, 28, 29,
30, 31, 32, -1, 34, 35, -1, -1, -1, -1,
-1, 41, -1, -1, -1, 45, 46, 47, -1, 49,
- -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
+ -1, -1, 52, -1, -1, -1, -1, 57, -1, -1,
60, -1, 62, -1, -1, -1, 66, 67, -1, -1,
-1, -1, 72, 73, 74, -1, 76, -1, 78, 79,
- -1, 81, -1, 83, 84, -1, 86, 87, -1, -1,
+ -1, 81, 82, 83, 84, -1, 86, 87, -1, -1,
-1, -1, 92, -1, -1, 95, 96, -1, -1, 99,
-1, 101, -1, -1, -1, 105, 106, -1, -1, 109,
-1, 111, 112, 113, 114, -1, -1, -1, 118, 119,
@@ -3593,17 +3691,17 @@ static const short yycheck[] = { 3,
180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, -1, -1,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
- 3, 4, -1, 6, -1, 215, 9, -1, 218, 219,
+ 3, 4, -1, -1, -1, 215, -1, -1, 218, 219,
220, -1, -1, -1, 17, 18, 19, 227, -1, -1,
-1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
-1, 34, 35, -1, -1, -1, -1, -1, 41, -1,
-1, -1, 45, 46, 47, -1, 49, -1, -1, -1,
-1, -1, -1, -1, 57, -1, -1, 60, -1, 62,
-1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
- 73, 74, -1, 76, -1, 78, 79, -1, 81, -1,
+ 73, 74, -1, 76, -1, 78, 79, -1, 81, 82,
83, 84, -1, 86, 87, -1, -1, -1, -1, 92,
-1, -1, 95, 96, -1, -1, 99, -1, 101, -1,
- -1, -1, 105, 106, -1, -1, 109, -1, 111, 112,
+ -1, -1, 105, 106, 107, -1, 109, -1, 111, 112,
113, 114, -1, -1, -1, 118, 119, -1, -1, -1,
123, -1, -1, 126, -1, -1, -1, -1, -1, 132,
133, 134, 135, -1, 137, 138, -1, 140, 141, -1,
@@ -3614,14 +3712,14 @@ static const short yycheck[] = { 3,
183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, -1, -1, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, 3, 4, -1,
- 6, -1, 215, 9, -1, 218, 219, 220, -1, -1,
+ -1, -1, 215, -1, -1, 218, 219, 220, -1, -1,
-1, 17, 18, 19, 227, -1, -1, -1, -1, -1,
-1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
-1, -1, -1, -1, -1, 41, -1, -1, -1, 45,
46, 47, -1, 49, -1, -1, -1, -1, -1, -1,
-1, 57, -1, -1, 60, -1, 62, -1, -1, -1,
66, 67, -1, -1, -1, -1, 72, 73, 74, -1,
- 76, -1, 78, 79, -1, 81, -1, 83, 84, -1,
+ 76, -1, 78, 79, -1, 81, 82, 83, 84, -1,
86, 87, -1, -1, -1, -1, 92, -1, -1, 95,
96, -1, -1, 99, -1, 101, -1, -1, -1, 105,
106, -1, -1, 109, -1, 111, 112, 113, 114, -1,
@@ -3642,7 +3740,7 @@ static const short yycheck[] = { 3,
49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
-1, 60, -1, 62, -1, -1, -1, 66, 67, -1,
-1, -1, -1, 72, 73, 74, -1, 76, -1, 78,
- 79, -1, 81, -1, 83, 84, -1, 86, 87, -1,
+ 79, -1, -1, -1, 83, 84, -1, 86, 87, -1,
-1, -1, -1, 92, -1, -1, 95, 96, -1, -1,
99, -1, 101, -1, -1, -1, 105, 106, -1, -1,
109, -1, 111, 112, 113, 114, -1, -1, -1, 118,
@@ -3655,7 +3753,7 @@ static const short yycheck[] = { 3,
179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
-1, -1, 201, -1, 203, 204, 205, 206, 207, 208,
- 209, 3, 4, -1, 6, -1, 215, 9, -1, 218,
+ 209, 3, 4, -1, -1, -1, 215, -1, -1, 218,
219, 220, -1, -1, -1, 17, 18, 19, 227, -1,
-1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
32, -1, 34, 35, -1, -1, -1, -1, -1, 41,
@@ -3665,7 +3763,7 @@ static const short yycheck[] = { 3,
72, 73, 74, -1, 76, -1, 78, 79, -1, 81,
-1, 83, 84, -1, 86, 87, -1, -1, -1, -1,
92, -1, -1, 95, 96, -1, -1, 99, -1, 101,
- -1, -1, -1, 105, 106, -1, -1, 109, -1, 111,
+ -1, -1, -1, 105, 106, 107, -1, 109, -1, 111,
112, 113, 114, -1, -1, -1, 118, 119, -1, -1,
-1, 123, -1, -1, 126, -1, -1, -1, -1, -1,
132, 133, 134, 135, -1, 137, 138, -1, 140, 141,
@@ -3680,10 +3778,10 @@ static const short yycheck[] = { 3,
-1, -1, 17, 18, 19, 227, -1, -1, -1, -1,
-1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
- 45, 46, 47, -1, 49, -1, -1, 52, -1, -1,
+ 45, 46, 47, -1, 49, -1, -1, -1, -1, -1,
-1, -1, 57, -1, -1, 60, -1, 62, -1, -1,
-1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
- -1, 76, -1, 78, 79, -1, 81, 82, 83, 84,
+ -1, 76, -1, 78, 79, -1, 81, -1, 83, 84,
-1, 86, 87, -1, -1, -1, -1, 92, -1, -1,
95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
105, 106, -1, -1, 109, -1, 111, 112, 113, 114,
@@ -3700,13 +3798,13 @@ static const short yycheck[] = { 3,
215, -1, -1, 218, 219, 220, -1, -1, -1, 17,
18, 19, 227, -1, -1, -1, -1, -1, -1, -1,
28, 29, 30, 31, 32, -1, 34, 35, -1, -1,
- -1, -1, -1, 41, -1, -1, -1, 45, 46, 47,
+ -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
-1, 49, -1, -1, -1, -1, -1, -1, -1, 57,
-1, -1, 60, -1, 62, -1, -1, -1, 66, 67,
-1, -1, -1, -1, 72, 73, 74, -1, 76, -1,
- 78, 79, -1, 81, 82, 83, 84, -1, 86, 87,
+ 78, 79, -1, -1, -1, 83, 84, -1, 86, 87,
-1, -1, -1, -1, 92, -1, -1, 95, 96, -1,
- -1, 99, -1, 101, -1, -1, -1, 105, 106, 107,
+ -1, 99, -1, 101, -1, -1, -1, 105, 106, -1,
-1, 109, -1, 111, 112, 113, 114, -1, -1, -1,
118, 119, -1, -1, -1, 123, -1, -1, 126, -1,
-1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
@@ -3721,11 +3819,11 @@ static const short yycheck[] = { 3,
218, 219, 220, -1, -1, -1, 17, 18, 19, 227,
-1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
31, 32, -1, 34, 35, -1, -1, -1, -1, -1,
- 41, -1, -1, -1, 45, 46, 47, -1, 49, -1,
+ 41, -1, -1, -1, -1, -1, 47, -1, 49, -1,
-1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
-1, 62, -1, -1, -1, 66, 67, -1, -1, -1,
-1, 72, 73, 74, -1, 76, -1, 78, 79, -1,
- 81, 82, 83, 84, -1, 86, 87, -1, -1, -1,
+ -1, -1, 83, 84, -1, 86, 87, -1, -1, -1,
-1, 92, -1, -1, 95, 96, -1, -1, 99, -1,
101, -1, -1, -1, 105, 106, -1, -1, 109, -1,
111, 112, 113, 114, -1, -1, -1, 118, 119, -1,
@@ -3738,173 +3836,89 @@ static const short yycheck[] = { 3,
181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, -1, -1, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, 3,
- 4, -1, 6, -1, 215, 9, -1, 218, 219, 220,
+ 4, -1, -1, -1, 215, -1, -1, 218, 219, 220,
-1, -1, -1, 17, 18, 19, 227, -1, -1, -1,
- -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
+ -1, -1, -1, -1, -1, 29, 30, 31, 32, -1,
34, 35, -1, -1, -1, -1, -1, 41, -1, -1,
- -1, 45, 46, 47, -1, 49, -1, -1, -1, -1,
+ -1, -1, -1, 47, -1, 49, -1, -1, -1, -1,
-1, -1, -1, 57, -1, -1, 60, -1, 62, -1,
-1, -1, 66, 67, -1, -1, -1, -1, 72, 73,
- 74, -1, 76, -1, 78, 79, -1, -1, -1, 83,
- 84, -1, 86, 87, -1, -1, -1, -1, 92, -1,
+ 74, -1, 76, -1, 78, 79, -1, -1, 82, 83,
+ 84, -1, 86, 87, -1, -1, -1, -1, -1, -1,
-1, 95, 96, -1, -1, 99, -1, 101, -1, -1,
- -1, 105, 106, -1, -1, 109, -1, 111, 112, 113,
- 114, -1, -1, -1, 118, 119, -1, -1, -1, 123,
+ -1, 105, 106, -1, -1, -1, -1, 111, 112, 113,
+ 114, -1, -1, -1, -1, 119, -1, -1, -1, 123,
-1, -1, 126, -1, -1, -1, -1, -1, 132, 133,
134, 135, -1, 137, 138, -1, 140, 141, -1, 143,
-1, -1, 146, 147, 148, 149, 150, -1, 152, 153,
-1, -1, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, -1, 167, -1, 169, 170, -1, 172, 173,
+ 164, -1, -1, 167, -1, 169, 170, -1, -1, 173,
174, -1, 176, -1, 178, 179, 180, 181, 182, 183,
184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, -1, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, 3, 4, -1, -1,
-1, 215, -1, -1, 218, 219, 220, -1, -1, -1,
17, 18, 19, 227, -1, -1, -1, -1, -1, -1,
- -1, 28, 29, 30, 31, 32, -1, 34, 35, -1,
- -1, -1, -1, -1, 41, -1, -1, -1, 45, 46,
+ -1, -1, 29, 30, 31, 32, -1, 34, 35, -1,
+ -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
47, -1, 49, -1, -1, -1, -1, -1, -1, -1,
57, -1, -1, 60, -1, 62, -1, -1, -1, 66,
67, -1, -1, -1, -1, 72, 73, 74, -1, 76,
- -1, 78, 79, -1, 81, -1, 83, 84, -1, 86,
- 87, -1, -1, -1, -1, 92, -1, -1, 95, 96,
+ -1, 78, 79, -1, -1, -1, 83, 84, -1, 86,
+ 87, -1, -1, -1, -1, -1, -1, -1, 95, 96,
-1, -1, 99, -1, 101, -1, -1, -1, 105, 106,
- 107, -1, 109, -1, 111, 112, 113, 114, -1, -1,
- -1, 118, 119, -1, -1, -1, 123, -1, -1, 126,
+ -1, -1, -1, -1, 111, 112, 113, 114, -1, -1,
+ -1, -1, 119, -1, -1, -1, 123, -1, -1, 126,
-1, -1, -1, -1, -1, 132, 133, 134, 135, -1,
137, 138, -1, 140, 141, -1, 143, -1, -1, 146,
147, 148, 149, 150, -1, 152, 153, -1, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, -1, -1,
- 167, -1, 169, 170, -1, 172, 173, 174, -1, 176,
+ 167, -1, 169, 170, -1, -1, 173, 174, -1, 176,
-1, 178, 179, 180, 181, 182, 183, 184, -1, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, -1, -1, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, 3, 4, -1, -1, -1, 215, -1,
-1, 218, 219, 220, -1, -1, -1, 17, 18, 19,
- 227, -1, -1, -1, -1, -1, -1, -1, 28, 29,
+ 227, -1, -1, -1, -1, -1, -1, -1, -1, 29,
30, 31, 32, -1, 34, 35, -1, -1, -1, -1,
- -1, 41, -1, -1, -1, 45, 46, 47, -1, 49,
+ -1, 41, -1, -1, -1, -1, -1, 47, -1, 49,
-1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
60, -1, 62, -1, -1, -1, 66, 67, -1, -1,
-1, -1, 72, 73, 74, -1, 76, -1, 78, 79,
- -1, 81, -1, 83, 84, -1, 86, 87, -1, -1,
- -1, -1, 92, -1, -1, 95, 96, -1, -1, 99,
- -1, 101, -1, -1, -1, 105, 106, -1, -1, 109,
- -1, 111, 112, 113, 114, -1, -1, -1, 118, 119,
+ -1, -1, -1, 83, 84, -1, 86, 87, -1, -1,
+ -1, -1, -1, -1, -1, 95, 96, -1, -1, 99,
+ -1, 101, -1, -1, -1, 105, 106, -1, -1, -1,
+ -1, 111, 112, 113, 114, -1, -1, -1, -1, 119,
-1, -1, -1, 123, -1, -1, 126, -1, -1, -1,
-1, -1, 132, 133, 134, 135, -1, 137, 138, -1,
140, 141, -1, 143, -1, -1, 146, 147, 148, 149,
150, -1, 152, 153, -1, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, -1, -1, 167, -1, 169,
- 170, -1, 172, 173, 174, -1, 176, -1, 178, 179,
+ 170, -1, -1, 173, 174, -1, 176, -1, 178, 179,
180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
- 190, 191, -1, 193, 194, 195, 196, 197, -1, -1,
+ 190, 191, -1, 193, 194, 195, 196, 197, 3, 4,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
- 3, 4, -1, -1, -1, 215, -1, -1, 218, 219,
- 220, -1, -1, -1, 17, 18, 19, 227, -1, -1,
- -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
- -1, 34, 35, -1, -1, -1, -1, -1, 41, -1,
- -1, -1, -1, -1, 47, -1, 49, -1, -1, -1,
- -1, -1, -1, -1, 57, -1, -1, 60, -1, 62,
- -1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
- 73, 74, -1, 76, -1, 78, 79, -1, -1, -1,
- 83, 84, -1, 86, 87, -1, -1, -1, -1, 92,
- -1, -1, 95, 96, -1, -1, 99, -1, 101, -1,
- -1, -1, 105, 106, -1, -1, 109, -1, 111, 112,
- 113, 114, -1, -1, -1, 118, 119, -1, -1, -1,
- 123, -1, -1, 126, -1, -1, -1, -1, -1, 132,
- 133, 134, 135, -1, 137, 138, -1, 140, 141, -1,
- 143, -1, -1, 146, 147, 148, 149, 150, -1, 152,
- 153, -1, -1, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, -1, -1, 167, -1, 169, 170, -1, 172,
- 173, 174, -1, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
- 193, 194, 195, 196, 197, -1, -1, -1, 201, -1,
- 203, 204, 205, 206, 207, 208, 209, 3, 4, -1,
- -1, -1, 215, -1, -1, 218, 219, 220, -1, -1,
- -1, 17, 18, 19, 227, -1, -1, -1, -1, -1,
- -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
- -1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
- -1, 47, -1, 49, -1, -1, -1, -1, -1, -1,
- -1, 57, -1, -1, 60, -1, 62, -1, -1, -1,
- 66, 67, -1, -1, -1, -1, 72, 73, 74, -1,
- 76, -1, 78, 79, -1, -1, -1, 83, 84, -1,
- 86, 87, -1, -1, -1, -1, 92, -1, -1, 95,
- 96, -1, -1, 99, -1, 101, -1, -1, -1, 105,
- 106, -1, -1, 109, -1, 111, 112, 113, 114, -1,
- -1, -1, 118, 119, -1, -1, -1, 123, -1, -1,
- 126, -1, -1, -1, -1, -1, 132, 133, 134, 135,
- -1, 137, 138, -1, 140, 141, -1, 143, -1, -1,
- 146, 147, 148, 149, 150, -1, 152, 153, -1, -1,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
- -1, 167, -1, 169, 170, -1, 172, 173, 174, -1,
- 176, -1, 178, 179, 180, 181, 182, 183, 184, -1,
- 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
- 196, 197, -1, -1, -1, 201, -1, 203, 204, 205,
- 206, 207, 208, 209, 3, 4, -1, -1, -1, 215,
- -1, -1, 218, 219, 220, -1, -1, -1, 17, 18,
- 19, 227, -1, -1, -1, -1, -1, -1, -1, -1,
- 29, 30, 31, 32, -1, 34, 35, -1, -1, -1,
- -1, -1, 41, -1, -1, -1, -1, -1, 47, -1,
- 49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
- -1, 60, -1, 62, -1, -1, -1, 66, 67, -1,
- -1, -1, -1, 72, 73, 74, -1, 76, -1, 78,
- 79, -1, -1, 82, 83, 84, -1, 86, 87, -1,
- -1, -1, -1, -1, -1, -1, 95, 96, -1, -1,
- 99, -1, 101, -1, -1, -1, 105, 106, -1, -1,
- -1, -1, 111, 112, 113, 114, -1, -1, -1, -1,
- 119, -1, -1, -1, 123, -1, -1, 126, -1, -1,
- -1, -1, -1, 132, 133, 134, 135, -1, 137, 138,
- -1, 140, 141, -1, 143, -1, -1, 146, 147, 148,
- 149, 150, -1, 152, 153, -1, -1, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, -1, -1, 167, -1,
- 169, 170, -1, -1, 173, 174, -1, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
- 189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
- -1, -1, 201, -1, 203, 204, 205, 206, 207, 208,
- 209, 3, 4, -1, -1, -1, 215, -1, -1, 218,
- 219, 220, -1, -1, -1, 17, 18, 19, 227, -1,
- -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
- 32, -1, 34, 35, -1, -1, -1, -1, -1, 41,
- -1, -1, -1, -1, -1, 47, -1, 49, -1, -1,
- -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
- 62, -1, -1, -1, 66, 67, -1, -1, -1, -1,
- 72, 73, 74, -1, 76, -1, 78, 79, -1, -1,
- -1, 83, 84, -1, 86, 87, -1, -1, -1, -1,
- -1, -1, -1, 95, 96, -1, -1, 99, -1, 101,
- -1, -1, -1, 105, 106, -1, -1, -1, -1, 111,
- 112, 113, 114, -1, -1, -1, -1, 119, -1, -1,
- -1, 123, -1, -1, 126, -1, -1, -1, -1, -1,
- 132, 133, 134, 135, -1, 137, 138, -1, 140, 141,
- -1, 143, -1, -1, 146, 147, 148, 149, 150, -1,
- 152, 153, -1, -1, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, -1, 167, -1, 169, 170, -1,
- -1, 173, 174, -1, 176, -1, 178, 179, 180, 181,
- 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
- -1, 193, 194, 195, 196, 197, -1, -1, -1, 201,
- -1, 203, 204, 205, 206, 207, 208, 209, 3, 4,
- -1, -1, -1, 215, -1, -1, 218, 219, 220, -1,
- -1, -1, 17, 18, 19, 227, -1, -1, -1, -1,
- -1, -1, -1, -1, 29, 30, 31, 32, -1, 34,
+ -1, -1, 17, 18, 19, 215, -1, -1, 218, 219,
+ 220, -1, -1, 28, -1, -1, -1, 227, -1, 34,
35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
-1, -1, 47, -1, 49, -1, -1, -1, -1, -1,
-1, -1, 57, -1, -1, 60, -1, 62, -1, -1,
-1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
-1, 76, -1, 78, 79, -1, -1, -1, 83, 84,
- -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
+ -1, 86, 87, -1, -1, -1, -1, 92, -1, -1,
95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
- 105, 106, -1, -1, -1, -1, 111, 112, 113, 114,
- -1, -1, -1, -1, 119, -1, -1, -1, 123, -1,
+ 105, 106, -1, -1, 109, -1, 111, 112, 113, 114,
+ -1, -1, -1, 118, 119, -1, -1, -1, -1, -1,
-1, 126, -1, -1, -1, -1, -1, 132, 133, 134,
135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
-1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- -1, -1, 167, -1, 169, 170, -1, -1, 173, 174,
+ -1, -1, 167, -1, 169, 170, -1, 172, 173, 174,
-1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
-1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 3, 4, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, -1, 17, 18, 19,
- 215, -1, -1, 218, 219, 220, -1, -1, 28, -1,
+ 215, -1, -1, 218, -1, -1, -1, -1, 28, -1,
-1, -1, 227, -1, 34, 35, -1, -1, -1, -1,
-1, 41, -1, -1, -1, -1, -1, 47, -1, 49,
-1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
@@ -3924,32 +3938,32 @@ static const short yycheck[] = { 3,
190, 191, -1, 193, 194, 195, 196, 197, 3, 4,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, -1, 17, 18, 19, 215, -1, -1, 218, -1,
- -1, -1, -1, 28, -1, -1, -1, 227, -1, 34,
+ -1, -1, -1, -1, -1, -1, -1, 227, -1, 34,
35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
-1, -1, 47, -1, 49, -1, -1, -1, -1, -1,
-1, -1, 57, -1, -1, 60, -1, 62, -1, -1,
-1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
- -1, 76, -1, 78, 79, -1, -1, -1, 83, 84,
- -1, 86, 87, -1, -1, -1, -1, 92, -1, -1,
+ -1, 76, -1, 78, 79, -1, 81, 82, 83, 84,
+ -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
- 105, 106, -1, -1, 109, -1, 111, 112, 113, 114,
- -1, -1, -1, 118, 119, -1, -1, -1, -1, -1,
+ 105, 106, -1, -1, -1, -1, 111, 112, 113, 114,
+ -1, -1, -1, -1, 119, -1, -1, -1, -1, -1,
-1, 126, -1, -1, -1, -1, -1, 132, 133, 134,
135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
-1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- -1, -1, 167, -1, 169, 170, -1, 172, 173, 174,
+ -1, -1, 167, -1, 169, 170, -1, -1, 173, 174,
-1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
-1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 3, 4, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, -1, 17, 18, 19,
- 215, -1, -1, 218, -1, -1, -1, -1, -1, -1,
+ 215, -1, -1, 218, 219, 220, -1, -1, -1, -1,
-1, -1, 227, -1, 34, 35, -1, -1, -1, -1,
-1, 41, -1, -1, -1, -1, -1, 47, -1, 49,
-1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
60, -1, 62, -1, -1, -1, 66, 67, -1, -1,
-1, -1, 72, 73, 74, -1, 76, -1, 78, 79,
- -1, 81, 82, 83, 84, -1, 86, 87, -1, -1,
+ -1, -1, 82, 83, 84, -1, 86, 87, -1, -1,
-1, -1, -1, -1, -1, 95, 96, -1, -1, 99,
-1, 101, -1, -1, -1, 105, 106, -1, -1, -1,
-1, 111, 112, 113, 114, -1, -1, -1, -1, 119,
@@ -3962,169 +3976,118 @@ static const short yycheck[] = { 3,
180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 3, 4,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
- -1, -1, 17, 18, 19, 215, -1, -1, 218, 219,
- 220, -1, -1, -1, -1, -1, -1, 227, -1, 34,
- 35, -1, -1, -1, -1, -1, 41, -1, -1, -1,
- -1, -1, 47, -1, 49, -1, -1, -1, -1, -1,
- -1, -1, 57, -1, -1, 60, -1, 62, -1, -1,
+ -1, -1, -1, -1, -1, 215, -1, -1, 218, 219,
+ 220, -1, -1, 28, -1, -1, -1, 227, -1, 34,
+ -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
+ -1, -1, 8, -1, -1, -1, -1, 13, -1, -1,
+ -1, -1, 57, -1, -1, 60, -1, -1, -1, -1,
-1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
- -1, 76, -1, 78, 79, -1, -1, 82, 83, 84,
+ -1, -1, -1, -1, 79, -1, -1, -1, -1, 84,
-1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
- 95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
- 105, 106, -1, -1, -1, -1, 111, 112, 113, 114,
- -1, -1, -1, -1, 119, -1, -1, -1, -1, -1,
- -1, 126, -1, -1, -1, -1, -1, 132, 133, 134,
+ 95, 96, 58, -1, 99, -1, 101, -1, 64, -1,
+ 105, 106, -1, -1, 70, -1, 111, -1, 113, 114,
+ -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
+ -1, -1, 88, -1, -1, -1, -1, 132, 133, 134,
135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
-1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- -1, -1, 167, -1, 169, 170, -1, -1, 173, 174,
+ -1, 8, 167, -1, 169, 170, 13, 172, 173, 174,
-1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
- -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
- 195, 196, 197, 3, 4, -1, 201, -1, 203, 204,
- 205, 206, 207, 208, 209, -1, -1, -1, -1, -1,
- 215, -1, -1, 218, 219, 220, -1, -1, 28, -1,
- -1, -1, 227, -1, 34, -1, -1, -1, -1, -1,
- -1, 41, -1, -1, -1, -1, -1, 8, -1, 10,
- -1, -1, 13, -1, -1, -1, -1, 57, -1, -1,
- 60, -1, -1, -1, -1, -1, 66, 67, -1, -1,
- -1, -1, 72, 73, 74, -1, -1, -1, -1, 79,
- -1, -1, -1, -1, 84, -1, 86, 87, -1, -1,
- -1, -1, -1, -1, -1, 95, 96, 58, -1, 99,
- -1, 101, -1, 64, -1, 105, 106, -1, -1, 70,
- -1, 111, -1, 113, 114, -1, -1, -1, -1, -1,
- 81, -1, -1, -1, -1, -1, -1, 88, -1, -1,
- -1, -1, 132, 133, 134, 135, -1, 137, 138, -1,
- 140, 141, -1, 143, -1, -1, 146, 147, 148, 149,
- 150, -1, 152, 153, -1, -1, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, -1, 8, 167, -1, 169,
- 170, 13, 172, 173, 174, -1, 176, -1, 178, 179,
- 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
- 190, -1, -1, 193, 194, 195, 196, 197, -1, -1,
- -1, 201, 163, 203, 204, -1, -1, 8, -1, 10,
- -1, -1, 13, -1, -1, -1, 58, 178, -1, -1,
- -1, -1, 64, -1, -1, -1, -1, 227, 70, 8,
- -1, -1, -1, -1, 13, -1, -1, -1, -1, 81,
- -1, -1, -1, -1, -1, 206, 88, -1, -1, -1,
- 211, 212, 213, 214, 215, 216, 217, 58, -1, -1,
- -1, -1, -1, 64, 225, -1, -1, -1, -1, 70,
- 8, -1, -1, -1, -1, 13, -1, -1, -1, 58,
- 81, -1, -1, -1, -1, 64, -1, 88, -1, -1,
- 8, 70, -1, -1, -1, 13, -1, -1, -1, -1,
- -1, -1, 81, -1, -1, -1, -1, -1, -1, 88,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 58, 163, -1, -1, -1, -1, 64, -1, -1, -1,
- 8, -1, 70, -1, -1, 13, 178, -1, -1, -1,
- 58, -1, -1, 81, -1, -1, 64, -1, -1, -1,
- 88, -1, 70, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 163, 81, 206, -1, -1, -1, -1, 211,
- 212, 213, 214, 215, 216, 217, -1, 178, -1, -1,
- 58, -1, 224, 225, 163, -1, 64, -1, -1, -1,
- -1, -1, 70, -1, -1, -1, -1, -1, -1, 178,
- -1, -1, -1, 81, -1, 206, -1, -1, -1, -1,
- 211, 212, 213, 214, 215, 216, 217, -1, -1, -1,
- -1, -1, -1, -1, 225, 163, -1, 206, -1, -1,
- -1, -1, 211, 212, 213, 214, 215, 216, 217, -1,
- 178, -1, -1, -1, -1, 163, 225, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 178, -1, -1, -1, -1, -1, -1, -1, 206, -1,
- -1, -1, -1, 211, 212, 213, 214, 215, 216, 217,
- -1, -1, -1, -1, -1, 163, -1, 225, 206, 3,
- 4, -1, -1, 211, 212, 213, 214, 215, 216, 217,
- 178, -1, -1, -1, -1, -1, -1, 225, -1, -1,
+ -1, 186, 187, 188, 189, 190, -1, -1, 193, 194,
+ 195, 196, 197, -1, -1, -1, 201, 163, 203, 204,
+ -1, -1, 8, -1, -1, -1, -1, 13, -1, -1,
+ -1, 58, 178, -1, -1, -1, -1, 64, -1, -1,
+ -1, -1, 227, 70, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
+ 206, 88, -1, -1, -1, 211, 212, 213, 214, 215,
+ 216, 217, 58, -1, -1, -1, -1, -1, 64, 225,
+ -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 34, -1, -1, -1, -1, -1, -1, 41, 206, -1,
- -1, -1, -1, 211, 212, 213, 214, 215, 216, 217,
- -1, -1, -1, 57, -1, -1, 60, 225, -1, -1,
- -1, -1, 66, 67, -1, -1, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, 79, -1, -1, -1, -1,
- 84, -1, 86, 87, -1, -1, -1, -1, -1, -1,
- -1, 95, 96, -1, -1, 99, -1, 101, -1, -1,
- -1, 105, 106, -1, -1, -1, -1, 111, -1, 113,
- 114, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 132, 133,
- 134, 135, -1, 137, 138, -1, 140, 141, -1, 143,
- -1, -1, 146, 147, 148, 149, 150, -1, 152, 153,
- -1, -1, 156, 157, 158, 159, 160, 161, 162, 163,
- 164, -1, -1, 167, -1, 169, 170, -1, -1, 173,
- 174, -1, 176, -1, 178, 179, 180, 181, 182, 183,
- 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
- 194, 195, 196, 197, 3, 4, -1, 201, -1, 203,
- 204, 205, 206, 207, -1, 209, -1, 211, 212, 213,
- 214, 215, 216, 217, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 34, -1, -1, 37, -1,
- -1, -1, 41, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 57, 13,
- -1, 60, -1, -1, -1, -1, 65, 66, 67, -1,
- -1, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- 79, -1, -1, -1, -1, 84, -1, 86, 87, -1,
- -1, -1, -1, -1, -1, -1, 95, 96, 97, -1,
- 99, -1, 101, -1, 58, -1, 105, 106, -1, -1,
- 64, -1, 111, -1, 113, 114, 70, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
- -1, -1, -1, 132, 133, 134, 135, -1, 137, 138,
- -1, 140, 141, -1, 143, -1, -1, 146, 147, 148,
- 149, 150, -1, 152, 153, -1, -1, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, -1, -1, 167, -1,
- 169, 170, 3, 4, 173, 174, -1, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
- 189, 190, -1, -1, 193, 194, 195, 196, 197, -1,
- -1, -1, 201, 34, 203, 204, -1, 206, -1, 163,
- 41, -1, 211, 212, 213, 214, 215, 216, 217, -1,
- -1, -1, -1, -1, 178, -1, 57, -1, -1, 60,
- -1, -1, -1, -1, 65, 66, 67, -1, -1, -1,
- -1, 72, 73, 74, -1, -1, -1, -1, 79, -1,
- -1, -1, 206, 84, -1, 86, 87, 211, 212, 213,
- 214, 215, 216, 217, 95, 96, 97, -1, 99, -1,
- 101, 225, -1, -1, 105, 106, -1, -1, -1, -1,
- 111, -1, 113, 114, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 132, 133, 134, 135, -1, 137, 138, -1, 140,
- 141, -1, 143, -1, -1, 146, 147, 148, 149, 150,
- -1, 152, 153, -1, -1, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, -1, -1, 167, -1, 169, 170,
- -1, -1, 173, 174, -1, 176, -1, 178, 179, 180,
- 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
- -1, -1, 193, 194, 195, 196, 197, 3, 4, -1,
- 201, -1, 203, 204, -1, 206, -1, -1, -1, -1,
- 211, 212, 213, 214, 215, 216, 217, -1, -1, -1,
- -1, -1, 28, -1, -1, -1, -1, -1, 34, -1,
- -1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 57, -1, -1, 60, -1, -1, -1, -1, -1,
- 66, 67, -1, -1, -1, -1, 72, 73, 74, -1,
- -1, -1, -1, 79, -1, -1, -1, -1, 84, -1,
- 86, 87, -1, -1, -1, -1, -1, -1, -1, 95,
- 96, -1, -1, 99, -1, 101, -1, -1, -1, 105,
- 106, -1, -1, -1, -1, 111, -1, 113, 114, -1,
+ -1, -1, -1, -1, -1, -1, 163, -1, -1, -1,
+ 3, 4, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 178, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 132, 133, 134, 135,
- -1, 137, 138, -1, 140, 141, -1, 143, -1, -1,
- 146, 147, 148, 149, 150, -1, 152, 153, -1, -1,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
- -1, 167, -1, 169, 170, -1, 172, 173, 174, -1,
- 176, -1, 178, 179, 180, 181, 182, 183, 184, -1,
- 186, 187, 188, 189, 190, 3, 4, 193, 194, 195,
- 196, 197, -1, -1, -1, 201, -1, 203, 204, -1,
- -1, -1, 208, -1, -1, -1, -1, -1, -1, -1,
- 216, -1, -1, -1, -1, -1, 34, -1, -1, -1,
+ -1, 34, -1, -1, -1, -1, -1, 163, 41, 206,
+ -1, -1, -1, -1, 211, 212, 213, 214, 215, 216,
+ 217, -1, 178, -1, 57, -1, -1, 60, 225, -1,
+ -1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
+ 73, 74, -1, -1, -1, -1, 79, -1, -1, -1,
+ 206, 84, -1, 86, 87, 211, 212, 213, 214, 215,
+ 216, 217, 95, 96, -1, -1, 99, -1, 101, 225,
+ -1, -1, 105, 106, -1, -1, -1, -1, 111, -1,
+ 113, 114, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 132,
+ 133, 134, 135, -1, 137, 138, -1, 140, 141, -1,
+ 143, -1, -1, 146, 147, 148, 149, 150, -1, 152,
+ 153, -1, -1, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, -1, -1, 167, -1, 169, 170, -1, -1,
+ 173, 174, -1, 176, -1, 178, 179, 180, 181, 182,
+ 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
+ 193, 194, 195, 196, 197, 3, 4, -1, 201, -1,
+ 203, 204, 205, 206, 207, -1, 209, -1, 211, 212,
+ 213, 214, 215, 216, 217, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 34, -1, -1, 37,
-1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 57,
- -1, -1, 60, -1, -1, -1, -1, -1, 66, 67,
+ 13, -1, 60, -1, -1, -1, -1, 65, 66, 67,
-1, -1, -1, -1, 72, 73, 74, -1, -1, -1,
-1, 79, -1, -1, -1, -1, 84, -1, 86, 87,
- -1, -1, -1, -1, -1, -1, -1, 95, 96, -1,
- -1, 99, -1, 101, -1, -1, -1, 105, 106, -1,
- -1, -1, -1, 111, -1, 113, 114, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 95, 96, 97,
+ -1, 99, -1, 101, -1, 58, -1, 105, 106, -1,
+ -1, 64, -1, 111, -1, 113, 114, 70, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 81, -1,
-1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
138, -1, 140, 141, -1, 143, -1, -1, 146, 147,
- 148, 149, 150, -1, 152, 153, 3, 4, 156, 157,
+ 148, 149, 150, -1, 152, 153, -1, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, -1, -1, 167,
- -1, 169, 170, -1, -1, 173, 174, -1, 176, -1,
- 178, 179, 180, 181, 182, 183, 184, 34, 186, 187,
- 188, 189, 190, -1, 41, 193, 194, 195, 196, 197,
- -1, -1, -1, 201, -1, 203, 204, -1, -1, -1,
- 57, -1, -1, 60, -1, -1, -1, -1, 216, 66,
+ -1, 169, 170, 3, 4, 173, 174, -1, 176, -1,
+ 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
+ 188, 189, 190, -1, -1, 193, 194, 195, 196, 197,
+ -1, -1, -1, 201, 34, 203, 204, -1, 206, -1,
+ 163, 41, -1, 211, 212, 213, 214, 215, 216, 217,
+ -1, -1, -1, -1, -1, 178, -1, 57, -1, -1,
+ 60, -1, -1, -1, -1, 65, 66, 67, -1, -1,
+ -1, -1, 72, 73, 74, -1, -1, -1, -1, 79,
+ -1, -1, -1, 206, 84, -1, 86, 87, 211, 212,
+ 213, 214, 215, 216, 217, 95, 96, 97, -1, 99,
+ -1, 101, 225, -1, -1, 105, 106, -1, -1, -1,
+ -1, 111, -1, 113, 114, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 132, 133, 134, 135, -1, 137, 138, -1,
+ 140, 141, -1, 143, -1, -1, 146, 147, 148, 149,
+ 150, -1, 152, 153, -1, -1, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, -1, -1, 167, -1, 169,
+ 170, -1, -1, 173, 174, -1, 176, -1, 178, 179,
+ 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
+ 190, -1, -1, 193, 194, 195, 196, 197, 3, 4,
+ -1, 201, -1, 203, 204, -1, 206, -1, -1, -1,
+ -1, 211, 212, 213, 214, 215, 216, 217, -1, -1,
+ -1, -1, -1, 28, -1, -1, -1, -1, -1, 34,
+ -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 57, -1, -1, 60, -1, -1, -1, -1,
+ -1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
+ -1, -1, -1, -1, 79, -1, -1, -1, -1, 84,
+ -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
+ 95, 96, -1, -1, 99, -1, 101, -1, -1, -1,
+ 105, 106, -1, -1, -1, -1, 111, -1, 113, 114,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 132, 133, 134,
+ 135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
+ -1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
+ -1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ -1, -1, 167, -1, 169, 170, -1, 172, 173, 174,
+ -1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
+ -1, 186, 187, 188, 189, 190, 3, 4, 193, 194,
+ 195, 196, 197, -1, -1, -1, 201, -1, 203, 204,
+ -1, -1, -1, 208, -1, -1, -1, -1, -1, -1,
+ -1, 216, -1, -1, -1, -1, -1, 34, -1, -1,
+ -1, -1, -1, -1, 41, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 57, -1, -1, 60, -1, -1, -1, -1, -1, 66,
67, -1, -1, -1, -1, 72, 73, 74, -1, -1,
-1, -1, 79, -1, -1, -1, -1, 84, -1, 86,
87, -1, -1, -1, -1, -1, -1, -1, 95, 96,
@@ -4163,100 +4126,58 @@ static const short yycheck[] = { 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 132, 133, 134,
135, -1, 137, 138, -1, 140, 141, -1, 143, -1,
- -1, 146, 147, 148, 149, 150, -1, 152, 153, -1,
- -1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
+ -1, 146, 147, 148, 149, 150, -1, 152, 153, 3,
+ 4, 156, 157, 158, 159, 160, 161, 162, 163, 164,
-1, -1, 167, -1, 169, 170, -1, -1, 173, 174,
-1, 176, -1, 178, 179, 180, 181, 182, 183, 184,
- -1, 186, 187, 188, 189, 190, -1, -1, 193, 194,
- 195, 196, 197, 3, 4, -1, 201, -1, 203, 204,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 216, -1, -1, -1, -1, -1, -1, 28, -1,
- -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
- -1, 41, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
- 60, -1, -1, -1, -1, -1, 66, 67, -1, -1,
- -1, -1, 72, 73, 74, -1, -1, -1, -1, 79,
- -1, -1, -1, -1, 84, -1, 86, 87, -1, -1,
- -1, -1, -1, -1, -1, 95, 96, -1, -1, 99,
- -1, 101, -1, -1, -1, 105, 106, -1, -1, -1,
- -1, 111, -1, 113, 114, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 132, 133, 134, 135, -1, 137, 138, -1,
- 140, 141, -1, 143, -1, -1, 146, 147, 148, 149,
- 150, -1, 152, 153, -1, -1, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, -1, -1, 167, -1, 169,
- 170, -1, 172, 173, 174, -1, 176, -1, 178, 179,
- 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
- 190, 3, 4, 193, 194, 195, 196, 197, -1, -1,
- -1, 201, -1, 203, 204, -1, -1, -1, 208, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 34, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
- -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, 79, -1, -1,
- -1, -1, 84, -1, 86, 87, -1, -1, -1, -1,
- -1, -1, -1, 95, 96, -1, -1, 99, -1, 101,
- -1, -1, -1, 105, 106, -1, -1, -1, -1, 111,
- -1, 113, 114, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 132, 133, 134, 135, -1, 137, 138, -1, 140, 141,
- -1, 143, -1, -1, 146, 147, 148, 149, 150, -1,
- 152, 153, -1, -1, 156, 157, 158, 159, 160, 161,
- 162, 163, 164, -1, -1, 167, -1, 169, 170, -1,
- -1, 173, 174, -1, 176, -1, 178, 179, 180, 181,
- 182, 183, 184, -1, 186, 187, 188, 189, 190, 3,
- 4, 193, 194, 195, 196, 197, -1, -1, -1, 201,
- -1, 203, 204, -1, -1, 207, -1, -1, -1, -1,
- -1, 25, -1, 27, 28, -1, -1, -1, -1, -1,
- 34, -1, -1, -1, -1, -1, -1, 41, -1, -1,
- -1, -1, -1, 47, -1, -1, -1, 51, -1, -1,
- -1, 55, -1, 57, -1, -1, 60, -1, -1, -1,
- -1, -1, 66, 67, -1, -1, -1, -1, 72, 73,
+ 34, 186, 187, 188, 189, 190, -1, 41, 193, 194,
+ 195, 196, 197, -1, -1, -1, 201, -1, 203, 204,
+ -1, -1, -1, 57, -1, -1, 60, -1, -1, -1,
+ -1, 216, 66, 67, -1, -1, -1, -1, 72, 73,
74, -1, -1, -1, -1, 79, -1, -1, -1, -1,
- 84, -1, 86, 87, -1, 89, -1, -1, 92, 93,
+ 84, -1, 86, 87, -1, -1, -1, -1, -1, -1,
-1, 95, 96, -1, -1, 99, -1, 101, -1, -1,
- -1, 105, 106, -1, -1, -1, 110, 111, -1, 113,
- 114, -1, -1, 117, -1, 119, -1, -1, -1, -1,
+ -1, 105, 106, -1, -1, -1, -1, 111, -1, 113,
+ 114, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 178, 179, 180, 181, 182, 183,
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 3, 4, 200, 201, 202, 203,
- 204, -1, -1, -1, -1, -1, -1, -1, -1, 18,
- 19, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 34, 35, -1, -1, -1,
+ 134, 135, -1, 137, 138, -1, 140, 141, -1, 143,
+ -1, -1, 146, 147, 148, 149, 150, -1, 152, 153,
+ -1, -1, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, -1, -1, 167, -1, 169, 170, -1, -1, 173,
+ 174, -1, 176, -1, 178, 179, 180, 181, 182, 183,
+ 184, -1, 186, 187, 188, 189, 190, -1, -1, 193,
+ 194, 195, 196, 197, 3, 4, -1, 201, -1, 203,
+ 204, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 216, -1, -1, -1, -1, -1, -1, 28,
+ -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
-1, -1, 41, -1, -1, -1, -1, -1, -1, -1,
- 49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
-1, 60, -1, -1, -1, -1, -1, 66, 67, -1,
- -1, -1, -1, 72, 73, 74, -1, 76, -1, 78,
- 79, -1, -1, -1, 83, 84, -1, 86, 87, -1,
+ -1, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ 79, -1, -1, -1, -1, 84, -1, 86, 87, -1,
-1, -1, -1, -1, -1, -1, 95, 96, -1, -1,
99, -1, 101, -1, -1, -1, 105, 106, -1, -1,
-1, -1, 111, -1, 113, 114, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 126, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 132, 133, 134, 135, -1, 137, 138,
-1, 140, 141, -1, 143, -1, -1, 146, 147, 148,
149, 150, -1, 152, 153, -1, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, -1, -1, 167, -1,
- 169, 170, -1, -1, 173, 174, -1, 176, -1, 178,
+ 169, 170, -1, 172, 173, 174, -1, 176, -1, 178,
179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
189, 190, 3, 4, 193, 194, 195, 196, 197, -1,
- -1, -1, 201, -1, 203, 204, -1, -1, -1, 20,
- -1, -1, -1, -1, 25, -1, -1, -1, -1, -1,
+ -1, -1, 201, -1, 203, 204, -1, -1, -1, 208,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 34, -1, -1, -1, -1, -1, -1,
41, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 51, -1, -1, -1, -1, -1, 57, -1, -1, 60,
+ -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
-1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
-1, 72, 73, 74, -1, -1, -1, -1, 79, -1,
-1, -1, -1, 84, -1, 86, 87, -1, -1, -1,
- -1, -1, -1, 94, 95, 96, -1, -1, 99, -1,
+ -1, -1, -1, -1, 95, 96, -1, -1, 99, -1,
101, -1, -1, -1, 105, 106, -1, -1, -1, -1,
111, -1, 113, 114, -1, -1, -1, -1, -1, -1,
- 121, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 132, 133, 134, 135, -1, 137, 138, -1, 140,
141, -1, 143, -1, -1, 146, 147, 148, 149, 150,
-1, 152, 153, -1, -1, 156, 157, 158, 159, 160,
@@ -4264,30 +4185,72 @@ static const short yycheck[] = { 3,
-1, -1, 173, 174, -1, 176, -1, 178, 179, 180,
181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
3, 4, 193, 194, 195, 196, 197, -1, -1, -1,
- 201, -1, 203, 204, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 28, -1, -1, -1, -1,
+ 201, -1, 203, 204, -1, -1, 207, -1, -1, -1,
+ -1, -1, 25, -1, 27, 28, -1, -1, -1, -1,
-1, 34, -1, -1, -1, -1, -1, -1, 41, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 57, -1, -1, 60, -1, -1,
+ -1, -1, -1, -1, 47, -1, -1, -1, 51, -1,
+ -1, -1, 55, -1, 57, -1, -1, 60, -1, -1,
-1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
73, 74, -1, -1, -1, -1, 79, -1, -1, -1,
- -1, 84, -1, 86, 87, -1, -1, -1, -1, -1,
- -1, -1, 95, 96, -1, -1, 99, -1, 101, -1,
- -1, -1, 105, 106, -1, -1, -1, -1, 111, -1,
- 113, 114, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 84, -1, 86, 87, -1, 89, -1, -1, 92,
+ 93, -1, 95, 96, -1, -1, 99, -1, 101, -1,
+ -1, -1, 105, 106, -1, -1, -1, 110, 111, -1,
+ 113, 114, -1, -1, 117, -1, 119, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 132,
- 133, 134, 135, -1, 137, 138, -1, 140, 141, -1,
- 143, -1, -1, 146, 147, 148, 149, 150, -1, 152,
- 153, 3, 4, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, -1, -1, 167, -1, 169, 170, -1, 172,
- 173, 174, -1, 176, -1, 178, 179, 180, 181, 182,
- 183, 184, 34, 186, 187, 188, 189, 190, -1, 41,
- 193, 194, 195, 196, 197, -1, -1, -1, 201, -1,
- 203, 204, -1, 55, -1, 57, -1, -1, 60, -1,
+ 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, -1, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 3, 4, 200, 201, 202,
+ 203, 204, -1, -1, -1, -1, -1, -1, -1, -1,
+ 18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 34, 35, -1, -1,
+ -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
+ -1, 49, -1, -1, -1, -1, -1, -1, -1, 57,
+ -1, -1, 60, -1, -1, -1, -1, -1, 66, 67,
+ -1, -1, -1, -1, 72, 73, 74, -1, 76, -1,
+ 78, 79, -1, -1, -1, 83, 84, -1, 86, 87,
+ -1, -1, -1, -1, -1, -1, -1, 95, 96, -1,
+ -1, 99, -1, 101, -1, -1, -1, 105, 106, -1,
+ -1, -1, -1, 111, -1, 113, 114, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 126, -1,
+ -1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
+ 138, -1, 140, 141, -1, 143, -1, -1, 146, 147,
+ 148, 149, 150, -1, 152, 153, -1, -1, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, -1, -1, 167,
+ -1, 169, 170, -1, -1, 173, 174, -1, 176, -1,
+ 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
+ 188, 189, 190, 3, 4, 193, 194, 195, 196, 197,
+ -1, -1, -1, 201, -1, 203, 204, -1, -1, -1,
+ 20, -1, -1, -1, -1, 25, -1, -1, -1, -1,
+ -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
+ -1, 41, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 51, -1, -1, -1, -1, -1, 57, -1, -1,
+ 60, -1, -1, -1, -1, -1, 66, 67, -1, -1,
+ -1, -1, 72, 73, 74, -1, -1, -1, -1, 79,
+ -1, -1, -1, -1, 84, -1, 86, 87, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, -1, -1, 99,
+ -1, 101, -1, -1, -1, 105, 106, -1, -1, -1,
+ -1, 111, -1, 113, 114, -1, -1, -1, -1, -1,
+ -1, 121, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 132, 133, 134, 135, -1, 137, 138, -1,
+ 140, 141, -1, 143, -1, -1, 146, 147, 148, 149,
+ 150, -1, 152, 153, -1, -1, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, -1, -1, 167, -1, 169,
+ 170, -1, -1, 173, 174, -1, 176, -1, 178, 179,
+ 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
+ 190, 3, 4, 193, 194, 195, 196, 197, -1, -1,
+ -1, 201, -1, 203, 204, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 28, -1, -1, -1,
+ -1, -1, 34, -1, -1, -1, -1, -1, -1, 41,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
-1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
72, 73, 74, -1, -1, -1, -1, 79, -1, -1,
-1, -1, 84, -1, 86, 87, -1, -1, -1, -1,
- -1, -1, -1, 95, 96, -1, 98, 99, -1, 101,
+ -1, -1, -1, 95, 96, -1, -1, 99, -1, 101,
-1, -1, -1, 105, 106, -1, -1, -1, -1, 111,
-1, 113, 114, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -4295,14 +4258,14 @@ static const short yycheck[] = { 3,
-1, 143, -1, -1, 146, 147, 148, 149, 150, -1,
152, 153, 3, 4, 156, 157, 158, 159, 160, 161,
162, 163, 164, -1, -1, 167, -1, 169, 170, -1,
- -1, 173, 174, -1, 176, -1, 178, 179, 180, 181,
+ 172, 173, 174, -1, 176, -1, 178, 179, 180, 181,
182, 183, 184, 34, 186, 187, 188, 189, 190, -1,
41, 193, 194, 195, 196, 197, -1, -1, -1, 201,
- -1, 203, 204, -1, -1, -1, 57, -1, -1, 60,
+ -1, 203, 204, -1, 55, -1, 57, -1, -1, 60,
-1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
- -1, 72, 73, 74, 75, -1, -1, -1, 79, -1,
+ -1, 72, 73, 74, -1, -1, -1, -1, 79, -1,
-1, -1, -1, 84, -1, 86, 87, -1, -1, -1,
- -1, -1, -1, -1, 95, 96, -1, -1, 99, -1,
+ -1, -1, -1, -1, 95, 96, -1, 98, 99, -1,
101, -1, -1, -1, 105, 106, -1, -1, -1, -1,
111, -1, 113, 114, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -4315,7 +4278,7 @@ static const short yycheck[] = { 3,
-1, 41, 193, 194, 195, 196, 197, -1, -1, -1,
201, -1, 203, 204, -1, -1, -1, 57, -1, -1,
60, -1, -1, -1, -1, -1, 66, 67, -1, -1,
- -1, -1, 72, 73, 74, -1, -1, -1, -1, 79,
+ -1, -1, 72, 73, 74, 75, -1, -1, -1, 79,
-1, -1, -1, -1, 84, -1, 86, 87, -1, -1,
-1, -1, -1, -1, -1, 95, 96, -1, -1, 99,
-1, 101, -1, -1, -1, 105, 106, -1, -1, -1,
@@ -4325,7 +4288,7 @@ static const short yycheck[] = { 3,
140, 141, -1, 143, -1, -1, 146, 147, 148, 149,
150, -1, 152, 153, 3, 4, 156, 157, 158, 159,
160, 161, 162, 163, 164, -1, -1, 167, -1, 169,
- 170, -1, -1, 173, 174, 175, 176, -1, 178, 179,
+ 170, -1, -1, 173, 174, -1, 176, -1, 178, 179,
180, 181, 182, 183, 184, 34, 186, 187, 188, 189,
190, -1, 41, 193, 194, 195, 196, 197, -1, -1,
-1, 201, -1, 203, 204, -1, -1, -1, 57, -1,
@@ -4338,31 +4301,31 @@ static const short yycheck[] = { 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 132, 133, 134, 135, -1, 137, 138,
-1, 140, 141, -1, 143, -1, -1, 146, 147, 148,
- 149, 150, -1, 152, 153, -1, -1, 156, 157, 158,
+ 149, 150, -1, 152, 153, 3, 4, 156, 157, 158,
159, 160, 161, 162, 163, 164, -1, -1, 167, -1,
169, 170, -1, -1, 173, 174, 175, 176, -1, 178,
- 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
- 189, 190, 3, 4, 193, 194, 195, 196, 197, 10,
- -1, -1, 201, -1, 203, 204, -1, -1, -1, -1,
+ 179, 180, 181, 182, 183, 184, 34, 186, 187, 188,
+ 189, 190, -1, 41, 193, 194, 195, 196, 197, -1,
+ -1, -1, 201, -1, 203, 204, -1, -1, -1, 57,
+ -1, -1, 60, -1, -1, -1, -1, -1, 66, 67,
+ -1, -1, -1, -1, 72, 73, 74, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, 84, -1, 86, 87,
+ -1, -1, -1, -1, -1, -1, -1, 95, 96, -1,
+ -1, 99, -1, 101, -1, -1, -1, 105, 106, -1,
+ -1, -1, -1, 111, -1, 113, 114, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 34, -1, -1, -1, -1, -1, -1,
- 41, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
- -1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
- -1, 72, 73, 74, -1, -1, -1, -1, 79, -1,
- -1, -1, -1, 84, -1, 86, 87, -1, -1, -1,
- -1, -1, -1, -1, 95, 96, -1, -1, 99, -1,
- 101, -1, -1, -1, 105, 106, -1, -1, -1, -1,
- 111, -1, 113, 114, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
+ 138, -1, 140, 141, -1, 143, -1, -1, 146, 147,
+ 148, 149, 150, -1, 152, 153, -1, -1, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, -1, -1, 167,
+ -1, 169, 170, -1, -1, 173, 174, 175, 176, -1,
+ 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
+ 188, 189, 190, 3, 4, 193, 194, 195, 196, 197,
+ 10, -1, -1, 201, -1, 203, 204, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 132, 133, 134, 135, -1, 137, 138, -1, 140,
- 141, -1, 143, -1, -1, 146, 147, 148, 149, 150,
- -1, 152, 153, 3, 4, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, -1, -1, 167, -1, 169, 170,
- -1, -1, 173, 174, -1, 176, -1, 178, 179, 180,
- 181, 182, 183, 184, 34, 186, 187, 188, 189, 190,
- -1, 41, 193, 194, 195, 196, 197, -1, -1, -1,
- 201, -1, 203, 204, -1, -1, -1, 57, -1, -1,
+ -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
+ -1, 41, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
60, -1, -1, -1, -1, -1, 66, 67, -1, -1,
-1, -1, 72, 73, 74, -1, -1, -1, -1, 79,
-1, -1, -1, -1, 84, -1, 86, 87, -1, -1,
@@ -4402,59 +4365,66 @@ static const short yycheck[] = { 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 132, 133, 134, 135, -1, 137,
138, -1, 140, 141, -1, 143, -1, -1, 146, 147,
- 148, 149, 150, -1, 152, 153, -1, -1, 156, 157,
+ 148, 149, 150, -1, 152, 153, 3, 4, 156, 157,
158, 159, 160, 161, 162, 163, 164, -1, -1, 167,
-1, 169, 170, -1, -1, 173, 174, -1, 176, -1,
- 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
- 188, 189, 190, -1, -1, 193, 194, 195, 196, 197,
- -1, -1, 7, 201, -1, 203, 204, 12, -1, -1,
- -1, -1, -1, -1, -1, -1, 21, -1, -1, 24,
- -1, 26, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 36, -1, 38, -1, -1, -1, 42, 43, 44,
- -1, -1, -1, 48, -1, -1, -1, -1, -1, 54,
- -1, -1, -1, -1, 18, 19, 61, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 34, 35, -1, -1, -1, -1, -1, 41, -1, -1,
- -1, -1, -1, 47, -1, 49, -1, -1, -1, -1,
- -1, -1, -1, 57, -1, -1, -1, 102, 62, 104,
- -1, -1, 107, 108, -1, -1, -1, -1, -1, 73,
- 74, -1, 76, -1, 78, -1, -1, 122, -1, 83,
+ 178, 179, 180, 181, 182, 183, 184, 34, 186, 187,
+ 188, 189, 190, -1, 41, 193, 194, 195, 196, 197,
+ -1, -1, -1, 201, -1, 203, 204, -1, -1, -1,
+ 57, -1, -1, 60, -1, -1, -1, -1, -1, 66,
+ 67, -1, -1, -1, -1, 72, 73, 74, -1, -1,
+ -1, -1, 79, -1, -1, -1, -1, 84, -1, 86,
+ 87, -1, -1, -1, -1, -1, -1, -1, 95, 96,
+ -1, -1, 99, -1, 101, -1, -1, -1, 105, 106,
+ -1, -1, -1, -1, 111, -1, 113, 114, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 136, -1, -1, -1, -1, -1, -1, -1, 144,
- 145, -1, 106, 107, -1, -1, -1, 111, 112, 154,
- 155, -1, -1, -1, -1, 119, -1, -1, -1, -1,
- 165, 166, 126, 168, -1, -1, 171, -1, 132, -1,
- -1, 135, 177, 18, 19, -1, -1, -1, -1, -1,
- 185, -1, -1, -1, -1, -1, -1, 192, -1, 34,
- 35, -1, -1, 198, -1, 200, 41, -1, -1, -1,
- -1, -1, 47, -1, 49, -1, -1, -1, -1, -1,
- -1, -1, 57, -1, -1, -1, -1, 62, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 191, 73, 74,
- -1, 76, -1, 78, -1, -1, -1, -1, 83, -1,
- 204, 205, -1, 207, 208, 209, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 132, 133, 134, 135, -1,
+ 137, 138, -1, 140, 141, -1, 143, -1, -1, 146,
+ 147, 148, 149, 150, -1, 152, 153, -1, -1, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, -1, -1,
+ 167, -1, 169, 170, -1, -1, 173, 174, -1, 176,
+ -1, 178, 179, 180, 181, 182, 183, 184, -1, 186,
+ 187, 188, 189, 190, -1, -1, 193, 194, 195, 196,
+ 197, -1, -1, 7, 201, -1, 203, 204, 12, -1,
+ -1, -1, -1, -1, -1, -1, -1, 21, -1, -1,
+ 24, -1, 26, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 36, -1, 38, -1, -1, -1, 42, 43,
+ 44, -1, -1, -1, 48, -1, -1, -1, -1, -1,
+ 54, -1, -1, -1, -1, 18, 19, 61, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 106, 18, 19, -1, -1, 111, 112, -1, -1,
- -1, -1, -1, -1, 119, -1, -1, -1, 34, 35,
- -1, 126, -1, -1, -1, 41, -1, 132, -1, -1,
- 135, -1, -1, 49, -1, -1, -1, -1, -1, -1,
- -1, 57, -1, -1, -1, -1, 62, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 73, 74, -1,
- 76, -1, 78, -1, -1, -1, -1, 83, -1, -1,
+ -1, 34, 35, -1, -1, -1, -1, -1, 41, -1,
+ -1, -1, -1, -1, 47, -1, 49, -1, -1, -1,
+ -1, -1, -1, -1, 57, -1, -1, -1, 102, 62,
+ 104, -1, -1, 107, 108, -1, -1, -1, -1, -1,
+ 73, 74, -1, 76, -1, 78, -1, -1, 122, -1,
+ 83, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 136, -1, -1, -1, -1, -1, -1, -1,
+ 144, 145, -1, 106, 107, -1, -1, -1, 111, 112,
+ 154, 155, -1, -1, -1, -1, 119, -1, -1, -1,
+ -1, 165, 166, 126, 168, -1, -1, 171, -1, 132,
+ -1, -1, 135, 177, 18, 19, -1, -1, -1, -1,
+ -1, 185, -1, -1, -1, -1, -1, -1, 192, -1,
+ 34, 35, -1, -1, 198, -1, 200, 41, -1, -1,
+ -1, -1, -1, 47, -1, 49, -1, -1, -1, -1,
+ -1, -1, -1, 57, -1, -1, -1, -1, 62, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 191, 73,
+ 74, -1, 76, -1, 78, -1, -1, -1, -1, 83,
+ -1, 204, 205, -1, 207, 208, 209, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 191, -1, -1, -1,
- 106, -1, -1, -1, -1, 111, 112, -1, -1, 204,
- 205, -1, 207, 208, 209, -1, -1, -1, -1, -1,
- 126, -1, -1, -1, -1, -1, 132, -1, -1, 135,
+ -1, -1, 106, -1, -1, -1, -1, 111, 112, -1,
+ -1, -1, -1, -1, -1, 119, -1, -1, -1, -1,
+ -1, -1, 126, -1, -1, -1, -1, -1, 132, -1,
+ -1, 135, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 191, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 190, 191, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 204
+ 204, 205, -1, 207, 208, 209
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/lib/bison.simple"
+#line 3 "/usr/local/bison/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -4647,7 +4617,7 @@ __yy_memcpy (char *to, char *from, int count)
#endif
#endif
-#line 196 "/usr/lib/bison.simple"
+#line 196 "/usr/local/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
@@ -9938,443 +9908,444 @@ case 818:
#line 4602 "gram.y"
{
yyval.paramno = makeNode(ParamNo);
- yyval.paramno->number = yyvsp[0].ival;
+ yyval.paramno->number = yyvsp[-1].ival;
+ yyval.paramno->indirection = yyvsp[0].list;
;
break;}
case 819:
-#line 4608 "gram.y"
+#line 4609 "gram.y"
{ yyval.ival = yyvsp[0].ival; ;
break;}
case 820:
-#line 4609 "gram.y"
+#line 4610 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 821:
-#line 4610 "gram.y"
+#line 4611 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 822:
-#line 4618 "gram.y"
+#line 4619 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 823:
-#line 4620 "gram.y"
+#line 4621 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 824:
-#line 4622 "gram.y"
+#line 4623 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 825:
-#line 4632 "gram.y"
+#line 4633 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 826:
-#line 4633 "gram.y"
+#line 4634 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 827:
-#line 4634 "gram.y"
+#line 4635 "gram.y"
{ yyval.str = "absolute"; ;
break;}
case 828:
-#line 4635 "gram.y"
+#line 4636 "gram.y"
{ yyval.str = "action"; ;
break;}
case 829:
-#line 4636 "gram.y"
+#line 4637 "gram.y"
{ yyval.str = "after"; ;
break;}
case 830:
-#line 4637 "gram.y"
+#line 4638 "gram.y"
{ yyval.str = "aggregate"; ;
break;}
case 831:
-#line 4638 "gram.y"
+#line 4639 "gram.y"
{ yyval.str = "backward"; ;
break;}
case 832:
-#line 4639 "gram.y"
+#line 4640 "gram.y"
{ yyval.str = "before"; ;
break;}
case 833:
-#line 4640 "gram.y"
+#line 4641 "gram.y"
{ yyval.str = "cache"; ;
break;}
case 834:
-#line 4641 "gram.y"
+#line 4642 "gram.y"
{ yyval.str = "createdb"; ;
break;}
case 835:
-#line 4642 "gram.y"
+#line 4643 "gram.y"
{ yyval.str = "createuser"; ;
break;}
case 836:
-#line 4643 "gram.y"
+#line 4644 "gram.y"
{ yyval.str = "cycle"; ;
break;}
case 837:
-#line 4644 "gram.y"
+#line 4645 "gram.y"
{ yyval.str = "database"; ;
break;}
case 838:
-#line 4645 "gram.y"
+#line 4646 "gram.y"
{ yyval.str = "delimiters"; ;
break;}
case 839:
-#line 4646 "gram.y"
+#line 4647 "gram.y"
{ yyval.str = "double"; ;
break;}
case 840:
-#line 4647 "gram.y"
+#line 4648 "gram.y"
{ yyval.str = "each"; ;
break;}
case 841:
-#line 4648 "gram.y"
+#line 4649 "gram.y"
{ yyval.str = "encoding"; ;
break;}
case 842:
-#line 4649 "gram.y"
+#line 4650 "gram.y"
{ yyval.str = "forward"; ;
break;}
case 843:
-#line 4650 "gram.y"
+#line 4651 "gram.y"
{ yyval.str = "function"; ;
break;}
case 844:
-#line 4651 "gram.y"
+#line 4652 "gram.y"
{ yyval.str = "handler"; ;
break;}
case 845:
-#line 4652 "gram.y"
+#line 4653 "gram.y"
{ yyval.str = "increment"; ;
break;}
case 846:
-#line 4653 "gram.y"
+#line 4654 "gram.y"
{ yyval.str = "index"; ;
break;}
case 847:
-#line 4654 "gram.y"
+#line 4655 "gram.y"
{ yyval.str = "inherits"; ;
break;}
case 848:
-#line 4655 "gram.y"
+#line 4656 "gram.y"
{ yyval.str = "insensitive"; ;
break;}
case 849:
-#line 4656 "gram.y"
+#line 4657 "gram.y"
{ yyval.str = "instead"; ;
break;}
case 850:
-#line 4657 "gram.y"
+#line 4658 "gram.y"
{ yyval.str = "isnull"; ;
break;}
case 851:
-#line 4658 "gram.y"
+#line 4659 "gram.y"
{ yyval.str = "key"; ;
break;}
case 852:
-#line 4659 "gram.y"
+#line 4660 "gram.y"
{ yyval.str = "language"; ;
break;}
case 853:
-#line 4660 "gram.y"
+#line 4661 "gram.y"
{ yyval.str = "lancompiler"; ;
break;}
case 854:
-#line 4661 "gram.y"
+#line 4662 "gram.y"
{ yyval.str = "location"; ;
break;}
case 855:
-#line 4662 "gram.y"
+#line 4663 "gram.y"
{ yyval.str = "match"; ;
break;}
case 856:
-#line 4663 "gram.y"
+#line 4664 "gram.y"
{ yyval.str = "maxvalue"; ;
break;}
case 857:
-#line 4664 "gram.y"
+#line 4665 "gram.y"
{ yyval.str = "minvalue"; ;
break;}
case 858:
-#line 4665 "gram.y"
+#line 4666 "gram.y"
{ yyval.str = "next"; ;
break;}
case 859:
-#line 4666 "gram.y"
+#line 4667 "gram.y"
{ yyval.str = "nocreatedb"; ;
break;}
case 860:
-#line 4667 "gram.y"
+#line 4668 "gram.y"
{ yyval.str = "nocreateuser"; ;
break;}
case 861:
-#line 4668 "gram.y"
+#line 4669 "gram.y"
{ yyval.str = "nothing"; ;
break;}
case 862:
-#line 4669 "gram.y"
+#line 4670 "gram.y"
{ yyval.str = "notnull"; ;
break;}
case 863:
-#line 4670 "gram.y"
+#line 4671 "gram.y"
{ yyval.str = "of"; ;
break;}
case 864:
-#line 4671 "gram.y"
+#line 4672 "gram.y"
{ yyval.str = "oids"; ;
break;}
case 865:
-#line 4672 "gram.y"
+#line 4673 "gram.y"
{ yyval.str = "only"; ;
break;}
case 866:
-#line 4673 "gram.y"
+#line 4674 "gram.y"
{ yyval.str = "operator"; ;
break;}
case 867:
-#line 4674 "gram.y"
+#line 4675 "gram.y"
{ yyval.str = "option"; ;
break;}
case 868:
-#line 4675 "gram.y"
+#line 4676 "gram.y"
{ yyval.str = "password"; ;
break;}
case 869:
-#line 4676 "gram.y"
+#line 4677 "gram.y"
{ yyval.str = "prior"; ;
break;}
case 870:
-#line 4677 "gram.y"
+#line 4678 "gram.y"
{ yyval.str = "privileges"; ;
break;}
case 871:
-#line 4678 "gram.y"
+#line 4679 "gram.y"
{ yyval.str = "procedural"; ;
break;}
case 872:
-#line 4679 "gram.y"
+#line 4680 "gram.y"
{ yyval.str = "read"; ;
break;}
case 873:
-#line 4680 "gram.y"
+#line 4681 "gram.y"
{ yyval.str = "recipe"; ;
break;}
case 874:
-#line 4681 "gram.y"
+#line 4682 "gram.y"
{ yyval.str = "relative"; ;
break;}
case 875:
-#line 4682 "gram.y"
+#line 4683 "gram.y"
{ yyval.str = "rename"; ;
break;}
case 876:
-#line 4683 "gram.y"
+#line 4684 "gram.y"
{ yyval.str = "returns"; ;
break;}
case 877:
-#line 4684 "gram.y"
+#line 4685 "gram.y"
{ yyval.str = "row"; ;
break;}
case 878:
-#line 4685 "gram.y"
+#line 4686 "gram.y"
{ yyval.str = "rule"; ;
break;}
case 879:
-#line 4686 "gram.y"
+#line 4687 "gram.y"
{ yyval.str = "scroll"; ;
break;}
case 880:
-#line 4687 "gram.y"
+#line 4688 "gram.y"
{ yyval.str = "sequence"; ;
break;}
case 881:
-#line 4688 "gram.y"
+#line 4689 "gram.y"
{ yyval.str = "serial"; ;
break;}
case 882:
-#line 4689 "gram.y"
+#line 4690 "gram.y"
{ yyval.str = "start"; ;
break;}
case 883:
-#line 4690 "gram.y"
+#line 4691 "gram.y"
{ yyval.str = "statement"; ;
break;}
case 884:
-#line 4691 "gram.y"
+#line 4692 "gram.y"
{ yyval.str = "stdin"; ;
break;}
case 885:
-#line 4692 "gram.y"
+#line 4693 "gram.y"
{ yyval.str = "stdout"; ;
break;}
case 886:
-#line 4693 "gram.y"
+#line 4694 "gram.y"
{ yyval.str = "time"; ;
break;}
case 887:
-#line 4694 "gram.y"
+#line 4695 "gram.y"
{ yyval.str = "timezone_hour"; ;
break;}
case 888:
-#line 4695 "gram.y"
+#line 4696 "gram.y"
{ yyval.str = "timezone_minute"; ;
break;}
case 889:
-#line 4696 "gram.y"
+#line 4697 "gram.y"
{ yyval.str = "trigger"; ;
break;}
case 890:
-#line 4697 "gram.y"
+#line 4698 "gram.y"
{ yyval.str = "trusted"; ;
break;}
case 891:
-#line 4698 "gram.y"
+#line 4699 "gram.y"
{ yyval.str = "type"; ;
break;}
case 892:
-#line 4699 "gram.y"
+#line 4700 "gram.y"
{ yyval.str = "valid"; ;
break;}
case 893:
-#line 4700 "gram.y"
+#line 4701 "gram.y"
{ yyval.str = "version"; ;
break;}
case 894:
-#line 4701 "gram.y"
+#line 4702 "gram.y"
{ yyval.str = "zone"; ;
break;}
case 895:
-#line 4714 "gram.y"
+#line 4715 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 896:
-#line 4715 "gram.y"
+#line 4716 "gram.y"
{ yyval.str = "abort"; ;
break;}
case 897:
-#line 4716 "gram.y"
+#line 4717 "gram.y"
{ yyval.str = "analyze"; ;
break;}
case 898:
-#line 4717 "gram.y"
+#line 4718 "gram.y"
{ yyval.str = "binary"; ;
break;}
case 899:
-#line 4718 "gram.y"
+#line 4719 "gram.y"
{ yyval.str = "cluster"; ;
break;}
case 900:
-#line 4719 "gram.y"
+#line 4720 "gram.y"
{ yyval.str = "constraint"; ;
break;}
case 901:
-#line 4720 "gram.y"
+#line 4721 "gram.y"
{ yyval.str = "copy"; ;
break;}
case 902:
-#line 4721 "gram.y"
+#line 4722 "gram.y"
{ yyval.str = "cross"; ;
break;}
case 903:
-#line 4722 "gram.y"
+#line 4723 "gram.y"
{ yyval.str = "current"; ;
break;}
case 904:
-#line 4723 "gram.y"
+#line 4724 "gram.y"
{ yyval.str = "do"; ;
break;}
case 905:
-#line 4724 "gram.y"
+#line 4725 "gram.y"
{ yyval.str = "explain"; ;
break;}
case 906:
-#line 4725 "gram.y"
+#line 4726 "gram.y"
{ yyval.str = "extend"; ;
break;}
case 907:
-#line 4726 "gram.y"
+#line 4727 "gram.y"
{ yyval.str = "false"; ;
break;}
case 908:
-#line 4727 "gram.y"
+#line 4728 "gram.y"
{ yyval.str = "foreign"; ;
break;}
case 909:
-#line 4728 "gram.y"
+#line 4729 "gram.y"
{ yyval.str = "group"; ;
break;}
case 910:
-#line 4729 "gram.y"
+#line 4730 "gram.y"
{ yyval.str = "listen"; ;
break;}
case 911:
-#line 4730 "gram.y"
+#line 4731 "gram.y"
{ yyval.str = "load"; ;
break;}
case 912:
-#line 4731 "gram.y"
+#line 4732 "gram.y"
{ yyval.str = "lock"; ;
break;}
case 913:
-#line 4732 "gram.y"
+#line 4733 "gram.y"
{ yyval.str = "move"; ;
break;}
case 914:
-#line 4733 "gram.y"
+#line 4734 "gram.y"
{ yyval.str = "new"; ;
break;}
case 915:
-#line 4734 "gram.y"
+#line 4735 "gram.y"
{ yyval.str = "none"; ;
break;}
case 916:
-#line 4735 "gram.y"
+#line 4736 "gram.y"
{ yyval.str = "order"; ;
break;}
case 917:
-#line 4736 "gram.y"
+#line 4737 "gram.y"
{ yyval.str = "position"; ;
break;}
case 918:
-#line 4737 "gram.y"
+#line 4738 "gram.y"
{ yyval.str = "precision"; ;
break;}
case 919:
-#line 4738 "gram.y"
+#line 4739 "gram.y"
{ yyval.str = "reset"; ;
break;}
case 920:
-#line 4739 "gram.y"
+#line 4740 "gram.y"
{ yyval.str = "setof"; ;
break;}
case 921:
-#line 4740 "gram.y"
+#line 4741 "gram.y"
{ yyval.str = "show"; ;
break;}
case 922:
-#line 4741 "gram.y"
+#line 4742 "gram.y"
{ yyval.str = "table"; ;
break;}
case 923:
-#line 4742 "gram.y"
+#line 4743 "gram.y"
{ yyval.str = "transaction"; ;
break;}
case 924:
-#line 4743 "gram.y"
+#line 4744 "gram.y"
{ yyval.str = "true"; ;
break;}
case 925:
-#line 4744 "gram.y"
+#line 4745 "gram.y"
{ yyval.str = "vacuum"; ;
break;}
case 926:
-#line 4745 "gram.y"
+#line 4746 "gram.y"
{ yyval.str = "verbose"; ;
break;}
case 927:
-#line 4749 "gram.y"
+#line 4750 "gram.y"
{
if (QueryIsRule)
yyval.str = "*CURRENT*";
@@ -10383,7 +10354,7 @@ case 927:
;
break;}
case 928:
-#line 4756 "gram.y"
+#line 4757 "gram.y"
{
if (QueryIsRule)
yyval.str = "*NEW*";
@@ -10393,7 +10364,7 @@ case 928:
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 498 "/usr/lib/bison.simple"
+#line 498 "/usr/local/bison/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
@@ -10589,7 +10560,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 4764 "gram.y"
+#line 4765 "gram.y"
static Node *
diff --git a/src/backend/utils/adt/Makefile b/src/backend/utils/adt/Makefile
index d9812a5236..686a2d0e8c 100644
--- a/src/backend/utils/adt/Makefile
+++ b/src/backend/utils/adt/Makefile
@@ -4,7 +4,7 @@
# Makefile for utils/adt
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/utils/adt/Makefile,v 1.17 1998/08/24 01:38:04 momjian Exp $
+# $Header: /cvsroot/pgsql/src/backend/utils/adt/Makefile,v 1.18 1998/10/03 05:40:47 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -23,7 +23,8 @@ OBJS = acl.o arrayfuncs.o arrayutils.o bool.o cash.o char.o chunk.o \
misc.o nabstime.o name.o not_in.o numutils.o \
oid.o oracle_compat.o \
regexp.o regproc.o ruleutils.o selfuncs.o sets.o \
- tid.o timestamp.o varchar.o varlena.o version.o
+ tid.o timestamp.o varchar.o varlena.o version.o \
+ ip.o mac.o inet_net_ntop.o inet_net_pton.o
all: SUBSYS.o
diff --git a/src/backend/utils/adt/inet_net_ntop.c b/src/backend/utils/adt/inet_net_ntop.c
new file mode 100644
index 0000000000..655f8ba62e
--- /dev/null
+++ b/src/backend/utils/adt/inet_net_ntop.c
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 1996 by Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ * SOFTWARE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static const char rcsid[] = "$Id: inet_net_ntop.c,v 1.1 1998/10/03 05:40:48 momjian Exp $";
+
+#endif
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+
+#ifdef SPRINTF_CHAR
+#define SPRINTF(x) strlen(sprintf/**/x)
+#else
+#define SPRINTF(x) ((size_t)sprintf x)
+#endif
+
+static char *inet_net_ntop_ipv4(const u_char *src, int bits,
+ char *dst, size_t size);
+
+/*
+ * char *
+ * inet_net_ntop(af, src, bits, dst, size)
+ * convert network number from network to presentation format.
+ * generates CIDR style result always.
+ * return:
+ * pointer to dst, or NULL if an error occurred (check errno).
+ * author:
+ * Paul Vixie (ISC), July 1996
+ */
+char *
+inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size)
+{
+ switch (af)
+ {
+ case AF_INET:
+ return (inet_net_ntop_ipv4(src, bits, dst, size));
+ default:
+ errno = EAFNOSUPPORT;
+ return (NULL);
+ }
+}
+
+/*
+ * static char *
+ * inet_net_ntop_ipv4(src, bits, dst, size)
+ * convert IPv4 network number from network to presentation format.
+ * generates CIDR style result always.
+ * return:
+ * pointer to dst, or NULL if an error occurred (check errno).
+ * note:
+ * network byte order assumed. this means 192.5.5.240/28 has
+ * 0x11110000 in its fourth octet.
+ * author:
+ * Paul Vixie (ISC), July 1996
+ */
+static char *
+inet_net_ntop_ipv4(const u_char *src, int bits, char *dst, size_t size)
+{
+ char *odst = dst;
+ char *t;
+ u_int m;
+ int b;
+
+ if (bits < 0 || bits > 32)
+ {
+ errno = EINVAL;
+ return (NULL);
+ }
+ if (bits == 0)
+ {
+ if (size < sizeof "0")
+ goto emsgsize;
+ *dst++ = '0';
+ *dst = '\0';
+ }
+
+ /* Format whole octets. */
+ for (b = bits / 8; b > 0; b--)
+ {
+ if (size < sizeof "255.")
+ goto emsgsize;
+ t = dst;
+ dst += SPRINTF((dst, "%u", *src++));
+ if (b > 1)
+ {
+ *dst++ = '.';
+ *dst = '\0';
+ }
+ size -= (size_t) (dst - t);
+ }
+
+ /* Format partial octet. */
+ b = bits % 8;
+ if (b > 0)
+ {
+ if (size < sizeof ".255")
+ goto emsgsize;
+ t = dst;
+ if (dst != odst)
+ *dst++ = '.';
+ m = ((1 << b) - 1) << (8 - b);
+ dst += SPRINTF((dst, "%u", *src & m));
+ size -= (size_t) (dst - t);
+ }
+
+ /* Format CIDR /width. */
+ if (size < sizeof "/32")
+ goto emsgsize;
+ dst += SPRINTF((dst, "/%u", bits));
+ return (odst);
+
+emsgsize:
+ errno = EMSGSIZE;
+ return (NULL);
+}
diff --git a/src/backend/utils/adt/inet_net_pton.c b/src/backend/utils/adt/inet_net_pton.c
new file mode 100644
index 0000000000..8b3ae41127
--- /dev/null
+++ b/src/backend/utils/adt/inet_net_pton.c
@@ -0,0 +1,217 @@
+/*
+ * Copyright (c) 1996 by Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ * SOFTWARE.
+ */
+
+#if defined(LIBC_SCCS) && !defined(lint)
+static const char rcsid[] = "$Id: inet_net_pton.c,v 1.1 1998/10/03 05:40:49 momjian Exp $";
+
+#endif
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#ifdef SPRINTF_CHAR
+#define SPRINTF(x) strlen(sprintf/**/x)
+#else
+#define SPRINTF(x) ((size_t)sprintf x)
+#endif
+
+static int inet_net_pton_ipv4(const char *src, u_char *dst, size_t size);
+
+/*
+ * static int
+ * inet_net_pton(af, src, dst, size)
+ * convert network number from presentation to network format.
+ * accepts hex octets, hex strings, decimal octets, and /CIDR.
+ * "size" is in bytes and describes "dst".
+ * return:
+ * number of bits, either imputed classfully or specified with /CIDR,
+ * or -1 if some failure occurred (check errno). ENOENT means it was
+ * not a valid network specification.
+ * author:
+ * Paul Vixie (ISC), June 1996
+ */
+int
+inet_net_pton(int af, const char *src, void *dst, size_t size)
+{
+ switch (af)
+ {
+ case AF_INET:
+ return (inet_net_pton_ipv4(src, dst, size));
+ default:
+ errno = EAFNOSUPPORT;
+ return (-1);
+ }
+}
+
+/*
+ * static int
+ * inet_net_pton_ipv4(src, dst, size)
+ * convert IPv4 network number from presentation to network format.
+ * accepts hex octets, hex strings, decimal octets, and /CIDR.
+ * "size" is in bytes and describes "dst".
+ * return:
+ * number of bits, either imputed classfully or specified with /CIDR,
+ * or -1 if some failure occurred (check errno). ENOENT means it was
+ * not an IPv4 network specification.
+ * note:
+ * network byte order assumed. this means 192.5.5.240/28 has
+ * 0x11110000 in its fourth octet.
+ * author:
+ * Paul Vixie (ISC), June 1996
+ */
+static int
+inet_net_pton_ipv4(const char *src, u_char *dst, size_t size)
+{
+ static const char
+ xdigits[] = "0123456789abcdef",
+ digits[] = "0123456789";
+ int n,
+ ch,
+ tmp,
+ dirty,
+ bits;
+ const u_char *odst = dst;
+
+ ch = *src++;
+ if (ch == '0' && (src[0] == 'x' || src[0] == 'X')
+ && isascii(src[1]) && isxdigit(src[1]))
+ {
+ /* Hexadecimal: Eat nybble string. */
+ if (size <= 0)
+ goto emsgsize;
+ *dst = 0, dirty = 0;
+ src++; /* skip x or X. */
+ while ((ch = *src++) != '\0' &&
+ isascii(ch) && isxdigit(ch))
+ {
+ if (isupper(ch))
+ ch = tolower(ch);
+ n = strchr(xdigits, ch) - xdigits;
+ assert(n >= 0 && n <= 15);
+ *dst |= n;
+ if (!dirty++)
+ *dst <<= 4;
+ else if (size-- > 0)
+ *++dst = 0, dirty = 0;
+ else
+ goto emsgsize;
+ }
+ if (dirty)
+ size--;
+ }
+ else if (isascii(ch) && isdigit(ch))
+ {
+ /* Decimal: eat dotted digit string. */
+ for (;;)
+ {
+ tmp = 0;
+ do
+ {
+ n = strchr(digits, ch) - digits;
+ assert(n >= 0 && n <= 9);
+ tmp *= 10;
+ tmp += n;
+ if (tmp > 255)
+ goto enoent;
+ } while ((ch = *src++) != '\0' &&
+ isascii(ch) && isdigit(ch));
+ if (size-- <= 0)
+ goto emsgsize;
+ *dst++ = (u_char) tmp;
+ if (ch == '\0' || ch == '/')
+ break;
+ if (ch != '.')
+ goto enoent;
+ ch = *src++;
+ if (!isascii(ch) || !isdigit(ch))
+ goto enoent;
+ }
+ }
+ else
+ goto enoent;
+
+ bits = -1;
+ if (ch == '/' && isascii(src[0]) && isdigit(src[0]) && dst > odst)
+ {
+ /* CIDR width specifier. Nothing can follow it. */
+ ch = *src++; /* Skip over the /. */
+ bits = 0;
+ do
+ {
+ n = strchr(digits, ch) - digits;
+ assert(n >= 0 && n <= 9);
+ bits *= 10;
+ bits += n;
+ } while ((ch = *src++) != '\0' &&
+ isascii(ch) && isdigit(ch));
+ if (ch != '\0')
+ goto enoent;
+ if (bits > 32)
+ goto emsgsize;
+ }
+
+ /* Firey death and destruction unless we prefetched EOS. */
+ if (ch != '\0')
+ goto enoent;
+
+ /* If nothing was written to the destination, we found no address. */
+ if (dst == odst)
+ goto enoent;
+ /* If no CIDR spec was given, infer width from net class. */
+ if (bits == -1)
+ {
+ if (*odst >= 240) /* Class E */
+ bits = 32;
+ else if (*odst >= 224) /* Class D */
+ bits = 4;
+ else if (*odst >= 192) /* Class C */
+ bits = 24;
+ else if (*odst >= 128) /* Class B */
+ bits = 16;
+ else
+/* Class A */
+ bits = 8;
+ /* If imputed mask is narrower than specified octets, widen. */
+ if (bits >= 8 && bits < ((dst - odst) * 8))
+ bits = (dst - odst) * 8;
+ }
+ /* Extend network to cover the actual mask. */
+ while (bits > ((dst - odst) * 8))
+ {
+ if (size-- <= 0)
+ goto emsgsize;
+ *dst++ = '\0';
+ }
+ return (bits);
+
+enoent:
+ errno = ENOENT;
+ return (-1);
+
+emsgsize:
+ errno = EMSGSIZE;
+ return (-1);
+}
diff --git a/src/backend/utils/adt/ip.c b/src/backend/utils/adt/ip.c
new file mode 100644
index 0000000000..b29339694b
--- /dev/null
+++ b/src/backend/utils/adt/ip.c
@@ -0,0 +1,283 @@
+/*
+ * PostgreSQL type definitions for IP addresses. This
+ * is for IP V4 CIDR notation, but prepared for V6: just
+ * add the necessary bits where the comments indicate.
+ *
+ * $Id: ip.c,v 1.1 1998/10/03 05:40:49 momjian Exp $
+ */
+
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+
+#include
+#include
+#include
+
+/*
+ * Access macros. Add IPV6 support.
+ */
+
+#define ip_addrsize(ipaddrptr) \
+ (((ipaddr_struct *)VARDATA(ipaddrptr))->family == AF_INET ? 4 : -1)
+
+#define ip_family(ipaddrptr) \
+ (((ipaddr_struct *)VARDATA(ipaddrptr))->family)
+
+#define ip_bits(ipaddrptr) \
+ (((ipaddr_struct *)VARDATA(ipaddrptr))->bits)
+
+#define ip_v4addr(ipaddrptr) \
+ (((ipaddr_struct *)VARDATA(ipaddrptr))->addr.ipv4_addr)
+
+/*
+ * IP address reader.
+ */
+
+ipaddr *
+ipaddr_in(char *src)
+{
+ int bits;
+ ipaddr *dst;
+
+ dst = palloc(VARHDRSZ + sizeof(ipaddr_struct));
+ if (dst == NULL)
+ {
+ elog(ERROR, "unable to allocate memory in ipaddr_in()");
+ return (NULL);
+ }
+ /* First, try for an IP V4 address: */
+ ip_family(dst) = AF_INET;
+ bits = inet_net_pton(ip_family(dst), src, &ip_v4addr(dst), ip_addrsize(dst));
+ if ((bits < 0) || (bits > 32))
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "could not parse \"%s\"", src);
+ pfree(dst);
+ return (NULL);
+ }
+ VARSIZE(dst) = VARHDRSZ
+ + ((char *) &ip_v4addr(dst) - (char *) VARDATA(dst))
+ + ip_addrsize(dst);
+ ip_bits(dst) = bits;
+ return (dst);
+}
+
+/*
+ * IP address output function.
+ */
+
+char *
+ipaddr_out(ipaddr *src)
+{
+ char *dst,
+ tmp[sizeof("255.255.255.255/32")];
+
+ if (ip_family(src) == AF_INET)
+ {
+ /* It's an IP V4 address: */
+ if (inet_net_ntop(AF_INET, &ip_v4addr(src), ip_bits(src),
+ tmp, sizeof(tmp)) < 0)
+ {
+ elog(ERROR, "unable to print address (%s)", strerror(errno));
+ return (NULL);
+ }
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "unknown address family (%d)", ip_family(src));
+ return (NULL);
+ }
+ dst = palloc(strlen(tmp) + 1);
+ if (dst == NULL)
+ {
+ elog(ERROR, "unable to allocate memory in ipaddr_out()");
+ return (NULL);
+ }
+ strcpy(dst, tmp);
+ return (dst);
+}
+
+/*
+ * Boolean tests for magnitude. Add V4/V6 testing!
+ */
+
+bool
+ipaddr_lt(ipaddr *a1, ipaddr *a2)
+{
+ if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET))
+ {
+ int order = v4bitncmp(ip_v4addr(a1), ip_v4addr(a2), ip_bits(a2));
+
+ return ((order < 0) || ((order == 0) && (ip_bits(a1) < ip_bits(a2))));
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "cannot compare address families %d and %d",
+ ip_family(a1), ip_family(a2));
+ return (FALSE);
+ }
+}
+
+bool
+ipaddr_le(ipaddr *a1, ipaddr *a2)
+{
+ return (ipaddr_lt(a1, a2) || ipaddr_eq(a1, a2));
+}
+
+bool
+ipaddr_eq(ipaddr *a1, ipaddr *a2)
+{
+ if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET))
+ {
+ return ((ip_bits(a1) == ip_bits(a2))
+ && (v4bitncmp(ip_v4addr(a1), ip_v4addr(a2), ip_bits(a1)) == 0));
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "cannot compare address families %d and %d",
+ ip_family(a1), ip_family(a2));
+ return (FALSE);
+ }
+}
+
+bool
+ipaddr_ge(ipaddr *a1, ipaddr *a2)
+{
+ return (ipaddr_gt(a1, a2) || ipaddr_eq(a1, a2));
+}
+
+bool
+ipaddr_gt(ipaddr *a1, ipaddr *a2)
+{
+ if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET))
+ {
+ int order = v4bitncmp(ip_v4addr(a1), ip_v4addr(a2), ip_bits(a2));
+
+ return ((order > 0) || ((order == 0) && (ip_bits(a1) > ip_bits(a2))));
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "cannot compare address families %d and %d",
+ ip_family(a1), ip_family(a2));
+ return (FALSE);
+ }
+}
+
+bool
+ipaddr_ne(ipaddr *a1, ipaddr *a2)
+{
+ return (!ipaddr_eq(a1, a2));
+}
+
+bool
+ipaddr_sub(ipaddr *a1, ipaddr *a2)
+{
+ if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET))
+ {
+ return ((ip_bits(a1) > ip_bits(a2))
+ && (v4bitncmp(ip_v4addr(a1), ip_v4addr(a2), ip_bits(a2)) == 0));
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "cannot compare address families %d and %d",
+ ip_family(a1), ip_family(a2));
+ return (FALSE);
+ }
+}
+
+bool
+ipaddr_subeq(ipaddr *a1, ipaddr *a2)
+{
+ if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET))
+ {
+ return ((ip_bits(a1) >= ip_bits(a2))
+ && (v4bitncmp(ip_v4addr(a1), ip_v4addr(a2), ip_bits(a2)) == 0));
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "cannot compare address families %d and %d",
+ ip_family(a1), ip_family(a2));
+ return (FALSE);
+ }
+}
+
+bool
+ipaddr_sup(ipaddr *a1, ipaddr *a2)
+{
+ if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET))
+ {
+ return ((ip_bits(a1) < ip_bits(a2))
+ && (v4bitncmp(ip_v4addr(a1), ip_v4addr(a2), ip_bits(a1)) == 0));
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "cannot compare address families %d and %d",
+ ip_family(a1), ip_family(a2));
+ return (FALSE);
+ }
+}
+
+bool
+ipaddr_supeq(ipaddr *a1, ipaddr *a2)
+{
+ if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET))
+ {
+ return ((ip_bits(a1) <= ip_bits(a2))
+ && (v4bitncmp(ip_v4addr(a1), ip_v4addr(a2), ip_bits(a1)) == 0));
+ }
+ else
+ {
+ /* Go for an IPV6 address here, before faulting out: */
+ elog(ERROR, "cannot compare address families %d and %d",
+ ip_family(a1), ip_family(a2));
+ return (FALSE);
+ }
+}
+
+/*
+ * Comparison function for sorting. Add V4/V6 testing!
+ */
+
+int4
+ipaddr_cmp(ipaddr *a1, ipaddr *a2)
+{
+ if (ntohl(ip_v4addr(a1)) < ntohl(ip_v4addr(a2)))
+ return (-1);
+ else if (ntohl(ip_v4addr(a1)) > ntohl(ip_v4addr(a2)))
+ return (1);
+ return 0;
+}
+
+/*
+ * Bitwise comparison for V4 addresses. Add V6 implementation!
+ */
+
+int
+v4bitncmp(u_int32_t a1, u_int32_t a2, int bits)
+{
+ unsigned long mask = 0;
+ int i;
+
+ for (i = 0; i < bits; i++)
+ mask = (mask >> 1) | 0x80000000;
+ a1 = ntohl(a1);
+ a2 = ntohl(a2);
+ if ((a1 & mask) < (a2 & mask))
+ return (-1);
+ else if ((a1 & mask) > (a2 & mask))
+ return (1);
+ return (0);
+}
diff --git a/src/backend/utils/adt/mac.c b/src/backend/utils/adt/mac.c
new file mode 100644
index 0000000000..8d09ea16c6
--- /dev/null
+++ b/src/backend/utils/adt/mac.c
@@ -0,0 +1,323 @@
+/*
+ * PostgreSQL type definitions for MAC addresses.
+ *
+ * $Id: mac.c,v 1.1 1998/10/03 05:40:50 momjian Exp $
+ */
+
+#include
+
+#include
+#include
+
+#include
+
+manufacturer manufacturers[] = {
+ {0x00, 0x00, 0x0C, "Cisco"},
+ {0x00, 0x00, 0x0E, "Fujitsu"},
+ {0x00, 0x00, 0x0F, "NeXT"},
+ {0x00, 0x00, 0x10, "Sytek"},
+ {0x00, 0x00, 0x1D, "Cabletron"},
+ {0x00, 0x00, 0x20, "DIAB"},
+ {0x00, 0x00, 0x22, "Visual Technology"},
+ {0x00, 0x00, 0x2A, "TRW"},
+ {0x00, 0x00, 0x32, "GPT Limited"},
+ {0x00, 0x00, 0x5A, "S & Koch"},
+ {0x00, 0x00, 0x5E, "IANA"},
+ {0x00, 0x00, 0x65, "Network General"},
+ {0x00, 0x00, 0x6B, "MIPS"},
+ {0x00, 0x00, 0x77, "MIPS"},
+ {0x00, 0x00, 0x7A, "Ardent"},
+ {0x00, 0x00, 0x89, "Cayman Systems"},
+ {0x00, 0x00, 0x93, "Proteon"},
+ {0x00, 0x00, 0x9F, "Ameristar Technology"},
+ {0x00, 0x00, 0xA2, "Wellfleet"},
+ {0x00, 0x00, 0xA3, "Network Application Technology"},
+ {0x00, 0x00, 0xA6, "Network General"},
+ {0x00, 0x00, 0xA7, "NCD"},
+ {0x00, 0x00, 0xA9, "Network Systems"},
+ {0x00, 0x00, 0xAA, "Xerox"},
+ {0x00, 0x00, 0xB3, "CIMLinc"},
+ {0x00, 0x00, 0xB7, "Dove Fastnet"},
+ {0x00, 0x00, 0xBC, "Allen-Bradley"},
+ {0x00, 0x00, 0xC0, "Western Digital"},
+ {0x00, 0x00, 0xC5, "Farallon"},
+ {0x00, 0x00, 0xC6, "Hewlett-Packard"},
+ {0x00, 0x00, 0xC8, "Altos"},
+ {0x00, 0x00, 0xC9, "Emulex"},
+ {0x00, 0x00, 0xD7, "Dartmouth College"},
+ {0x00, 0x00, 0xD8, "3Com (?)"},
+ {0x00, 0x00, 0xDD, "Gould"},
+ {0x00, 0x00, 0xDE, "Unigraph"},
+ {0x00, 0x00, 0xE2, "Acer Counterpoint"},
+ {0x00, 0x00, 0xEF, "Alantec"},
+ {0x00, 0x00, 0xFD, "High Level Hardware"},
+ {0x00, 0x01, 0x02, "BBN internal usage"},
+ {0x00, 0x20, 0xAF, "3Com"},
+ {0x00, 0x17, 0x00, "Kabel"},
+ {0x00, 0x80, 0x64, "Wyse Technology"},
+ {0x00, 0x80, 0x2B, "IMAC (?)"},
+ {0x00, 0x80, 0x2D, "Xylogics, Inc."},
+ {0x00, 0x80, 0x8C, "Frontier Software Development"},
+ {0x00, 0x80, 0xC2, "IEEE 802.1 Committee"},
+ {0x00, 0x80, 0xD3, "Shiva"},
+ {0x00, 0xAA, 0x00, "Intel"},
+ {0x00, 0xDD, 0x00, "Ungermann-Bass"},
+ {0x00, 0xDD, 0x01, "Ungermann-Bass"},
+ {0x02, 0x07, 0x01, "Racal InterLan"},
+ {0x02, 0x04, 0x06, "BBN internal usage"},
+ {0x02, 0x60, 0x86, "Satelcom MegaPac"},
+ {0x02, 0x60, 0x8C, "3Com"},
+ {0x02, 0xCF, 0x1F, "CMC"},
+ {0x08, 0x00, 0x02, "3Com"},
+ {0x08, 0x00, 0x03, "ACC"},
+ {0x08, 0x00, 0x05, "Symbolics"},
+ {0x08, 0x00, 0x08, "BBN"},
+ {0x08, 0x00, 0x09, "Hewlett-Packard"},
+ {0x08, 0x00, 0x0A, "Nestar Systems"},
+ {0x08, 0x00, 0x0B, "Unisys"},
+ {0x08, 0x00, 0x11, "Tektronix"},
+ {0x08, 0x00, 0x14, "Excelan"},
+ {0x08, 0x00, 0x17, "NSC"},
+ {0x08, 0x00, 0x1A, "Data General"},
+ {0x08, 0x00, 0x1B, "Data General"},
+ {0x08, 0x00, 0x1E, "Apollo"},
+ {0x08, 0x00, 0x20, "Sun"},
+ {0x08, 0x00, 0x22, "NBI"},
+ {0x08, 0x00, 0x25, "CDC"},
+ {0x08, 0x00, 0x26, "Norsk Data"},
+ {0x08, 0x00, 0x27, "PCS Computer Systems GmbH"},
+ {0x08, 0x00, 0x28, "Texas Instruments"},
+ {0x08, 0x00, 0x2B, "DEC"},
+ {0x08, 0x00, 0x2E, "Metaphor"},
+ {0x08, 0x00, 0x2F, "Prime Computer"},
+ {0x08, 0x00, 0x36, "Intergraph"},
+ {0x08, 0x00, 0x37, "Fujitsu-Xerox"},
+ {0x08, 0x00, 0x38, "Bull"},
+ {0x08, 0x00, 0x39, "Spider Systems"},
+ {0x08, 0x00, 0x41, "DCA Digital Comm. Assoc."},
+ {0x08, 0x00, 0x45, "Xylogics (?)"},
+ {0x08, 0x00, 0x46, "Sony"},
+ {0x08, 0x00, 0x47, "Sequent"},
+ {0x08, 0x00, 0x49, "Univation"},
+ {0x08, 0x00, 0x4C, "Encore"},
+ {0x08, 0x00, 0x4E, "BICC"},
+ {0x08, 0x00, 0x56, "Stanford University"},
+ {0x08, 0x00, 0x58, "DECsystem 20 (?)"},
+ {0x08, 0x00, 0x5A, "IBM"},
+ {0x08, 0x00, 0x67, "Comdesign"},
+ {0x08, 0x00, 0x68, "Ridge"},
+ {0x08, 0x00, 0x69, "Silicon Graphics"},
+ {0x08, 0x00, 0x6E, "Concurrent"},
+ {0x08, 0x00, 0x75, "DDE"},
+ {0x08, 0x00, 0x7C, "Vitalink"},
+ {0x08, 0x00, 0x80, "XIOS"},
+ {0x08, 0x00, 0x86, "Imagen/QMS"},
+ {0x08, 0x00, 0x87, "Xyplex"},
+ {0x08, 0x00, 0x89, "Kinetics"},
+ {0x08, 0x00, 0x8B, "Pyramid"},
+ {0x08, 0x00, 0x8D, "XyVision"},
+ {0x08, 0x00, 0x90, "Retix Inc"},
+ {0x48, 0x44, 0x53, "HDS (?)"},
+ {0x80, 0x00, 0x10, "AT&T"},
+ {0xAA, 0x00, 0x00, "DEC"},
+ {0xAA, 0x00, 0x01, "DEC"},
+ {0xAA, 0x00, 0x02, "DEC"},
+ {0xAA, 0x00, 0x03, "DEC"},
+ {0xAA, 0x00, 0x04, "DEC"},
+ {0x00, 0x00, 0x00, NULL}
+};
+
+/*
+ * Utility macros used for sorting and comparing:
+ */
+
+#define hibits(addr) \
+ ((unsigned long)((addr->a<<16)|(addr->b<<8)|(addr->c)))
+
+#define lobits(addr) \
+ ((unsigned long)((addr->c<<16)|(addr->e<<8)|(addr->f)))
+
+/*
+ * MAC address reader. Accepts several common notations.
+ */
+
+macaddr *
+macaddr_in(char *str)
+{
+ int a,
+ b,
+ c,
+ d,
+ e,
+ f;
+ macaddr *result;
+ int count;
+
+ if (strlen(str) > 0)
+ {
+
+ count = sscanf(str, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f);
+ if (count != 6)
+ count = sscanf(str, "%x-%x-%x-%x-%x-%x", &a, &b, &c, &d, &e, &f);
+ if (count != 6)
+ count = sscanf(str, "%2x%2x%2x:%2x%2x%2x", &a, &b, &c, &d, &e, &f);
+ if (count != 6)
+ count = sscanf(str, "%2x%2x%2x-%2x%2x%2x", &a, &b, &c, &d, &e, &f);
+ if (count != 6)
+ count = sscanf(str, "%2x%2x.%2x%2x.%2x%2x", &a, &b, &c, &d, &e, &f);
+
+ if (count != 6)
+ {
+ elog(ERROR, "macaddr_in: error in parsing \"%s\"", str);
+ return (NULL);
+ }
+
+ if ((a < 0) || (a > 255) || (b < 0) || (b > 255) ||
+ (c < 0) || (c > 255) || (d < 0) || (d > 255) ||
+ (e < 0) || (e > 255) || (f < 0) || (f > 255))
+ {
+ elog(ERROR, "macaddr_in: illegal address \"%s\"", str);
+ return (NULL);
+ }
+ }
+ else
+ {
+ a = b = c = d = e = f = 0; /* special case for missing
+ * address */
+ }
+
+ result = (macaddr *) palloc(sizeof(macaddr));
+
+ result->a = a;
+ result->b = b;
+ result->c = c;
+ result->d = d;
+ result->e = e;
+ result->f = f;
+
+ return (result);
+}
+
+/*
+ * MAC address output function. Fixed format.
+ */
+
+char *
+macaddr_out(macaddr *addr)
+{
+ char *result;
+
+ if (addr == NULL)
+ return (NULL);
+
+ result = (char *) palloc(32);
+
+ if ((hibits(addr) > 0) || (lobits(addr) > 0))
+ {
+ sprintf(result, "%02x:%02x:%02x:%02x:%02x:%02x",
+ addr->a, addr->b, addr->c, addr->d, addr->e, addr->f);
+ }
+ else
+ {
+ result[0] = 0; /* special case for missing address */
+ }
+ return (result);
+}
+
+/*
+ * Boolean tests.
+ */
+
+bool
+macaddr_lt(macaddr *a1, macaddr *a2)
+{
+ return ((hibits(a1) < hibits(a2)) ||
+ ((hibits(a1) == hibits(a2)) && lobits(a1) < lobits(a2)));
+};
+
+bool
+macaddr_le(macaddr *a1, macaddr *a2)
+{
+ return ((hibits(a1) < hibits(a2)) ||
+ ((hibits(a1) == hibits(a2)) && lobits(a1) <= lobits(a2)));
+};
+
+bool
+macaddr_eq(macaddr *a1, macaddr *a2)
+{
+ return ((hibits(a1) == hibits(a2)) && (lobits(a1) == lobits(a2)));
+};
+
+bool
+macaddr_ge(macaddr *a1, macaddr *a2)
+{
+ return ((hibits(a1) > hibits(a2)) ||
+ ((hibits(a1) == hibits(a2)) && lobits(a1) >= lobits(a2)));
+};
+
+bool
+macaddr_gt(macaddr *a1, macaddr *a2)
+{
+ return ((hibits(a1) > hibits(a2)) ||
+ ((hibits(a1) == hibits(a2)) && lobits(a1) > lobits(a2)));
+};
+
+bool
+macaddr_ne(macaddr *a1, macaddr *a2)
+{
+ return ((hibits(a1) != hibits(a2)) || (lobits(a1) != lobits(a2)));
+};
+
+/*
+ * Comparison function for sorting:
+ */
+
+int4
+macaddr_cmp(macaddr *a1, macaddr *a2)
+{
+ if (hibits(a1) < hibits(a2))
+ return -1;
+ else if (hibits(a1) > hibits(a2))
+ return 1;
+ else if (lobits(a1) < lobits(a2))
+ return -1;
+ else if (lobits(a1) > lobits(a2))
+ return 1;
+ else
+ return 0;
+}
+
+/*
+ * The special manufacturer fetching function. See "mac.h".
+ */
+
+text *
+macaddr_manuf(macaddr *addr)
+{
+ manufacturer *manuf;
+ int length;
+ text *result;
+
+ for (manuf = manufacturers; manuf->name != NULL; manuf++)
+ {
+ if ((manuf->a == addr->a) &&
+ (manuf->b == addr->b) &&
+ (manuf->c == addr->c))
+ break;
+ }
+ if (manuf->name == NULL)
+ {
+ result = palloc(VARHDRSZ + 1);
+ memset(result, 0, VARHDRSZ + 1);
+ VARSIZE(result) = VARHDRSZ + 1;
+ }
+ else
+ {
+ length = strlen(manuf->name) + 1;
+ result = palloc(length + VARHDRSZ);
+ memset(result, 0, length + VARHDRSZ);
+ VARSIZE(result) = length + VARHDRSZ;
+ memcpy(VARDATA(result), manuf->name, length);
+ }
+ return result;
+}
diff --git a/src/include/catalog/pg_amop.h b/src/include/catalog/pg_amop.h
index 40a112e642..140eaa3b39 100644
--- a/src/include/catalog/pg_amop.h
+++ b/src/include/catalog/pg_amop.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_amop.h,v 1.15 1998/09/01 04:34:48 momjian Exp $
+ * $Id: pg_amop.h,v 1.16 1998/10/03 05:40:51 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -298,6 +298,26 @@ DATA(insert OID = 0 ( 403 1313 1330 3 btreesel btreenpage ));
DATA(insert OID = 0 ( 403 1313 1335 4 btreesel btreenpage ));
DATA(insert OID = 0 ( 403 1313 1334 5 btreesel btreenpage ));
+/*
+ * nbtree macaddr
+ */
+
+DATA(insert OID = 0 ( 403 810 1222 1 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 810 1223 2 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 810 1220 3 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 810 1225 4 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 810 1224 5 btreesel btreenpage ));
+
+/*
+ * nbtree ip
+ */
+
+DATA(insert OID = 0 ( 403 935 1203 1 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 935 1204 2 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 935 1201 3 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 935 1206 4 btreesel btreenpage ));
+DATA(insert OID = 0 ( 403 935 1205 5 btreesel btreenpage ));
+
/*
* hash table _ops
*/
diff --git a/src/include/catalog/pg_amproc.h b/src/include/catalog/pg_amproc.h
index 4c12668d66..fc9c526379 100644
--- a/src/include/catalog/pg_amproc.h
+++ b/src/include/catalog/pg_amproc.h
@@ -9,7 +9,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_amproc.h,v 1.10 1998/09/01 04:34:49 momjian Exp $
+ * $Id: pg_amproc.h,v 1.11 1998/10/03 05:40:52 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -99,6 +99,8 @@ DATA(insert OID = 0 (403 1115 1107 1));
DATA(insert OID = 0 (403 1181 359 1));
DATA(insert OID = 0 (403 1312 1314 1));
DATA(insert OID = 0 (403 1313 1315 1));
+DATA(insert OID = 0 (403 810 836 1));
+DATA(insert OID = 0 (403 935 926 1));
/* hash */
diff --git a/src/include/catalog/pg_opclass.h b/src/include/catalog/pg_opclass.h
index 3f7814a11f..388f598630 100644
--- a/src/include/catalog/pg_opclass.h
+++ b/src/include/catalog/pg_opclass.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_opclass.h,v 1.11 1998/09/01 04:35:06 momjian Exp $
+ * $Id: pg_opclass.h,v 1.12 1998/10/03 05:40:54 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -107,5 +107,9 @@ DATA(insert OID = 1312 ( datetime_ops 1184 ));
DESCR("");
DATA(insert OID = 1313 ( timespan_ops 1186 ));
DESCR("");
+DATA(insert OID = 810 ( macaddr_ops 829 ));
+DESCR("");
+DATA(insert OID = 935 ( ipaddr_ops 869 ));
+DESCR("");
#endif /* PG_OPCLASS_H */
diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h
index 4b22362418..4604ccd7a9 100644
--- a/src/include/catalog/pg_operator.h
+++ b/src/include/catalog/pg_operator.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_operator.h,v 1.38 1998/09/14 01:14:48 momjian Exp $
+ * $Id: pg_operator.h,v 1.39 1998/10/03 05:40:55 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -466,7 +466,7 @@ DATA(insert OID = 1094 ( "<>" PGUID 0 b t f 1082 1082 16 1094 1093 0 0 da
DATA(insert OID = 1095 ( "<" PGUID 0 b t f 1082 1082 16 1097 1098 0 0 date_lt intltsel intltjoinsel ));
DATA(insert OID = 1096 ( "<=" PGUID 0 b t f 1082 1082 16 1098 1097 0 0 date_le intltsel intltjoinsel ));
DATA(insert OID = 1097 ( ">" PGUID 0 b t f 1082 1082 16 1095 1096 0 0 date_gt intltsel intltjoinsel ));
-DATA(insert OID = 1098 ( ">=" PGUID 0 b t f 1082 1082 16 1096 1065 0 0 date_ge intltsel intltjoinsel ));
+DATA(insert OID = 1098 ( ">=" PGUID 0 b t f 1082 1082 16 1096 1095 0 0 date_ge intltsel intltjoinsel ));
DATA(insert OID = 1099 ( "-" PGUID 0 b t f 1082 1082 23 0 0 0 0 date_mi - - ));
DATA(insert OID = 1100 ( "+" PGUID 0 b t f 1082 23 1082 0 0 0 0 date_pli - - ));
DATA(insert OID = 1101 ( "-" PGUID 0 b t f 1082 23 1082 0 0 0 0 date_mii - - ));
@@ -477,7 +477,7 @@ DATA(insert OID = 1109 ( "<>" PGUID 0 b t f 1083 1083 16 1109 1108 0 0 time
DATA(insert OID = 1110 ( "<" PGUID 0 b t f 1083 1083 16 1112 1113 0 0 time_lt intltsel intltjoinsel ));
DATA(insert OID = 1111 ( "<=" PGUID 0 b t f 1083 1083 16 1113 1112 0 0 time_le intltsel intltjoinsel ));
DATA(insert OID = 1112 ( ">" PGUID 0 b t f 1083 1083 16 1110 1111 0 0 time_gt intltsel intltjoinsel ));
-DATA(insert OID = 1113 ( ">=" PGUID 0 b t f 1083 1083 16 1111 1065 0 0 time_ge intltsel intltjoinsel ));
+DATA(insert OID = 1113 ( ">=" PGUID 0 b t f 1083 1083 16 1111 1110 0 0 time_ge intltsel intltjoinsel ));
/* float48 operators */
DATA(insert OID = 1116 ( "+" PGUID 0 b t f 700 701 701 1116 0 0 0 float48pl - - ));
@@ -538,10 +538,10 @@ DATA(insert OID = 1305 ( ">=" PGUID 0 b t f 1296 1296 16 1304 1302 0 0 timest
/* name, owner, prec, kind, isleft, canhash, left, right, result, com, negate, lsortop, rsortop, oprcode, operrest, oprjoin */
DATA(insert OID = 1320 ( "=" PGUID 0 b t t 1184 1184 16 1320 1321 1322 1322 datetime_eq eqsel eqjoinsel ));
DATA(insert OID = 1321 ( "<>" PGUID 0 b t f 1184 1184 16 1321 1320 0 0 datetime_ne neqsel neqjoinsel ));
-DATA(insert OID = 1322 ( "<" PGUID 0 b t f 1184 1184 16 1325 1325 0 0 datetime_lt intltsel intltjoinsel ));
-DATA(insert OID = 1323 ( "<=" PGUID 0 b t f 1184 1184 16 1324 1324 0 0 datetime_le intltsel intltjoinsel ));
-DATA(insert OID = 1324 ( ">" PGUID 0 b t f 1184 1184 16 1323 1323 0 0 datetime_gt intltsel intltjoinsel ));
-DATA(insert OID = 1325 ( ">=" PGUID 0 b t f 1184 1184 16 1322 1322 0 0 datetime_ge intltsel intltjoinsel ));
+DATA(insert OID = 1322 ( "<" PGUID 0 b t f 1184 1184 16 1324 1325 0 0 datetime_lt intltsel intltjoinsel ));
+DATA(insert OID = 1323 ( "<=" PGUID 0 b t f 1184 1184 16 1325 1324 0 0 datetime_le intltsel intltjoinsel ));
+DATA(insert OID = 1324 ( ">" PGUID 0 b t f 1184 1184 16 1322 1323 0 0 datetime_gt intltsel intltjoinsel ));
+DATA(insert OID = 1325 ( ">=" PGUID 0 b t f 1184 1184 16 1323 1322 0 0 datetime_ge intltsel intltjoinsel ));
DATA(insert OID = 1327 ( "+" PGUID 0 b t f 1184 1186 1184 1327 0 0 0 datetime_pl_span - - ));
DATA(insert OID = 1328 ( "-" PGUID 0 b t f 1184 1184 1186 0 0 0 0 datetime_mi - - ));
@@ -550,10 +550,10 @@ DATA(insert OID = 1329 ( "-" PGUID 0 b t f 1184 1186 1184 0 0 0 0 datetim
/* timespan operators */
DATA(insert OID = 1330 ( "=" PGUID 0 b t t 1186 1186 16 1330 1331 1332 1332 timespan_eq eqsel eqjoinsel ));
DATA(insert OID = 1331 ( "<>" PGUID 0 b t f 1186 1186 16 1331 1330 0 0 timespan_ne neqsel neqjoinsel ));
-DATA(insert OID = 1332 ( "<" PGUID 0 b t f 1186 1186 16 1335 1335 0 0 timespan_lt intltsel intltjoinsel ));
-DATA(insert OID = 1333 ( "<=" PGUID 0 b t f 1186 1186 16 1334 1334 0 0 timespan_le intltsel intltjoinsel ));
-DATA(insert OID = 1334 ( ">" PGUID 0 b t f 1186 1186 16 1333 1333 0 0 timespan_gt intltsel intltjoinsel ));
-DATA(insert OID = 1335 ( ">=" PGUID 0 b t f 1186 1186 16 1332 1332 0 0 timespan_ge intltsel intltjoinsel ));
+DATA(insert OID = 1332 ( "<" PGUID 0 b t f 1186 1186 16 1334 1335 0 0 timespan_lt intltsel intltjoinsel ));
+DATA(insert OID = 1333 ( "<=" PGUID 0 b t f 1186 1186 16 1335 1334 0 0 timespan_le intltsel intltjoinsel ));
+DATA(insert OID = 1334 ( ">" PGUID 0 b t f 1186 1186 16 1332 1333 0 0 timespan_gt intltsel intltjoinsel ));
+DATA(insert OID = 1335 ( ">=" PGUID 0 b t f 1186 1186 16 1333 1332 0 0 timespan_ge intltsel intltjoinsel ));
DATA(insert OID = 1336 ( "-" PGUID 0 l t f 0 1186 1186 0 0 0 0 timespan_um 0 0 ));
DATA(insert OID = 1337 ( "+" PGUID 0 b t f 1186 1186 1186 1337 0 0 0 timespan_pl - - ));
@@ -563,10 +563,10 @@ DATA(insert OID = 1338 ( "-" PGUID 0 b t f 1186 1186 1186 0 0 0 0 timespa
DATA(insert OID = 1420 ( "@@" PGUID 0 l t f 0 718 600 0 0 0 0 circle_center - - ));
DATA(insert OID = 1500 ( "=" PGUID 0 b t t 718 718 16 1500 1501 1502 1502 circle_eq eqsel eqjoinsel ));
DATA(insert OID = 1501 ( "<>" PGUID 0 b t f 718 718 16 1501 1500 0 0 circle_ne neqsel neqjoinsel ));
-DATA(insert OID = 1502 ( "<" PGUID 0 b t f 718 718 16 0 0 0 0 circle_lt areasel areajoinsel ));
-DATA(insert OID = 1503 ( ">" PGUID 0 b t f 718 718 16 0 0 0 0 circle_gt areasel areajoinsel ));
-DATA(insert OID = 1504 ( "<=" PGUID 0 b t f 718 718 16 0 0 0 0 circle_le areasel areajoinsel ));
-DATA(insert OID = 1505 ( ">=" PGUID 0 b t f 718 718 16 0 0 0 0 circle_ge areasel areajoinsel ));
+DATA(insert OID = 1502 ( "<" PGUID 0 b t f 718 718 16 1503 1505 0 0 circle_lt areasel areajoinsel ));
+DATA(insert OID = 1503 ( ">" PGUID 0 b t f 718 718 16 1502 1504 0 0 circle_gt areasel areajoinsel ));
+DATA(insert OID = 1504 ( "<=" PGUID 0 b t f 718 718 16 1505 1503 0 0 circle_le areasel areajoinsel ));
+DATA(insert OID = 1505 ( ">=" PGUID 0 b t f 718 718 16 1504 1502 0 0 circle_ge areasel areajoinsel ));
DATA(insert OID = 1506 ( "<<" PGUID 0 b t f 718 718 16 0 0 0 0 circle_left intltsel intltjoinsel ));
DATA(insert OID = 1507 ( "&<" PGUID 0 b t f 718 718 16 0 0 0 0 circle_overleft intltsel intltjoinsel ));
@@ -635,6 +635,27 @@ DATA(insert OID = 1615 ( "?|" PGUID 0 l t f 0 628 16 1615 0 0 0 line_ver
DATA(insert OID = 1616 ( "=" PGUID 0 b t f 628 628 16 1616 0 0 0 line_eq intltsel - ));
DATA(insert OID = 1617 ( "#" PGUID 0 b t f 628 628 600 1617 0 0 0 line_interpt - - ));
+/* MAC type */
+DATA(insert OID = 1220 ( "=" PGUID 0 b t t 829 829 16 1220 1221 0 0 macaddr_eq eqsel eqjoinsel ));
+DATA(insert OID = 1221 ( "<>" PGUID 0 b t f 829 829 16 1221 1220 0 0 macaddr_ne neqsel neqjoinsel ));
+DATA(insert OID = 1222 ( "<" PGUID 0 b t f 829 829 16 1224 1225 0 0 macaddr_lt intltsel intltjoinsel ));
+DATA(insert OID = 1223 ( "<=" PGUID 0 b t f 829 829 16 1225 1224 0 0 macaddr_le intltsel intltjoinsel ));
+DATA(insert OID = 1224 ( ">" PGUID 0 b t f 829 829 16 1222 1223 0 0 macaddr_gt intltsel intltjoinsel ));
+DATA(insert OID = 1225 ( ">=" PGUID 0 b t f 829 829 16 1223 1222 0 0 macaddr_ge intltsel intltjoinsel ));
+
+/* IP type */
+DATA(insert OID = 1201 ( "=" PGUID 0 b t t 869 869 16 1201 1202 0 0 ipaddr_eq eqsel eqjoinsel ));
+DATA(insert OID = 1202 ( "<>" PGUID 0 b t f 869 869 16 1202 1201 0 0 ipaddr_ne neqsel neqjoinsel ));
+DATA(insert OID = 1203 ( "<" PGUID 0 b t f 869 869 16 1205 1206 0 0 ipaddr_lt intltsel intltjoinsel ));
+DATA(insert OID = 1204 ( "<=" PGUID 0 b t f 869 869 16 1206 1205 0 0 ipaddr_le intltsel intltjoinsel ));
+DATA(insert OID = 1205 ( ">" PGUID 0 b t f 869 869 16 1203 1204 0 0 ipaddr_gt intltsel intltjoinsel ));
+DATA(insert OID = 1206 ( ">=" PGUID 0 b t f 869 869 16 1204 1203 0 0 ipaddr_ge intltsel intltjoinsel ));
+DATA(insert OID = 931 ( "<<" PGUID 0 b t f 869 869 16 933 934 0 0 ipaddr_sub intltsel intltjoinsel ));
+DATA(insert OID = 932 ( "<<=" PGUID 0 b t f 869 869 16 934 933 0 0 ipaddr_subeq intltsel intltjoinsel ));
+DATA(insert OID = 933 ( ">>" PGUID 0 b t f 869 869 16 931 932 0 0 ipaddr_sup intltsel intltjoinsel ));
+DATA(insert OID = 934 ( ">>=" PGUID 0 b t f 869 869 16 932 931 0 0 ipaddr_supeq intltsel intltjoinsel ));
+
+
/*
* function prototypes
*/
diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index 1f8ca51583..76f92f0e61 100644
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_proc.h,v 1.70 1998/10/02 16:27:55 momjian Exp $
+ * $Id: pg_proc.h,v 1.71 1998/10/03 05:40:56 momjian Exp $
*
* NOTES
* The script catalog/genbki.sh reads this file and generates .bki
@@ -2045,6 +2045,59 @@ DESCR("user name by UID (with fallback)");
DATA(insert OID = 1643 ( pg_get_indexdef PGUID 11 f t f 1 f 25 "26" 100 0 0 100 foo bar ));
DESCR("index description");
+/* for mac type support */
+DATA(insert OID = 436 ( macaddr_in PGUID 11 f t f 1 f 829 "0" 100 0 0 100 foo bar ));
+DESCR("(internal)");
+DATA(insert OID = 437 ( macaddr_out PGUID 11 f t f 1 f 23 "0" 100 0 0 100 foo bar ));
+DESCR("(internal)");
+
+DATA(insert OID = 830 ( macaddr_eq PGUID 11 f t f 2 f 16 "829 829" 100 0 0 100 foo bar ));
+DESCR("equal");
+DATA(insert OID = 831 ( macaddr_lt PGUID 11 f t f 2 f 16 "829 829" 100 0 0 100 foo bar ));
+DESCR("less-than");
+DATA(insert OID = 832 ( macaddr_le PGUID 11 f t f 2 f 16 "829 829" 100 0 0 100 foo bar ));
+DESCR("less-than-or-equal");
+DATA(insert OID = 833 ( macaddr_gt PGUID 11 f t f 2 f 16 "829 829" 100 0 0 100 foo bar ));
+DESCR("greater-than");
+DATA(insert OID = 834 ( macaddr_ge PGUID 11 f t f 2 f 16 "829 829" 100 0 0 100 foo bar ));
+DESCR("greater-than-or-equal");
+DATA(insert OID = 835 ( macaddr_ne PGUID 11 f t f 2 f 16 "829 829" 100 0 0 100 foo bar ));
+DESCR("not equal");
+DATA(insert OID = 836 ( macaddr_cmp PGUID 11 f t f 2 f 23 "829 829" 100 0 0 100 foo bar ));
+DESCR("less-equal-greater");
+DATA(insert OID = 837 ( macaddr_manuf PGUID 11 f t f 1 f 25 "829" 100 0 0 100 foo bar ));
+DESCR("MAC manufacturer");
+
+/* for ip type support */
+DATA(insert OID = 910 ( ipaddr_in PGUID 11 f t f 1 f 869 "0" 100 0 0 100 foo bar ));
+DESCR("(internal)");
+DATA(insert OID = 911 ( ipaddr_out PGUID 11 f t f 1 f 23 "0" 100 0 0 100 foo bar ));
+DESCR("(internal)");
+
+DATA(insert OID = 920 ( ipaddr_eq PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("equal");
+DATA(insert OID = 921 ( ipaddr_lt PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("less-than");
+DATA(insert OID = 922 ( ipaddr_le PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("less-than-or-equal");
+DATA(insert OID = 923 ( ipaddr_gt PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("greater-than");
+DATA(insert OID = 924 ( ipaddr_ge PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("greater-than-or-equal");
+DATA(insert OID = 925 ( ipaddr_ne PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("not equal");
+DATA(insert OID = 926 ( ipaddr_cmp PGUID 11 f t f 2 f 23 "869 869" 100 0 0 100 foo bar ));
+DESCR("less-equal-greater");
+DATA(insert OID = 927 ( ipaddr_sub PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("is-subnet");
+DATA(insert OID = 928 ( ipaddr_subeq PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("is-subnet-or-equal");
+DATA(insert OID = 929 ( ipaddr_sup PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("is-supernet");
+DATA(insert OID = 930 ( ipaddr_supeq PGUID 11 f t f 2 f 16 "869 869" 100 0 0 100 foo bar ));
+DESCR("is-supernet-or-equal");
+
+
/*
* prototypes for functions pg_proc.c
*/
diff --git a/src/include/catalog/pg_type.h b/src/include/catalog/pg_type.h
index 99d0de22dc..3a675c1c33 100644
--- a/src/include/catalog/pg_type.h
+++ b/src/include/catalog/pg_type.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_type.h,v 1.47 1998/09/01 04:35:18 momjian Exp $
+ * $Id: pg_type.h,v 1.48 1998/10/03 05:40:58 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
@@ -298,6 +298,10 @@ DESCR("money '$d,ddd.cc'");
DATA(insert OID = 791 ( _money PGUID -1 -1 f b t \054 0 790 array_in array_out array_in array_out i _null_ ));
/* OIDS 800 - 899 */
+DATA(insert OID = 829 ( macaddr PGUID 6 -1 f b t \054 0 0 macaddr_in macaddr_out macaddr_in macaddr_out i _null_ ));
+DESCR("MAC address");
+DATA(insert OID = 869 ( ipaddr PGUID -1 -1 f b t \054 0 0 ipaddr_in ipaddr_out ipaddr_in ipaddr_out i _null_ ));
+DESCR("IP address");
/* OIDS 900 - 999 */
@@ -333,8 +337,9 @@ DATA(insert OID = 1027 ( _polygon PGUID -1 -1 f b t \054 0 604 array_in array
/* Note: the size of an aclitem needs to match sizeof(AclItem) in acl.h */
DATA(insert OID = 1033 ( aclitem PGUID 8 -1 f b t \054 0 0 aclitemin aclitemout aclitemin aclitemout i _null_ ));
DESCR("access control list");
-DATA(insert OID = 1034 ( _aclitem PGUID -1 -1 f b t \054 0 1033 array_in array_out array_in array_out i _null_ ));
-
+DATA(insert OID = 1034 ( _aclitem PGUID -1 -1 f b t \054 0 1033 array_in array_out array_in array_out i _null_ ));
+DATA(insert OID = 1040 ( _macaddr PGUID -1 -1 f b t \054 0 829 array_in array_out array_in array_out i _null_ ));
+DATA(insert OID = 1041 ( _ipaddr PGUID -1 -1 f b t \054 0 869 array_in array_out array_in array_out i _null_ ));
DATA(insert OID = 1042 ( bpchar PGUID -1 -1 f b t \054 0 18 bpcharin bpcharout bpcharin bpcharout i _null_ ));
DESCR("blank-padded characters, length specifed when created");
#define BPCHAROID 1042
diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h
index f0cfd5b988..fd6f50e944 100644
--- a/src/include/utils/builtins.h
+++ b/src/include/utils/builtins.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: builtins.h,v 1.55 1998/09/22 20:28:13 momjian Exp $
+ * $Id: builtins.h,v 1.56 1998/10/03 05:40:59 momjian Exp $
*
* NOTES
* This should normally only be included by fmgr.h.
@@ -28,6 +28,7 @@
#include
#include
#include
+#include
#include
/*
@@ -511,4 +512,40 @@ extern text *translate(text *string, char from, char to);
/* acl.c */
+/* inet_net_ntop.c */
+char *inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size);
+
+/* inet_net_pton.c */
+int inet_net_pton(int af, const char *src, void *dst, size_t size);
+
+/* ip.c */
+ipaddr *ipaddr_in(char *str);
+char *ipaddr_out(ipaddr * addr);
+bool ipaddr_lt(ipaddr * a1, ipaddr * a2);
+bool ipaddr_le(ipaddr * a1, ipaddr * a2);
+bool ipaddr_eq(ipaddr * a1, ipaddr * a2);
+bool ipaddr_ge(ipaddr * a1, ipaddr * a2);
+bool ipaddr_gt(ipaddr * a1, ipaddr * a2);
+bool ipaddr_ne(ipaddr * a1, ipaddr * a2);
+bool ipaddr_sub(ipaddr * a1, ipaddr * a2);
+bool ipaddr_subeq(ipaddr * a1, ipaddr * a2);
+bool ipaddr_sup(ipaddr * a1, ipaddr * a2);
+bool ipaddr_supeq(ipaddr * a1, ipaddr * a2);
+int4 ipaddr_cmp(ipaddr * a1, ipaddr * a2);
+int v4bitncmp(u_int32_t a1, u_int32_t a2, int bits);
+
+
+/* mac.c */
+macaddr *macaddr_in(char *str);
+char *macaddr_out(macaddr * addr);
+bool macaddr_lt(macaddr * a1, macaddr * a2);
+bool macaddr_le(macaddr * a1, macaddr * a2);
+bool macaddr_eq(macaddr * a1, macaddr * a2);
+bool macaddr_ge(macaddr * a1, macaddr * a2);
+bool macaddr_gt(macaddr * a1, macaddr * a2);
+bool macaddr_ne(macaddr * a1, macaddr * a2);
+int4 macaddr_cmp(macaddr * a1, macaddr * a2);
+text *macaddr_manuf(macaddr * addr);
+
+
#endif /* BUILTINS_H */
diff --git a/src/include/utils/mac.h b/src/include/utils/mac.h
new file mode 100644
index 0000000000..3ecb61cb46
--- /dev/null
+++ b/src/include/utils/mac.h
@@ -0,0 +1,58 @@
+/*-------------------------------------------------------------------------
+ *
+ * builtins.h--
+ * Declarations for operations on built-in types.
+ *
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ * $Id: mac.h,v 1.1 1998/10/03 05:41:01 momjian Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef MAC_H
+#define MAC_H
+
+/*
+ * This is the internal storage format for IP addresses:
+ */
+
+typedef struct
+{
+ unsigned char family;
+ unsigned char bits;
+ union
+ {
+ u_int32_t ipv4_addr; /* network byte order */
+ /* add IPV6 address type here */
+ } addr;
+} ipaddr_struct;
+
+typedef struct varlena ipaddr;
+
+/*
+ * This is the internal storage format for MAC addresses:
+ */
+typedef struct macaddr
+{
+ unsigned char a;
+ unsigned char b;
+ unsigned char c;
+ unsigned char d;
+ unsigned char e;
+ unsigned char f;
+} macaddr;
+
+
+typedef struct manufacturer
+{
+ unsigned char a;
+ unsigned char b;
+ unsigned char c;
+ char *name;
+} manufacturer;
+
+extern manufacturer manufacturers[];
+
+#endif /* MAC_H */
+
diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index 40a9122a76..5873ae2702 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -786,6 +786,8 @@ do
-Tword8 \
-Tyy_size_t \
-Tyy_state_type \
+-Tipaddr \
+-Tmacaddr \
/tmp/$$a >/tmp/$$ 2>&1
if [ "$?" -ne 0 -o -s /tmp/$$ ]
then echo "$FILE"
--
2.40.0