From bc57d7586333c158e3c5d3e2daadb905ba2dc099 Mon Sep 17 00:00:00 2001 From: Radu Berinde Date: Thu, 31 Mar 2016 20:39:53 -0400 Subject: [PATCH] sql: support FORCE_INDEX and NO_INDEX_JOIN hints Add support for `SELECT FROM table@{FORCE_INDEX=idx,NO_INDEX_JOIN}`, as described in the index_hints RFC. Closes #5625. --- docs/RFCS/index_hints.md | 4 +- sql/backfill.go | 5 +- sql/index_selection.go | 35 +- sql/parser/expr.go | 17 +- sql/parser/expr_test.go | 4 + sql/parser/indirection.go | 18 +- sql/parser/keywords.go | 2 + sql/parser/parse_test.go | 6 + sql/parser/sql.go | 6729 ++++++++++++++++--------------- sql/parser/sql.y | 60 +- sql/scan.go | 3 + sql/select.go | 5 +- sql/testdata/select_index_hints | 35 + 13 files changed, 3582 insertions(+), 3341 deletions(-) diff --git a/docs/RFCS/index_hints.md b/docs/RFCS/index_hints.md index ce87d73a7008..c9dd5bdcb4f6 100644 --- a/docs/RFCS/index_hints.md +++ b/docs/RFCS/index_hints.md @@ -1,8 +1,8 @@ - Feature Name: index_hints -- Status: draft +- Status: completed - Start Date: 2014-03-31 - Authors: Radu -- RFC PR: (PR # after acceptance of initial draft) +- RFC PR: #5762 - Cockroach Issue: #5625 # Summary diff --git a/sql/backfill.go b/sql/backfill.go index af90be29cd9a..fabd688fee37 100644 --- a/sql/backfill.go +++ b/sql/backfill.go @@ -165,7 +165,10 @@ func (p *planner) backfillBatch(b *client.Batch, tableDesc *TableDescriptor) *ro desc: *tableDesc, } scan.initDescDefaults() - rows := selectIndex(scan, nil, false) + rows, err := selectIndex(scan, nil, false) + if err != nil { + return roachpb.NewError(err) + } // Construct a map from column ID to the index the value appears at within a // row. diff --git a/sql/index_selection.go b/sql/index_selection.go index 29d03591a65c..dc345884a218 100644 --- a/sql/index_selection.go +++ b/sql/index_selection.go @@ -24,6 +24,7 @@ import ( "github.com/cockroachdb/cockroach/roachpb" "github.com/cockroachdb/cockroach/sql/parser" + "github.com/cockroachdb/cockroach/util" "github.com/cockroachdb/cockroach/util/encoding" "github.com/cockroachdb/cockroach/util/log" ) @@ -81,11 +82,13 @@ type analyzeOrderingFn func(indexOrdering orderingInfo) (matchingCols, totalCols // // If preferOrderMatching is true, we prefer an index that matches the desired // ordering completely, even if it is not a covering index. -func selectIndex(s *scanNode, analyzeOrdering analyzeOrderingFn, preferOrderMatching bool) planNode { +func selectIndex( + s *scanNode, analyzeOrdering analyzeOrderingFn, preferOrderMatching bool, +) (planNode, error) { if s.desc.isEmpty() || (s.filter == nil && analyzeOrdering == nil && s.specifiedIndex == nil) { // No table or no where-clause, no ordering, and no specified index. s.initOrdering(0) - return s + return s, nil } candidates := make([]*indexInfo, 0, len(s.desc.Indexes)+1) @@ -125,7 +128,7 @@ func selectIndex(s *scanNode, analyzeOrdering analyzeOrderingFn, preferOrderMatc if len(exprs) == 1 && len(exprs[0]) == 1 { if d, ok := exprs[0][0].(parser.DBool); ok && bool(!d) { // The expression simplified to false. - return &emptyNode{} + return &emptyNode{}, nil } } @@ -156,6 +159,28 @@ func selectIndex(s *scanNode, analyzeOrdering analyzeOrderingFn, preferOrderMatc } } + if s.noIndexJoin { + // Eliminate non-covering indexes. We do this after the check above for + // constant false filter. + for i := 0; i < len(candidates); { + if !candidates[i].covering { + candidates[i] = candidates[len(candidates)-1] + candidates = candidates[:len(candidates)-1] + } else { + i++ + } + } + if len(candidates) == 0 { + // The primary index is always covering. So the only way this can + // happen is if we had a specified index. + if s.specifiedIndex == nil { + panic("no covering indexes") + } + return nil, util.Errorf("index \"%s\" is not covering and NO_INDEX_JOIN was specified", + s.specifiedIndex.Name) + } + } + if analyzeOrdering != nil { for _, c := range candidates { c.analyzeOrdering(s, analyzeOrdering, preferOrderMatching) @@ -179,7 +204,7 @@ func selectIndex(s *scanNode, analyzeOrdering analyzeOrderingFn, preferOrderMatc s.spans = makeSpans(c.constraints, c.desc.ID, c.index) if len(s.spans) == 0 { // There are no spans to scan. - return &emptyNode{} + return &emptyNode{}, nil } s.filter = applyConstraints(s.filter, c.constraints) noFilter := (s.filter == nil) @@ -210,7 +235,7 @@ func selectIndex(s *scanNode, analyzeOrdering analyzeOrderingFn, preferOrderMatc } } - return plan + return plan, nil } type indexConstraint struct { diff --git a/sql/parser/expr.go b/sql/parser/expr.go index ecd160a6f123..83a931eac8ed 100644 --- a/sql/parser/expr.go +++ b/sql/parser/expr.go @@ -321,7 +321,7 @@ func (n *QualifiedName) NormalizeTableName(database string) error { return fmt.Errorf("invalid table name: %s", n) } if len(n.Indirect) == 2 { - if _, ok := n.Indirect[1].(IndexIndirection); !ok { + if _, ok := n.Indirect[1].(*IndexIndirection); !ok { return fmt.Errorf("invalid table name: %s", n) } } @@ -352,7 +352,7 @@ func (n *QualifiedName) QualifyWithDatabase(database string) error { switch n.Indirect[0].(type) { case NameIndirection: // Nothing to do. - case IndexIndirection: + case *IndexIndirection: // table@index -> database.table@index // * -> database.* // @@ -476,11 +476,22 @@ func (n *QualifiedName) Index() string { panic(fmt.Sprintf("%s is not a table name", n)) } if len(n.Indirect) == 2 { - return string(n.Indirect[1].(IndexIndirection)) + return string(n.Indirect[1].(*IndexIndirection).Index) } return "" } +// NoIndexJoin returns whether a NO_INDEX_JOIN hint was given as part of the table. +func (n *QualifiedName) NoIndexJoin() bool { + if n.normalized != tableName { + panic(fmt.Sprintf("%s is not a table name", n)) + } + if len(n.Indirect) == 2 { + return n.Indirect[1].(*IndexIndirection).NoIndexJoin + } + return false +} + // Column returns the column portion of the name. Note that the returned string // is not quoted even if the name is a keyword. func (n *QualifiedName) Column() string { diff --git a/sql/parser/expr_test.go b/sql/parser/expr_test.go index bdc3f8113810..aaa390549d26 100644 --- a/sql/parser/expr_test.go +++ b/sql/parser/expr_test.go @@ -62,6 +62,10 @@ func TestNormalizeTableName(t *testing.T) { {`test.foo`, `test.foo`, ``, ``}, {`bar.foo`, `bar.foo`, `test`, ``}, {`foo@bar`, `test.foo@bar`, `test`, ``}, + {`foo@{FORCE_INDEX=bar}`, `test.foo@bar`, `test`, ``}, + {`foo@{NO_INDEX_JOIN}`, `test.foo@{NO_INDEX_JOIN}`, `test`, ``}, + {`foo@{FORCE_INDEX=bar,NO_INDEX_JOIN}`, `test.foo@{FORCE_INDEX=bar,NO_INDEX_JOIN}`, + `test`, ``}, {`test.foo@bar`, `test.foo@bar`, ``, ``}, {`""`, ``, ``, `empty table name`}, diff --git a/sql/parser/indirection.go b/sql/parser/indirection.go index 16c28c22190f..68965535ba58 100644 --- a/sql/parser/indirection.go +++ b/sql/parser/indirection.go @@ -51,11 +51,21 @@ func (n NameIndirection) String() string { return fmt.Sprintf(".%s", Name(n)) } -// IndexIndirection represents ":" in an indirection expression. -type IndexIndirection Name +// IndexIndirection represents "@" or "@{param[,param]}" where param is +// one of "FORCE_INDEX=" and "NO_INDEX_JOIN" in an indirection expression. +type IndexIndirection struct { + Index Name + NoIndexJoin bool +} -func (n IndexIndirection) String() string { - return fmt.Sprintf("@%s", Name(n)) +func (n *IndexIndirection) String() string { + if !n.NoIndexJoin { + return fmt.Sprintf("@%s", n.Index) + } + if n.Index == "" { + return "@{NO_INDEX_JOIN}" + } + return fmt.Sprintf("@{FORCE_INDEX=%s,NO_INDEX_JOIN}", n.Index) } // StarIndirection represents ".*" in an indirection expression. diff --git a/sql/parser/keywords.go b/sql/parser/keywords.go index 08ad044cc14f..b5a82a33a40f 100644 --- a/sql/parser/keywords.go +++ b/sql/parser/keywords.go @@ -83,6 +83,7 @@ var keywords = map[string]int{ "FLOAT": FLOAT, "FOLLOWING": FOLLOWING, "FOR": FOR, + "FORCE_INDEX": FORCE_INDEX, "FOREIGN": FOREIGN, "FROM": FROM, "FULL": FULL, @@ -135,6 +136,7 @@ var keywords = map[string]int{ "NORMAL": NORMAL, "NOT": NOT, "NOTHING": NOTHING, + "NO_INDEX_JOIN": NO_INDEX_JOIN, "NULL": NULL, "NULLIF": NULLIF, "NULLS": NULLS, diff --git a/sql/parser/parse_test.go b/sql/parser/parse_test.go index 74034d4c3e7d..2f2ece63eed5 100644 --- a/sql/parser/parse_test.go +++ b/sql/parser/parse_test.go @@ -203,6 +203,8 @@ func TestParse(t *testing.T) { {`SELECT a.b[1 + 1:4][3] FROM t`}, {`SELECT 'a' FROM t`}, {`SELECT 'a' FROM t@bar`}, + {`SELECT 'a' FROM t@{NO_INDEX_JOIN}`}, + {`SELECT 'a' FROM t@{FORCE_INDEX=bar,NO_INDEX_JOIN}`}, {`SELECT 'a' AS "12345"`}, {`SELECT 'a' AS clnm`}, @@ -438,6 +440,10 @@ func TestParse2(t *testing.T) { {`SELECT INTERVAL 'foo'`, `SELECT CAST('foo' AS INTERVAL)`}, {`SELECT CHAR 'foo'`, `SELECT CAST('foo' AS CHAR)`}, + {`SELECT 'a' FROM t@{FORCE_INDEX=bar}`, `SELECT 'a' FROM t@bar`}, + {`SELECT 'a' FROM t@{NO_INDEX_JOIN,FORCE_INDEX=bar}`, + `SELECT 'a' FROM t@{FORCE_INDEX=bar,NO_INDEX_JOIN}`}, + {`SELECT FROM t WHERE a IS UNKNOWN`, `SELECT FROM t WHERE a IS NULL`}, {`SELECT FROM t WHERE a IS NOT UNKNOWN`, `SELECT FROM t WHERE a IS NOT NULL`}, diff --git a/sql/parser/sql.go b/sql/parser/sql.go index 25cec5cdb0d0..7ead4432fa92 100644 --- a/sql/parser/sql.go +++ b/sql/parser/sql.go @@ -74,6 +74,9 @@ func (u *sqlSymUnion) indirectElem() IndirectionElem { func (u *sqlSymUnion) indirect() Indirection { return u.val.(Indirection) } +func (u *sqlSymUnion) indexIndirect() *IndexIndirection { + return u.val.(*IndexIndirection) +} func (u *sqlSymUnion) stmt() Statement { if stmt, ok := u.val.(Statement); ok { return stmt @@ -231,7 +234,7 @@ func (u *sqlSymUnion) idxElems() IndexElemList { return u.val.(IndexElemList) } -//line sql.y:250 +//line sql.y:253 type sqlSymType struct { yys int id int @@ -335,164 +338,166 @@ const FIRST = 57436 const FLOAT = 57437 const FOLLOWING = 57438 const FOR = 57439 -const FOREIGN = 57440 -const FROM = 57441 -const FULL = 57442 -const GRANT = 57443 -const GRANTS = 57444 -const GREATEST = 57445 -const GROUP = 57446 -const GROUPING = 57447 -const HAVING = 57448 -const HIGH = 57449 -const HOUR = 57450 -const IF = 57451 -const IFNULL = 57452 -const IN = 57453 -const INDEX = 57454 -const INDEXES = 57455 -const INITIALLY = 57456 -const INNER = 57457 -const INSERT = 57458 -const INT = 57459 -const INT64 = 57460 -const INTEGER = 57461 -const INTERSECT = 57462 -const INTERVAL = 57463 -const INTO = 57464 -const IS = 57465 -const ISOLATION = 57466 -const JOIN = 57467 -const KEY = 57468 -const KEYS = 57469 -const LATERAL = 57470 -const LEADING = 57471 -const LEAST = 57472 -const LEFT = 57473 -const LEVEL = 57474 -const LIKE = 57475 -const LIMIT = 57476 -const LOCAL = 57477 -const LOCALTIME = 57478 -const LOCALTIMESTAMP = 57479 -const LOW = 57480 -const LSHIFT = 57481 -const MATCH = 57482 -const MINUTE = 57483 -const MONTH = 57484 -const NAME = 57485 -const NAMES = 57486 -const NATURAL = 57487 -const NEXT = 57488 -const NO = 57489 -const NORMAL = 57490 -const NOT = 57491 -const NOTHING = 57492 -const NULL = 57493 -const NULLIF = 57494 -const NULLS = 57495 -const NUMERIC = 57496 -const OF = 57497 -const OFF = 57498 -const OFFSET = 57499 -const ON = 57500 -const ONLY = 57501 -const OR = 57502 -const ORDER = 57503 -const ORDINALITY = 57504 -const OUT = 57505 -const OUTER = 57506 -const OVER = 57507 -const OVERLAPS = 57508 -const OVERLAY = 57509 -const PARTIAL = 57510 -const PARTITION = 57511 -const PLACING = 57512 -const POSITION = 57513 -const PRECEDING = 57514 -const PRECISION = 57515 -const PRIMARY = 57516 -const PRIORITY = 57517 -const RANGE = 57518 -const READ = 57519 -const REAL = 57520 -const RECURSIVE = 57521 -const REF = 57522 -const REFERENCES = 57523 -const RENAME = 57524 -const REPEATABLE = 57525 -const RELEASE = 57526 -const RESTRICT = 57527 -const RETURNING = 57528 -const REVOKE = 57529 -const RIGHT = 57530 -const ROLLBACK = 57531 -const ROLLUP = 57532 -const ROW = 57533 -const ROWS = 57534 -const RSHIFT = 57535 -const SAVEPOINT = 57536 -const SEARCH = 57537 -const SECOND = 57538 -const SELECT = 57539 -const SERIALIZABLE = 57540 -const SESSION = 57541 -const SESSION_USER = 57542 -const SET = 57543 -const SHOW = 57544 -const SIMILAR = 57545 -const SIMPLE = 57546 -const SMALLINT = 57547 -const SNAPSHOT = 57548 -const SOME = 57549 -const SQL = 57550 -const START = 57551 -const STRICT = 57552 -const STRING = 57553 -const STORING = 57554 -const SUBSTRING = 57555 -const SYMMETRIC = 57556 -const TABLE = 57557 -const TABLES = 57558 -const TEXT = 57559 -const THEN = 57560 -const TIME = 57561 -const TIMESTAMP = 57562 -const TO = 57563 -const TRAILING = 57564 -const TRANSACTION = 57565 -const TREAT = 57566 -const TRIM = 57567 -const TRUE = 57568 -const TRUNCATE = 57569 -const TYPE = 57570 -const UNBOUNDED = 57571 -const UNCOMMITTED = 57572 -const UNION = 57573 -const UNIQUE = 57574 -const UNKNOWN = 57575 -const UPDATE = 57576 -const USER = 57577 -const USING = 57578 -const VALID = 57579 -const VALIDATE = 57580 -const VALUE = 57581 -const VALUES = 57582 -const VARCHAR = 57583 -const VARIADIC = 57584 -const VARYING = 57585 -const WHEN = 57586 -const WHERE = 57587 -const WINDOW = 57588 -const WITH = 57589 -const WITHIN = 57590 -const WITHOUT = 57591 -const YEAR = 57592 -const ZONE = 57593 -const NOT_LA = 57594 -const WITH_LA = 57595 -const POSTFIXOP = 57596 -const UMINUS = 57597 +const FORCE_INDEX = 57440 +const FOREIGN = 57441 +const FROM = 57442 +const FULL = 57443 +const GRANT = 57444 +const GRANTS = 57445 +const GREATEST = 57446 +const GROUP = 57447 +const GROUPING = 57448 +const HAVING = 57449 +const HIGH = 57450 +const HOUR = 57451 +const IF = 57452 +const IFNULL = 57453 +const IN = 57454 +const INDEX = 57455 +const INDEXES = 57456 +const INITIALLY = 57457 +const INNER = 57458 +const INSERT = 57459 +const INT = 57460 +const INT64 = 57461 +const INTEGER = 57462 +const INTERSECT = 57463 +const INTERVAL = 57464 +const INTO = 57465 +const IS = 57466 +const ISOLATION = 57467 +const JOIN = 57468 +const KEY = 57469 +const KEYS = 57470 +const LATERAL = 57471 +const LEADING = 57472 +const LEAST = 57473 +const LEFT = 57474 +const LEVEL = 57475 +const LIKE = 57476 +const LIMIT = 57477 +const LOCAL = 57478 +const LOCALTIME = 57479 +const LOCALTIMESTAMP = 57480 +const LOW = 57481 +const LSHIFT = 57482 +const MATCH = 57483 +const MINUTE = 57484 +const MONTH = 57485 +const NAME = 57486 +const NAMES = 57487 +const NATURAL = 57488 +const NEXT = 57489 +const NO = 57490 +const NO_INDEX_JOIN = 57491 +const NORMAL = 57492 +const NOT = 57493 +const NOTHING = 57494 +const NULL = 57495 +const NULLIF = 57496 +const NULLS = 57497 +const NUMERIC = 57498 +const OF = 57499 +const OFF = 57500 +const OFFSET = 57501 +const ON = 57502 +const ONLY = 57503 +const OR = 57504 +const ORDER = 57505 +const ORDINALITY = 57506 +const OUT = 57507 +const OUTER = 57508 +const OVER = 57509 +const OVERLAPS = 57510 +const OVERLAY = 57511 +const PARTIAL = 57512 +const PARTITION = 57513 +const PLACING = 57514 +const POSITION = 57515 +const PRECEDING = 57516 +const PRECISION = 57517 +const PRIMARY = 57518 +const PRIORITY = 57519 +const RANGE = 57520 +const READ = 57521 +const REAL = 57522 +const RECURSIVE = 57523 +const REF = 57524 +const REFERENCES = 57525 +const RENAME = 57526 +const REPEATABLE = 57527 +const RELEASE = 57528 +const RESTRICT = 57529 +const RETURNING = 57530 +const REVOKE = 57531 +const RIGHT = 57532 +const ROLLBACK = 57533 +const ROLLUP = 57534 +const ROW = 57535 +const ROWS = 57536 +const RSHIFT = 57537 +const SAVEPOINT = 57538 +const SEARCH = 57539 +const SECOND = 57540 +const SELECT = 57541 +const SERIALIZABLE = 57542 +const SESSION = 57543 +const SESSION_USER = 57544 +const SET = 57545 +const SHOW = 57546 +const SIMILAR = 57547 +const SIMPLE = 57548 +const SMALLINT = 57549 +const SNAPSHOT = 57550 +const SOME = 57551 +const SQL = 57552 +const START = 57553 +const STRICT = 57554 +const STRING = 57555 +const STORING = 57556 +const SUBSTRING = 57557 +const SYMMETRIC = 57558 +const TABLE = 57559 +const TABLES = 57560 +const TEXT = 57561 +const THEN = 57562 +const TIME = 57563 +const TIMESTAMP = 57564 +const TO = 57565 +const TRAILING = 57566 +const TRANSACTION = 57567 +const TREAT = 57568 +const TRIM = 57569 +const TRUE = 57570 +const TRUNCATE = 57571 +const TYPE = 57572 +const UNBOUNDED = 57573 +const UNCOMMITTED = 57574 +const UNION = 57575 +const UNIQUE = 57576 +const UNKNOWN = 57577 +const UPDATE = 57578 +const USER = 57579 +const USING = 57580 +const VALID = 57581 +const VALIDATE = 57582 +const VALUE = 57583 +const VALUES = 57584 +const VARCHAR = 57585 +const VARIADIC = 57586 +const VARYING = 57587 +const WHEN = 57588 +const WHERE = 57589 +const WINDOW = 57590 +const WITH = 57591 +const WITHIN = 57592 +const WITHOUT = 57593 +const YEAR = 57594 +const ZONE = 57595 +const NOT_LA = 57596 +const WITH_LA = 57597 +const POSTFIXOP = 57598 +const UMINUS = 57599 var sqlToknames = [...]string{ "$end", @@ -592,6 +597,7 @@ var sqlToknames = [...]string{ "FLOAT", "FOLLOWING", "FOR", + "FORCE_INDEX", "FOREIGN", "FROM", "FULL", @@ -642,6 +648,7 @@ var sqlToknames = [...]string{ "NATURAL", "NEXT", "NO", + "NO_INDEX_JOIN", "NORMAL", "NOT", "NOTHING", @@ -770,8 +777,10 @@ var sqlToknames = [...]string{ "'.'", "';'", "','", - "'@'", "':'", + "'@'", + "'{'", + "'}'", } var sqlStatenames = [...]string{} @@ -779,738 +788,808 @@ const sqlEofCode = 1 const sqlErrCode = 2 const sqlInitialStackSize = 16 -//line sql.y:4145 +//line sql.y:4197 //line yacctab:1 var sqlExca = [...]int{ -1, 0, 1, 21, - 274, 21, + 276, 21, -2, 318, -1, 1, 1, -1, -2, 0, -1, 32, 1, 289, - 158, 289, - 186, 289, - 272, 289, + 160, 289, + 188, 289, 274, 289, + 276, 289, -2, 299, -1, 44, 1, 292, - 158, 292, - 186, 292, - 272, 292, + 160, 292, + 188, 292, 274, 292, + 276, 292, -2, 298, -1, 53, 1, 21, - 274, 21, + 276, 21, -2, 318, -1, 235, 1, 138, - 274, 138, - -2, 780, + 276, 138, + -2, 788, -1, 266, - 134, 328, - 157, 328, + 135, 328, + 159, 328, -2, 295, -1, 269, - 134, 327, - 157, 327, + 135, 327, + 159, 327, -2, 293, -1, 378, - 134, 327, - 157, 327, + 135, 327, + 159, 327, -2, 296, -1, 435, - 271, 726, - -2, 721, + 273, 734, + -2, 729, -1, 436, - 271, 727, - -2, 722, + 273, 735, + -2, 730, -1, 442, 6, 447, - 271, 447, - -2, 860, + 273, 447, + -2, 868, -1, 464, 6, 417, - -2, 837, + -2, 845, -1, 465, 6, 444, - 271, 444, - -2, 838, + 273, 444, + -2, 846, -1, 466, 6, 425, - -2, 839, + -2, 847, -1, 467, 6, 424, - -2, 840, + -2, 848, -1, 468, 6, 444, - 271, 444, - -2, 843, + 273, 444, + -2, 851, -1, 469, 6, 444, - 271, 444, - -2, 844, + 273, 444, + -2, 852, -1, 470, 6, 445, - -2, 847, + -2, 855, -1, 471, 6, 412, - -2, 848, + -2, 856, -1, 472, 6, 412, - -2, 849, + -2, 857, -1, 473, 6, 427, - -2, 852, + -2, 860, -1, 474, 6, 413, - -2, 857, + -2, 865, -1, 475, 6, 414, - -2, 858, + -2, 866, -1, 476, 6, 415, - -2, 859, + -2, 867, -1, 477, 6, 412, - -2, 863, + -2, 871, -1, 478, 6, 418, - -2, 868, + -2, 876, -1, 479, 6, 416, - -2, 870, + -2, 878, -1, 480, 6, 446, - -2, 874, + -2, 882, -1, 481, 6, 442, - 271, 442, - -2, 878, - -1, 739, + 273, 442, + -2, 886, + -1, 740, 87, 299, - 120, 299, - 134, 299, - 157, 299, - 161, 299, - 231, 299, + 121, 299, + 135, 299, + 159, 299, + 163, 299, + 233, 299, -2, 549, - -1, 747, - 271, 706, - -2, 696, - -1, 941, + -1, 748, + 273, 714, + -2, 704, + -1, 943, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 480, - -1, 942, + -1, 944, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 481, - -1, 943, + -1, 945, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 482, - -1, 947, + -1, 949, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 486, - -1, 948, + -1, 950, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 487, - -1, 949, + -1, 951, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 488, - -1, 952, + -1, 954, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 493, - -1, 983, - 166, 619, + -1, 985, + 168, 619, -2, 622, - -1, 1133, + -1, 1141, 87, 299, - 120, 299, - 134, 299, - 157, 299, - 161, 299, - 231, 299, + 121, 299, + 135, 299, + 159, 299, + 163, 299, + 233, 299, -2, 369, - -1, 1141, + -1, 1149, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 494, - -1, 1146, + -1, 1154, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 495, - -1, 1165, - 166, 618, + -1, 1173, + 168, 618, -2, 621, - -1, 1304, + -1, 1315, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 496, - -1, 1309, - 123, 0, + -1, 1320, + 124, 0, -2, 506, - -1, 1318, - 166, 620, + -1, 1329, + 168, 620, -2, 623, - -1, 1358, + -1, 1369, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 530, - -1, 1359, + -1, 1370, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 531, - -1, 1360, + -1, 1371, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 532, - -1, 1364, + -1, 1375, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 536, - -1, 1365, + -1, 1376, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 537, - -1, 1366, + -1, 1377, 12, 0, 13, 0, 14, 0, - 254, 0, - 255, 0, 256, 0, + 257, 0, + 258, 0, -2, 538, - -1, 1459, - 123, 0, + -1, 1472, + 124, 0, -2, 507, - -1, 1463, + -1, 1476, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 510, - -1, 1464, + -1, 1477, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 512, - -1, 1543, + -1, 1556, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 511, - -1, 1544, + -1, 1557, 30, 0, - 111, 0, - 133, 0, - 203, 0, - 252, 0, + 112, 0, + 134, 0, + 205, 0, + 254, 0, -2, 513, - -1, 1552, - 123, 0, + -1, 1565, + 124, 0, -2, 539, - -1, 1589, - 123, 0, + -1, 1602, + 124, 0, -2, 540, - -1, 1634, + -1, 1647, 30, 0, - 133, 0, - 203, 0, - 252, 0, - -2, 836, + 134, 0, + 205, 0, + 254, 0, + -2, 844, } -const sqlNprod = 970 +const sqlNprod = 978 const sqlPrivate = 57344 var sqlTokenNames []string var sqlStates []string -const sqlLast = 19517 +const sqlLast = 19807 var sqlAct = [...]int{ - 980, 1633, 1616, 1618, 1654, 1617, 1594, 825, 1560, 1632, - 1500, 1338, 881, 1522, 1396, 270, 1427, 1428, 1445, 1533, - 292, 742, 1310, 1284, 865, 868, 236, 744, 494, 1439, - 1129, 1311, 818, 434, 1223, 14, 1222, 433, 1293, 275, - 31, 996, 1121, 677, 867, 426, 697, 501, 1079, 826, - 1168, 804, 1117, 795, 398, 1000, 965, 968, 777, 522, - 990, 892, 1132, 65, 366, 773, 20, 31, 550, 693, - 306, 535, 1038, 504, 1035, 277, 43, 699, 10, 6, - 506, 860, 399, 408, 495, 532, 890, 367, 496, 311, - 63, 86, 577, 31, 67, 561, 269, 280, 870, 313, - 44, 428, 309, 43, 381, 531, 66, 68, 45, 81, - 382, 233, 552, 482, 72, 380, 548, 278, 819, 1630, - 1161, 1195, 1521, 1211, 1212, 1213, 302, 889, 498, 43, - 1524, 392, 499, 1458, 993, 497, 498, 274, 288, 1582, - 499, 295, 274, 497, 267, 524, 303, 700, 1088, 700, - 259, 1624, 266, 524, 885, 1623, 317, 823, 885, 1615, - 314, 1610, 1462, 701, 885, 1208, 282, 1371, 1591, 994, - 702, 1462, 720, 721, 722, 1317, 1585, 1579, 318, 885, - 1521, 1570, 723, 1545, 1521, 1101, 1462, 49, 704, 1540, - 729, 1530, 885, 1520, 1521, 1505, 1521, 1504, 885, 793, - 885, 1485, 995, 992, 1161, 51, 1465, 1461, 703, 1161, - 1462, 1119, 1406, 484, 717, 885, 1314, 1275, 1271, 1161, - 523, 523, 1240, 1238, 1237, 1241, 1161, 1161, 1236, 1165, - 52, 1161, 1161, 1163, 1214, 1162, 886, 47, 1164, 885, - 1161, 792, 529, 48, 791, 530, 1103, 885, 840, 527, - 1209, 1167, 976, 1195, 880, 854, 1161, 997, 393, 671, - 670, 46, 542, 541, 1195, 1631, 334, 287, 53, 499, - 576, 730, 353, 1629, 1195, 385, 1586, 1529, 49, 1490, - 1486, 436, 379, 728, 400, 400, 1478, 1477, 49, 373, - 525, 1472, 1471, 725, 502, 341, 51, 1208, 525, 718, - 1470, 1469, 1456, 1386, 1210, 1381, 51, 1380, 489, 1379, - 1321, 991, 85, 493, 1299, 85, 483, 378, 342, 1423, - 724, 52, 85, 1088, 1283, 701, 1243, 1242, 47, 85, - 85, 52, 1139, 85, 48, 1230, 85, 85, 85, 488, - 1221, 85, 85, 85, 85, 1194, 316, 372, 1191, 1189, - 1178, 498, 822, 719, 973, 499, 1172, 1102, 497, 1050, - 1007, 1006, 46, 727, 85, 1205, 1206, 1207, 370, 1204, - 1201, 1202, 1203, 1196, 1197, 1198, 1199, 1200, 267, 1105, - 523, 750, 1209, 1561, 685, 687, 266, 303, 674, 392, - 391, 694, 1340, 1209, 1581, 1562, 1554, 394, 1536, 1527, - 1519, 1497, 1483, 1209, 733, 734, 735, 736, 737, 1450, - 702, 1454, 726, 740, 714, 715, 716, 1435, 713, 710, - 711, 712, 705, 706, 707, 708, 709, 515, 704, 1195, - 1308, 673, 1422, 753, 974, 1487, 1210, 317, 317, 1298, - 1281, 539, 1195, 747, 1280, 580, 1278, 1210, 703, 538, - 571, 1255, 1254, 1220, 717, 1186, 1185, 1210, 1177, 318, - 318, 572, 664, 565, 1158, 1154, 661, 581, 970, 665, - 666, 667, 778, 668, 781, 1064, 1063, 1045, 1005, 672, - 884, 783, 771, 770, 769, 741, 267, 683, 768, 267, - 267, 695, 682, 767, 689, 681, 766, 690, 691, 788, - 765, 1204, 1201, 1202, 1203, 1196, 1197, 1198, 1199, 1200, - 85, 85, 1204, 1201, 1202, 1203, 1196, 1197, 1198, 1199, - 1200, 764, 786, 1201, 1202, 1203, 1196, 1197, 1198, 1199, - 1200, 779, 763, 798, 775, 776, 782, 762, 1064, 718, - 85, 761, 85, 760, 85, 759, 85, 758, 388, 389, - 757, 748, 821, 746, 835, 311, 31, 46, 1209, 441, - 49, 85, 809, 811, 675, 65, 784, 293, 396, 31, - 486, 1542, 85, 1541, 485, 745, 702, 1301, 51, 1300, - 490, 842, 85, 85, 1426, 85, 1089, 365, 1140, 580, - 787, 580, 789, 719, 704, 1195, 67, 834, 814, 362, - 348, 755, 1440, 52, 819, 43, 801, 848, 66, 68, - 47, 581, 1210, 581, 703, 85, 48, 85, 1341, 841, - 837, 843, 317, 1195, 1001, 844, 314, 316, 316, 847, - 838, 836, 774, 347, 64, 579, 85, 1181, 85, 85, - 85, 85, 1085, 85, 318, 1600, 751, 1569, 1643, 1414, - 846, 85, 805, 227, 702, 57, 252, 85, 713, 710, - 711, 712, 705, 706, 707, 708, 709, 253, 580, 859, - 273, 438, 704, 1453, 1513, 85, 1097, 1512, 85, 1644, - 1203, 1196, 1197, 1198, 1199, 1200, 1267, 258, 409, 257, - 581, 1247, 703, 58, 1196, 1197, 1198, 1199, 1200, 1246, - 1176, 1175, 400, 272, 808, 718, 932, 933, 934, 935, - 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, - 946, 947, 948, 949, 950, 951, 952, 264, 402, 1174, - 930, 1568, 887, 1173, 895, 1142, 863, 957, 839, 816, - 289, 815, 369, 289, 274, 298, 931, 967, 289, 967, - 308, 797, 1209, 261, 997, 345, 1602, 1266, 862, 719, - 1008, 864, 1019, 518, 1029, 1031, 1036, 1039, 1040, 1041, - 1502, 786, 1257, 981, 85, 1651, 786, 878, 879, 579, - 807, 579, 1080, 718, 894, 1078, 513, 512, 1563, 85, - 346, 1620, 502, 85, 1011, 702, 85, 1001, 1098, 507, - 85, 508, 85, 85, 901, 85, 1210, 1021, 85, 85, - 85, 59, 316, 704, 271, 85, 85, 1049, 977, 982, - 1081, 985, 972, 580, 971, 344, 1059, 712, 705, 706, - 707, 708, 709, 703, 1061, 1643, 1030, 719, 806, 1053, - 1327, 368, 1042, 1043, 1044, 581, 524, 1330, 1612, 1198, - 1199, 1200, 507, 1096, 508, 772, 1550, 1184, 579, 1621, - 738, 993, 1657, 1014, 1613, 509, 570, 558, 569, 1151, - 563, 1650, 262, 1328, 1054, 1196, 1197, 1198, 1199, 1200, - 1149, 694, 337, 339, 60, 955, 797, 1294, 1074, 265, - 1258, 55, 796, 1084, 1091, 1622, 994, 343, 1015, 274, - 1106, 1090, 997, 1087, 901, 1619, 705, 706, 707, 708, - 709, 1095, 1093, 1642, 1640, 1104, 921, 1438, 509, 1100, - 1112, 1092, 1264, 1099, 31, 1503, 61, 1094, 997, 995, - 992, 1016, 1013, 56, 1144, 1083, 966, 874, 573, 356, - 1147, 363, 383, 702, 1152, 85, 317, 1649, 344, 289, - 1110, 1114, 335, 1128, 1141, 1134, 85, 85, 1146, 333, - 43, 704, 1138, 1113, 1115, 384, 956, 384, 318, 1655, - 1507, 1506, 1249, 1481, 779, 1495, 782, 1160, 1058, 491, - 875, 703, 85, 575, 997, 85, 1017, 1169, 953, 289, - 517, 525, 364, 776, 775, 680, 1664, 574, 676, 1367, - 1326, 1166, 1182, 1413, 1595, 70, 1187, 1656, 383, 507, - 1412, 508, 1143, 579, 1145, 1148, 921, 1075, 669, 920, - 510, 1135, 1150, 1658, 543, 850, 1496, 740, 1410, 62, - 1066, 852, 1065, 1036, 1036, 1036, 54, 1448, 991, 1289, - 1012, 1288, 1402, 1157, 1397, 73, 853, 1159, 1482, 707, - 708, 709, 1395, 1245, 851, 1180, 343, 794, 954, 301, - 1170, 1171, 272, 375, 1252, 78, 1285, 1118, 1368, 1004, - 74, 1663, 1403, 510, 1369, 509, 85, 85, 85, 1225, - 1553, 400, 85, 1411, 1480, 85, 756, 547, 75, 1224, - 502, 85, 85, 85, 85, 85, 1307, 85, 85, 1219, - 1190, 1409, 1244, 77, 85, 1153, 85, 1227, 1228, 1229, - 1232, 1253, 85, 688, 1251, 845, 700, 361, 545, 920, - 1272, 85, 85, 359, 564, 559, 358, 85, 546, 1265, - 1261, 1269, 1263, 357, 354, 1268, 316, 1274, 1273, 963, - 300, 1303, 702, 1304, 663, 1398, 1003, 1399, 1277, 1279, - 961, 1393, 1262, 85, 1309, 85, 85, 1260, 85, 1248, - 704, 1108, 1319, 876, 1295, 1296, 1291, 85, 1319, 873, - 1401, 528, 85, 85, 505, 85, 526, 1404, 521, 514, - 703, 785, 1336, 511, 76, 1323, 1324, 1325, 1335, 1514, - 386, 1345, 1320, 285, 1347, 705, 706, 707, 708, 709, - 289, 1644, 350, 817, 567, 1516, 813, 829, 959, 1270, - 958, 882, 833, 797, 964, 308, 1329, 1331, 1332, 812, - 1344, 79, 3, 702, 1524, 1376, 1377, 1348, 1400, 1346, - 510, 1315, 797, 69, 1383, 1384, 1385, 1342, 810, 1565, - 702, 704, 251, 1588, 1124, 73, 1286, 1287, 390, 1583, - 1290, 824, 387, 696, 540, 286, 901, 1374, 1378, 1127, - 1375, 703, 900, 80, 883, 78, 1137, 1661, 1388, 1292, - 74, 718, 351, 923, 1392, 1125, 294, 922, 703, 1662, - 254, 255, 1195, 702, 855, 960, 1441, 856, 75, 1455, - 901, 1387, 962, 1372, 1333, 421, 1302, 901, 1437, 1239, - 1048, 1407, 1408, 77, 1382, 1436, 1047, 1424, 1459, 1046, - 998, 31, 1433, 1463, 1464, 1433, 1432, 857, 1466, 1432, - 1467, 1425, 1334, 1468, 1434, 719, 83, 1434, 901, 237, - 1452, 1460, 1126, 858, 749, 260, 83, 1501, 1473, 71, - 662, 355, 1476, 281, 281, 1451, 85, 291, 1474, 1611, - 291, 297, 291, 1183, 1549, 291, 304, 291, 237, 1442, - 1532, 1002, 900, 289, 754, 25, 1430, 414, 921, 1394, - 85, 1250, 1484, 923, 897, 1402, 869, 922, 336, 582, - 568, 1479, 557, 85, 76, 85, 437, 85, 360, 289, - 85, 710, 711, 712, 705, 706, 707, 708, 709, 551, - 560, 85, 921, 1010, 85, 1403, 487, 439, 898, 921, - 901, 440, 85, 1508, 899, 85, 1443, 1444, 1491, 1492, - 1449, 79, 780, 427, 1494, 896, 312, 827, 999, 1179, - 752, 413, 1526, 419, 418, 978, 410, 340, 231, 1515, - 921, 232, 1082, 1421, 1525, 820, 1509, 1517, 1537, 877, - 684, 1523, 1528, 1259, 263, 1192, 1433, 1028, 1543, 1544, - 1432, 1020, 1018, 1535, 1009, 371, 85, 500, 1434, 1433, - 828, 920, 397, 1432, 897, 1510, 1511, 352, 1398, 888, - 1399, 1434, 1136, 1055, 1548, 395, 692, 284, 1557, 702, - 283, 1022, 866, 349, 1546, 544, 849, 1539, 1559, 516, - 256, 1564, 1599, 1401, 1256, 920, 1555, 704, 1558, 50, - 1404, 308, 920, 19, 17, 16, 901, 15, 13, 308, - 502, 12, 921, 11, 237, 237, 18, 703, 85, 85, - 85, 1572, 1111, 9, 8, 1574, 85, 85, 1576, 1573, - 7, 1580, 85, 920, 85, 24, 85, 85, 85, 85, - 23, 1575, 786, 22, 83, 1433, 291, 5, 237, 1432, - 376, 1400, 85, 1107, 901, 1587, 4, 1434, 2, 1, - 85, 85, 0, 0, 85, 281, 1538, 1590, 0, 0, - 85, 85, 289, 1584, 0, 901, 291, 0, 0, 0, - 1606, 1604, 1601, 0, 1605, 1609, 291, 291, 1607, 519, - 1578, 1626, 1608, 1603, 0, 0, 0, 1625, 1596, 1597, - 1627, 0, 0, 1637, 1637, 1433, 0, 1628, 718, 1432, - 0, 1639, 85, 1638, 1641, 920, 0, 1434, 921, 536, - 0, 536, 1645, 0, 0, 1637, 1648, 0, 0, 0, - 1120, 1647, 0, 0, 0, 0, 415, 32, 1660, 1659, - 237, 0, 536, 237, 237, 237, 901, 237, 0, 0, - 1646, 1614, 1637, 1665, 0, 83, 0, 0, 0, 0, - 0, 679, 719, 0, 32, 85, 921, 85, 0, 85, - 0, 1124, 0, 0, 0, 0, 85, 0, 0, 281, - 268, 0, 698, 276, 1022, 1022, 1127, 921, 0, 0, - 32, 0, 0, 0, 0, 0, 1122, 0, 0, 0, - 0, 276, 1125, 0, 900, 0, 0, 0, 0, 0, - 85, 0, 85, 0, 0, 923, 1123, 0, 0, 922, - 85, 920, 85, 0, 0, 0, 0, 713, 710, 711, - 712, 705, 706, 707, 708, 709, 0, 0, 900, 0, - 0, 0, 1022, 1022, 1022, 900, 0, 0, 0, 923, - 0, 0, 0, 922, 0, 0, 923, 0, 921, 1126, - 922, 0, 0, 1155, 1156, 0, 0, 829, 0, 920, - 0, 0, 0, 0, 0, 0, 900, 0, 291, 0, - 0, 0, 0, 0, 85, 85, 0, 923, 85, 0, - 920, 922, 0, 802, 0, 0, 85, 291, 289, 0, - 291, 289, 0, 0, 291, 0, 831, 832, 85, 291, - 1120, 0, 291, 237, 237, 0, 897, 0, 0, 536, - 698, 1216, 1217, 1218, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 85, 85, 0, 85, 0, 239, + 982, 1646, 1667, 1629, 1607, 1630, 1645, 1631, 1513, 827, + 1573, 1349, 1321, 1546, 1409, 1441, 1458, 1231, 883, 1452, + 1440, 578, 1535, 867, 434, 270, 14, 820, 1040, 1056, + 870, 1230, 743, 236, 1295, 1137, 494, 998, 523, 292, + 433, 891, 1322, 1087, 745, 1176, 86, 426, 869, 1129, + 678, 828, 275, 31, 65, 482, 502, 1304, 398, 806, + 1125, 797, 1002, 967, 970, 774, 992, 778, 894, 1140, + 277, 43, 20, 551, 1037, 694, 10, 366, 536, 505, + 31, 6, 306, 862, 507, 367, 700, 408, 428, 495, + 313, 269, 399, 496, 698, 892, 311, 533, 43, 309, + 67, 280, 562, 381, 66, 872, 31, 63, 44, 68, + 382, 317, 81, 380, 233, 553, 45, 72, 549, 302, + 318, 1254, 825, 532, 43, 1255, 995, 525, 498, 498, + 1537, 392, 499, 499, 278, 821, 500, 500, 1643, 525, + 1637, 1534, 1636, 887, 274, 887, 1628, 288, 1623, 1475, + 295, 887, 267, 259, 1604, 303, 1598, 1475, 1592, 887, + 266, 1534, 996, 1583, 274, 1096, 1534, 314, 1558, 1553, + 1543, 1475, 887, 1534, 1203, 1533, 1518, 409, 1534, 887, + 1169, 1517, 1498, 282, 887, 1169, 1478, 1474, 484, 1169, + 1475, 1419, 703, 701, 887, 997, 994, 49, 1325, 1286, + 1282, 1169, 524, 524, 1248, 1246, 1245, 1249, 1169, 1169, + 705, 1244, 1171, 1173, 1169, 51, 1169, 1172, 1170, 888, + 701, 794, 887, 1169, 793, 530, 49, 1595, 531, 289, + 704, 702, 289, 1382, 298, 1328, 718, 289, 1109, 308, + 52, 795, 1127, 1111, 51, 49, 887, 47, 842, 528, + 978, 999, 882, 48, 856, 393, 672, 671, 1175, 543, + 542, 334, 287, 51, 53, 499, 577, 353, 385, 52, + 1644, 46, 1467, 1642, 526, 1436, 47, 1599, 1169, 1542, + 1503, 1499, 48, 1491, 400, 400, 526, 1490, 52, 436, + 1485, 49, 379, 1484, 503, 47, 373, 1483, 1482, 1469, + 64, 48, 1397, 1392, 1217, 993, 1391, 1390, 341, 51, + 703, 1332, 378, 1310, 1294, 1251, 342, 1250, 1238, 824, + 85, 1229, 719, 85, 493, 1202, 1147, 489, 705, 1199, + 85, 1197, 1186, 1180, 52, 483, 1113, 85, 85, 1110, + 703, 85, 1052, 488, 85, 85, 85, 1009, 704, 85, + 85, 85, 85, 498, 316, 1008, 372, 499, 705, 1218, + 975, 500, 392, 391, 524, 46, 1148, 1574, 1351, 1594, + 1096, 370, 85, 1575, 751, 441, 675, 720, 704, 1567, + 1549, 1540, 1532, 1510, 686, 688, 267, 1496, 1435, 1463, + 1448, 695, 317, 317, 266, 1319, 303, 702, 1309, 1203, + 581, 318, 318, 1292, 734, 735, 736, 737, 738, 582, + 674, 1291, 1289, 741, 394, 1266, 1265, 1228, 1194, 1193, + 516, 1203, 1185, 1166, 486, 1209, 1210, 1211, 1204, 1205, + 1206, 1207, 1208, 754, 1162, 972, 779, 572, 289, 782, + 976, 742, 714, 711, 712, 713, 706, 707, 708, 709, + 710, 1072, 539, 1071, 748, 1439, 1047, 1007, 886, 540, + 784, 772, 771, 770, 573, 566, 769, 768, 491, 662, + 719, 767, 666, 667, 668, 766, 669, 765, 289, 518, + 665, 764, 673, 763, 762, 761, 684, 1203, 760, 759, + 758, 749, 683, 682, 267, 696, 1072, 267, 267, 788, + 747, 46, 690, 676, 293, 691, 692, 396, 1555, 1554, + 746, 1312, 1311, 490, 1256, 1097, 1203, 1453, 85, 85, + 362, 789, 791, 365, 348, 720, 756, 347, 821, 1217, + 787, 1352, 1189, 1003, 776, 777, 1466, 775, 1093, 800, + 780, 388, 389, 1613, 823, 783, 581, 581, 85, 1656, + 85, 1217, 85, 1582, 85, 582, 582, 65, 1105, 1415, + 848, 1427, 837, 311, 706, 707, 708, 709, 710, 85, + 31, 811, 813, 1657, 1203, 785, 799, 485, 317, 438, + 85, 252, 1277, 31, 1218, 253, 227, 318, 264, 1416, + 85, 85, 1526, 85, 706, 707, 708, 709, 710, 861, + 57, 43, 703, 67, 1525, 1278, 1218, 66, 816, 807, + 836, 258, 68, 257, 803, 508, 1258, 509, 1257, 1184, + 705, 850, 840, 85, 581, 85, 1183, 845, 849, 838, + 844, 846, 843, 582, 314, 316, 316, 1581, 839, 58, + 704, 752, 703, 580, 85, 1182, 85, 85, 85, 85, + 345, 85, 1211, 1204, 1205, 1206, 1207, 1208, 1181, 85, + 705, 1150, 810, 959, 1411, 85, 1412, 508, 841, 509, + 786, 1212, 1209, 1210, 1211, 1204, 1205, 1206, 1207, 1208, + 704, 510, 508, 85, 509, 346, 85, 818, 817, 1414, + 289, 369, 799, 819, 1003, 933, 1417, 831, 798, 969, + 969, 261, 835, 400, 1217, 308, 1268, 934, 935, 936, + 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, + 947, 948, 949, 950, 951, 952, 953, 954, 889, 999, + 1615, 1656, 719, 510, 1013, 262, 519, 1104, 932, 809, + 402, 1204, 1205, 1206, 1207, 1208, 897, 1413, 510, 1275, + 865, 1515, 265, 1338, 973, 880, 881, 864, 59, 1218, + 1023, 1010, 1664, 1021, 1088, 1031, 1033, 1038, 1041, 1042, + 1043, 866, 1206, 1207, 1208, 979, 984, 368, 987, 581, + 787, 1086, 85, 514, 513, 787, 1339, 720, 582, 580, + 580, 983, 903, 1032, 503, 896, 1341, 808, 85, 1044, + 1045, 1046, 85, 1016, 1576, 85, 525, 995, 1106, 85, + 344, 85, 85, 1051, 85, 337, 339, 85, 85, 85, + 60, 316, 1089, 1663, 85, 85, 1269, 974, 1204, 1205, + 1206, 1207, 1208, 1067, 1083, 273, 957, 1633, 511, 1017, + 1305, 55, 999, 996, 773, 852, 1625, 1069, 1563, 506, + 1061, 854, 999, 289, 739, 713, 706, 707, 708, 709, + 710, 274, 1626, 61, 343, 796, 855, 580, 1670, 272, + 363, 1192, 1018, 1015, 853, 1099, 997, 994, 1632, 289, + 1062, 1655, 1653, 695, 56, 1451, 1091, 384, 1152, 968, + 511, 876, 923, 903, 1520, 383, 1082, 356, 708, 709, + 710, 1662, 335, 317, 333, 511, 1634, 1092, 1516, 1114, + 1519, 274, 318, 1120, 1095, 1098, 344, 1508, 958, 384, + 1494, 1101, 364, 1260, 1112, 1100, 1103, 1108, 1019, 1378, + 1107, 1102, 999, 1066, 1423, 1677, 877, 1143, 681, 31, + 955, 1415, 1635, 1410, 677, 1337, 1608, 383, 571, 559, + 570, 1408, 564, 526, 85, 73, 1149, 43, 1118, 1122, + 1154, 548, 1136, 1121, 1142, 85, 85, 62, 1123, 670, + 1146, 1416, 965, 1059, 1063, 78, 1668, 1426, 544, 1168, + 74, 271, 1014, 963, 1425, 780, 993, 783, 54, 1177, + 1509, 85, 546, 923, 85, 777, 776, 1495, 70, 75, + 1379, 1165, 308, 547, 1190, 1167, 1380, 1074, 1195, 1422, + 308, 956, 1676, 1174, 77, 1669, 1073, 1461, 1178, 1179, + 574, 1151, 580, 1153, 1060, 1300, 1299, 343, 301, 741, + 272, 1671, 375, 1296, 1126, 1038, 1038, 1038, 73, 922, + 1006, 1566, 1493, 961, 1346, 960, 1411, 1232, 1412, 966, + 1132, 1318, 1198, 1161, 1115, 1253, 847, 1227, 78, 1424, + 701, 361, 359, 74, 1188, 1135, 576, 358, 1240, 357, + 354, 1414, 1263, 289, 300, 1303, 1233, 1005, 1417, 902, + 575, 1133, 75, 757, 664, 1406, 85, 85, 85, 400, + 1273, 1271, 85, 1259, 1116, 85, 76, 77, 503, 878, + 875, 85, 85, 85, 85, 85, 529, 85, 85, 1235, + 1236, 1237, 1252, 527, 85, 522, 85, 1272, 515, 1274, + 962, 512, 85, 1283, 1159, 689, 1527, 964, 925, 1413, + 1262, 85, 85, 79, 1280, 1157, 386, 85, 1657, 1134, + 922, 884, 350, 568, 285, 1276, 316, 1279, 1284, 1314, + 799, 1315, 1529, 799, 1285, 1537, 814, 815, 1128, 812, + 1288, 1281, 1320, 85, 1290, 85, 85, 1264, 85, 1298, + 1330, 1578, 1301, 3, 1601, 703, 1330, 85, 1297, 76, + 902, 1302, 85, 85, 390, 85, 703, 1596, 69, 826, + 1347, 1306, 1307, 705, 885, 1326, 697, 1155, 387, 1356, + 1132, 1160, 1358, 1334, 1335, 1336, 286, 541, 565, 560, + 1145, 251, 351, 704, 1674, 1135, 79, 1331, 80, 1675, + 1340, 1342, 1343, 1203, 704, 1130, 703, 294, 1468, 925, + 1398, 1133, 1357, 1387, 1388, 857, 1344, 1313, 858, 1355, + 1353, 1247, 1394, 1395, 1396, 1131, 1359, 1050, 1385, 254, + 255, 903, 1049, 1048, 1000, 859, 1480, 1383, 1345, 860, + 750, 1058, 1057, 1386, 260, 1514, 71, 663, 1393, 355, + 1487, 1624, 1156, 1191, 831, 1562, 1545, 1389, 1402, 1158, + 1004, 924, 755, 899, 1401, 903, 25, 1399, 1443, 1134, + 1405, 414, 903, 1407, 1261, 871, 583, 1454, 569, 558, + 415, 32, 437, 581, 360, 289, 552, 561, 289, 1437, + 1012, 487, 582, 1450, 1446, 1449, 439, 1446, 900, 1472, + 440, 901, 781, 903, 1476, 1477, 1455, 1438, 32, 1479, + 1445, 427, 1473, 1445, 1481, 31, 898, 1447, 312, 829, + 1447, 1456, 1457, 1001, 268, 1462, 1465, 276, 1187, 1486, + 753, 923, 413, 1489, 32, 419, 418, 980, 410, 1055, + 1420, 1421, 85, 497, 340, 276, 231, 232, 1090, 1434, + 822, 879, 685, 1270, 263, 1492, 1200, 1030, 1022, 1020, + 1011, 371, 924, 1497, 899, 923, 85, 501, 830, 397, + 352, 890, 923, 1144, 395, 693, 284, 283, 868, 85, + 349, 85, 421, 85, 1464, 545, 85, 851, 903, 517, + 256, 1577, 1612, 1267, 50, 19, 17, 85, 16, 1504, + 85, 15, 13, 923, 12, 11, 1521, 18, 85, 1119, + 9, 85, 8, 83, 7, 24, 237, 1505, 23, 22, + 5, 4, 2, 83, 1507, 1539, 1, 0, 0, 0, + 281, 281, 0, 1430, 291, 0, 1528, 291, 297, 291, + 1446, 1550, 291, 304, 291, 237, 1538, 1523, 1524, 1541, + 1522, 1556, 1557, 1446, 1548, 1536, 1445, 289, 289, 1530, + 0, 289, 85, 1447, 0, 336, 0, 0, 0, 1445, + 0, 0, 0, 0, 0, 0, 1447, 0, 922, 0, + 0, 1570, 0, 1551, 1024, 0, 0, 1561, 923, 1568, + 0, 1572, 0, 0, 0, 0, 903, 0, 1559, 0, + 0, 1571, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 922, 503, 0, 0, 0, 0, 902, 922, + 0, 0, 1585, 0, 0, 0, 580, 85, 85, 85, + 1586, 0, 1593, 0, 1587, 85, 85, 1589, 1552, 1446, + 0, 85, 0, 85, 903, 85, 85, 85, 85, 1591, + 922, 1588, 902, 787, 0, 1445, 0, 0, 268, 902, + 1603, 85, 1447, 0, 0, 903, 0, 925, 1600, 85, + 85, 0, 0, 85, 0, 1512, 0, 0, 0, 85, + 85, 1619, 0, 0, 0, 0, 0, 0, 1622, 1621, + 902, 1616, 1614, 1617, 1639, 1620, 923, 1618, 0, 1446, + 0, 925, 1638, 0, 0, 1640, 1650, 1650, 925, 1544, + 1627, 237, 237, 1651, 0, 1445, 1641, 1654, 1652, 289, + 0, 85, 1447, 1658, 1597, 0, 0, 0, 1650, 1661, + 0, 0, 1660, 0, 0, 922, 903, 0, 0, 925, + 1672, 83, 1673, 291, 923, 237, 0, 376, 1659, 1609, + 1610, 0, 0, 0, 0, 1650, 1678, 0, 0, 0, + 0, 0, 281, 0, 0, 923, 268, 0, 0, 268, + 268, 0, 0, 291, 0, 902, 85, 0, 85, 0, + 85, 0, 0, 291, 291, 0, 520, 85, 1024, 1024, + 0, 0, 0, 740, 0, 0, 0, 744, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1163, 1164, + 0, 0, 0, 0, 0, 0, 537, 0, 537, 0, + 924, 85, 899, 85, 925, 0, 0, 0, 0, 0, + 0, 85, 0, 85, 1611, 0, 923, 237, 0, 537, + 237, 237, 237, 922, 237, 0, 1024, 1024, 1024, 0, + 0, 0, 83, 0, 924, 0, 899, 0, 680, 0, + 0, 924, 0, 899, 0, 0, 1224, 1225, 1226, 0, + 0, 0, 0, 831, 0, 0, 281, 0, 0, 699, + 0, 0, 0, 902, 0, 0, 703, 0, 0, 0, + 0, 922, 924, 0, 899, 85, 85, 0, 32, 85, + 0, 0, 0, 0, 705, 0, 0, 85, 0, 0, + 0, 32, 922, 0, 0, 0, 0, 0, 0, 85, + 0, 0, 0, 0, 704, 0, 0, 0, 0, 0, + 0, 902, 925, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 85, 85, 0, 85, 0, + 0, 0, 902, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1203, 85, 1219, 1220, 1221, 0, + 0, 0, 1024, 1024, 0, 291, 1471, 924, 0, 899, + 925, 0, 0, 922, 0, 85, 0, 0, 0, 0, + 0, 804, 1316, 1317, 0, 291, 0, 0, 291, 0, + 0, 925, 291, 0, 833, 834, 0, 291, 1216, 0, + 291, 237, 237, 0, 0, 0, 719, 537, 699, 0, + 0, 0, 0, 902, 1128, 1024, 1024, 1024, 1024, 1024, + 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, + 1024, 1024, 1024, 0, 1024, 1360, 1361, 1362, 1363, 1364, + 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, + 1375, 1376, 1377, 0, 1381, 0, 1132, 0, 0, 0, + 0, 720, 925, 0, 0, 0, 0, 0, 1222, 0, + 0, 1135, 893, 0, 0, 924, 0, 899, 0, 0, + 0, 1130, 0, 0, 1217, 0, 0, 1133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 897, 1124, 0, 250, 85, 0, 0, 897, 900, 0, - 0, 920, 1022, 1022, 0, 0, 1127, 0, 0, 923, - 0, 0, 0, 922, 85, 0, 1122, 0, 0, 0, - 0, 0, 1125, 0, 0, 0, 241, 0, 897, 0, - 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0, - 0, 0, 0, 0, 0, 240, 242, 0, 0, 1447, - 0, 0, 0, 0, 268, 1022, 1022, 1022, 1022, 1022, - 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, - 1022, 1022, 1022, 0, 1022, 0, 0, 243, 0, 1126, - 0, 1305, 1306, 1417, 0, 0, 0, 244, 245, 861, + 0, 1131, 971, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1460, 0, 0, 0, 0, + 0, 239, 0, 924, 0, 899, 714, 711, 712, 713, + 706, 707, 708, 709, 710, 250, 0, 863, 0, 1218, + 0, 0, 0, 0, 924, 1134, 899, 0, 291, 804, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1203, + 0, 1219, 1220, 1221, 0, 0, 0, 0, 241, 0, + 0, 1470, 0, 0, 291, 0, 0, 237, 703, 0, + 721, 722, 723, 0, 0, 0, 0, 240, 242, 0, + 724, 0, 0, 1459, 0, 276, 705, 0, 730, 0, + 1213, 1214, 1215, 1216, 1212, 1209, 1210, 1211, 1204, 1205, + 1206, 1207, 1208, 0, 0, 924, 704, 899, 0, 0, + 243, 0, 718, 0, 0, 0, 0, 1024, 0, 0, + 244, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 246, 0, 1511, 0, 0, + 0, 0, 0, 0, 0, 0, 703, 32, 721, 722, + 723, 0, 0, 0, 0, 0, 1141, 0, 724, 291, + 1064, 1065, 0, 1222, 705, 804, 730, 0, 1070, 0, + 731, 0, 0, 0, 1075, 1076, 1078, 1080, 1081, 1217, + 1084, 1085, 729, 0, 704, 0, 0, 291, 0, 1094, + 718, 0, 726, 0, 1024, 291, 0, 0, 719, 0, + 0, 0, 0, 0, 863, 537, 0, 0, 0, 0, + 863, 0, 0, 0, 1565, 0, 0, 0, 0, 971, + 725, 0, 0, 0, 0, 247, 0, 0, 248, 0, + 0, 0, 249, 740, 1218, 0, 680, 0, 237, 291, + 0, 1117, 0, 0, 0, 0, 0, 0, 731, 0, + 1124, 0, 0, 720, 0, 1139, 1139, 0, 291, 0, + 729, 0, 0, 728, 0, 0, 0, 1024, 0, 0, + 726, 0, 0, 0, 0, 0, 719, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1602, 0, 740, + 0, 0, 0, 0, 0, 1213, 1214, 1215, 725, 1212, + 1209, 1210, 1211, 1204, 1205, 1206, 1207, 1208, 0, 0, + 0, 0, 727, 0, 715, 716, 717, 0, 714, 711, + 712, 713, 706, 707, 708, 709, 710, 0, 0, 0, + 1053, 720, 0, 0, 0, 0, 1054, 0, 0, 0, + 703, 728, 721, 722, 723, 0, 21, 0, 0, 0, + 0, 0, 724, 0, 0, 0, 35, 0, 705, 0, + 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 704, 37, + 0, 0, 0, 0, 718, 42, 0, 0, 893, 0, + 727, 893, 715, 716, 717, 0, 714, 711, 712, 713, + 706, 707, 708, 709, 710, 0, 0, 0, 0, 0, + 26, 0, 38, 1500, 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, + 0, 0, 0, 0, 0, 699, 0, 0, 0, 0, + 0, 0, 731, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 729, 0, 0, 0, 0, 291, + 0, 0, 0, 0, 726, 0, 0, 0, 0, 0, + 719, 0, 1287, 0, 804, 0, 680, 0, 0, 1293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 291, 802, 246, 0, 900, 0, 0, 289, 289, 0, - 897, 289, 0, 0, 0, 923, 0, 0, 0, 922, - 0, 0, 0, 0, 0, 0, 291, 1446, 0, 237, - 0, 0, 0, 0, 1349, 1350, 1351, 1352, 1353, 1354, - 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, - 1365, 1366, 900, 1370, 0, 0, 0, 0, 0, 0, - 0, 0, 268, 923, 0, 268, 268, 922, 0, 0, - 0, 0, 0, 900, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 923, 0, 0, 0, 922, 739, - 0, 247, 0, 743, 248, 0, 0, 0, 249, 0, - 0, 0, 0, 0, 0, 0, 0, 702, 0, 720, - 721, 722, 0, 0, 0, 0, 897, 0, 0, 723, - 291, 1056, 1057, 1499, 0, 704, 802, 729, 0, 1062, - 0, 0, 0, 0, 0, 1067, 1068, 1070, 1072, 1073, - 0, 1076, 1077, 0, 900, 703, 0, 0, 291, 0, - 1086, 717, 0, 0, 0, 923, 291, 1531, 0, 922, - 0, 0, 1022, 0, 897, 861, 536, 289, 0, 0, - 0, 861, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 897, 0, 0, 0, 0, - 0, 0, 0, 32, 0, 0, 0, 679, 0, 237, - 291, 0, 1109, 0, 0, 0, 32, 0, 730, 0, - 0, 1116, 0, 0, 0, 0, 1131, 1131, 0, 291, - 728, 0, 0, 0, 0, 702, 0, 720, 721, 722, - 725, 0, 0, 0, 0, 0, 718, 723, 0, 1022, - 0, 1498, 0, 704, 0, 729, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 897, 724, 0, 0, - 0, 0, 0, 703, 0, 0, 0, 0, 0, 717, - 0, 702, 0, 720, 721, 722, 0, 0, 0, 0, - 0, 0, 1598, 723, 0, 0, 0, 0, 0, 704, - 719, 729, 0, 0, 0, 0, 0, 0, 0, 0, - 727, 0, 0, 0, 0, 0, 0, 0, 0, 703, - 0, 0, 1022, 0, 0, 717, 0, 0, 1552, 0, - 0, 829, 0, 0, 0, 0, 730, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 725, 726, - 0, 714, 715, 716, 718, 713, 710, 711, 712, 705, - 706, 707, 708, 709, 0, 0, 0, 1051, 0, 0, - 0, 0, 730, 0, 1052, 724, 0, 891, 0, 0, - 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, - 698, 1589, 0, 0, 725, 0, 0, 0, 0, 0, - 718, 0, 0, 0, 0, 0, 0, 969, 719, 0, - 0, 0, 0, 0, 291, 0, 0, 0, 727, 0, - 0, 724, 0, 0, 0, 0, 0, 1276, 0, 802, - 0, 679, 0, 0, 1282, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 291, 0, 0, 291, 0, - 0, 0, 0, 0, 719, 0, 1297, 0, 0, 1131, - 0, 0, 0, 0, 727, 0, 0, 726, 0, 714, - 715, 716, 0, 713, 710, 711, 712, 705, 706, 707, - 708, 709, 0, 0, 0, 0, 0, 0, 0, 0, - 1235, 0, 0, 0, 0, 0, 0, 0, 0, 276, + 291, 0, 725, 291, 0, 0, 0, 0, 0, 0, + 0, 1308, 0, 703, 1139, 0, 0, 0, 0, 0, + 0, 0, 0, 40, 0, 0, 29, 0, 39, 0, + 0, 705, 0, 30, 0, 720, 49, 0, 0, 0, + 33, 34, 0, 0, 0, 728, 0, 0, 36, 0, + 0, 704, 0, 32, 51, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1350, 41, 0, 0, 0, + 893, 893, 0, 0, 893, 0, 0, 0, 0, 52, + 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, + 1203, 0, 48, 0, 727, 0, 715, 716, 717, 0, + 714, 711, 712, 713, 706, 707, 708, 709, 710, 703, + 46, 721, 722, 723, 0, 0, 0, 1243, 0, 0, + 0, 724, 0, 0, 0, 0, 0, 705, 0, 730, + 1403, 1404, 804, 1203, 1216, 1219, 1220, 1221, 699, 699, + 0, 0, 0, 719, 1428, 1324, 1429, 704, 291, 1431, + 1432, 1433, 0, 718, 0, 0, 0, 0, 0, 0, + 0, 0, 1442, 0, 804, 1442, 0, 0, 0, 0, + 0, 0, 291, 291, 0, 0, 291, 1216, 0, 0, + 0, 0, 699, 1139, 0, 0, 0, 703, 0, 721, + 722, 723, 0, 0, 0, 0, 0, 0, 720, 724, + 0, 0, 0, 0, 0, 705, 0, 730, 703, 0, + 1531, 731, 0, 0, 0, 0, 0, 0, 0, 0, + 1217, 0, 0, 729, 1488, 704, 705, 0, 730, 0, + 0, 718, 893, 726, 0, 0, 0, 0, 0, 719, + 0, 0, 0, 0, 0, 0, 704, 1222, 0, 0, + 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, + 0, 725, 0, 1217, 711, 712, 713, 706, 707, 708, + 709, 710, 0, 0, 0, 1218, 0, 0, 0, 804, + 0, 1506, 0, 237, 0, 0, 0, 0, 0, 731, + 291, 0, 0, 0, 720, 0, 0, 0, 0, 0, + 0, 729, 0, 740, 728, 0, 0, 0, 1442, 0, + 731, 726, 0, 0, 0, 0, 0, 719, 1218, 0, + 0, 1442, 0, 0, 291, 0, 1547, 0, 0, 0, + 0, 0, 726, 0, 291, 0, 699, 0, 719, 725, + 1212, 1209, 1210, 1211, 1204, 1205, 1206, 1207, 1208, 0, + 0, 0, 0, 727, 0, 715, 716, 717, 0, 714, + 711, 712, 713, 706, 707, 708, 709, 710, 0, 0, + 0, 0, 720, 0, 0, 0, 1242, 0, 0, 1213, + 1214, 1215, 728, 1212, 1209, 1210, 1211, 1204, 1205, 1206, + 1207, 1208, 0, 720, 0, 0, 0, 0, 1579, 1580, + 0, 0, 1584, 728, 0, 0, 0, 1442, 0, 0, + 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 699, 0, 0, 0, 0, 0, 0, 0, + 0, 727, 0, 715, 716, 717, 0, 714, 711, 712, + 713, 706, 707, 708, 709, 710, 0, 699, 699, 291, + 0, 237, 727, 0, 1241, 0, 0, 0, 714, 711, + 712, 713, 706, 707, 708, 709, 710, 1442, 1547, 0, + 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 291, 87, + 88, 584, 89, 585, 586, 587, 588, 589, 590, 591, + 592, 90, 91, 184, 185, 186, 92, 187, 188, 593, + 93, 189, 190, 94, 594, 595, 191, 192, 193, 596, + 194, 597, 320, 598, 95, 96, 97, 0, 98, 599, + 99, 600, 321, 100, 101, 601, 602, 603, 604, 605, + 606, 102, 103, 104, 105, 195, 106, 196, 197, 607, + 608, 107, 609, 610, 611, 108, 109, 612, 613, 0, + 614, 198, 110, 199, 615, 616, 111, 112, 200, 113, + 617, 0, 618, 619, 322, 620, 114, 201, 621, 202, + 622, 115, 116, 203, 204, 623, 624, 117, 625, 323, + 118, 205, 206, 207, 626, 208, 627, 324, 119, 325, + 120, 121, 628, 629, 209, 326, 122, 327, 630, 123, + 631, 632, 124, 0, 125, 126, 127, 128, 129, 328, + 130, 131, 0, 132, 633, 133, 634, 210, 134, 211, + 135, 136, 635, 636, 637, 638, 639, 137, 212, 329, + 138, 330, 213, 139, 140, 640, 214, 141, 215, 641, + 142, 143, 144, 216, 145, 146, 642, 148, 149, 147, + 150, 643, 151, 331, 152, 153, 217, 154, 0, 238, + 155, 156, 644, 157, 158, 645, 159, 160, 332, 161, + 218, 162, 646, 163, 164, 166, 219, 165, 220, 647, + 648, 167, 168, 649, 221, 222, 650, 651, 169, 223, + 224, 652, 170, 171, 172, 173, 653, 654, 174, 175, + 655, 656, 176, 177, 178, 225, 226, 657, 179, 658, + 659, 660, 661, 180, 181, 182, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1339, 0, 0, 726, 0, 714, 715, 716, 0, 713, - 710, 711, 712, 705, 706, 707, 708, 709, 0, 0, - 0, 0, 0, 0, 0, 0, 1234, 0, 0, 702, - 0, 720, 721, 722, 0, 0, 0, 0, 0, 0, - 0, 723, 0, 0, 0, 0, 0, 704, 0, 729, - 0, 32, 0, 0, 702, 0, 720, 721, 722, 0, - 1133, 0, 1390, 1391, 802, 0, 723, 703, 0, 0, - 698, 698, 704, 717, 729, 0, 1415, 0, 1416, 0, - 291, 1418, 1419, 1420, 0, 0, 0, 0, 0, 0, - 0, 0, 703, 0, 1429, 0, 802, 1429, 717, 0, - 0, 0, 0, 0, 291, 291, 0, 0, 291, 0, - 0, 0, 0, 0, 698, 1131, 0, 0, 0, 0, - 0, 0, 0, 969, 0, 0, 0, 0, 0, 0, - 730, 0, 0, 0, 0, 0, 0, 739, 0, 0, - 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 725, 0, 0, 730, 1475, 0, 718, 0, - 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 725, 0, 724, - 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 724, 0, 0, 0, 0, 802, - 0, 1493, 719, 237, 0, 0, 0, 0, 0, 0, - 291, 702, 727, 720, 721, 722, 0, 0, 0, 0, - 0, 0, 0, 723, 0, 0, 0, 719, 1429, 704, - 0, 729, 0, 0, 0, 0, 1195, 727, 1211, 1212, - 1213, 1429, 0, 0, 291, 0, 1534, 0, 0, 703, - 0, 0, 0, 0, 291, 717, 698, 0, 0, 0, - 0, 726, 0, 714, 715, 716, 0, 713, 710, 711, - 712, 705, 706, 707, 708, 709, 891, 0, 0, 891, - 1208, 0, 0, 0, 1233, 0, 726, 0, 714, 715, - 716, 0, 713, 710, 711, 712, 705, 706, 707, 708, - 709, 0, 0, 0, 0, 0, 1593, 0, 0, 0, - 0, 702, 730, 720, 721, 722, 0, 0, 1566, 1567, - 0, 0, 1571, 723, 728, 0, 0, 1429, 0, 704, - 237, 729, 0, 0, 725, 0, 0, 0, 0, 0, - 718, 0, 698, 0, 0, 0, 0, 0, 0, 703, - 21, 0, 0, 0, 0, 717, 0, 0, 0, 0, - 35, 724, 0, 0, 0, 1209, 0, 698, 698, 291, - 0, 237, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 37, 0, 0, 0, 1429, 1534, 42, - 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 727, 0, 0, 0, 291, 0, - 0, 0, 730, 0, 26, 0, 38, 0, 0, 1210, - 27, 0, 0, 0, 728, 0, 0, 0, 32, 0, - 0, 0, 28, 0, 725, 0, 0, 0, 0, 0, - 718, 0, 0, 0, 0, 891, 891, 0, 0, 891, - 0, 0, 0, 726, 0, 714, 715, 716, 0, 713, - 710, 711, 712, 705, 706, 707, 708, 709, 0, 0, - 0, 0, 0, 1592, 0, 0, 0, 0, 0, 0, - 1205, 1206, 1207, 0, 1204, 1201, 1202, 1203, 1196, 1197, - 1198, 1199, 1200, 0, 719, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 727, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 40, 0, 0, 29, 0, - 39, 0, 0, 0, 0, 30, 0, 0, 49, 0, - 0, 0, 33, 34, 0, 0, 0, 0, 0, 0, - 36, 0, 0, 0, 0, 0, 51, 0, 0, 0, - 0, 0, 0, 726, 0, 714, 715, 716, 41, 713, - 710, 711, 712, 705, 706, 707, 708, 709, 0, 0, - 0, 52, 0, 0, 0, 0, 0, 0, 47, 0, - 0, 0, 0, 1518, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, - 0, 0, 46, 0, 0, 891, 87, 88, 583, 89, - 584, 585, 586, 587, 588, 589, 590, 591, 90, 91, - 184, 185, 186, 92, 187, 188, 592, 93, 189, 190, - 94, 593, 594, 191, 192, 193, 595, 194, 596, 320, - 597, 95, 96, 97, 0, 98, 598, 99, 599, 321, - 100, 101, 600, 601, 602, 603, 604, 605, 102, 103, - 104, 105, 195, 106, 196, 197, 606, 607, 107, 608, - 609, 610, 108, 109, 611, 612, 739, 613, 198, 110, - 199, 614, 615, 111, 112, 200, 113, 616, 617, 618, - 322, 619, 114, 201, 620, 202, 621, 115, 116, 203, - 204, 622, 623, 117, 624, 323, 118, 205, 206, 207, - 625, 208, 626, 324, 119, 325, 120, 121, 627, 628, - 209, 326, 122, 327, 629, 123, 630, 631, 124, 0, - 125, 126, 127, 128, 129, 328, 130, 131, 132, 632, - 133, 633, 210, 134, 211, 135, 136, 634, 635, 636, - 637, 638, 137, 212, 329, 138, 330, 213, 139, 140, - 639, 214, 141, 215, 640, 142, 143, 144, 216, 145, - 146, 641, 148, 149, 147, 150, 642, 151, 331, 152, - 153, 217, 154, 0, 238, 155, 156, 643, 157, 158, - 644, 159, 160, 332, 161, 218, 162, 645, 163, 164, - 166, 219, 165, 220, 646, 647, 167, 168, 648, 221, - 222, 649, 650, 169, 223, 224, 651, 170, 171, 172, - 173, 652, 653, 174, 175, 654, 655, 176, 177, 178, - 225, 226, 656, 179, 657, 658, 659, 660, 180, 181, - 182, 183, 0, 578, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 790, 87, 88, 583, 89, 584, - 585, 586, 587, 588, 589, 590, 591, 90, 91, 184, - 185, 186, 92, 187, 188, 592, 93, 189, 190, 94, - 593, 594, 191, 192, 193, 595, 194, 596, 320, 597, - 95, 96, 97, 0, 98, 598, 99, 599, 321, 100, - 101, 600, 601, 602, 603, 604, 605, 102, 103, 104, - 105, 195, 106, 196, 197, 606, 607, 107, 608, 609, - 610, 108, 109, 611, 612, 0, 613, 198, 110, 199, - 614, 615, 111, 112, 200, 113, 616, 617, 618, 322, - 619, 114, 201, 620, 202, 621, 115, 116, 203, 204, - 622, 623, 117, 624, 323, 118, 205, 206, 207, 625, - 208, 626, 324, 119, 325, 120, 121, 627, 628, 209, - 326, 122, 327, 629, 123, 630, 631, 124, 0, 125, - 126, 127, 128, 129, 328, 130, 131, 132, 632, 133, - 633, 210, 134, 211, 135, 136, 634, 635, 636, 637, - 638, 137, 212, 329, 138, 330, 213, 139, 140, 639, - 214, 141, 215, 640, 142, 143, 144, 216, 145, 146, - 641, 148, 149, 147, 150, 642, 151, 331, 152, 153, - 217, 154, 0, 238, 155, 156, 643, 157, 158, 644, - 159, 160, 332, 161, 218, 162, 645, 163, 164, 166, - 219, 165, 220, 646, 647, 167, 168, 648, 221, 222, - 649, 650, 169, 223, 224, 651, 170, 171, 172, 173, - 652, 653, 174, 175, 654, 655, 176, 177, 178, 225, - 226, 656, 179, 657, 658, 659, 660, 180, 181, 182, - 183, 435, 423, 424, 425, 422, 411, 0, 0, 0, - 0, 0, 0, 87, 88, 987, 89, 0, 0, 0, - 0, 417, 0, 0, 0, 90, 91, 184, 464, 465, - 92, 466, 467, 0, 93, 189, 190, 94, 432, 450, - 468, 469, 193, 0, 460, 0, 443, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, - 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, - 106, 471, 472, 0, 0, 107, 0, 988, 0, 463, - 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 0, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 0, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, + 0, 0, 579, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 792, 87, 88, 584, 89, 585, 586, + 587, 588, 589, 590, 591, 592, 90, 91, 184, 185, + 186, 92, 187, 188, 593, 93, 189, 190, 94, 594, + 595, 191, 192, 193, 596, 194, 597, 320, 598, 95, + 96, 97, 0, 98, 599, 99, 600, 321, 100, 101, + 601, 602, 603, 604, 605, 606, 102, 103, 104, 105, + 195, 106, 196, 197, 607, 608, 107, 609, 610, 611, + 108, 109, 612, 613, 0, 614, 198, 110, 199, 615, + 616, 111, 112, 200, 113, 617, 0, 618, 619, 322, + 620, 114, 201, 621, 202, 622, 115, 116, 203, 204, + 623, 624, 117, 625, 323, 118, 205, 206, 207, 626, + 208, 627, 324, 119, 325, 120, 121, 628, 629, 209, + 326, 122, 327, 630, 123, 631, 632, 124, 0, 125, + 126, 127, 128, 129, 328, 130, 131, 0, 132, 633, + 133, 634, 210, 134, 211, 135, 136, 635, 636, 637, + 638, 639, 137, 212, 329, 138, 330, 213, 139, 140, + 640, 214, 141, 215, 641, 142, 143, 144, 216, 145, + 146, 642, 148, 149, 147, 150, 643, 151, 331, 152, + 153, 217, 154, 0, 238, 155, 156, 644, 157, 158, + 645, 159, 160, 332, 161, 218, 162, 646, 163, 164, + 166, 219, 165, 220, 647, 648, 167, 168, 649, 221, + 222, 650, 651, 169, 223, 224, 652, 170, 171, 172, + 173, 653, 654, 174, 175, 655, 656, 176, 177, 178, + 225, 226, 657, 179, 658, 659, 660, 661, 180, 181, + 182, 183, 0, 579, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 790, 87, 88, 584, 89, 585, + 586, 587, 588, 589, 590, 591, 592, 90, 91, 184, + 185, 186, 92, 187, 188, 593, 93, 189, 190, 94, + 594, 595, 191, 192, 193, 596, 194, 597, 320, 598, + 95, 96, 97, 0, 98, 599, 99, 600, 321, 100, + 101, 601, 602, 603, 604, 605, 606, 102, 103, 104, + 105, 195, 106, 196, 197, 607, 608, 107, 609, 610, + 611, 108, 109, 612, 613, 0, 614, 198, 110, 199, + 615, 616, 111, 112, 200, 113, 617, 0, 618, 619, + 322, 620, 114, 201, 621, 202, 622, 115, 116, 203, + 204, 623, 624, 117, 625, 323, 118, 205, 206, 207, + 626, 208, 627, 324, 119, 325, 120, 121, 628, 629, + 209, 326, 122, 327, 630, 123, 631, 632, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 633, 133, 634, 210, 134, 211, 135, 136, 635, 636, + 637, 638, 639, 137, 212, 329, 138, 330, 213, 139, + 140, 640, 214, 141, 215, 641, 142, 143, 144, 216, + 145, 146, 642, 148, 149, 147, 150, 643, 151, 331, + 152, 153, 217, 154, 0, 238, 155, 156, 644, 157, + 158, 645, 159, 160, 332, 161, 218, 162, 646, 163, + 164, 166, 219, 165, 220, 647, 648, 167, 168, 649, + 221, 222, 650, 651, 169, 223, 224, 652, 170, 171, + 172, 173, 653, 654, 174, 175, 655, 656, 176, 177, + 178, 225, 226, 657, 179, 658, 659, 660, 661, 180, + 181, 182, 183, 435, 423, 424, 425, 422, 411, 0, + 0, 0, 0, 0, 0, 87, 88, 989, 89, 0, + 0, 0, 0, 417, 0, 0, 0, 90, 91, 184, + 464, 465, 92, 466, 467, 0, 93, 189, 190, 94, + 432, 450, 468, 469, 193, 0, 460, 0, 443, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 444, 446, 0, 445, 447, 102, 103, 104, + 105, 470, 106, 471, 472, 0, 0, 107, 0, 990, + 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, + 430, 0, 111, 112, 473, 113, 0, 0, 0, 0, + 322, 0, 114, 461, 0, 202, 0, 115, 116, 457, + 459, 0, 0, 117, 0, 323, 118, 474, 475, 476, + 0, 442, 0, 324, 119, 325, 120, 121, 0, 0, + 462, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, + 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 420, 154, 0, 238, 155, 156, 0, 157, + 158, 448, 159, 160, 332, 161, 479, 162, 0, 163, + 164, 166, 219, 165, 454, 0, 0, 167, 168, 0, + 221, 480, 0, 0, 169, 455, 456, 429, 170, 171, + 172, 173, 0, 0, 174, 175, 449, 0, 176, 177, + 178, 225, 481, 988, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 407, 0, 435, 423, 424, 425, 422, + 411, 0, 0, 403, 404, 991, 0, 87, 88, 405, + 89, 0, 412, 986, 0, 417, 0, 0, 0, 90, + 91, 184, 464, 465, 92, 466, 467, 0, 93, 189, + 190, 94, 432, 450, 468, 469, 193, 0, 460, 0, + 443, 0, 95, 96, 97, 0, 98, 0, 99, 0, + 321, 100, 101, 0, 444, 446, 0, 445, 447, 102, + 103, 104, 105, 470, 106, 471, 472, 504, 0, 107, + 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, + 110, 451, 430, 0, 111, 112, 473, 113, 0, 0, + 0, 0, 322, 0, 114, 461, 0, 202, 0, 115, + 116, 457, 459, 0, 0, 117, 0, 323, 118, 474, + 475, 476, 0, 442, 0, 324, 119, 325, 120, 121, + 0, 0, 462, 326, 122, 327, 0, 123, 0, 0, + 124, 0, 125, 126, 127, 128, 129, 328, 130, 131, + 0, 132, 406, 133, 431, 458, 134, 477, 135, 136, + 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, + 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, + 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, + 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, + 49, 157, 158, 448, 159, 160, 332, 161, 479, 162, + 0, 163, 164, 166, 219, 165, 454, 0, 51, 167, + 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, + 170, 171, 172, 173, 0, 0, 174, 175, 449, 0, + 176, 177, 178, 319, 481, 0, 179, 0, 0, 0, + 47, 180, 181, 182, 183, 407, 48, 435, 423, 424, + 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, + 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, + 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, + 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, + 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, + 99, 0, 321, 100, 101, 0, 444, 446, 0, 445, + 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, + 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, + 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, + 0, 0, 0, 0, 322, 0, 114, 461, 0, 202, + 0, 115, 116, 457, 459, 0, 0, 117, 0, 323, + 118, 474, 475, 476, 0, 442, 0, 324, 119, 325, + 120, 121, 0, 0, 462, 326, 122, 327, 0, 123, + 0, 0, 124, 0, 125, 126, 127, 128, 129, 328, + 130, 131, 0, 132, 406, 133, 431, 458, 134, 477, + 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, + 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, + 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, + 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, + 155, 156, 49, 157, 158, 448, 159, 160, 332, 161, + 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, + 51, 167, 168, 0, 221, 480, 0, 0, 169, 455, + 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, + 449, 0, 176, 177, 178, 319, 481, 0, 179, 0, + 0, 0, 47, 180, 181, 182, 183, 407, 48, 435, + 423, 424, 425, 422, 411, 0, 0, 403, 404, 0, + 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, + 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, + 467, 1034, 93, 189, 190, 94, 432, 450, 468, 469, + 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, + 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, + 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, + 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, + 0, 0, 0, 416, 110, 451, 430, 0, 111, 112, + 473, 113, 0, 0, 0, 1039, 322, 0, 114, 461, + 0, 202, 0, 115, 116, 457, 459, 0, 0, 117, + 0, 323, 118, 474, 475, 476, 0, 442, 0, 324, + 119, 325, 120, 121, 0, 1035, 462, 326, 122, 327, + 0, 123, 0, 0, 124, 0, 125, 126, 127, 128, + 129, 328, 130, 131, 0, 132, 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 0, 167, 168, 0, 221, 480, 0, 0, + 454, 0, 0, 167, 168, 0, 221, 480, 0, 1036, 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, - 174, 175, 449, 0, 176, 177, 178, 225, 481, 986, + 174, 175, 449, 0, 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, 0, 180, 181, 182, 183, 407, 0, 435, 423, 424, 425, 422, 411, 0, 0, 403, - 404, 989, 0, 87, 88, 405, 89, 0, 412, 984, - 0, 417, 0, 0, 0, 90, 91, 184, 464, 465, - 92, 466, 467, 0, 93, 189, 190, 94, 432, 450, - 468, 469, 193, 0, 460, 0, 443, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, - 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, - 106, 471, 472, 503, 0, 107, 0, 0, 0, 463, - 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 0, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 0, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, - 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, - 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, - 0, 238, 155, 156, 49, 157, 158, 448, 159, 160, - 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 51, 167, 168, 0, 221, 480, 0, 0, - 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, - 174, 175, 449, 0, 176, 177, 178, 319, 481, 0, - 179, 0, 0, 0, 47, 180, 181, 182, 183, 407, - 48, 435, 423, 424, 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, 93, 189, 190, 94, 432, 450, @@ -1519,44 +1598,300 @@ var sqlAct = [...]int{ 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 0, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 0, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, + 111, 112, 473, 113, 0, 0, 0, 0, 322, 0, + 114, 461, 0, 202, 0, 115, 116, 457, 459, 0, + 0, 117, 0, 323, 118, 474, 475, 476, 0, 442, + 0, 324, 119, 325, 120, 121, 0, 0, 462, 326, + 122, 327, 0, 123, 0, 0, 124, 0, 125, 126, + 127, 128, 129, 328, 130, 131, 0, 132, 406, 133, + 431, 458, 134, 477, 135, 136, 0, 0, 0, 0, + 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, + 453, 141, 215, 0, 142, 143, 144, 478, 145, 146, + 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, + 420, 154, 0, 238, 155, 156, 0, 157, 158, 448, + 159, 160, 332, 161, 479, 162, 0, 163, 164, 166, + 219, 165, 454, 0, 0, 167, 168, 0, 221, 480, + 0, 0, 169, 455, 456, 429, 170, 171, 172, 173, + 0, 0, 174, 175, 449, 0, 176, 177, 178, 225, + 481, 0, 179, 0, 0, 0, 0, 180, 181, 182, + 183, 407, 0, 435, 423, 424, 425, 422, 411, 0, + 0, 403, 404, 0, 0, 87, 88, 405, 89, 0, + 412, 1384, 0, 417, 0, 0, 0, 90, 91, 184, + 464, 465, 92, 466, 467, 0, 93, 189, 190, 94, + 432, 450, 468, 469, 193, 0, 460, 0, 443, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 444, 446, 0, 445, 447, 102, 103, 104, + 105, 470, 106, 471, 472, 0, 0, 107, 0, 0, + 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, + 430, 0, 111, 112, 473, 113, 0, 0, 0, 0, + 322, 0, 114, 461, 0, 202, 0, 115, 116, 457, + 459, 0, 0, 117, 0, 323, 118, 474, 475, 476, + 0, 442, 0, 324, 119, 325, 120, 121, 0, 0, + 462, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, + 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 420, 154, 0, 238, 155, 156, 0, 157, + 158, 448, 159, 160, 332, 161, 479, 162, 0, 163, + 164, 166, 219, 165, 454, 0, 0, 167, 168, 0, + 221, 480, 0, 0, 169, 455, 456, 429, 170, 171, + 172, 173, 0, 0, 174, 175, 449, 0, 176, 177, + 178, 225, 481, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 407, 0, 435, 423, 424, 425, 422, + 411, 0, 0, 403, 404, 0, 0, 87, 88, 405, + 89, 0, 412, 1327, 0, 417, 0, 0, 0, 90, + 91, 184, 464, 465, 92, 466, 467, 0, 93, 189, + 190, 94, 432, 450, 468, 469, 193, 0, 460, 0, + 443, 0, 95, 96, 97, 0, 98, 0, 99, 0, + 321, 100, 101, 0, 444, 446, 0, 445, 447, 102, + 103, 104, 105, 470, 106, 471, 472, 0, 0, 107, + 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, + 110, 451, 430, 0, 111, 112, 473, 113, 0, 0, + 0, 0, 322, 0, 114, 461, 0, 202, 0, 115, + 116, 457, 459, 0, 0, 117, 0, 323, 118, 474, + 475, 476, 0, 442, 0, 324, 119, 325, 120, 121, + 0, 0, 462, 326, 122, 327, 0, 123, 0, 0, + 124, 0, 125, 126, 127, 128, 129, 328, 130, 131, + 0, 132, 406, 133, 431, 458, 134, 477, 135, 136, + 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, + 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, + 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, + 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, + 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, + 0, 163, 164, 166, 219, 165, 454, 0, 0, 167, + 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, + 170, 171, 172, 173, 0, 0, 174, 175, 449, 0, + 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, + 0, 180, 181, 182, 183, 407, 0, 435, 423, 424, + 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, + 88, 405, 89, 0, 412, 985, 0, 417, 0, 0, + 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, + 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, + 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, + 99, 0, 321, 100, 101, 0, 444, 446, 0, 445, + 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, + 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, + 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, + 0, 0, 0, 0, 322, 0, 114, 461, 0, 202, + 0, 115, 116, 457, 459, 0, 0, 117, 0, 323, + 118, 474, 475, 476, 0, 442, 0, 324, 119, 325, + 120, 121, 0, 0, 462, 326, 122, 327, 0, 123, + 0, 0, 124, 0, 125, 126, 127, 128, 129, 328, + 130, 131, 0, 132, 406, 133, 431, 458, 134, 477, + 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, + 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, + 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, + 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, + 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, + 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, + 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, + 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, + 449, 0, 176, 177, 178, 225, 481, 0, 179, 0, + 0, 0, 0, 180, 181, 182, 183, 407, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 403, 404, 0, + 0, 0, 0, 405, 746, 981, 412, 435, 423, 424, + 425, 422, 411, 0, 0, 0, 0, 0, 0, 87, + 88, 0, 89, 0, 0, 0, 0, 417, 0, 0, + 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, + 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, + 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, + 99, 0, 321, 100, 101, 0, 444, 446, 0, 445, + 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, + 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, + 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, + 0, 0, 0, 0, 322, 0, 114, 461, 0, 202, + 0, 115, 116, 457, 459, 0, 0, 117, 0, 323, + 118, 474, 475, 476, 0, 442, 0, 324, 119, 325, + 120, 121, 0, 0, 462, 326, 122, 327, 0, 123, + 0, 0, 124, 0, 125, 126, 127, 128, 129, 328, + 130, 131, 0, 132, 406, 133, 431, 458, 134, 477, + 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, + 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, + 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, + 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, + 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, + 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, + 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, + 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, + 449, 0, 176, 177, 178, 225, 481, 1333, 179, 0, + 0, 0, 0, 180, 181, 182, 183, 407, 0, 435, + 423, 424, 425, 422, 411, 0, 0, 403, 404, 0, + 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, + 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, + 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, + 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, + 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, + 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, + 472, 504, 0, 107, 0, 0, 0, 463, 109, 0, + 0, 0, 0, 416, 110, 451, 430, 0, 111, 112, + 473, 113, 0, 0, 0, 0, 322, 0, 114, 461, + 0, 202, 0, 115, 116, 457, 459, 0, 0, 117, + 0, 323, 118, 474, 475, 476, 0, 442, 0, 324, + 119, 325, 120, 121, 0, 0, 462, 326, 122, 327, + 0, 123, 0, 0, 124, 0, 125, 126, 127, 128, + 129, 328, 130, 131, 0, 132, 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, - 0, 238, 155, 156, 49, 157, 158, 448, 159, 160, + 0, 238, 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 51, 167, 168, 0, 221, 480, 0, 0, + 454, 0, 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, - 174, 175, 449, 0, 176, 177, 178, 319, 481, 0, - 179, 0, 0, 0, 47, 180, 181, 182, 183, 407, - 48, 435, 423, 424, 425, 422, 411, 0, 0, 403, + 174, 175, 449, 0, 176, 177, 178, 225, 481, 0, + 179, 0, 0, 0, 0, 180, 181, 182, 183, 407, + 0, 435, 423, 424, 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, 0, 90, 91, 184, 464, 465, - 92, 466, 467, 1032, 93, 189, 190, 94, 432, 450, + 92, 466, 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 1037, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 1033, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, + 111, 112, 473, 113, 0, 0, 0, 0, 322, 0, + 114, 461, 0, 202, 0, 115, 116, 457, 459, 0, + 0, 117, 0, 323, 118, 474, 475, 476, 0, 442, + 0, 324, 119, 325, 120, 121, 0, 0, 462, 326, + 122, 327, 0, 123, 0, 0, 124, 0, 125, 126, + 127, 128, 129, 328, 130, 131, 0, 132, 406, 133, + 431, 458, 134, 477, 135, 136, 0, 0, 0, 0, + 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, + 453, 141, 215, 0, 142, 143, 144, 478, 145, 146, + 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, + 420, 154, 0, 238, 155, 156, 0, 157, 158, 448, + 159, 160, 332, 161, 479, 162, 0, 163, 164, 166, + 219, 165, 454, 0, 0, 167, 168, 0, 221, 480, + 0, 0, 169, 455, 456, 429, 170, 171, 172, 173, + 0, 0, 174, 175, 449, 0, 176, 177, 178, 225, + 481, 0, 179, 0, 0, 0, 0, 180, 181, 182, + 183, 407, 0, 435, 423, 424, 425, 422, 411, 0, + 0, 403, 404, 401, 0, 87, 88, 405, 89, 0, + 412, 0, 0, 417, 0, 0, 0, 90, 91, 184, + 464, 465, 92, 466, 467, 0, 93, 189, 190, 94, + 432, 450, 468, 469, 193, 0, 460, 0, 443, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 444, 446, 0, 445, 447, 102, 103, 104, + 105, 470, 106, 471, 472, 0, 0, 107, 0, 0, + 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, + 430, 0, 111, 112, 473, 113, 0, 0, 0, 1039, + 322, 0, 114, 461, 0, 202, 0, 115, 116, 457, + 459, 0, 0, 117, 0, 323, 118, 474, 475, 476, + 0, 442, 0, 324, 119, 325, 120, 121, 0, 0, + 462, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, + 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 420, 154, 0, 238, 155, 156, 0, 157, + 158, 448, 159, 160, 332, 161, 479, 162, 0, 163, + 164, 166, 219, 165, 454, 0, 0, 167, 168, 0, + 221, 480, 0, 0, 169, 455, 456, 429, 170, 171, + 172, 173, 0, 0, 174, 175, 449, 0, 176, 177, + 178, 225, 481, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 407, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 403, 404, 0, 0, 0, 0, 405, + 0, 0, 412, 435, 423, 424, 425, 422, 411, 0, + 0, 0, 0, 0, 0, 87, 88, 687, 89, 0, + 0, 0, 0, 417, 0, 0, 0, 90, 91, 184, + 464, 465, 92, 466, 467, 0, 93, 189, 190, 94, + 432, 450, 468, 469, 193, 0, 460, 0, 443, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 444, 446, 0, 445, 447, 102, 103, 104, + 105, 470, 106, 471, 472, 0, 0, 107, 0, 0, + 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, + 430, 0, 111, 112, 473, 113, 0, 0, 0, 0, + 322, 0, 114, 461, 0, 202, 0, 115, 116, 457, + 459, 0, 0, 117, 0, 323, 118, 474, 475, 476, + 0, 442, 0, 324, 119, 325, 120, 121, 0, 0, + 462, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, + 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 420, 154, 0, 238, 155, 156, 0, 157, + 158, 448, 159, 160, 332, 161, 479, 162, 0, 163, + 164, 166, 219, 165, 454, 0, 0, 167, 168, 0, + 221, 480, 0, 0, 169, 455, 456, 429, 170, 171, + 172, 173, 0, 0, 174, 175, 449, 0, 176, 177, + 178, 225, 481, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 407, 0, 435, 423, 424, 425, 422, + 411, 0, 0, 403, 404, 0, 0, 87, 88, 405, + 89, 0, 412, 0, 0, 417, 0, 0, 0, 90, + 91, 184, 464, 465, 92, 466, 467, 0, 93, 189, + 190, 94, 432, 450, 468, 469, 193, 0, 460, 0, + 443, 0, 95, 96, 97, 0, 98, 0, 99, 0, + 321, 100, 1649, 0, 444, 446, 0, 445, 447, 102, + 103, 104, 105, 470, 106, 471, 472, 0, 0, 107, + 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, + 110, 451, 430, 0, 111, 112, 473, 113, 0, 0, + 0, 0, 322, 0, 114, 461, 0, 202, 0, 115, + 116, 457, 459, 0, 0, 117, 0, 323, 118, 474, + 475, 476, 0, 442, 0, 324, 119, 325, 120, 121, + 0, 0, 462, 326, 122, 327, 0, 123, 0, 0, + 124, 0, 125, 126, 127, 128, 129, 328, 130, 131, + 0, 132, 406, 133, 431, 458, 134, 477, 135, 136, + 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, + 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, + 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, + 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, + 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, + 0, 163, 164, 166, 219, 165, 454, 0, 0, 167, + 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, + 170, 171, 1648, 173, 0, 0, 174, 175, 449, 0, + 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, + 0, 180, 181, 182, 183, 407, 0, 435, 423, 424, + 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, + 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, + 0, 90, 91, 1647, 464, 465, 92, 466, 467, 0, + 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, + 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, + 99, 0, 321, 100, 1649, 0, 444, 446, 0, 445, + 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, + 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, + 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, + 0, 0, 0, 0, 322, 0, 114, 461, 0, 202, + 0, 115, 116, 457, 459, 0, 0, 117, 0, 323, + 118, 474, 475, 476, 0, 442, 0, 324, 119, 325, + 120, 121, 0, 0, 462, 326, 122, 327, 0, 123, + 0, 0, 124, 0, 125, 126, 127, 128, 129, 328, + 130, 131, 0, 132, 406, 133, 431, 458, 134, 477, + 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, + 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, + 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, + 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, + 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, + 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, + 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, + 456, 429, 170, 171, 1648, 173, 0, 0, 174, 175, + 449, 0, 176, 177, 178, 225, 481, 0, 179, 0, + 0, 0, 0, 180, 181, 182, 183, 407, 0, 435, + 423, 424, 425, 422, 411, 0, 0, 403, 404, 0, + 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, + 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, + 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, + 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, + 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, + 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, + 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, + 0, 0, 0, 416, 110, 451, 430, 0, 111, 112, + 473, 113, 0, 0, 0, 0, 322, 0, 114, 461, + 0, 202, 0, 115, 116, 457, 459, 0, 0, 117, + 0, 323, 118, 474, 475, 476, 0, 442, 0, 324, + 119, 325, 120, 121, 0, 0, 462, 326, 122, 327, + 0, 123, 0, 0, 124, 0, 125, 126, 127, 128, + 129, 328, 130, 131, 0, 132, 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 0, 167, 168, 0, 221, 480, 0, 1034, + 454, 0, 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, 449, 0, 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, 0, 180, 181, 182, 183, 407, @@ -1569,365 +1904,62 @@ var sqlAct = [...]int{ 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 0, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 0, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, - 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, - 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, - 0, 238, 155, 156, 0, 157, 158, 448, 159, 160, - 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 0, 167, 168, 0, 221, 480, 0, 0, - 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, - 174, 175, 449, 0, 176, 177, 178, 225, 481, 0, - 179, 0, 0, 0, 0, 180, 181, 182, 183, 407, - 0, 435, 423, 424, 425, 422, 411, 0, 0, 403, - 404, 0, 0, 87, 88, 405, 89, 0, 412, 1373, - 0, 417, 0, 0, 0, 90, 91, 184, 464, 465, - 92, 466, 467, 0, 93, 189, 190, 94, 432, 450, - 468, 469, 193, 0, 460, 0, 443, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, - 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, - 106, 471, 472, 0, 0, 107, 0, 0, 0, 463, - 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 0, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 0, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, - 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, - 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, - 0, 238, 155, 156, 0, 157, 158, 448, 159, 160, - 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 0, 167, 168, 0, 221, 480, 0, 0, - 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, - 174, 175, 449, 0, 176, 177, 178, 225, 481, 0, - 179, 0, 0, 0, 0, 180, 181, 182, 183, 407, - 0, 435, 423, 424, 425, 422, 411, 0, 0, 403, - 404, 0, 0, 87, 88, 405, 89, 0, 412, 1316, - 0, 417, 0, 0, 0, 90, 91, 184, 464, 465, + 111, 112, 473, 113, 0, 0, 0, 0, 322, 0, + 114, 461, 0, 202, 0, 115, 116, 457, 459, 0, + 0, 117, 0, 323, 118, 474, 475, 476, 0, 442, + 0, 324, 119, 325, 120, 121, 0, 0, 462, 326, + 122, 327, 0, 123, 0, 0, 124, 0, 125, 126, + 127, 128, 129, 328, 130, 131, 0, 132, 0, 133, + 431, 458, 134, 477, 135, 136, 0, 0, 0, 0, + 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, + 453, 141, 215, 0, 142, 143, 144, 478, 145, 146, + 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, + 1029, 154, 0, 238, 155, 156, 0, 157, 158, 448, + 159, 160, 332, 161, 479, 162, 0, 163, 164, 166, + 219, 165, 454, 0, 0, 167, 168, 0, 221, 480, + 0, 0, 169, 455, 456, 429, 170, 171, 172, 173, + 0, 0, 174, 175, 449, 0, 176, 177, 178, 225, + 481, 0, 179, 0, 0, 0, 0, 180, 181, 182, + 183, 435, 423, 424, 425, 422, 411, 0, 0, 0, + 0, 1025, 1026, 87, 88, 0, 89, 1027, 0, 0, + 1028, 417, 0, 0, 0, 90, 91, 0, 464, 465, 92, 466, 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, 460, 0, 443, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, + 97, 0, 98, 0, 99, 0, 321, 100, 1649, 0, 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 0, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 0, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, - 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, - 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, - 0, 238, 155, 156, 0, 157, 158, 448, 159, 160, - 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 0, 167, 168, 0, 221, 480, 0, 0, - 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, - 174, 175, 449, 0, 176, 177, 178, 225, 481, 0, - 179, 0, 0, 0, 0, 180, 181, 182, 183, 407, - 0, 435, 423, 424, 425, 422, 411, 0, 0, 403, - 404, 0, 0, 87, 88, 405, 89, 0, 412, 983, - 0, 417, 0, 0, 0, 90, 91, 184, 464, 465, - 92, 466, 467, 0, 93, 189, 190, 94, 432, 450, - 468, 469, 193, 0, 460, 0, 443, 0, 95, 96, + 111, 112, 473, 113, 0, 0, 0, 0, 322, 0, + 114, 461, 0, 202, 0, 115, 116, 457, 459, 0, + 0, 117, 0, 323, 118, 474, 475, 476, 0, 442, + 0, 0, 119, 325, 120, 121, 0, 0, 462, 326, + 122, 0, 0, 123, 0, 0, 124, 0, 125, 126, + 127, 128, 129, 328, 130, 131, 0, 132, 406, 133, + 431, 458, 134, 477, 135, 136, 0, 0, 0, 0, + 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, + 453, 141, 215, 0, 142, 143, 144, 478, 145, 146, + 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, + 420, 154, 0, 238, 155, 156, 0, 157, 158, 448, + 159, 160, 0, 161, 479, 162, 0, 163, 164, 166, + 219, 165, 454, 0, 0, 167, 168, 0, 221, 480, + 0, 0, 169, 455, 456, 429, 170, 171, 1648, 173, + 0, 0, 174, 175, 449, 0, 176, 177, 178, 225, + 481, 0, 179, 0, 0, 0, 0, 180, 181, 182, + 183, 435, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 403, 404, 87, 88, 0, 89, 405, 0, 0, + 412, 0, 0, 0, 0, 90, 91, 184, 185, 186, + 92, 187, 188, 0, 93, 189, 190, 94, 0, 450, + 191, 192, 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, - 444, 446, 0, 445, 447, 102, 103, 104, 105, 470, - 106, 471, 472, 0, 0, 107, 0, 0, 0, 463, - 109, 0, 0, 0, 0, 416, 110, 451, 430, 0, - 111, 112, 473, 113, 0, 0, 0, 322, 0, 114, - 461, 0, 202, 0, 115, 116, 457, 459, 0, 0, - 117, 0, 323, 118, 474, 475, 476, 0, 442, 0, - 324, 119, 325, 120, 121, 0, 0, 462, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 406, 133, 431, 458, - 134, 477, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, - 215, 0, 142, 143, 144, 478, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 331, 152, 153, 420, 154, - 0, 238, 155, 156, 0, 157, 158, 448, 159, 160, - 332, 161, 479, 162, 0, 163, 164, 166, 219, 165, - 454, 0, 0, 167, 168, 0, 221, 480, 0, 0, - 169, 455, 456, 429, 170, 171, 172, 173, 0, 0, - 174, 175, 449, 0, 176, 177, 178, 225, 481, 0, - 179, 0, 0, 0, 0, 180, 181, 182, 183, 407, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, - 404, 0, 0, 0, 0, 405, 745, 979, 412, 435, - 423, 424, 425, 422, 411, 0, 0, 0, 0, 0, - 0, 87, 88, 0, 89, 0, 0, 0, 0, 417, - 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, - 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, - 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, - 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, - 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, - 0, 0, 0, 416, 110, 451, 430, 0, 111, 112, - 473, 113, 0, 0, 0, 322, 0, 114, 461, 0, - 202, 0, 115, 116, 457, 459, 0, 0, 117, 0, - 323, 118, 474, 475, 476, 0, 442, 0, 324, 119, - 325, 120, 121, 0, 0, 462, 326, 122, 327, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 328, 130, 131, 132, 406, 133, 431, 458, 134, 477, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, - 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, - 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, - 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, - 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, - 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, - 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, - 449, 0, 176, 177, 178, 225, 481, 1322, 179, 0, - 0, 0, 0, 180, 181, 182, 183, 407, 0, 435, - 423, 424, 425, 422, 411, 0, 0, 403, 404, 0, - 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, - 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, - 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, - 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, - 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, - 472, 503, 0, 107, 0, 0, 0, 463, 109, 0, - 0, 0, 0, 416, 110, 451, 430, 0, 111, 112, - 473, 113, 0, 0, 0, 322, 0, 114, 461, 0, - 202, 0, 115, 116, 457, 459, 0, 0, 117, 0, - 323, 118, 474, 475, 476, 0, 442, 0, 324, 119, - 325, 120, 121, 0, 0, 462, 326, 122, 327, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 328, 130, 131, 132, 406, 133, 431, 458, 134, 477, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, - 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, - 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, - 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, - 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, - 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, - 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, - 449, 0, 176, 177, 178, 225, 481, 0, 179, 0, - 0, 0, 0, 180, 181, 182, 183, 407, 0, 435, - 423, 424, 425, 422, 411, 0, 0, 403, 404, 0, - 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, - 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, - 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, - 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, - 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, - 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, - 0, 0, 0, 416, 110, 451, 430, 0, 111, 112, - 473, 113, 0, 0, 0, 322, 0, 114, 461, 0, - 202, 0, 115, 116, 457, 459, 0, 0, 117, 0, - 323, 118, 474, 475, 476, 0, 442, 0, 324, 119, - 325, 120, 121, 0, 0, 462, 326, 122, 327, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 328, 130, 131, 132, 406, 133, 431, 458, 134, 477, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, - 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, - 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, - 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, - 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, - 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, - 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, - 449, 0, 176, 177, 178, 225, 481, 0, 179, 0, - 0, 0, 0, 180, 181, 182, 183, 407, 0, 435, - 423, 424, 425, 422, 411, 0, 0, 403, 404, 401, - 0, 87, 88, 405, 89, 0, 412, 0, 0, 417, - 0, 0, 0, 90, 91, 184, 464, 465, 92, 466, - 467, 0, 93, 189, 190, 94, 432, 450, 468, 469, - 193, 0, 460, 0, 443, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 321, 100, 101, 0, 444, 446, - 0, 445, 447, 102, 103, 104, 105, 470, 106, 471, - 472, 0, 0, 107, 0, 0, 0, 463, 109, 0, - 0, 0, 0, 416, 110, 451, 430, 0, 111, 112, - 473, 113, 0, 0, 1037, 322, 0, 114, 461, 0, - 202, 0, 115, 116, 457, 459, 0, 0, 117, 0, - 323, 118, 474, 475, 476, 0, 442, 0, 324, 119, - 325, 120, 121, 0, 0, 462, 326, 122, 327, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 328, 130, 131, 132, 406, 133, 431, 458, 134, 477, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, - 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, - 142, 143, 144, 478, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 331, 152, 153, 420, 154, 0, 238, - 155, 156, 0, 157, 158, 448, 159, 160, 332, 161, - 479, 162, 0, 163, 164, 166, 219, 165, 454, 0, - 0, 167, 168, 0, 221, 480, 0, 0, 169, 455, - 456, 429, 170, 171, 172, 173, 0, 0, 174, 175, - 449, 0, 176, 177, 178, 225, 481, 0, 179, 0, - 0, 0, 0, 180, 181, 182, 183, 407, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 403, 404, 0, - 0, 0, 0, 405, 0, 0, 412, 435, 423, 424, - 425, 422, 411, 0, 0, 0, 0, 0, 0, 87, - 88, 686, 89, 0, 0, 0, 0, 417, 0, 0, - 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, - 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, - 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 321, 100, 101, 0, 444, 446, 0, 445, - 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, - 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, - 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, - 0, 0, 0, 322, 0, 114, 461, 0, 202, 0, - 115, 116, 457, 459, 0, 0, 117, 0, 323, 118, - 474, 475, 476, 0, 442, 0, 324, 119, 325, 120, - 121, 0, 0, 462, 326, 122, 327, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 328, 130, - 131, 132, 406, 133, 431, 458, 134, 477, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, - 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, - 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, - 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, - 0, 163, 164, 166, 219, 165, 454, 0, 0, 167, - 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, - 170, 171, 172, 173, 0, 0, 174, 175, 449, 0, - 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, - 0, 180, 181, 182, 183, 407, 0, 435, 423, 424, - 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, - 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, - 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, - 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, - 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 321, 100, 1636, 0, 444, 446, 0, 445, - 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, - 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, - 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, - 0, 0, 0, 322, 0, 114, 461, 0, 202, 0, - 115, 116, 457, 459, 0, 0, 117, 0, 323, 118, - 474, 475, 476, 0, 442, 0, 324, 119, 325, 120, - 121, 0, 0, 462, 326, 122, 327, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 328, 130, - 131, 132, 406, 133, 431, 458, 134, 477, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, - 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, - 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, - 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, - 0, 163, 164, 166, 219, 165, 454, 0, 0, 167, - 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, - 170, 171, 1635, 173, 0, 0, 174, 175, 449, 0, - 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, - 0, 180, 181, 182, 183, 407, 0, 435, 423, 424, - 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, - 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, - 0, 90, 91, 1634, 464, 465, 92, 466, 467, 0, - 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, - 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 321, 100, 1636, 0, 444, 446, 0, 445, - 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, - 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, - 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, - 0, 0, 0, 322, 0, 114, 461, 0, 202, 0, - 115, 116, 457, 459, 0, 0, 117, 0, 323, 118, - 474, 475, 476, 0, 442, 0, 324, 119, 325, 120, - 121, 0, 0, 462, 326, 122, 327, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 328, 130, - 131, 132, 406, 133, 431, 458, 134, 477, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, - 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, - 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, - 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, - 0, 163, 164, 166, 219, 165, 454, 0, 0, 167, - 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, - 170, 171, 1635, 173, 0, 0, 174, 175, 449, 0, - 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, - 0, 180, 181, 182, 183, 407, 0, 435, 423, 424, - 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, - 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, - 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, - 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, - 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 321, 100, 101, 0, 444, 446, 0, 445, - 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, - 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, - 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, - 0, 0, 0, 322, 0, 114, 461, 0, 202, 0, - 115, 116, 457, 459, 0, 0, 117, 0, 323, 118, - 474, 475, 476, 0, 442, 0, 324, 119, 325, 120, - 121, 0, 0, 462, 326, 122, 327, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 328, 130, - 131, 132, 406, 133, 431, 458, 134, 477, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, - 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, - 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 331, 152, 153, 420, 154, 0, 238, 155, 156, - 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, - 0, 163, 164, 166, 219, 165, 454, 0, 0, 167, - 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, - 170, 171, 172, 173, 0, 0, 174, 175, 449, 0, - 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, - 0, 180, 181, 182, 183, 407, 0, 435, 423, 424, - 425, 422, 411, 0, 0, 403, 404, 0, 0, 87, - 88, 405, 89, 0, 412, 0, 0, 417, 0, 0, - 0, 90, 91, 184, 464, 465, 92, 466, 467, 0, - 93, 189, 190, 94, 432, 450, 468, 469, 193, 0, - 460, 0, 443, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 321, 100, 101, 0, 444, 446, 0, 445, - 447, 102, 103, 104, 105, 470, 106, 471, 472, 0, - 0, 107, 0, 0, 0, 463, 109, 0, 0, 0, - 0, 416, 110, 451, 430, 0, 111, 112, 473, 113, - 0, 0, 0, 322, 0, 114, 461, 0, 202, 0, - 115, 116, 457, 459, 0, 0, 117, 0, 323, 118, - 474, 475, 476, 0, 442, 0, 324, 119, 325, 120, - 121, 0, 0, 462, 326, 122, 327, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 328, 130, - 131, 132, 0, 133, 431, 458, 134, 477, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, - 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, - 144, 478, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 331, 152, 153, 1027, 154, 0, 238, 155, 156, - 0, 157, 158, 448, 159, 160, 332, 161, 479, 162, - 0, 163, 164, 166, 219, 165, 454, 0, 0, 167, - 168, 0, 221, 480, 0, 0, 169, 455, 456, 429, - 170, 171, 172, 173, 0, 0, 174, 175, 449, 0, - 176, 177, 178, 225, 481, 0, 179, 0, 0, 0, - 0, 180, 181, 182, 183, 435, 423, 424, 425, 422, - 411, 0, 0, 0, 0, 1023, 1024, 87, 88, 0, - 89, 1025, 0, 0, 1026, 417, 0, 0, 0, 90, - 91, 0, 464, 465, 92, 466, 467, 0, 93, 189, - 190, 94, 432, 450, 468, 469, 193, 0, 460, 0, - 443, 0, 95, 96, 97, 0, 98, 0, 99, 0, - 321, 100, 1636, 0, 444, 446, 0, 445, 447, 102, - 103, 104, 105, 470, 106, 471, 472, 0, 0, 107, - 0, 0, 0, 463, 109, 0, 0, 0, 0, 416, - 110, 451, 430, 0, 111, 112, 473, 113, 0, 0, - 0, 322, 0, 114, 461, 0, 202, 0, 115, 116, - 457, 459, 0, 0, 117, 0, 323, 118, 474, 475, - 476, 0, 442, 0, 0, 119, 325, 120, 121, 0, - 0, 462, 326, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 129, 328, 130, 131, 132, - 406, 133, 431, 458, 134, 477, 135, 136, 0, 0, - 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, - 140, 0, 453, 141, 215, 0, 142, 143, 144, 478, - 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, - 152, 153, 420, 154, 0, 238, 155, 156, 0, 157, - 158, 448, 159, 160, 0, 161, 479, 162, 0, 163, - 164, 166, 219, 165, 454, 0, 0, 167, 168, 0, - 221, 480, 0, 0, 169, 455, 456, 429, 170, 171, - 1635, 173, 0, 0, 174, 175, 449, 0, 176, 177, - 178, 225, 481, 0, 179, 0, 0, 0, 0, 180, - 181, 182, 183, 435, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 403, 404, 87, 88, 0, 89, 405, - 0, 0, 412, 0, 0, 0, 0, 90, 91, 184, - 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, - 0, 450, 191, 192, 193, 0, 460, 0, 443, 0, - 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, - 101, 0, 444, 446, 0, 445, 447, 102, 103, 104, - 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, - 0, 108, 109, 0, 0, 0, 0, 198, 110, 451, - 0, 0, 111, 112, 200, 113, 0, 0, 0, 322, - 0, 114, 461, 0, 202, 0, 115, 116, 457, 459, - 0, 0, 117, 0, 323, 118, 205, 206, 207, 0, - 208, 0, 324, 119, 325, 120, 121, 0, 0, 462, - 326, 122, 327, 0, 123, 0, 0, 124, 0, 125, - 126, 127, 128, 129, 328, 130, 131, 132, 0, 133, + 444, 446, 0, 445, 447, 102, 103, 104, 105, 195, + 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, + 109, 0, 0, 0, 0, 198, 110, 451, 0, 0, + 111, 112, 200, 113, 0, 0, 0, 0, 322, 0, + 114, 461, 0, 202, 0, 115, 116, 457, 459, 0, + 0, 117, 0, 323, 118, 205, 206, 207, 0, 208, + 0, 324, 119, 325, 120, 121, 0, 0, 462, 326, + 122, 327, 0, 123, 0, 0, 124, 0, 125, 126, + 127, 128, 129, 328, 130, 131, 0, 132, 0, 133, 0, 458, 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, 452, 139, 140, 0, 453, 141, 215, 0, 142, 143, 144, 216, 145, 146, @@ -1940,130 +1972,697 @@ var sqlAct = [...]int{ 226, 0, 179, 0, 0, 0, 0, 180, 181, 182, 183, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, 0, 0, - 1431, 0, 0, 0, 0, 90, 91, 184, 185, 186, + 1444, 0, 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, 320, 0, 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 322, 0, 114, - 201, 0, 202, 0, 115, 116, 203, 204, 0, 0, - 117, 0, 323, 118, 205, 206, 207, 0, 208, 0, - 324, 119, 325, 120, 121, 0, 0, 209, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 329, 138, 330, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 331, 152, 153, 217, 154, - 0, 238, 155, 156, 49, 157, 158, 0, 159, 160, - 332, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 51, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 0, - 174, 175, 0, 0, 176, 177, 178, 319, 226, 0, - 179, 0, 0, 0, 47, 180, 181, 182, 183, 0, - 48, 315, 558, 562, 0, 563, 553, 0, 0, 0, - 0, 0, 0, 87, 88, 0, 89, 0, 46, 0, - 0, 0, 0, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 320, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 321, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, - 106, 196, 197, 566, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 555, 0, - 111, 112, 200, 113, 0, 0, 0, 322, 0, 114, - 201, 0, 202, 0, 115, 116, 203, 204, 0, 0, - 117, 0, 323, 118, 205, 206, 207, 0, 208, 0, - 324, 119, 325, 120, 121, 0, 0, 209, 326, 122, - 327, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 328, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 556, 0, 0, 0, 137, - 212, 329, 138, 330, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 331, 152, 153, 217, 154, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 332, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 554, 170, 171, 172, 173, 0, 0, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, - 179, 0, 0, 0, 0, 180, 181, 182, 183, 315, - 558, 562, 0, 563, 553, 0, 0, 0, 0, 564, - 559, 87, 88, 0, 89, 0, 0, 0, 0, 0, - 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, - 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, - 193, 0, 194, 0, 320, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 321, 100, 101, 0, 0, 0, - 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, - 197, 549, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 198, 110, 199, 555, 0, 111, 112, - 200, 113, 0, 0, 0, 322, 0, 114, 201, 0, - 202, 0, 115, 116, 203, 204, 0, 0, 117, 0, - 323, 118, 205, 206, 207, 0, 208, 0, 324, 119, - 325, 120, 121, 0, 0, 209, 326, 122, 327, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 328, 130, 131, 132, 0, 133, 0, 210, 134, 211, - 135, 136, 0, 556, 0, 0, 0, 137, 212, 329, - 138, 330, 213, 139, 140, 0, 214, 141, 215, 0, - 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 331, 152, 153, 217, 154, 0, 238, - 155, 156, 0, 157, 158, 0, 159, 160, 332, 161, - 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, - 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, - 224, 554, 170, 171, 172, 173, 0, 0, 174, 175, - 0, 0, 176, 177, 178, 225, 226, 0, 179, 0, - 0, 0, 0, 180, 181, 182, 183, 315, 558, 562, - 0, 563, 553, 0, 0, 0, 0, 564, 559, 87, - 88, 0, 89, 0, 0, 0, 0, 0, 0, 0, - 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, - 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, - 194, 0, 320, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 321, 100, 101, 0, 0, 0, 0, 0, - 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 198, 110, 199, 555, 0, 111, 112, 200, 113, - 0, 0, 0, 322, 0, 114, 201, 0, 202, 0, - 115, 116, 203, 204, 0, 0, 117, 0, 323, 118, - 205, 206, 207, 0, 208, 0, 324, 119, 325, 120, - 121, 0, 0, 209, 326, 122, 327, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 328, 130, - 131, 132, 0, 133, 0, 210, 134, 211, 135, 136, - 0, 556, 0, 0, 0, 137, 212, 329, 138, 330, - 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, - 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 331, 152, 153, 217, 154, 0, 238, 155, 156, - 0, 157, 158, 0, 159, 160, 332, 161, 218, 162, - 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, - 168, 0, 221, 222, 0, 0, 169, 223, 224, 554, - 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, - 176, 177, 178, 225, 226, 84, 179, 0, 0, 0, - 0, 180, 181, 182, 183, 0, 0, 87, 88, 0, - 89, 0, 0, 0, 0, 564, 559, 0, 0, 90, - 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, - 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, - 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, - 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, - 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, - 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, - 0, 0, 0, 114, 201, 0, 202, 0, 115, 116, - 203, 204, 0, 0, 117, 0, 0, 118, 205, 206, - 207, 0, 208, 0, 0, 119, 0, 120, 121, 0, - 0, 209, 0, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 129, 0, 130, 131, 132, - 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, - 290, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 111, 112, 200, 113, 0, 0, 0, 0, 322, 0, + 114, 201, 0, 202, 0, 115, 116, 203, 204, 0, + 0, 117, 0, 323, 118, 205, 206, 207, 0, 208, + 0, 324, 119, 325, 120, 121, 0, 0, 209, 326, + 122, 327, 0, 123, 0, 0, 124, 0, 125, 126, + 127, 128, 129, 328, 130, 131, 0, 132, 0, 133, + 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, + 0, 137, 212, 329, 138, 330, 213, 139, 140, 0, + 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, + 0, 148, 149, 147, 150, 0, 151, 331, 152, 153, + 217, 154, 0, 238, 155, 156, 49, 157, 158, 0, + 159, 160, 332, 161, 218, 162, 0, 163, 164, 166, + 219, 165, 220, 0, 51, 167, 168, 0, 221, 222, + 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, + 0, 0, 174, 175, 0, 0, 176, 177, 178, 319, + 226, 0, 179, 0, 0, 0, 47, 180, 181, 182, + 183, 0, 48, 315, 559, 563, 0, 564, 554, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 46, 0, 0, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 320, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 567, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 556, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 322, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 323, 118, 205, 206, 207, + 0, 208, 0, 324, 119, 325, 120, 121, 0, 0, + 209, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 557, + 0, 0, 0, 137, 212, 329, 138, 330, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 332, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 555, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 315, 559, 563, 0, 564, 554, 0, + 0, 0, 0, 565, 560, 87, 88, 0, 89, 0, + 0, 0, 0, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 320, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 550, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 556, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 322, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 323, 118, 205, 206, 207, + 0, 208, 0, 324, 119, 325, 120, 121, 0, 0, + 209, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 557, + 0, 0, 0, 137, 212, 329, 138, 330, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 332, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 555, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 315, 559, 563, 0, 564, 554, 0, + 0, 0, 0, 565, 560, 87, 88, 0, 89, 0, + 0, 0, 0, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 320, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 556, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 322, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 323, 118, 205, 206, 207, + 0, 208, 0, 324, 119, 325, 120, 121, 0, 0, + 209, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 557, + 0, 0, 0, 137, 212, 329, 138, 330, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 332, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 555, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 84, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 0, 565, 560, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 290, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 49, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 51, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 319, 226, 0, 179, 0, 0, 0, 47, 180, + 181, 182, 183, 84, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 895, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 49, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 51, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 319, 226, 0, 179, 0, 0, 0, 47, 180, + 181, 182, 183, 84, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 46, 0, 1138, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 0, 392, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 290, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 895, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 832, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 1351, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 84, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 492, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 535, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 534, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 538, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 315, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 538, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 320, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 321, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 322, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 323, 118, 205, 206, 207, + 0, 208, 0, 324, 119, 325, 120, 121, 0, 0, + 209, 326, 122, 327, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 328, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 329, 138, 330, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 331, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 332, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 807, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 805, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 810, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 873, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 809, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 874, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 84, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 0, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 807, 194, 0, 0, 802, + 95, 96, 97, 0, 98, 805, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 810, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 801, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 809, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 808, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 84, 179, 0, 0, 0, 0, 180, + 181, 182, 183, 0, 0, 87, 88, 0, 89, 0, + 0, 0, 0, 0, 1138, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 290, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 296, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 290, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 1079, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 1077, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 1068, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 679, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 82, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 521, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 0, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 377, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 374, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, - 152, 153, 217, 154, 0, 238, 155, 156, 49, 157, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, - 164, 166, 219, 165, 220, 0, 51, 167, 168, 0, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, - 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, - 178, 319, 226, 0, 179, 0, 0, 0, 47, 180, - 181, 182, 183, 84, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, - 0, 0, 893, 0, 0, 0, 0, 90, 91, 184, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 338, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 235, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 234, 222, 0, 0, 230, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, @@ -2071,110 +2670,11 @@ var sqlAct = [...]int{ 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, - 0, 114, 201, 0, 202, 0, 115, 116, 203, 204, - 0, 0, 117, 0, 0, 118, 205, 206, 207, 0, - 208, 0, 0, 119, 0, 120, 121, 0, 0, 209, - 0, 122, 0, 0, 123, 0, 0, 124, 0, 125, - 126, 127, 128, 129, 0, 130, 131, 132, 0, 133, - 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, - 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, - 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, - 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, - 217, 154, 0, 238, 155, 156, 49, 157, 158, 0, - 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, - 219, 165, 220, 0, 51, 167, 168, 0, 221, 222, - 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, - 0, 0, 174, 175, 0, 0, 176, 177, 178, 319, - 226, 0, 179, 0, 0, 0, 47, 180, 181, 182, - 183, 84, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 87, 88, 0, 89, 0, 0, 0, - 46, 0, 1130, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, - 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 0, 0, 114, - 201, 0, 202, 0, 115, 116, 203, 204, 0, 0, - 117, 0, 0, 118, 205, 206, 207, 0, 208, 0, - 0, 119, 0, 120, 121, 0, 0, 209, 0, 122, - 0, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 0, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 0, 152, 153, 217, 154, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 0, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, - 179, 0, 0, 0, 0, 180, 181, 182, 183, 84, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 87, 88, 0, 89, 0, 0, 0, 0, 392, - 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, - 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, - 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 0, 100, 101, 0, 0, 0, - 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, - 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, - 200, 113, 0, 0, 0, 0, 0, 114, 201, 0, - 202, 0, 115, 116, 203, 204, 0, 0, 117, 0, - 0, 118, 205, 206, 207, 0, 208, 0, 0, 119, - 0, 120, 121, 0, 0, 209, 0, 122, 0, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 0, 130, 131, 132, 0, 133, 0, 210, 134, 211, - 135, 136, 0, 0, 290, 0, 0, 137, 212, 0, - 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, - 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 0, 152, 153, 217, 154, 0, 238, - 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, - 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, - 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, - 224, 0, 170, 171, 172, 173, 0, 0, 174, 175, - 0, 0, 176, 177, 178, 225, 226, 0, 179, 0, - 0, 0, 0, 180, 181, 182, 183, 84, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 88, 0, 89, 0, 0, 0, 893, 0, 0, 0, - 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, - 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, - 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 0, 100, 101, 0, 0, 0, 0, 0, - 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, - 0, 0, 0, 0, 0, 114, 201, 0, 202, 0, - 115, 116, 203, 204, 0, 0, 117, 0, 0, 118, - 205, 206, 207, 0, 208, 0, 0, 119, 0, 120, - 121, 0, 0, 209, 0, 122, 0, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 0, 130, - 131, 132, 0, 133, 0, 210, 134, 211, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, - 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, - 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 0, 152, 153, 217, 154, 0, 238, 155, 156, - 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, - 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, - 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, - 170, 171, 172, 173, 0, 0, 174, 175, 0, 0, - 176, 177, 178, 225, 226, 0, 179, 0, 0, 0, - 0, 180, 181, 182, 183, 84, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 88, 0, - 89, 0, 0, 0, 830, 0, 0, 0, 0, 90, - 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, - 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, - 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, - 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, - 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, - 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, - 0, 0, 0, 114, 201, 0, 202, 0, 115, 116, - 203, 204, 0, 0, 117, 0, 0, 118, 205, 206, - 207, 0, 208, 0, 0, 119, 0, 120, 121, 0, - 0, 209, 0, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 129, 0, 130, 131, 132, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 235, 0, 130, 131, 0, 132, 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, @@ -2182,12 +2682,10 @@ var sqlAct = [...]int{ 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, - 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, - 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, - 178, 225, 226, 0, 179, 0, 0, 0, 0, 180, - 181, 182, 183, 84, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 88, 0, 89, 0, - 0, 0, 1340, 0, 0, 0, 0, 90, 91, 184, + 234, 222, 0, 0, 230, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, @@ -2195,220 +2693,34 @@ var sqlAct = [...]int{ 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, - 0, 114, 201, 0, 202, 0, 115, 116, 203, 204, - 0, 0, 117, 0, 0, 118, 205, 206, 207, 0, - 208, 0, 0, 119, 0, 120, 121, 0, 0, 209, - 0, 122, 0, 0, 123, 0, 0, 124, 0, 125, - 126, 127, 128, 129, 0, 130, 131, 132, 0, 133, - 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, - 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, - 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, - 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, - 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, - 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, - 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, - 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, - 0, 0, 174, 175, 0, 0, 176, 177, 178, 225, - 226, 0, 179, 0, 0, 0, 0, 180, 181, 182, - 183, 84, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 87, 88, 0, 89, 0, 0, 0, - 492, 0, 0, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 534, 105, 195, - 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 0, 0, 114, - 201, 0, 202, 0, 115, 116, 203, 204, 0, 0, - 117, 0, 0, 118, 205, 206, 207, 0, 208, 0, - 0, 119, 0, 120, 121, 0, 0, 209, 0, 122, - 0, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 0, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 0, 152, 153, 217, 154, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 533, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 84, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, - 179, 87, 88, 0, 89, 180, 181, 182, 183, 0, - 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, - 188, 537, 93, 189, 190, 94, 0, 0, 191, 192, - 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 0, 100, 101, 0, 0, 0, - 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, - 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, - 200, 113, 0, 0, 0, 0, 0, 114, 201, 0, - 202, 0, 115, 116, 203, 204, 0, 0, 117, 0, - 0, 118, 205, 206, 207, 0, 208, 0, 0, 119, - 0, 120, 121, 0, 0, 209, 0, 122, 0, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 0, 130, 131, 132, 0, 133, 0, 210, 134, 211, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, - 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, - 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 0, 152, 153, 217, 154, 0, 238, - 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, - 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, - 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, - 224, 0, 170, 171, 172, 173, 0, 315, 174, 175, - 0, 0, 176, 177, 178, 225, 226, 0, 179, 87, - 88, 0, 89, 180, 181, 182, 183, 0, 0, 0, - 0, 90, 91, 184, 185, 186, 92, 187, 188, 537, - 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, - 194, 0, 320, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 321, 100, 101, 0, 0, 0, 0, 0, - 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, - 0, 0, 0, 322, 0, 114, 201, 0, 202, 0, - 115, 116, 203, 204, 0, 0, 117, 0, 323, 118, - 205, 206, 207, 0, 208, 0, 324, 119, 325, 120, - 121, 0, 0, 209, 326, 122, 327, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 328, 130, - 131, 132, 0, 133, 0, 210, 134, 211, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 329, 138, 330, - 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, - 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 331, 152, 153, 217, 154, 0, 238, 155, 156, - 0, 157, 158, 0, 159, 160, 332, 161, 218, 162, - 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, - 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, - 170, 171, 172, 173, 0, 84, 174, 175, 0, 0, - 176, 177, 178, 225, 226, 0, 179, 87, 88, 0, - 89, 180, 181, 182, 183, 0, 0, 0, 0, 90, - 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, - 190, 94, 0, 0, 191, 192, 193, 805, 194, 0, - 0, 0, 95, 96, 97, 0, 98, 803, 99, 0, - 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, - 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, - 110, 199, 0, 0, 111, 112, 200, 113, 0, 808, - 0, 0, 0, 114, 201, 0, 202, 0, 115, 116, - 203, 204, 0, 871, 117, 0, 0, 118, 205, 206, - 207, 0, 208, 0, 0, 119, 0, 120, 121, 0, - 0, 209, 0, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 129, 0, 130, 131, 132, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 310, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, - 140, 0, 214, 141, 215, 807, 142, 143, 144, 216, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, - 172, 173, 0, 872, 174, 175, 0, 0, 176, 177, - 178, 225, 226, 84, 179, 0, 0, 0, 0, 180, - 181, 182, 183, 0, 0, 87, 88, 0, 89, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 91, 184, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, - 0, 0, 191, 192, 193, 805, 194, 0, 0, 800, - 95, 96, 97, 0, 98, 803, 99, 0, 0, 100, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, - 0, 0, 111, 112, 200, 113, 0, 808, 0, 0, - 0, 114, 201, 0, 202, 0, 115, 116, 799, 204, - 0, 0, 117, 0, 0, 118, 205, 206, 207, 0, - 208, 0, 0, 119, 0, 120, 121, 0, 0, 209, - 0, 122, 0, 0, 123, 0, 0, 124, 0, 125, - 126, 127, 128, 129, 0, 130, 131, 132, 0, 133, - 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, - 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, - 214, 141, 215, 807, 142, 143, 144, 216, 145, 146, - 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, - 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, - 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, - 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, - 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, - 0, 806, 174, 175, 0, 0, 176, 177, 178, 225, - 226, 84, 179, 0, 0, 0, 0, 180, 181, 182, - 183, 0, 0, 87, 88, 0, 89, 0, 0, 0, - 0, 0, 1130, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, - 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 0, 0, 114, - 201, 0, 202, 0, 115, 116, 203, 204, 0, 0, - 117, 0, 0, 118, 205, 206, 207, 0, 208, 0, - 0, 119, 0, 120, 121, 0, 0, 209, 0, 122, - 0, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 0, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 0, 152, 153, 217, 154, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 84, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, - 179, 87, 88, 0, 89, 180, 181, 182, 183, 0, - 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, - 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, - 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 0, 100, 101, 0, 0, 0, - 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, - 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, - 200, 113, 0, 0, 0, 0, 0, 114, 201, 0, - 202, 0, 115, 116, 203, 204, 0, 0, 117, 0, - 0, 118, 205, 206, 207, 0, 208, 0, 0, 119, - 0, 120, 121, 0, 0, 209, 0, 122, 0, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 0, 130, 131, 132, 0, 133, 0, 210, 134, 211, - 135, 136, 0, 0, 290, 0, 0, 137, 212, 0, - 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, - 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 0, 152, 153, 217, 154, 0, 238, - 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, - 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, - 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, - 224, 0, 170, 171, 172, 173, 0, 84, 174, 175, - 0, 0, 176, 177, 178, 225, 226, 0, 179, 87, - 88, 0, 89, 180, 181, 182, 183, 0, 0, 0, - 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, - 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, - 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 0, 100, 101, 0, 0, 0, 0, 0, - 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, - 0, 0, 0, 0, 0, 114, 201, 0, 202, 0, - 115, 116, 296, 204, 0, 0, 117, 0, 0, 118, - 205, 206, 207, 0, 208, 0, 0, 119, 0, 120, - 121, 0, 0, 209, 0, 122, 0, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 0, 130, - 131, 132, 0, 133, 0, 210, 134, 211, 135, 136, - 0, 0, 290, 0, 0, 137, 212, 0, 138, 0, - 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, - 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 0, 152, 153, 217, 154, 0, 238, 155, 156, - 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, - 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, - 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, - 170, 171, 172, 173, 0, 84, 174, 175, 0, 0, - 176, 177, 178, 225, 226, 0, 179, 87, 88, 0, - 89, 180, 181, 182, 183, 0, 0, 0, 0, 90, - 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, - 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, - 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, - 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, - 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, - 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, - 0, 0, 0, 114, 201, 0, 202, 0, 115, 116, - 203, 204, 0, 0, 117, 0, 0, 118, 205, 206, - 207, 0, 208, 0, 0, 119, 0, 120, 121, 0, - 0, 209, 0, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 129, 0, 130, 131, 132, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 307, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, @@ -2427,113 +2739,22 @@ var sqlAct = [...]int{ 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, - 0, 114, 201, 0, 202, 0, 115, 116, 1071, 204, - 0, 0, 117, 0, 0, 118, 205, 206, 207, 0, - 208, 0, 0, 119, 0, 120, 121, 0, 0, 209, - 0, 122, 0, 0, 123, 0, 0, 124, 0, 125, - 126, 127, 128, 129, 0, 130, 131, 132, 0, 133, - 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, - 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, - 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, - 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, - 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, - 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, - 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, - 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, - 0, 84, 174, 175, 0, 0, 176, 177, 178, 225, - 226, 0, 179, 87, 88, 0, 89, 180, 181, 182, - 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, - 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 0, 0, 114, - 201, 0, 202, 0, 115, 116, 1069, 204, 0, 0, - 117, 0, 0, 118, 205, 206, 207, 0, 208, 0, - 0, 119, 0, 120, 121, 0, 0, 209, 0, 122, - 0, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 0, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 0, 152, 153, 217, 154, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 84, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, - 179, 87, 88, 0, 89, 180, 181, 182, 183, 0, - 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, - 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, - 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 0, 100, 101, 0, 0, 0, - 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, - 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, - 200, 113, 0, 0, 0, 0, 0, 114, 201, 0, - 202, 0, 115, 116, 1060, 204, 0, 0, 117, 0, - 0, 118, 205, 206, 207, 0, 208, 0, 0, 119, - 0, 120, 121, 0, 0, 209, 0, 122, 0, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 0, 130, 131, 132, 0, 133, 0, 210, 134, 211, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, - 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, - 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 0, 152, 153, 217, 154, 0, 238, - 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, - 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, - 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, - 224, 0, 170, 171, 172, 173, 0, 84, 174, 175, - 0, 0, 176, 177, 178, 225, 226, 0, 179, 87, - 88, 0, 89, 180, 181, 182, 183, 0, 0, 0, - 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, - 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, - 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 0, 100, 101, 0, 0, 0, 0, 0, - 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, - 0, 0, 0, 0, 0, 114, 201, 0, 202, 0, - 115, 116, 678, 204, 0, 0, 117, 0, 0, 118, - 205, 206, 207, 0, 208, 0, 0, 119, 0, 120, - 121, 0, 0, 209, 0, 122, 0, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 0, 130, - 131, 132, 0, 133, 0, 210, 134, 211, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, - 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, - 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 0, 152, 153, 217, 154, 0, 238, 155, 156, - 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, - 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, - 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, - 170, 171, 172, 173, 0, 84, 174, 175, 0, 0, - 176, 177, 178, 225, 226, 0, 179, 87, 88, 0, - 89, 180, 181, 182, 183, 0, 0, 0, 0, 90, - 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, - 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, - 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, - 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, - 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, - 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, - 0, 0, 0, 114, 201, 0, 202, 0, 115, 116, - 203, 204, 0, 0, 117, 0, 0, 118, 205, 206, - 207, 0, 208, 0, 0, 119, 0, 120, 121, 0, - 0, 209, 0, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 129, 0, 130, 131, 132, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 305, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, - 152, 153, 217, 154, 0, 82, 155, 156, 0, 157, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, - 181, 182, 183, 0, 520, 0, 0, 90, 91, 184, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, @@ -2541,102 +2762,11 @@ var sqlAct = [...]int{ 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, - 0, 114, 201, 0, 202, 0, 115, 116, 203, 204, - 0, 0, 117, 0, 0, 118, 205, 206, 207, 0, - 208, 0, 0, 119, 0, 120, 121, 0, 0, 209, - 0, 122, 0, 0, 123, 0, 0, 124, 0, 125, - 126, 127, 128, 129, 0, 130, 131, 132, 0, 133, - 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, - 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, - 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, - 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, - 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, - 0, 160, 0, 161, 218, 162, 0, 163, 164, 166, - 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, - 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, - 0, 84, 174, 175, 0, 0, 176, 177, 178, 225, - 226, 0, 179, 87, 88, 0, 89, 180, 181, 182, - 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, - 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 0, 0, 114, - 201, 0, 202, 0, 115, 116, 377, 204, 0, 0, - 117, 0, 0, 118, 205, 206, 207, 0, 208, 0, - 0, 119, 0, 120, 121, 0, 0, 209, 0, 122, - 0, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 0, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 0, 152, 153, 217, 154, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 84, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, - 179, 87, 88, 0, 89, 180, 181, 182, 183, 0, - 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, - 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, - 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 0, 100, 101, 0, 0, 0, - 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, - 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, - 200, 113, 0, 0, 0, 0, 0, 114, 201, 0, - 202, 0, 115, 116, 374, 204, 0, 0, 117, 0, - 0, 118, 205, 206, 207, 0, 208, 0, 0, 119, - 0, 120, 121, 0, 0, 209, 0, 122, 0, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 0, 130, 131, 132, 0, 133, 0, 210, 134, 211, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, - 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, - 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 0, 152, 153, 217, 154, 0, 238, - 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, - 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, - 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, - 224, 0, 170, 171, 172, 173, 0, 84, 174, 175, - 0, 0, 176, 177, 178, 225, 226, 0, 179, 87, - 88, 0, 89, 180, 181, 182, 183, 0, 0, 0, - 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, - 93, 189, 190, 94, 0, 0, 191, 192, 338, 0, - 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 0, 100, 101, 0, 0, 0, 0, 0, - 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, - 0, 0, 0, 0, 0, 114, 201, 0, 202, 0, - 115, 116, 203, 204, 0, 0, 117, 0, 0, 118, - 205, 206, 207, 0, 208, 0, 0, 119, 0, 120, - 121, 0, 0, 209, 0, 122, 0, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 235, 0, 130, - 131, 132, 0, 133, 0, 210, 134, 211, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, - 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, - 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 0, 152, 153, 217, 154, 0, 238, 155, 156, - 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, - 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, - 168, 0, 234, 222, 0, 0, 230, 223, 224, 0, - 170, 171, 172, 173, 0, 84, 174, 175, 0, 0, - 176, 177, 178, 225, 226, 0, 179, 87, 88, 0, - 89, 180, 181, 182, 183, 0, 0, 0, 0, 90, - 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, - 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, - 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, - 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, - 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, - 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, - 0, 0, 0, 114, 201, 0, 202, 0, 115, 116, - 203, 204, 0, 0, 117, 0, 0, 118, 205, 206, - 207, 0, 208, 0, 0, 119, 0, 120, 121, 0, - 0, 209, 0, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 235, 0, 130, 131, 132, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 299, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, @@ -2644,7 +2774,7 @@ var sqlAct = [...]int{ 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, - 234, 222, 0, 0, 230, 223, 224, 0, 170, 171, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, @@ -2655,102 +2785,11 @@ var sqlAct = [...]int{ 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, - 0, 114, 201, 0, 202, 0, 115, 116, 310, 204, - 0, 0, 117, 0, 0, 118, 205, 206, 207, 0, - 208, 0, 0, 119, 0, 120, 121, 0, 0, 209, - 0, 122, 0, 0, 123, 0, 0, 124, 0, 125, - 126, 127, 128, 129, 0, 130, 131, 132, 0, 133, - 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, - 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, - 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, - 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, - 217, 154, 0, 238, 155, 156, 0, 157, 158, 0, - 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, - 219, 165, 220, 0, 0, 167, 168, 0, 221, 222, - 0, 0, 169, 223, 224, 0, 170, 171, 172, 173, - 0, 84, 174, 175, 0, 0, 176, 177, 178, 225, - 226, 0, 179, 87, 88, 0, 89, 180, 181, 182, - 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, - 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 0, 0, 114, - 201, 0, 202, 0, 115, 116, 307, 204, 0, 0, - 117, 0, 0, 118, 205, 206, 207, 0, 208, 0, - 0, 119, 0, 120, 121, 0, 0, 209, 0, 122, - 0, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 0, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, - 215, 0, 142, 143, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 0, 152, 153, 217, 154, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 84, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 0, - 179, 87, 88, 0, 89, 180, 181, 182, 183, 0, - 0, 0, 0, 90, 91, 184, 185, 186, 92, 187, - 188, 0, 93, 189, 190, 94, 0, 0, 191, 192, - 193, 0, 194, 0, 0, 0, 95, 96, 97, 0, - 98, 0, 99, 0, 0, 100, 101, 0, 0, 0, - 0, 0, 0, 102, 103, 104, 105, 195, 106, 196, - 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, - 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, - 200, 113, 0, 0, 0, 0, 0, 114, 201, 0, - 202, 0, 115, 116, 305, 204, 0, 0, 117, 0, - 0, 118, 205, 206, 207, 0, 208, 0, 0, 119, - 0, 120, 121, 0, 0, 209, 0, 122, 0, 0, - 123, 0, 0, 124, 0, 125, 126, 127, 128, 129, - 0, 130, 131, 132, 0, 133, 0, 210, 134, 211, - 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, - 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, - 142, 143, 144, 216, 145, 146, 0, 148, 149, 147, - 150, 0, 151, 0, 152, 153, 217, 154, 0, 238, - 155, 156, 0, 157, 158, 0, 159, 160, 0, 161, - 218, 162, 0, 163, 164, 166, 219, 165, 220, 0, - 0, 167, 168, 0, 221, 222, 0, 0, 169, 223, - 224, 0, 170, 171, 172, 173, 0, 84, 174, 175, - 0, 0, 176, 177, 178, 225, 226, 0, 179, 87, - 88, 0, 89, 180, 181, 182, 183, 0, 0, 0, - 0, 90, 91, 184, 185, 186, 92, 187, 188, 0, - 93, 189, 190, 94, 0, 0, 191, 192, 193, 0, - 194, 0, 0, 0, 95, 96, 97, 0, 98, 0, - 99, 0, 0, 100, 101, 0, 0, 0, 0, 0, - 0, 102, 103, 104, 105, 195, 106, 196, 197, 0, - 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, - 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, - 0, 0, 0, 0, 0, 114, 201, 0, 202, 0, - 115, 116, 299, 204, 0, 0, 117, 0, 0, 118, - 205, 206, 207, 0, 208, 0, 0, 119, 0, 120, - 121, 0, 0, 209, 0, 122, 0, 0, 123, 0, - 0, 124, 0, 125, 126, 127, 128, 129, 0, 130, - 131, 132, 0, 133, 0, 210, 134, 211, 135, 136, - 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, - 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, - 144, 216, 145, 146, 0, 148, 149, 147, 150, 0, - 151, 0, 152, 153, 217, 154, 0, 238, 155, 156, - 0, 157, 158, 0, 159, 160, 0, 161, 218, 162, - 0, 163, 164, 166, 219, 165, 220, 0, 0, 167, - 168, 0, 221, 222, 0, 0, 169, 223, 224, 0, - 170, 171, 172, 173, 0, 84, 174, 175, 0, 0, - 176, 177, 178, 225, 226, 0, 179, 87, 88, 0, - 89, 180, 181, 182, 183, 0, 0, 0, 0, 90, - 91, 184, 185, 186, 92, 187, 188, 0, 93, 189, - 190, 94, 0, 0, 191, 192, 193, 0, 194, 0, - 0, 0, 95, 96, 97, 0, 98, 0, 99, 0, - 0, 100, 101, 0, 0, 0, 0, 0, 0, 102, - 103, 104, 105, 195, 106, 196, 197, 0, 0, 107, - 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, - 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, - 0, 0, 0, 114, 201, 0, 202, 0, 115, 116, - 203, 204, 0, 0, 117, 0, 0, 118, 205, 206, - 207, 0, 208, 0, 0, 119, 0, 120, 121, 0, - 0, 209, 0, 122, 0, 0, 123, 0, 0, 124, - 0, 125, 126, 127, 128, 129, 0, 130, 131, 132, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, @@ -2769,303 +2808,302 @@ var sqlAct = [...]int{ 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, - 0, 114, 201, 0, 202, 0, 115, 116, 203, 204, - 0, 0, 117, 0, 0, 118, 205, 206, 207, 0, - 208, 0, 0, 119, 0, 120, 121, 0, 0, 209, - 0, 122, 0, 0, 228, 0, 0, 124, 0, 125, - 126, 127, 128, 235, 0, 130, 131, 132, 0, 133, - 0, 210, 134, 211, 135, 136, 0, 0, 0, 0, - 0, 137, 212, 0, 138, 0, 213, 139, 140, 0, - 214, 141, 215, 0, 142, 143, 144, 216, 145, 146, - 0, 148, 149, 147, 150, 0, 151, 0, 152, 153, - 217, 154, 0, 238, 155, 156, 0, 157, 229, 0, - 159, 160, 0, 161, 218, 162, 0, 163, 164, 166, - 219, 165, 220, 0, 0, 167, 168, 0, 234, 222, - 0, 0, 230, 223, 224, 0, 170, 171, 172, 173, - 0, 84, 174, 175, 0, 0, 176, 177, 178, 225, - 226, 0, 179, 87, 88, 0, 89, 180, 181, 182, - 183, 0, 0, 0, 0, 90, 91, 184, 185, 186, - 92, 187, 188, 0, 93, 189, 190, 94, 0, 0, - 191, 192, 193, 0, 194, 0, 0, 0, 95, 96, - 97, 0, 98, 0, 99, 0, 0, 100, 101, 0, - 0, 0, 0, 0, 0, 102, 103, 104, 105, 195, - 106, 196, 197, 0, 0, 107, 0, 0, 0, 108, - 109, 0, 0, 0, 0, 198, 110, 199, 0, 0, - 111, 112, 200, 113, 0, 0, 0, 0, 0, 114, - 201, 0, 202, 0, 115, 116, 203, 204, 0, 0, - 117, 0, 0, 118, 205, 206, 207, 0, 208, 0, - 0, 119, 0, 120, 121, 0, 0, 209, 0, 122, - 0, 0, 123, 0, 0, 124, 0, 125, 126, 127, - 128, 129, 0, 130, 131, 132, 0, 133, 0, 210, - 134, 211, 135, 136, 0, 0, 0, 0, 0, 137, - 212, 0, 138, 0, 213, 139, 0, 0, 214, 141, - 215, 0, 142, 0, 144, 216, 145, 146, 0, 148, - 149, 147, 150, 0, 151, 0, 152, 153, 217, 0, - 0, 238, 155, 156, 0, 157, 158, 0, 159, 160, - 0, 161, 218, 162, 0, 163, 164, 166, 219, 165, - 220, 0, 0, 167, 168, 0, 221, 222, 0, 0, - 169, 223, 224, 0, 170, 171, 172, 173, 0, 0, - 174, 175, 0, 0, 176, 177, 178, 225, 226, 702, - 179, 720, 721, 722, 0, 180, 181, 182, 183, 0, - 0, 723, 0, 0, 0, 0, 0, 704, 702, 729, - 720, 721, 722, 0, 0, 0, 0, 0, 0, 0, - 723, 0, 0, 0, 0, 0, 704, 703, 729, 0, - 0, 0, 0, 717, 0, 0, 0, 702, 0, 720, - 721, 722, 0, 0, 0, 0, 703, 0, 0, 723, - 0, 0, 717, 0, 0, 704, 0, 729, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, - 0, 717, 0, 0, 0, 0, 0, 0, 0, 0, - 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 728, 0, 0, 0, 0, 0, 0, 730, - 0, 0, 725, 0, 0, 0, 0, 0, 718, 0, - 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 725, 0, 0, 0, 0, 0, 718, 730, 724, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 228, 0, 0, 124, 0, + 125, 126, 127, 128, 235, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 140, 0, 214, 141, 215, 0, 142, 143, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 154, 0, 238, 155, 156, 0, 157, + 229, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 234, 222, 0, 0, 230, 223, 224, 0, 170, 171, + 172, 173, 0, 84, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 0, 179, 87, 88, 0, 89, 180, + 181, 182, 183, 0, 0, 0, 0, 90, 91, 184, + 185, 186, 92, 187, 188, 0, 93, 189, 190, 94, + 0, 0, 191, 192, 193, 0, 194, 0, 0, 0, + 95, 96, 97, 0, 98, 0, 99, 0, 0, 100, + 101, 0, 0, 0, 0, 0, 0, 102, 103, 104, + 105, 195, 106, 196, 197, 0, 0, 107, 0, 0, + 0, 108, 109, 0, 0, 0, 0, 198, 110, 199, + 0, 0, 111, 112, 200, 113, 0, 0, 0, 0, + 0, 0, 114, 201, 0, 202, 0, 115, 116, 203, + 204, 0, 0, 117, 0, 0, 118, 205, 206, 207, + 0, 208, 0, 0, 119, 0, 120, 121, 0, 0, + 209, 0, 122, 0, 0, 123, 0, 0, 124, 0, + 125, 126, 127, 128, 129, 0, 130, 131, 0, 132, + 0, 133, 0, 210, 134, 211, 135, 136, 0, 0, + 0, 0, 0, 137, 212, 0, 138, 0, 213, 139, + 0, 0, 214, 141, 215, 0, 142, 0, 144, 216, + 145, 146, 0, 148, 149, 147, 150, 0, 151, 0, + 152, 153, 217, 0, 0, 238, 155, 156, 0, 157, + 158, 0, 159, 160, 0, 161, 218, 162, 0, 163, + 164, 166, 219, 165, 220, 0, 0, 167, 168, 0, + 221, 222, 0, 0, 169, 223, 224, 0, 170, 171, + 172, 173, 0, 0, 174, 175, 0, 0, 176, 177, + 178, 225, 226, 703, 179, 721, 722, 723, 0, 180, + 181, 182, 183, 0, 0, 724, 0, 0, 0, 0, + 0, 705, 703, 730, 721, 722, 723, 0, 0, 0, + 0, 0, 0, 0, 724, 0, 0, 0, 0, 0, + 705, 704, 730, 0, 0, 0, 0, 718, 0, 703, + 0, 721, 722, 723, 0, 0, 0, 0, 0, 0, + 704, 724, 0, 0, 0, 0, 718, 705, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 728, 0, 0, 0, 0, 0, 0, 0, 724, 0, - 725, 0, 0, 0, 0, 0, 718, 0, 0, 0, - 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 727, 0, 0, 0, 0, 724, 0, 0, - 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 727, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 704, 0, 0, + 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 731, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, + 0, 0, 0, 0, 731, 0, 0, 726, 0, 0, + 0, 0, 0, 719, 0, 0, 729, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, + 0, 731, 719, 0, 0, 725, 0, 0, 0, 0, + 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 726, 725, 0, 0, 0, 0, 719, + 0, 0, 0, 0, 0, 0, 0, 0, 720, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, + 0, 725, 0, 0, 0, 0, 0, 720, 703, 0, + 721, 722, 723, 0, 0, 0, 0, 728, 0, 0, + 724, 0, 0, 0, 0, 0, 705, 0, 730, 0, + 0, 0, 0, 0, 720, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 728, 0, 704, 727, 0, 715, + 716, 717, 718, 714, 711, 712, 713, 706, 707, 708, + 709, 710, 0, 0, 0, 0, 727, 1606, 715, 716, + 717, 0, 714, 711, 712, 713, 706, 707, 708, 709, + 710, 0, 0, 0, 0, 1203, 1605, 1219, 1220, 1221, + 0, 0, 0, 727, 0, 715, 716, 717, 0, 714, + 711, 712, 713, 706, 707, 708, 709, 710, 0, 0, + 731, 0, 0, 1590, 0, 703, 0, 721, 722, 723, + 0, 0, 729, 0, 0, 0, 0, 724, 0, 1216, + 0, 0, 726, 705, 0, 730, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 727, 726, 0, 714, 715, 716, 0, 713, 710, 711, - 712, 705, 706, 707, 708, 709, 0, 0, 0, 0, - 726, 1577, 714, 715, 716, 0, 713, 710, 711, 712, - 705, 706, 707, 708, 709, 1195, 0, 1211, 1212, 1213, - 1556, 0, 0, 0, 0, 0, 0, 1457, 0, 726, - 0, 714, 715, 716, 0, 713, 710, 711, 712, 705, - 706, 707, 708, 709, 702, 0, 720, 721, 722, 1551, - 0, 0, 0, 0, 0, 0, 723, 0, 0, 1208, - 0, 0, 704, 702, 729, 720, 721, 722, 0, 0, - 0, 0, 0, 0, 0, 723, 0, 0, 0, 0, - 0, 704, 703, 729, 0, 0, 0, 0, 717, 0, - 0, 0, 702, 0, 720, 721, 722, 0, 0, 0, - 0, 703, 0, 0, 723, 0, 0, 717, 0, 0, - 704, 0, 729, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, - 703, 0, 0, 0, 0, 0, 717, 0, 0, 0, - 0, 0, 0, 0, 1209, 730, 0, 0, 0, 0, + 0, 0, 0, 704, 0, 0, 0, 0, 0, 718, + 725, 0, 0, 0, 0, 0, 0, 0, 0, 703, + 0, 721, 722, 723, 0, 0, 0, 0, 0, 0, + 0, 724, 0, 0, 0, 0, 0, 705, 0, 730, + 0, 0, 703, 720, 721, 722, 723, 0, 0, 1222, + 0, 0, 0, 728, 724, 0, 0, 704, 0, 0, + 705, 0, 730, 718, 0, 1217, 0, 731, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, + 704, 0, 0, 0, 0, 0, 718, 0, 0, 726, + 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, + 0, 0, 727, 0, 715, 716, 717, 0, 714, 711, + 712, 713, 706, 707, 708, 709, 710, 725, 0, 0, + 1218, 731, 1569, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 726, 731, 0, 0, 0, 0, 719, + 720, 1203, 0, 1219, 1220, 1221, 729, 0, 0, 0, + 728, 0, 0, 0, 0, 0, 726, 0, 0, 0, + 0, 725, 719, 0, 0, 0, 0, 0, 0, 0, + 0, 1213, 1214, 1215, 0, 1212, 1209, 1210, 1211, 1204, + 1205, 1206, 1207, 1208, 725, 1216, 0, 0, 0, 0, + 0, 0, 0, 0, 720, 0, 0, 0, 0, 727, + 0, 715, 716, 717, 728, 714, 711, 712, 713, 706, + 707, 708, 709, 710, 0, 0, 0, 720, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, - 0, 0, 0, 0, 730, 0, 0, 725, 0, 0, - 0, 0, 0, 718, 0, 0, 728, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, - 0, 0, 718, 730, 724, 0, 0, 0, 1210, 0, - 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, - 0, 0, 0, 724, 0, 725, 0, 0, 0, 0, - 0, 718, 0, 0, 0, 0, 0, 719, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 727, 0, 0, - 0, 0, 724, 0, 0, 0, 719, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 727, 0, 0, 1205, - 1206, 1207, 0, 1204, 1201, 1202, 1203, 1196, 1197, 1198, - 1199, 1200, 0, 0, 0, 719, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 727, 726, 0, 714, 715, - 716, 0, 713, 710, 711, 712, 705, 706, 707, 708, - 709, 0, 0, 0, 0, 726, 1547, 714, 715, 716, - 0, 713, 710, 711, 712, 705, 706, 707, 708, 709, - 1195, 0, 1211, 1212, 1213, 1489, 0, 0, 0, 0, - 0, 0, 1313, 0, 726, 0, 714, 715, 716, 0, - 713, 710, 711, 712, 705, 706, 707, 708, 709, 702, - 0, 720, 721, 722, 1488, 0, 0, 0, 0, 0, - 0, 723, 0, 0, 1208, 0, 0, 704, 702, 729, - 720, 721, 722, 0, 0, 0, 0, 0, 0, 0, - 723, 0, 0, 0, 0, 0, 704, 703, 729, 0, - 0, 0, 0, 717, 0, 0, 0, 702, 0, 720, - 721, 722, 0, 0, 0, 0, 703, 0, 0, 723, - 0, 0, 717, 0, 0, 704, 0, 729, 0, 0, + 703, 0, 721, 722, 723, 0, 0, 0, 0, 0, + 0, 0, 724, 0, 0, 0, 0, 0, 705, 0, + 730, 0, 0, 727, 0, 715, 716, 717, 0, 714, + 711, 712, 713, 706, 707, 708, 709, 710, 704, 0, + 0, 1217, 0, 1560, 718, 0, 727, 0, 715, 716, + 717, 0, 714, 711, 712, 713, 706, 707, 708, 709, + 710, 0, 0, 0, 0, 0, 1502, 0, 0, 0, + 0, 0, 0, 0, 703, 0, 721, 722, 723, 0, + 0, 0, 0, 0, 0, 0, 724, 0, 0, 0, + 0, 0, 705, 0, 730, 0, 1218, 703, 0, 721, + 722, 723, 731, 0, 0, 0, 0, 0, 0, 724, + 0, 0, 704, 0, 729, 705, 0, 730, 718, 0, + 0, 0, 0, 0, 726, 0, 0, 0, 0, 0, + 719, 0, 0, 0, 0, 704, 0, 0, 0, 0, + 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 725, 0, 0, 0, 0, 1213, 1214, 1215, + 0, 1212, 1209, 1210, 1211, 1204, 1205, 1206, 1207, 1208, + 0, 703, 0, 721, 722, 723, 731, 0, 0, 0, + 0, 0, 0, 724, 0, 720, 0, 0, 729, 705, + 0, 730, 0, 0, 0, 728, 0, 0, 726, 731, + 0, 0, 0, 0, 719, 0, 0, 0, 0, 704, + 0, 729, 0, 0, 0, 718, 0, 0, 0, 0, + 0, 726, 0, 0, 0, 0, 725, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1214, 0, 703, 0, 0, 0, 0, - 0, 717, 0, 0, 0, 0, 0, 0, 0, 1209, - 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 728, 0, 0, 0, 0, 0, 0, 730, - 0, 0, 725, 0, 0, 0, 0, 0, 718, 0, - 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 725, 0, 0, 0, 0, 0, 718, 730, 724, - 0, 0, 0, 1210, 0, 0, 0, 0, 0, 0, - 728, 0, 0, 0, 0, 0, 0, 0, 724, 0, - 725, 0, 0, 0, 0, 0, 718, 0, 0, 0, - 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 727, 0, 0, 0, 0, 724, 0, 0, - 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 727, 0, 0, 1205, 1206, 1207, 0, 1204, 1201, - 1202, 1203, 1196, 1197, 1198, 1199, 1200, 0, 0, 0, - 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 727, 726, 0, 714, 715, 716, 0, 713, 710, 711, - 712, 705, 706, 707, 708, 709, 0, 0, 0, 0, - 726, 1405, 714, 715, 716, 0, 713, 710, 711, 712, - 705, 706, 707, 708, 709, 1195, 0, 1211, 1212, 1213, - 1343, 0, 0, 0, 0, 0, 0, 1312, 0, 726, - 0, 714, 715, 716, 0, 713, 710, 711, 712, 705, - 706, 707, 708, 709, 702, 0, 720, 721, 722, 1318, - 0, 0, 0, 0, 0, 0, 723, 0, 0, 1208, - 0, 0, 704, 702, 729, 720, 721, 722, 0, 0, - 0, 0, 0, 0, 0, 723, 0, 0, 0, 0, - 0, 704, 703, 729, 0, 0, 0, 0, 717, 0, - 0, 0, 702, 0, 720, 721, 722, 0, 0, 0, - 0, 703, 0, 0, 723, 0, 0, 717, 0, 0, - 704, 0, 729, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, - 703, 0, 0, 0, 0, 0, 717, 0, 0, 0, - 0, 0, 0, 0, 1209, 730, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, - 0, 0, 0, 0, 730, 0, 0, 725, 0, 0, - 0, 0, 0, 718, 0, 0, 728, 0, 1653, 0, + 0, 0, 0, 0, 727, 0, 715, 716, 717, 725, + 714, 711, 712, 713, 706, 707, 708, 709, 710, 720, + 0, 0, 0, 0, 1501, 0, 0, 0, 703, 728, + 721, 722, 723, 731, 0, 0, 0, 0, 0, 0, + 724, 0, 720, 0, 0, 729, 705, 0, 730, 0, + 0, 0, 728, 0, 0, 726, 0, 0, 0, 0, + 0, 719, 0, 0, 0, 0, 704, 0, 0, 0, + 0, 0, 718, 0, 0, 0, 0, 0, 727, 0, + 715, 716, 717, 725, 714, 711, 712, 713, 706, 707, + 708, 709, 710, 0, 0, 0, 0, 0, 1418, 0, + 0, 727, 0, 715, 716, 717, 0, 714, 711, 712, + 713, 706, 707, 708, 709, 710, 720, 0, 0, 0, + 0, 1354, 0, 0, 0, 703, 728, 721, 722, 723, + 731, 0, 0, 0, 0, 0, 0, 724, 0, 0, + 0, 0, 729, 705, 0, 730, 0, 0, 0, 0, + 0, 0, 726, 0, 0, 0, 0, 0, 719, 0, + 0, 0, 0, 704, 0, 0, 0, 0, 0, 718, + 0, 0, 0, 0, 0, 727, 0, 715, 716, 717, + 725, 714, 711, 712, 713, 706, 707, 708, 709, 710, + 0, 0, 0, 0, 0, 1329, 0, 0, 0, 0, + 0, 0, 0, 0, 703, 0, 721, 722, 723, 0, + 0, 0, 0, 720, 0, 0, 724, 0, 0, 0, + 0, 0, 705, 728, 730, 0, 0, 731, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, + 0, 0, 704, 0, 0, 0, 0, 0, 718, 726, + 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 727, 0, 715, 716, 717, 725, 714, 711, + 712, 713, 706, 707, 708, 709, 710, 0, 0, 0, + 1666, 0, 977, 0, 0, 0, 0, 0, 0, 0, + 0, 703, 0, 721, 722, 723, 731, 0, 0, 0, + 720, 0, 0, 724, 0, 0, 0, 0, 729, 705, + 728, 730, 0, 0, 0, 0, 0, 0, 726, 0, + 0, 0, 0, 0, 719, 0, 0, 0, 0, 704, + 0, 0, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, - 0, 0, 718, 730, 724, 0, 0, 0, 1210, 0, - 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, - 0, 0, 0, 724, 0, 725, 0, 0, 0, 0, - 0, 718, 0, 0, 0, 0, 0, 719, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 727, 0, 0, - 0, 0, 724, 0, 0, 0, 719, 0, 0, 0, - 0, 0, 0, 0, 1652, 0, 727, 0, 0, 1205, - 1206, 1207, 0, 1204, 1201, 1202, 1203, 1196, 1197, 1198, - 1199, 1200, 0, 0, 0, 719, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 727, 726, 0, 714, 715, - 716, 0, 713, 710, 711, 712, 705, 706, 707, 708, - 709, 0, 0, 0, 0, 726, 975, 714, 715, 716, - 0, 713, 710, 711, 712, 705, 706, 707, 708, 709, - 0, 0, 1195, 1389, 1211, 1212, 1213, 0, 0, 0, - 0, 0, 0, 0, 726, 0, 714, 715, 716, 0, - 713, 710, 711, 712, 705, 706, 707, 708, 709, 702, - 0, 720, 721, 722, 0, 0, 0, 0, 0, 0, - 0, 723, 0, 0, 0, 0, 1208, 704, 702, 729, - 720, 721, 722, 0, 0, 0, 0, 0, 0, 0, - 723, 0, 0, 0, 882, 0, 704, 703, 729, 0, - 0, 0, 0, 717, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, - 0, 0, 717, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1214, 1225, 883, 1224, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1665, 727, + 0, 715, 716, 717, 0, 714, 711, 712, 713, 706, + 707, 708, 709, 710, 0, 0, 0, 1400, 1233, 720, + 0, 1232, 0, 0, 0, 0, 0, 0, 703, 728, + 721, 722, 723, 731, 0, 0, 0, 0, 0, 0, + 724, 0, 0, 0, 884, 729, 705, 0, 730, 0, + 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, + 0, 719, 0, 0, 0, 0, 704, 0, 0, 0, + 0, 0, 718, 0, 0, 0, 0, 0, 727, 0, + 715, 716, 717, 725, 714, 711, 712, 713, 706, 707, + 708, 709, 710, 0, 0, 0, 733, 885, 0, 0, + 0, 0, 703, 0, 721, 722, 723, 0, 0, 0, + 0, 0, 0, 0, 724, 0, 720, 732, 0, 0, + 705, 0, 730, 0, 0, 0, 728, 0, 0, 0, + 731, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 704, 0, 729, 0, 0, 0, 718, 0, 0, 0, + 0, 0, 726, 0, 0, 0, 0, 0, 719, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 727, 0, 715, 716, 717, + 725, 714, 711, 712, 713, 706, 707, 708, 709, 710, + 703, 0, 721, 722, 723, 0, 0, 0, 0, 0, + 0, 0, 724, 0, 731, 0, 0, 0, 705, 0, + 730, 0, 0, 720, 0, 703, 729, 721, 722, 723, + 0, 0, 0, 728, 0, 0, 726, 724, 704, 0, + 0, 0, 719, 705, 718, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 730, 1209, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 728, 0, 0, 0, 0, 0, 0, 730, - 0, 0, 725, 0, 0, 0, 0, 0, 718, 0, - 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 725, 0, 0, 0, 0, 0, 718, 0, 724, - 0, 0, 0, 0, 0, 1210, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 724, 732, - 0, 0, 0, 0, 0, 702, 0, 720, 721, 722, - 0, 0, 719, 0, 0, 0, 0, 723, 0, 0, - 731, 0, 727, 704, 702, 729, 720, 721, 722, 0, - 0, 719, 0, 0, 0, 0, 723, 0, 0, 0, - 0, 727, 704, 703, 729, 0, 1205, 1206, 1207, 717, - 1204, 1201, 1202, 1203, 1196, 1197, 1198, 1199, 1200, 0, - 0, 0, 703, 0, 0, 0, 0, 0, 717, 0, - 0, 726, 0, 714, 715, 716, 0, 713, 710, 711, - 712, 705, 706, 707, 708, 709, 0, 0, 0, 0, - 726, 0, 714, 715, 716, 0, 713, 710, 711, 712, - 705, 706, 707, 708, 709, 0, 730, 0, 0, 0, - 0, 0, 702, 0, 720, 721, 722, 0, 728, 0, - 0, 0, 0, 0, 723, 730, 0, 0, 725, 0, - 704, 0, 729, 0, 718, 0, 0, 728, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, - 703, 0, 0, 718, 0, 724, 717, 0, 0, 0, + 0, 0, 0, 704, 725, 0, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 724, 274, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 727, 0, - 702, 0, 720, 721, 722, 0, 0, 719, 0, 0, - 0, 0, 723, 730, 0, 0, 0, 727, 704, 0, - 729, 0, 0, 0, 0, 728, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 725, 0, 0, 703, 0, - 0, 718, 0, 0, 717, 0, 0, 726, 0, 714, - 715, 716, 0, 713, 710, 711, 712, 705, 706, 707, - 708, 709, 724, 0, 0, 0, 726, 0, 714, 715, - 716, 0, 713, 710, 711, 712, 705, 706, 707, 708, - 709, 0, 0, 0, 702, 0, 720, 721, 722, 1231, - 0, 0, 0, 0, 0, 719, 723, 0, 0, 1226, - 0, 730, 704, 0, 729, 727, 0, 0, 0, 0, - 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, - 1337, 0, 703, 725, 0, 0, 0, 0, 717, 718, + 0, 0, 727, 0, 715, 716, 717, 0, 714, 711, + 712, 713, 706, 707, 708, 709, 710, 720, 0, 0, + 0, 0, 731, 0, 0, 0, 0, 728, 0, 0, + 0, 0, 0, 703, 729, 721, 722, 723, 0, 0, + 0, 0, 0, 0, 726, 724, 0, 731, 0, 0, + 719, 705, 0, 730, 0, 0, 0, 0, 0, 729, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, + 0, 704, 725, 274, 0, 719, 727, 718, 715, 716, + 717, 0, 714, 711, 712, 713, 706, 707, 708, 709, + 710, 0, 0, 0, 0, 0, 0, 725, 0, 0, + 0, 0, 0, 0, 0, 720, 0, 703, 0, 721, + 722, 723, 0, 0, 0, 728, 0, 0, 0, 724, + 0, 0, 1234, 1239, 0, 705, 0, 730, 0, 0, + 720, 0, 0, 0, 0, 731, 0, 0, 0, 0, + 728, 0, 0, 0, 0, 704, 0, 729, 0, 0, + 0, 718, 0, 0, 0, 1348, 0, 726, 0, 0, + 0, 0, 0, 719, 727, 0, 715, 716, 717, 0, + 714, 711, 712, 713, 706, 707, 708, 709, 710, 0, + 0, 0, 0, 0, 0, 725, 0, 0, 0, 727, + 0, 715, 716, 717, 0, 714, 711, 712, 713, 706, + 707, 708, 709, 710, 703, 0, 721, 722, 723, 731, + 0, 0, 0, 0, 0, 0, 724, 0, 720, 0, + 0, 729, 705, 0, 730, 0, 0, 0, 728, 0, + 0, 726, 0, 0, 0, 0, 0, 719, 0, 0, + 0, 0, 704, 0, 0, 0, 0, 0, 718, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 727, 0, 715, + 716, 717, 0, 714, 711, 712, 713, 706, 707, 708, + 709, 710, 720, 703, 0, 721, 722, 723, 0, 0, + 0, 0, 728, 0, 0, 724, 731, 0, 1196, 0, + 0, 705, 0, 730, 0, 0, 0, 0, 729, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, + 0, 704, 0, 0, 719, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 724, 0, 0, 0, 726, 0, 714, 715, 716, 0, - 713, 710, 711, 712, 705, 706, 707, 708, 709, 0, + 0, 727, 0, 715, 716, 717, 725, 714, 711, 712, + 713, 706, 707, 708, 709, 710, 1201, 703, 0, 721, + 722, 723, 0, 0, 0, 0, 0, 0, 0, 724, + 0, 0, 0, 0, 0, 705, 0, 730, 703, 720, + 721, 722, 723, 0, 0, 731, 0, 0, 0, 728, + 724, 0, 0, 0, 0, 704, 705, 729, 730, 0, + 0, 718, 0, 0, 0, 0, 0, 726, 0, 0, + 0, 0, 0, 719, 0, 0, 704, 0, 0, 0, + 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 725, 0, 0, 727, 0, + 715, 716, 717, 0, 714, 711, 712, 713, 706, 707, + 708, 709, 710, 1203, 0, 1219, 1220, 1221, 0, 731, + 0, 0, 0, 0, 0, 1323, 0, 0, 720, 0, + 1203, 729, 1219, 1220, 1221, 0, 0, 0, 728, 0, + 731, 726, 0, 0, 0, 0, 0, 719, 0, 0, + 0, 0, 729, 0, 0, 0, 0, 1216, 0, 0, + 0, 0, 726, 0, 0, 0, 0, 0, 719, 725, + 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 727, 0, 715, + 716, 717, 0, 714, 711, 712, 713, 706, 707, 708, + 709, 710, 720, 0, 703, 0, 721, 722, 723, 0, + 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 705, 720, 730, 0, 0, 1222, 0, 0, + 0, 0, 1223, 728, 0, 0, 0, 0, 0, 0, + 0, 0, 704, 1217, 1222, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 719, 0, 730, 0, 0, 0, 0, - 0, 0, 702, 727, 720, 721, 722, 728, 0, 0, - 0, 0, 0, 0, 723, 0, 0, 725, 0, 0, - 704, 0, 729, 718, 0, 0, 0, 0, 0, 0, + 1217, 727, 0, 715, 716, 717, 0, 714, 711, 712, + 713, 706, 707, 708, 709, 710, 0, 0, 0, 0, + 0, 0, 727, 0, 715, 716, 717, 0, 714, 711, + 712, 713, 706, 707, 708, 709, 710, 0, 1218, 703, + 0, 721, 722, 723, 0, 0, 731, 0, 0, 0, + 0, 0, 0, 0, 0, 1218, 0, 705, 729, 730, + 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, + 0, 0, 0, 0, 719, 0, 0, 704, 0, 0, + 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, + 1214, 1215, 0, 1212, 1209, 1210, 1211, 1204, 1205, 1206, + 1207, 1208, 0, 0, 0, 0, 1213, 1214, 1215, 0, + 1212, 1209, 1210, 1211, 1204, 1205, 1206, 1207, 1208, 720, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, + 0, 731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 703, 0, 0, 0, 724, 0, 717, 0, 0, 0, - 0, 0, 726, 0, 714, 715, 716, 0, 713, 710, - 711, 712, 705, 706, 707, 708, 709, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 702, 719, 720, 721, - 722, 0, 0, 0, 0, 0, 0, 727, 723, 0, - 0, 1188, 0, 0, 704, 0, 729, 0, 0, 0, - 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 703, 728, 0, 0, 0, 0, - 717, 0, 0, 0, 0, 725, 0, 0, 0, 0, - 0, 718, 0, 0, 0, 0, 726, 0, 714, 715, - 716, 0, 713, 710, 711, 712, 705, 706, 707, 708, - 709, 0, 724, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1193, 702, 0, 720, 721, 722, 0, 0, - 0, 0, 0, 0, 0, 723, 1195, 730, 1211, 1212, - 1213, 704, 0, 729, 0, 719, 0, 0, 0, 728, - 0, 0, 0, 0, 702, 727, 720, 721, 722, 725, - 0, 703, 0, 0, 0, 718, 0, 717, 0, 0, - 0, 0, 704, 0, 729, 0, 0, 0, 0, 0, - 1208, 0, 0, 0, 0, 0, 724, 0, 0, 0, - 0, 0, 703, 0, 0, 0, 0, 0, 717, 0, - 0, 0, 0, 0, 726, 0, 714, 715, 716, 0, - 713, 710, 711, 712, 705, 706, 707, 708, 709, 719, - 0, 0, 0, 0, 730, 0, 0, 0, 0, 727, - 702, 0, 720, 721, 722, 0, 728, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 725, 0, 704, 1214, - 729, 0, 718, 0, 0, 730, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1209, 0, 728, 703, 0, - 0, 0, 0, 724, 717, 0, 0, 725, 726, 0, - 714, 715, 716, 718, 713, 710, 711, 712, 705, 706, - 707, 708, 709, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, - 702, 0, 0, 0, 0, 0, 727, 0, 0, 1210, - 0, 0, 0, 0, 0, 0, 0, 0, 704, 0, - 729, 730, 0, 0, 0, 0, 0, 719, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 727, 703, 0, - 0, 0, 0, 725, 717, 0, 0, 0, 0, 718, - 0, 0, 0, 0, 0, 726, 0, 714, 715, 716, - 0, 713, 710, 711, 712, 705, 706, 707, 708, 709, - 1205, 1206, 1207, 0, 1204, 1201, 1202, 1203, 1196, 1197, - 1198, 1199, 1200, 0, 0, 0, 726, 0, 714, 715, - 716, 0, 713, 710, 711, 712, 705, 706, 707, 708, - 709, 730, 0, 719, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 727, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 725, 0, 0, 0, 0, 0, 718, - 0, 0, 0, 0, 0, 0, 911, 926, 902, 919, - 918, 0, 0, 904, 903, 0, 0, 0, 928, 927, + 0, 0, 0, 726, 0, 0, 0, 0, 0, 719, + 0, 0, 0, 0, 913, 928, 904, 921, 920, 0, + 0, 906, 905, 0, 0, 0, 930, 929, 727, 0, + 715, 716, 717, 0, 714, 711, 712, 713, 706, 707, + 708, 709, 710, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 926, 0, 918, 917, 0, + 0, 0, 0, 0, 720, 916, 0, 0, 0, 0, + 0, 0, 0, 0, 728, 0, 0, 0, 915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 726, 0, 714, 715, 716, 0, 713, 710, - 711, 712, 705, 706, 707, 708, 709, 924, 0, 916, - 915, 0, 0, 719, 0, 0, 0, 914, 0, 0, - 0, 0, 0, 727, 0, 0, 0, 0, 0, 0, - 913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 907, 908, 909, 0, 575, 0, 0, 0, + 0, 909, 910, 911, 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 726, 0, 0, 0, 0, 0, 713, 710, - 711, 712, 705, 706, 707, 708, 709, 0, 0, 917, + 0, 0, 0, 727, 0, 715, 716, 717, 0, 714, + 711, 712, 713, 706, 707, 708, 709, 710, 0, 919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 910, 0, 0, 0, 0, 0, 906, 0, 0, 0, - 0, 0, 905, 0, 0, 925, 0, 0, 0, 0, + 912, 0, 0, 0, 0, 0, 908, 0, 0, 0, + 0, 0, 907, 0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 929, + 0, 0, 0, 0, 0, 0, 931, } var sqlPact = [...]int{ - 2821, -1000, -6, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 2367, -1000, -12, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 821, -1000, -1000, -1000, 577, 814, 363, 987, 987, - 14061, -1000, -1000, 16569, 1845, 433, 444, 433, 433, 466, - 14061, 538, 657, 91, -1000, 583, -10, 16341, 12921, 1175, - -8, 12465, 296, 2821, 12693, 12921, 16113, 1041, 937, 12465, - 15885, 15657, 15429, -1000, 8357, -1000, -1000, -1000, -1000, 801, - -1000, -9, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 794, -1000, 12921, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 771, -1000, -1000, -1000, 522, 750, 27, 980, 980, + 14339, -1000, -1000, 16869, 2047, 356, 360, 356, 356, 388, + 14339, 484, 518, 92, -1000, 748, -2, 16639, 13189, 1126, + -15, 12729, 231, 2367, 12959, 13189, 16409, 974, 905, 12729, + 16179, 15949, 15719, -1000, 8587, -1000, -1000, -1000, -1000, 744, + -1000, -16, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 742, -1000, 13189, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3079,43 +3117,42 @@ var sqlPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15201, 14973, - 773, -1000, -1000, 534, 349, 1196, -1000, -1, -1000, -1000, - -1000, 1035, -1000, 781, 1034, 1027, 1024, 1018, 348, 817, - -1000, 773, -1000, 773, -1000, -1000, -1000, 521, 14061, -1000, - 12465, -1000, 14745, 951, 14517, -1000, 583, -1000, -1000, -1000, - 808, 1172, 1172, 1172, 1211, 118, 117, 91, -17, 12921, - -1000, 297, -17, 6095, 6095, -1000, -1000, 296, -1000, 316, - 10829, -133, -1000, 5845, -1000, 992, 1095, 605, 604, 1091, - 12465, 12921, 562, 14289, -1000, 1090, 105, 1088, -1000, -26, - 1083, -1000, -30, -1000, -1000, -1000, -1000, -1000, -1000, 296, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15489, 15259, + 739, -1000, -1000, 427, 271, 1136, -1000, -8, -1000, -1000, + -1000, 970, -1000, 737, 969, 967, 962, 961, 267, 745, + -1000, 739, -1000, 739, -1000, -1000, -1000, 468, 14339, -1000, + 12729, -1000, 15029, 919, 14799, -1000, 748, -1000, -1000, -1000, + 760, 1118, 1118, 1118, 1147, 89, 88, 92, -22, 13189, + -1000, 234, -22, 6307, 6307, -1000, -1000, 231, -1000, 247, + 11079, -142, -1000, 6055, -1000, 665, 1033, 600, 599, 1030, + 12729, 13189, 533, 14569, -1000, 1027, 87, 1025, -1000, -28, + 1018, -1000, -49, -1000, -1000, -1000, -1000, -1000, -1000, 231, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 11077, 1187, 11077, -1000, -1000, 1229, -1000, - -1000, -12, -13, 892, 980, 8855, 8607, 1143, 862, -1000, - -1000, -1000, -3, 3329, 12921, 1047, 11077, 12921, 12921, 12921, - -1000, 12921, -1000, 886, -1000, -1000, -15, -16, -1000, 14061, - -1000, 113, -1000, 293, 849, 13833, -1000, 846, -1000, 808, - -1000, 810, 874, 6613, 7363, 91, -1000, -1000, 91, 91, - 7363, -1000, -1000, 12921, -17, 1228, 12921, 1017, -112, -1000, - 18425, -1000, -1000, 7363, 7363, 7363, 7363, 7363, 694, -1000, - -1000, -1000, 4077, -1000, -1000, -133, 286, 306, -1000, -1000, - 282, -133, -1000, -1000, -1000, -1000, 280, 1328, 375, -1000, - -1000, -1000, 7363, 353, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 989, 279, 276, -1000, -1000, -1000, -1000, - 274, 272, 270, 266, 261, 250, 229, 225, 222, 217, - 213, 212, 211, 682, -1000, 389, -1000, -1000, 389, 389, - -1000, 201, 201, 203, -1000, -1000, -1000, 201, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 210, 50, -1000, - -1000, -1000, 12921, -133, -1000, -1000, -1000, 3329, 7363, 3080, - -31, -1000, 18973, -1000, -76, 836, -1000, 11999, 1182, 1163, - 1150, 12465, 520, 518, 12921, 359, 81, 1226, 10333, -1000, - 12921, 12921, -1000, 12921, -1000, -1000, 12921, 12921, 12921, -10, - 11533, 517, -27, 11305, 12921, -1000, -4, -1000, -1000, 1016, - 427, 650, 932, 848, -1000, -1000, -1000, -1000, -20, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1279, - -1000, -1000, -1000, -1000, 1309, -20, -1000, -1000, -1000, -1000, - -1000, 1327, -1000, -1000, -1000, -1000, 3329, -1000, -1000, -1000, + -1000, -1000, -1000, 11329, 897, 11329, -1000, -1000, 1182, -1000, + -1000, -17, -18, 845, 853, 9089, 8839, 1082, 944, -1000, + -1000, -1000, -9, 3519, 13189, 987, 11329, 13189, 13189, 13189, + -1000, 13189, -1000, 836, -1000, -1000, -20, -21, -1000, 14339, + -1000, 99, -1000, 230, 793, 14109, -1000, 787, -1000, 760, + -1000, 728, 812, 6829, 7585, 92, -1000, -1000, 92, 92, + 7585, -1000, -1000, 13189, -22, 1171, 13189, 960, -46, -1000, + 18632, -1000, -1000, 7585, 7585, 7585, 7585, 7585, 686, -1000, + -1000, -1000, 4273, -1000, -1000, -142, 228, 239, -1000, -1000, + 227, -142, -1000, -1000, -1000, -1000, 218, 1254, 368, -1000, + -1000, -1000, 7585, 276, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 986, 217, 216, -1000, -1000, -1000, -1000, + 215, 212, 211, 210, 208, 204, 202, 198, 194, 193, + 190, 189, 188, 669, -1000, 292, -1000, -1000, 292, 292, + -1000, 163, 163, 166, -1000, -1000, -1000, 163, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 187, 120, -1000, + -1000, -1000, 13189, -142, -1000, -1000, -1000, -1000, 7585, 3268, + 3003, -53, -1000, 19167, -1000, -36, 642, -1000, 12259, 1103, + 1100, 1101, 12729, 465, 464, 13189, 281, 46, 1164, 10579, + -1000, 13189, 13189, -1000, 13189, -1000, -1000, 13189, 13189, 13189, + -2, 11789, 445, -29, 11559, 13189, -1000, -10, -1000, -1000, + 956, 335, 633, 902, 666, -1000, -1000, -1000, -1000, -23, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1230, -1000, -1000, -1000, -1000, 1247, -23, -1000, -1000, -1000, + -1000, -1000, 1253, -1000, -1000, -1000, -1000, 3519, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -3123,133 +3160,136 @@ var sqlPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 12921, -1000, -1000, -1000, -1000, -1000, -1000, - 650, 932, -1000, -1000, 12465, 11761, 1081, 779, 831, -1000, - 1075, -1000, -1000, -1000, -1000, 18973, -1000, 18973, 586, 942, - -1000, 942, -21, -1000, 18268, -1000, 209, -36, -1000, 359, - 10085, 6095, 19275, 12921, 527, 7363, 7363, 7363, 7363, 7363, - 7363, 7363, 7363, 7363, 7363, 7363, 7363, 7363, 7363, 7363, - 7363, 7363, 7363, 7363, 7363, 7363, 855, 516, 1059, 722, - 197, 3329, -1000, 1273, 1273, 1273, 19004, 19004, 163, -141, - 17944, -23, -133, -1000, -1000, 5327, 5077, -133, 3577, -1000, - 788, 1302, 380, 18973, 1053, 965, 207, 89, 88, 7363, - 790, 7363, 7613, 7363, 7363, 4327, 7363, 7363, 7363, 7363, - 7363, 7363, -1000, 206, -1000, -1000, -1000, -1000, 1301, -1000, - -1000, 1298, -1000, 1292, 359, 87, -1000, -1000, 2067, -1000, - -1000, 5845, -1000, 782, 12921, 12921, 12921, -1000, -1000, 829, - 13605, -1000, 19275, 12921, -1000, 205, 204, 906, 904, 12921, - 12921, 13377, 13149, 12921, 835, 12921, 12921, 603, 596, 7363, - 777, -1000, 9589, 402, 12921, 48, -1000, -1000, -1000, 330, - 12921, -1000, -1000, -1000, 105, -1000, -26, -1000, -1000, 12921, - 11305, -27, -28, -1000, -1000, 12921, 932, -1000, -1000, -1000, - 623, -1000, 621, -1000, 9103, -1000, -1000, -1000, 788, -1000, - -90, -1000, -1000, -1000, -1000, 85, -29, -1000, -1000, -1000, - -1000, 12921, 267, 12921, 12921, 1073, 12921, -1000, -1000, -1000, - 7363, -1000, -1000, -1000, -10, 12921, -1000, 963, -64, 1581, - 12237, 12237, -1000, 9341, -1000, -1000, 1242, -1000, -1000, -1000, - -1000, 61, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 203, 682, 201, 201, 201, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 389, 389, 389, -1000, - -1000, 337, 785, 785, 1213, 1213, 1213, 566, 566, 644, - 1132, 19160, 19160, 19160, 1479, 933, 933, 19160, 19160, 19160, - 19004, 2791, 400, 7363, 514, 720, 197, 7363, -1000, 789, - -1000, -1000, -1000, 1006, 194, 7613, 7613, -1000, -1000, -1000, - 4077, -1000, -1000, 193, 7363, -1000, 7363, -35, -37, -1000, - 18973, -1000, -43, -1000, -1000, -24, 7363, 7363, 7363, 84, - -1000, 512, -1000, 508, 480, 479, -1000, 187, 78, 553, - -1000, 7363, 692, 185, 184, 7363, -1000, -1000, 18886, 77, - 1001, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 76, 18812, - 73, 18222, -1000, 7613, 7613, 7613, 4077, 182, 68, 18249, - -155, 18704, 6345, 6345, 6345, 63, 18620, 7363, -155, 2499, - 2231, 2185, -44, -48, -49, 1291, -50, 55, 54, 963, - -1000, -1000, 7363, -1000, -1000, -1000, 478, 470, 1071, -1000, - 823, -1000, 606, 7363, 12921, 181, 180, 689, -1000, 1069, - 806, 1064, 806, -1000, -76, 701, -1000, -1000, 465, -1000, - 6095, 18973, 596, 1154, -54, -1000, -1000, 359, 10333, 5845, - -55, -1000, -90, -1000, -90, -1000, -1000, -1000, -1000, -1000, - -1000, 12921, -1000, 11761, 175, 12921, 173, 169, 12921, -1000, - -1000, 52, -1000, -1000, -1000, -1000, -1000, 960, 1209, 10085, - 916, 914, 10085, 1144, 723, 723, 723, -1000, -1000, -1000, - 12921, 168, -1000, 9837, 42, 1581, 310, 308, -1000, 1288, - 7363, 400, 7363, 7613, 7613, -1000, 400, -1000, -1000, -1000, - -1000, 997, 159, 7363, 19275, 17915, 17610, -56, 4827, -100, - 17687, 7363, -1000, -1000, 306, -1000, 38, 5595, -1000, 18444, - -19, -19, -1000, 858, 732, 706, 558, 1286, 1316, 1103, - -1000, 7363, 18532, -1000, 10581, 373, 738, 17658, 19275, -1000, - 7363, -1000, 990, 7363, -1000, 19275, 7613, 7613, 7613, 7613, - 7613, 7613, 7613, 7613, 7613, 7613, 7613, 7613, 7613, 7613, - 7613, 7613, 7613, 7613, 919, 7613, 1272, 1272, 1272, -108, - 4577, -1000, 982, 990, 7363, 7363, 19275, 37, 35, 33, - -1000, 7363, -155, 7363, 7363, 7363, -1000, -1000, -1000, 31, - -1000, 1283, -1000, -1000, 960, 17963, 12921, 12921, 12921, 1063, - 996, -1000, 17639, -60, 12921, 12921, -1000, 952, 934, 421, - 12921, -1000, 12921, -1000, 12921, 12921, 12921, 12921, -112, -1000, - 161, -10, 596, -1000, -1000, 328, -1000, -1000, 8109, 146, - 11761, 8109, 759, -1000, 356, 7363, 7363, 1581, 10085, 10085, - 1761, 912, 10085, -1000, -1000, -1000, -1000, 138, 12921, 12237, - 403, 1281, 30, 1230, 400, 17305, 111, 7363, 19275, 19080, - -65, -1000, 7363, 7363, -1000, -66, -1000, 7363, -1000, 18973, - -1000, 1314, 7363, 29, 28, 20, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 19, -1000, -1000, 18973, 7363, -1000, -1000, - 16797, 7363, 15, -1000, 14, 18973, 982, 18973, -1000, 585, - 585, 1272, 1272, 1272, 419, 419, 613, 264, 243, 243, - 243, 254, 432, 432, 243, 243, 243, 985, 893, 131, - 18986, 7363, -71, -1000, -1000, -1000, 18973, 18973, 8, -1000, - -1000, -1000, -155, 160, 17382, 17353, -1000, 7, 356, -1000, - -1000, -1000, -1000, 12921, -1000, 12921, -1000, 12921, 824, -1000, - -1000, 900, 130, 7613, 12921, -1000, 713, -75, -77, 820, - -1000, 819, 7363, -1000, 19275, 806, 806, -1000, 456, 453, - -1000, 1108, 8109, 1149, -1000, -1000, 129, -79, -1000, 82, - 1176, 7363, -1000, -1000, 128, 8109, 5, -81, 12921, -1000, - 12921, 18973, -155, -1000, 1761, -1000, 127, 7363, 10085, -1000, - 12921, -83, -1000, -1000, 303, 301, -1000, 7363, 7363, 19080, - -89, -1000, 19275, 400, 400, -1000, 17334, -1000, 18444, -1000, - -1000, -1000, -1000, 18973, 687, -1000, 17077, -1000, -1000, -1000, - 7613, 981, 125, 19275, 17048, -1000, -1000, 7363, -1000, -1000, - -1000, -1000, -1000, 1329, -1000, -1000, -1000, 7363, 18986, 112, - -1000, 124, -1000, -1000, -1000, 607, -1000, -1000, 18973, 1191, - -1000, -1000, 12921, 12921, 497, -91, 12921, -1000, -1000, 3827, - 713, 8109, 1185, -133, 12921, 1185, 17029, 3577, -95, -1000, - 713, 123, -136, -1000, 1224, -1000, 12921, 18973, -1000, -96, - -1000, -1000, -1000, 400, 400, -1000, -1000, -1000, 4, 738, - 1206, -1000, 2716, 7613, 19275, -104, -1000, 2691, -1000, 2524, - 864, 12921, 12921, 12921, 409, 12921, -1000, -1000, 555, -1000, - 359, -1000, -1000, -1000, -1000, -1000, -1000, 1176, -24, 713, - -1000, 8109, 12921, 121, -111, -1000, -1000, 672, 7363, 2716, - -113, -1000, -1000, -1000, 747, 691, -117, -121, 112, -1000, - 7363, -1000, 10333, -1000, 1185, 1, -1000, -153, -1000, -1000, - -1000, -7, 7113, 7113, -155, -1000, -1000, 756, 755, 601, - -1000, -1000, -1000, -1000, -1000, 864, 18973, -127, -1000, -1000, - 713, -1000, -1000, -1000, 7861, 775, 584, 17992, -1000, -1000, - 1123, -1000, 414, 822, 822, 747, -1000, -1000, 1245, -1000, - -1000, -1000, -1000, -1000, -1000, 1263, -1000, -1000, 920, -1000, - -1000, 6863, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 13189, -1000, -1000, -1000, -1000, -1000, + -1000, 633, 902, -1000, -1000, 12729, 12019, 1012, 731, 785, + -1000, 1011, -1000, -1000, -1000, -1000, 19167, -1000, 19167, 562, + 909, -1000, 909, -25, -1000, 18558, -1000, 185, -55, -1000, + 281, 10329, 6307, 19563, 13189, 474, 7585, 7585, 7585, 7585, + 7585, 7585, 7585, 7585, 7585, 7585, 7585, 7585, 7585, 7585, + 7585, 7585, 7585, 7585, 7585, 7585, 7585, 806, 440, 892, + 673, 162, 3519, -1000, 1216, 1216, 1216, 19354, 19354, 167, + -143, 18188, -27, -142, -1000, -1000, 5533, 5281, -142, 3769, + -1000, 734, 1246, 287, 19167, 984, 935, 184, 81, 73, + 7585, 730, 7585, 7837, 7585, 7585, 4525, 7585, 7585, 7585, + 7585, 7585, 7585, -1000, 183, -1000, -1000, -1000, -1000, 1245, + -1000, -1000, 1244, -1000, 1239, 281, 68, -1000, 2098, -1000, + -1000, -1000, 875, 6055, -1000, 598, 13189, 13189, 13189, -1000, + -1000, 782, 13879, -1000, 19563, 13189, -1000, 180, 178, 889, + 880, 13189, 13189, 13649, 13419, 13189, 650, 13189, 13189, 597, + 576, 7585, 726, -1000, 9829, 296, 13189, 93, -1000, -1000, + -1000, 257, 13189, -1000, -1000, -1000, 87, -1000, -28, -1000, + -1000, 13189, 11559, -29, -31, -1000, -1000, 13189, 902, -1000, + -1000, -1000, 505, -1000, 629, -1000, 9339, -1000, -1000, -1000, + 734, -1000, -39, -1000, -1000, -1000, -1000, 65, -34, -1000, + -1000, -1000, -1000, 13189, 223, 13189, 13189, 1006, 13189, -1000, + -1000, -1000, 7585, -1000, -1000, -1000, -2, 13189, -1000, 929, + -35, 1099, 12499, 12499, -1000, 9579, -1000, -1000, 1186, -1000, + -1000, -1000, -1000, 53, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 166, 669, 163, 163, 163, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 292, 292, + 292, -1000, -1000, 113, 632, 632, 1165, 1165, 1165, 592, + 592, 330, 2533, 2728, 2728, 2728, 1796, 300, 300, 2728, + 2728, 2728, 19354, 19188, 182, 7585, 438, 672, 162, 7585, + -1000, 1044, -1000, -1000, -1000, 953, 161, 7837, 7837, -1000, + -1000, -1000, 4273, -1000, -1000, 150, 7585, -1000, 7585, -54, + -60, -1000, 19167, -1000, -61, -1000, -1000, -19, 7585, 7585, + 7585, 59, -1000, 435, -1000, 422, 403, 396, -1000, 149, + 58, 448, -1000, 7585, 704, 146, 145, 7585, -1000, -1000, + 19093, 57, 952, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 55, 19004, 51, 19280, -1000, 7837, 7837, 7837, 4273, 144, + 47, 18461, -97, 18907, 6559, 6559, 6559, 44, 18833, 7585, + -97, 2707, 2629, 2370, -63, -68, -69, 1233, -70, 43, + 41, 929, -1000, -1000, 7585, -156, -1000, 256, -1000, -1000, + -1000, -1000, -1000, -1000, 395, 393, 1005, -1000, 772, -1000, + 563, 7585, 13189, 143, 142, 623, -1000, 1003, 766, 1002, + 766, -1000, -36, 526, -1000, -1000, 382, -1000, 6307, 19167, + 576, 1106, -74, -1000, -1000, 281, 10579, 6055, -75, -1000, + -39, -1000, -39, -1000, -1000, -1000, -1000, -1000, -1000, 13189, + -1000, 12019, 139, 13189, 138, 130, 13189, -1000, -1000, 40, + -1000, -1000, -1000, -1000, -1000, 926, 1141, 10329, 900, 899, + 10329, 949, 674, 674, 674, -1000, -1000, -1000, 13189, 125, + -1000, 10079, 39, 1099, 241, 240, -1000, 1229, 7585, 182, + 7585, 7837, 7837, -1000, 182, -1000, -1000, -1000, -1000, 951, + 122, 7585, 19563, 19263, 2653, -76, 5029, -42, 18091, 7585, + -1000, -1000, 239, -1000, 37, 5803, -1000, 18720, 1, 1, + -1000, 802, 644, 654, 531, 1228, 1252, 959, -1000, 7585, + 18745, -1000, 10829, 284, 698, 18017, 19563, -1000, 7585, -1000, + 947, 7585, -1000, 19563, 7837, 7837, 7837, 7837, 7837, 7837, + 7837, 7837, 7837, 7837, 7837, 7837, 7837, 7837, 7837, 7837, + 7837, 7837, 849, 7837, 1213, 1213, 1213, -44, 4777, -1000, + 979, 947, 7585, 7585, 19563, 33, 32, 29, -1000, 7585, + -97, 7585, 7585, 7585, -1000, -1000, -1000, 28, -1000, 1222, + -1000, -1000, 926, 18285, 875, -1000, 3519, 13189, 13189, 13189, + 997, 895, -1000, 17994, -83, 13189, 13189, -1000, 858, 908, + 331, 13189, -1000, 13189, -1000, 13189, 13189, 13189, 13189, -46, + -1000, 115, -2, 576, -1000, -1000, 197, -1000, -1000, 8337, + 117, 12019, 8337, 725, -1000, 269, 7585, 7585, 1099, 10329, + 10329, 1885, 891, 10329, -1000, -1000, -1000, -1000, 116, 13189, + 12499, 264, 1220, 25, 1176, 182, 2079, 1874, 7585, 19563, + 19449, -87, -1000, 7585, 7585, -1000, -88, -1000, 7585, -1000, + 19167, -1000, 1250, 7585, 24, 23, 19, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 16, -1000, -1000, 19167, 7585, -1000, + -1000, 17099, 7585, 13, -1000, 9, 19167, 979, 19167, -1000, + 506, 506, 1213, 1213, 1213, 389, 389, 564, 164, 2610, + 2610, 2610, 411, 477, 477, 2610, 2610, 2610, 942, 840, + 114, 17615, 7585, -92, -1000, -1000, -1000, 19167, 19167, 7, + -1000, -1000, -1000, -97, 2176, 17920, 17722, -1000, 6, 269, + -1000, -1000, -1000, -1000, -1000, -1000, 13189, -1000, 13189, -1000, + 13189, 764, -1000, -1000, 863, 110, 7837, 13189, -1000, 694, + -93, -98, 757, -1000, 741, 7585, -1000, 19563, 766, 766, + -1000, 381, 369, -1000, 1045, 8337, 1096, -1000, -1000, 109, + -99, -1000, 82, 1107, 7585, -1000, -1000, 108, 8337, 5, + -104, 13189, -1000, 13189, 19167, -97, -1000, 1885, -1000, 107, + 7585, 10329, -1000, 13189, -105, -1000, -1000, 237, 236, -1000, + 7585, 7585, 19449, -106, -1000, 19563, 182, 182, -1000, 17699, + -1000, 18720, -1000, -1000, -1000, -1000, 19167, 677, -1000, 17645, + -1000, -1000, -1000, 7837, 941, 106, 19563, 17538, -1000, -1000, + 7585, -1000, -1000, -1000, -1000, -1000, 513, -1000, -1000, -1000, + 7585, 17615, 94, -1000, 100, -1000, -1000, -1000, 621, -1000, + -1000, 19167, 1123, -1000, -1000, 13189, 13189, 401, -111, 13189, + -1000, -1000, 4021, 694, 8337, 1115, -142, 13189, 1115, 17379, + 3769, -116, -1000, 694, 96, -50, -1000, 1162, -1000, 13189, + 19167, -1000, -118, -1000, -1000, -1000, 182, 182, -1000, -1000, + -1000, 3, 698, 1137, -1000, 17831, 7837, 19563, -120, -1000, + 17352, -1000, 17333, 805, 13189, 13189, 13189, 305, 13189, -1000, + -1000, 527, -1000, 281, -1000, -1000, -1000, -1000, -1000, -1000, + 1107, -19, 694, -1000, 8337, 13189, 95, -126, -1000, -1000, + 668, 7585, 17831, -128, -1000, -1000, -1000, 718, 736, -132, + -134, 94, -1000, 7585, -1000, 10579, -1000, 1115, -1, -1000, + -136, -1000, -1000, -1000, -4, 7333, 7333, -97, -1000, -1000, + 722, 721, 495, -1000, -1000, -1000, -1000, -1000, 805, 19167, + -112, -1000, -1000, 694, -1000, -1000, -1000, 8087, 727, 569, + 18364, -1000, -1000, 1060, -1000, 313, 828, 828, 718, -1000, + -1000, 1192, -1000, -1000, -1000, -1000, -1000, -1000, 1203, -1000, + -1000, 859, -1000, -1000, 7081, -1000, -1000, -1000, -1000, } var sqlPgo = [...]int{ - 0, 1569, 1568, 1222, 1566, 1557, 1553, 1550, 1545, 79, - 1540, 1534, 90, 1533, 78, 1532, 1526, 1523, 1521, 35, - 1518, 1517, 1515, 1514, 1513, 66, 39, 108, 1646, 100, - 1509, 1504, 1502, 12, 80, 73, 1501, 59, 64, 87, - 1295, 43, 1500, 109, 45, 13, 688, 71, 1499, 1496, - 1495, 1493, 24, 1492, 1490, 1487, 8, 50, 15, 1486, - 16, 46, 1485, 1482, 77, 1479, 70, 85, 26, 102, - 72, 1477, 54, 1472, 7, 49, 1470, 21, 1467, 20, - 52, 115, 1465, 48, 275, 38, 18, 42, 1464, 1462, - 1461, 1457, 74, 60, 41, 1455, 1454, 53, 1453, 104, - 110, 1450, 1449, 1445, 1443, 1442, 1441, 653, 1438, 1437, - 587, 10, 25, 44, 32, 88, 84, 28, 0, 807, - 728, 1436, 36, 34, 57, 23, 27, 22, 1435, 83, - 1434, 1433, 1431, 1430, 1429, 55, 1428, 47, 112, 30, - 62, 69, 17, 127, 61, 86, 126, 82, 1427, 99, - 1426, 31, 1425, 1423, 671, 58, 1422, 1414, 1411, 574, - 570, 559, 101, 1408, 1407, 316, 213, 1406, 1403, 65, - 1400, 1399, 116, 1388, 111, 92, 1386, 95, 1382, 68, - 1380, 281, 113, 91, 1379, 98, 51, 1376, 1371, 1369, - 14, 2, 3, 6, 5, 4, 37, 33, 1367, 1366, - 97, 75, 1365, 117, 1364, 1361, 29, 1360, 1354, 19, - 1353, 11, 1349, 9, 1, 1348, 105, 1341, 81, 1340, - 1233, 1339, 114, 1337, 1335, 1242, 56, + 0, 1446, 1442, 1173, 1441, 1440, 1439, 1438, 1435, 81, + 1434, 1432, 107, 1430, 76, 1429, 1427, 1425, 1424, 26, + 1422, 1421, 1418, 1416, 1415, 72, 52, 116, 1300, 108, + 1414, 1413, 1412, 18, 84, 79, 1411, 38, 77, 85, + 1402, 50, 1410, 112, 47, 22, 177, 78, 1409, 1407, + 1405, 1400, 23, 1398, 1397, 1396, 10, 45, 25, 1395, + 20, 94, 1394, 1393, 86, 1391, 82, 97, 33, 99, + 28, 1390, 58, 1389, 9, 51, 1388, 32, 1387, 39, + 60, 113, 1381, 43, 268, 57, 16, 49, 1380, 1379, + 1378, 1377, 74, 66, 37, 1376, 1374, 61, 1373, 103, + 110, 1372, 1371, 1370, 1369, 1368, 1367, 586, 1366, 1364, + 523, 8, 30, 48, 27, 93, 89, 1363, 36, 29, + 1359, 0, 760, 740, 1358, 31, 17, 64, 34, 44, + 12, 1357, 87, 1356, 1355, 1352, 1350, 1348, 62, 1343, + 56, 115, 35, 69, 75, 15, 41, 68, 95, 119, + 92, 1339, 90, 1338, 42, 1336, 1331, 579, 67, 1322, + 1321, 1320, 577, 424, 375, 88, 1318, 1316, 335, 188, + 1311, 1310, 65, 1307, 1306, 118, 1304, 114, 21, 1302, + 102, 1299, 73, 1298, 289, 55, 46, 1296, 105, 59, + 1295, 1294, 1293, 14, 3, 7, 4, 5, 2, 40, + 24, 1291, 1288, 101, 70, 1286, 134, 1282, 1280, 19, + 1276, 1275, 13, 1273, 11, 1271, 6, 1, 1270, 123, + 1269, 83, 1267, 1188, 1266, 117, 1265, 1264, 1211, 63, + 1262, 1261, } var sqlR1 = [...]int{ @@ -3260,89 +3300,75 @@ var sqlR1 = [...]int{ 34, 31, 31, 37, 37, 37, 36, 36, 32, 32, 5, 5, 5, 9, 10, 10, 10, 10, 10, 10, 69, 69, 68, 68, 71, 71, 11, 11, 12, 12, - 12, 12, 150, 150, 149, 13, 18, 216, 216, 216, - 220, 220, 221, 221, 222, 222, 222, 222, 222, 222, - 222, 218, 218, 21, 21, 21, 21, 107, 107, 109, + 12, 12, 153, 153, 152, 13, 18, 219, 219, 219, + 223, 223, 224, 224, 225, 225, 225, 225, 225, 225, + 225, 221, 221, 21, 21, 21, 21, 107, 107, 109, 109, 109, 109, 39, 106, 106, 106, 106, 108, 108, - 108, 108, 174, 172, 172, 179, 179, 179, 49, 49, - 49, 49, 49, 50, 50, 50, 171, 171, 171, 171, - 180, 180, 180, 180, 180, 180, 51, 51, 51, 178, - 178, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 173, 173, 217, 217, 219, 219, + 108, 108, 177, 175, 175, 182, 182, 182, 49, 49, + 49, 49, 49, 50, 50, 50, 174, 174, 174, 174, + 183, 183, 183, 183, 183, 183, 51, 51, 51, 181, + 181, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 176, 176, 220, 220, 222, 222, 8, 8, 52, 52, 53, 53, 113, 113, 113, 112, - 188, 188, 189, 189, 189, 190, 190, 190, 190, 190, - 190, 190, 187, 187, 185, 185, 186, 186, 186, 186, - 223, 223, 111, 111, 56, 56, 193, 193, 193, 193, - 191, 191, 191, 191, 191, 194, 192, 195, 195, 195, - 195, 195, 138, 138, 138, 24, 7, 7, 96, 96, - 60, 60, 142, 142, 142, 45, 45, 33, 33, 33, + 191, 191, 192, 192, 192, 193, 193, 193, 193, 193, + 193, 193, 190, 190, 188, 188, 189, 189, 189, 189, + 226, 226, 111, 111, 56, 56, 196, 196, 196, 196, + 194, 194, 194, 194, 194, 197, 195, 198, 198, 198, + 198, 198, 141, 141, 141, 24, 7, 7, 96, 96, + 60, 60, 145, 145, 145, 45, 45, 33, 33, 33, 17, 17, 17, 17, 17, 17, 17, 17, 17, 97, 97, 98, 98, 16, 20, 23, 23, 23, 23, 23, - 225, 225, 42, 42, 42, 42, 43, 43, 110, 110, + 228, 228, 42, 42, 42, 42, 43, 43, 110, 110, 110, 110, 110, 38, 6, 6, 14, 48, 48, 103, 103, 103, 105, 105, 105, 104, 104, 104, 83, 83, - 25, 74, 74, 75, 75, 148, 76, 76, 19, 19, + 25, 74, 74, 75, 75, 151, 76, 76, 19, 19, 28, 28, 26, 26, 26, 26, 26, 26, 27, 27, - 29, 29, 29, 29, 29, 29, 29, 201, 201, 201, - 203, 203, 200, 15, 15, 15, 15, 202, 202, 224, - 224, 84, 84, 84, 55, 54, 54, 58, 58, 57, - 59, 59, 141, 81, 81, 81, 81, 99, 100, 100, - 101, 101, 102, 102, 80, 80, 125, 125, 30, 30, - 64, 64, 65, 65, 143, 143, 143, 143, 144, 144, - 144, 144, 144, 144, 139, 139, 139, 139, 140, 140, - 87, 87, 87, 87, 85, 85, 86, 86, 145, 145, - 145, 145, 82, 82, 146, 146, 146, 114, 114, 151, - 151, 151, 63, 63, 63, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 153, 153, 153, 153, - 155, 155, 155, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 156, 156, 163, 163, - 164, 164, 165, 166, 157, 157, 158, 158, 159, 160, - 167, 167, 167, 169, 169, 161, 161, 162, 93, 93, + 29, 29, 29, 29, 29, 29, 29, 204, 204, 204, + 206, 206, 203, 15, 15, 15, 15, 205, 205, 227, + 227, 84, 84, 84, 55, 54, 54, 58, 58, 57, + 59, 59, 144, 81, 81, 81, 81, 99, 100, 100, + 101, 101, 102, 102, 80, 80, 128, 128, 30, 30, + 64, 64, 65, 65, 146, 146, 146, 146, 147, 147, + 147, 147, 147, 147, 142, 142, 142, 142, 143, 143, + 87, 87, 87, 87, 85, 85, 86, 86, 148, 148, + 148, 148, 82, 82, 149, 149, 149, 114, 114, 154, + 154, 154, 63, 63, 63, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 156, 156, 156, 156, + 158, 158, 158, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 159, 159, 166, 166, + 167, 167, 168, 169, 160, 160, 161, 161, 162, 163, + 170, 170, 170, 172, 172, 164, 164, 165, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 94, 94, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 196, 196, 196, 196, 196, - 196, 196, 198, 198, 199, 199, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 204, 204, 205, 205, 206, 206, 207, 207, 209, - 210, 210, 210, 211, 215, 215, 208, 208, 212, 212, - 212, 213, 213, 214, 214, 214, 214, 214, 129, 129, - 129, 130, 130, 131, 70, 70, 127, 127, 126, 126, - 126, 128, 128, 88, 168, 168, 168, 168, 168, 168, - 168, 89, 89, 95, 90, 90, 91, 91, 91, 91, - 91, 91, 122, 123, 92, 92, 92, 124, 124, 132, - 136, 136, 135, 134, 134, 133, 133, 117, 117, 117, - 117, 117, 116, 115, 77, 77, 226, 226, 137, 137, - 78, 78, 79, 73, 73, 72, 72, 147, 147, 147, - 147, 66, 66, 67, 67, 46, 46, 47, 47, 47, - 47, 61, 61, 62, 62, 44, 44, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 170, 170, - 170, 40, 40, 40, 41, 41, 176, 176, 176, 177, - 177, 177, 177, 175, 175, 175, 175, 175, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 182, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 184, 184, 184, 184, 184, 184, 184, 184, + 93, 93, 94, 94, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 199, 199, 199, 199, 199, + 199, 199, 201, 201, 202, 202, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 207, 207, 208, 208, 209, 209, 210, 210, 212, + 213, 213, 213, 214, 218, 218, 211, 211, 215, 215, + 215, 216, 216, 217, 217, 217, 217, 217, 132, 132, + 132, 133, 133, 134, 70, 70, 130, 130, 129, 129, + 129, 131, 131, 88, 171, 171, 171, 171, 171, 171, + 171, 89, 89, 95, 90, 90, 91, 91, 91, 91, + 91, 91, 125, 126, 92, 92, 92, 127, 127, 135, + 139, 139, 138, 137, 137, 136, 136, 118, 118, 118, + 118, 118, 116, 115, 230, 231, 119, 119, 120, 120, + 117, 117, 77, 77, 229, 229, 140, 140, 78, 78, + 79, 73, 73, 72, 72, 150, 150, 150, 150, 66, + 66, 67, 67, 46, 46, 47, 47, 47, 47, 61, + 61, 62, 62, 44, 44, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 173, 173, 173, 40, + 40, 40, 41, 41, 179, 179, 179, 180, 180, 180, + 180, 178, 178, 178, 178, 178, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, @@ -3350,6 +3376,21 @@ var sqlR1 = [...]int{ 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 186, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, } var sqlR2 = [...]int{ @@ -3419,14 +3460,14 @@ var sqlR2 = [...]int{ 2, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 4, 3, 2, 3, 0, 3, 3, 2, 2, 1, 0, 2, 2, 3, 2, 1, 1, 3, 5, - 1, 2, 4, 2, 0, 1, 0, 1, 1, 2, - 3, 5, 2, 2, 1, 2, 1, 0, 1, 1, - 1, 3, 3, 1, 0, 1, 3, 3, 2, 1, - 1, 1, 3, 1, 3, 1, 2, 1, 2, 2, - 1, 1, 3, 3, 0, 1, 2, 1, 1, 1, - 1, 6, 2, 3, 5, 1, 1, 1, 1, 2, - 2, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 4, 2, 0, 1, 0, 1, 1, 1, + 3, 5, 2, 2, 1, 1, 3, 1, 1, 3, + 2, 4, 1, 2, 1, 0, 1, 1, 1, 3, + 3, 1, 0, 1, 3, 3, 2, 1, 1, 1, + 3, 1, 3, 1, 2, 1, 2, 2, 1, 1, + 3, 3, 0, 1, 2, 1, 1, 1, 1, 6, + 2, 3, 5, 1, 1, 1, 1, 2, 2, 1, + 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -3450,176 +3491,178 @@ var sqlR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, } var sqlChk = [...]int{ -1000, -1, -2, -3, -4, -5, -9, -10, -11, -13, -14, -17, -18, -20, -19, -21, -22, -23, -16, -24, - -25, 19, -6, -7, -8, -202, 83, 89, 101, 187, - 194, -26, -28, 201, 202, 29, 209, 52, 85, 189, - 184, 227, 58, -201, -29, -27, 271, 247, 253, 197, - -30, 215, 240, 274, 215, 70, 112, 78, 116, 234, - 70, 112, 215, -12, 271, -19, -14, -25, -9, -220, - 18, -221, -222, 58, 83, 101, 197, 116, 78, 234, - -220, -43, 194, -40, 4, -181, -183, 16, 17, 19, + -25, 19, -6, -7, -8, -205, 83, 89, 102, 189, + 196, -26, -28, 203, 204, 29, 211, 52, 85, 191, + 186, 229, 58, -204, -29, -27, 273, 249, 255, 199, + -30, 217, 242, 276, 217, 70, 113, 78, 117, 236, + 70, 113, 217, -12, 273, -19, -14, -25, -9, -223, + 18, -224, -225, 58, 83, 102, 199, 117, 78, 236, + -223, -43, 196, -40, 4, -184, -186, 16, 17, 19, 28, 29, 33, 37, 40, 51, 52, 53, 55, 57, 60, 61, 68, 69, 70, 71, 73, 78, 82, 83, - 89, 93, 94, 96, 102, 107, 108, 113, 116, 124, - 126, 127, 132, 135, 138, 140, 141, 142, 143, 144, - 146, 147, 148, 150, 153, 155, 156, 162, 165, 168, - 169, 172, 175, 176, 177, 179, 180, 184, 182, 183, - 185, 187, 189, 190, 192, 195, 196, 198, 199, 201, - 202, 204, 206, 208, 209, 212, 210, 216, 217, 223, - 227, 228, 229, 230, 233, 234, 237, 238, 239, 243, - 248, 249, 250, 251, 30, 31, 32, 34, 35, 38, + 89, 93, 94, 96, 103, 108, 109, 114, 117, 125, + 127, 128, 133, 136, 139, 141, 142, 143, 144, 145, + 147, 148, 150, 152, 155, 157, 158, 164, 167, 170, + 171, 174, 177, 178, 179, 181, 182, 186, 184, 185, + 187, 189, 191, 192, 194, 197, 198, 200, 201, 203, + 204, 206, 208, 210, 211, 214, 212, 218, 219, 225, + 229, 230, 231, 232, 235, 236, 239, 240, 241, 245, + 250, 251, 252, 253, 30, 31, 32, 34, 35, 38, 39, 43, 44, 45, 47, 72, 74, 75, 88, 90, - 95, 103, 105, 109, 110, 117, 118, 119, 121, 130, - 152, 154, 163, 167, 171, 173, 178, 191, 205, 211, - 213, 219, 220, 224, 225, 240, 241, -107, 135, 199, - 223, -108, -106, -174, 219, 144, -68, -40, 194, 4, - 70, 51, 71, 102, 112, 113, 127, 216, 219, 223, - 18, -225, 223, 223, -225, -225, -42, 223, 221, -43, - -224, 215, 215, -96, 70, 232, -27, -29, -28, -57, - -58, 231, 120, 87, 161, -26, -28, -201, -203, 179, - -200, -40, -203, -54, -55, 18, 80, 275, -145, -46, - 159, -40, -79, 271, -3, -145, 109, -40, -46, 109, - 99, 122, -146, -145, -40, 109, -66, 109, -46, -69, - 109, -68, -150, -149, -177, 4, -181, -183, -182, 240, - 49, 59, 100, 115, 123, 125, 131, 133, 145, 164, - 166, 188, 203, 158, 275, 158, -40, -107, 45, -107, - -109, -38, -39, 124, 175, 221, 256, 99, 251, -51, - 6, 76, -71, 273, 99, -217, 158, 99, 99, 99, - -173, 99, 251, 124, 175, -110, -38, -39, -110, 221, - -43, -82, -145, -68, 109, 112, -40, 109, -57, -58, - -81, -99, -100, 134, 157, -84, 18, 80, -84, -84, - 37, 272, 272, 275, -203, -62, 271, -73, -72, -147, - -118, 264, -120, 262, 263, 268, 149, 252, -129, -46, - -121, 9, 271, -132, -198, -28, 88, 24, -130, -131, - 191, -40, 8, 5, 6, 7, -44, -153, -162, 226, - 91, 151, 41, -196, -197, 4, -181, -176, -154, -164, - -158, -161, 121, 49, 63, 66, 64, 67, 200, 235, - 42, 90, 167, 171, 213, 224, 225, 109, 152, 110, - 47, 103, 130, 82, 31, 32, 34, 35, 43, 44, - 72, 74, 75, 95, 117, 118, 119, 154, 178, 205, - 220, 241, -182, -165, -166, -159, -160, -167, -72, -79, - 264, -46, 271, -77, -117, -116, -115, 276, 269, 273, - -78, -137, -118, 76, -35, 182, -34, 17, 19, 83, - 238, 88, 182, 182, 88, -146, -48, -46, 201, -40, - 25, 88, -37, 275, 40, 185, 88, 275, 88, 272, - 275, -216, -67, 215, 70, -47, -40, 264, -222, -216, - 25, 275, 275, 132, -50, 138, 148, 107, -172, 76, - -179, -171, -138, 9, 226, 91, 158, -178, 5, 263, - -170, -177, 6, 8, 262, -172, 76, 61, -180, 6, - 4, -162, -138, 76, 135, 121, 273, -175, 4, -181, - -183, -182, -184, 18, 20, 21, 22, 23, 24, 25, - 26, 27, 36, 41, 42, 46, 48, 50, 56, 58, - 62, 63, 64, 65, 66, 67, 76, 77, 79, 80, - 81, 84, 85, 87, 91, 92, 97, 98, 99, 101, - 104, 106, 111, 112, 114, 120, 122, 128, 129, 134, - 136, 137, 149, 151, 157, 158, 159, 160, 161, 170, - 174, 181, 186, 197, 200, 207, 214, 215, 218, 221, - 222, 226, 231, 232, 235, 236, 242, 244, 245, 246, - 247, -174, -219, 97, -216, -174, -174, -174, -174, 132, - 275, 275, -43, -37, 275, 271, 149, -41, 109, -40, - 149, -81, -100, -99, -101, -118, 18, -118, -120, -27, - -27, -27, -59, -141, -118, -200, 25, -61, -40, -64, - 99, 275, 10, 48, 28, 262, 263, 264, 265, 266, - 259, 260, 261, 258, 254, 255, 256, 54, 139, 193, - 12, 13, 14, 22, 160, 133, 252, 203, 123, 30, - 111, 25, 4, -118, -118, -118, -118, -118, 166, -28, - -118, -70, -77, -28, -126, 269, 271, -77, 271, 6, - 6, 271, -133, -118, -204, 248, 97, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 173, -169, 243, -169, -169, -155, 271, -155, - -156, 271, -155, 271, -64, -46, -117, -175, -118, -175, - 264, 275, 272, 275, 221, -97, 56, 50, -112, 109, - 50, -185, -40, 56, -186, 46, 232, 174, 98, -97, - 56, -97, 56, 56, -145, 221, 221, -46, -114, 245, - -103, -19, 271, 76, 25, -74, -75, -148, -76, -46, - 271, -40, -40, -46, -66, -68, -69, -12, -149, 221, - 275, -67, -61, -116, -115, 99, 223, -39, -38, -49, - 177, 206, 183, 198, 275, 5, 8, 8, 6, -175, - -218, -40, -39, -38, -145, -52, -53, -113, -112, -187, - -185, 112, 232, 88, 158, 149, 88, -102, 191, 192, - 275, -33, 26, 79, 271, 275, 272, -114, -65, -143, - -145, -28, -144, 271, -147, -151, -152, -154, -163, -157, - -161, -162, 33, 39, 38, 217, 211, 117, 118, 119, - 205, 31, 178, 95, 82, 75, 74, 154, 35, 34, - -165, -166, -159, -160, 72, 220, 32, 44, 43, 241, - -68, 219, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, 133, 203, 30, 111, 221, 151, 149, - 226, 91, 233, 80, 155, -226, 214, 27, -124, -28, - 271, -175, -129, 191, 271, 272, 275, -70, -128, 270, - -118, -126, -70, 272, 272, -70, 242, 18, 80, 264, - -93, 250, 142, 73, 108, 141, -94, 196, 8, -136, - -135, 244, -205, 93, 104, 271, 272, 272, -118, -88, - -168, 4, 250, 142, 73, 108, 141, 196, -89, -118, - -90, -119, -120, 262, 263, 268, 271, 191, -91, -118, - -70, -118, 36, 129, 222, -92, -118, 99, -70, -118, - -118, -118, -70, -70, -70, 271, 8, 8, 8, -114, - 272, 270, 277, -137, -34, -46, -40, -40, 149, -112, - 109, -151, -40, 271, 271, 126, 126, -40, -40, 109, - -40, 109, -40, -40, -35, 182, -40, -40, 182, -83, - 186, -118, -105, 158, -66, 240, -40, -64, 275, 256, - -66, -37, -218, -47, -218, -38, 230, 53, 177, -179, - -93, 275, 272, 275, -41, 112, -68, -46, 88, -40, - -141, -15, -19, -14, -25, -9, -40, -80, 104, 275, - 59, -87, 125, 145, 100, 131, 188, 115, -140, -139, - 25, -40, -140, -28, -144, -143, -63, 24, -93, 271, - 251, -118, 221, -226, 214, -124, -118, 151, 226, 91, - 233, 80, 155, 99, 271, -119, -119, -70, 271, -70, - -118, 275, 270, 270, 275, 272, -58, 275, -57, -118, - -70, -70, 272, 221, 221, 221, 221, 271, 272, -134, - -135, 84, -118, -210, 165, 271, 271, -118, 25, 272, - 99, 272, -95, 170, 272, 10, 262, 263, 264, 265, - 266, 259, 260, 261, 258, 254, 255, 256, 54, 139, - 193, 12, 13, 14, 123, 111, -119, -119, -119, -70, - 271, 272, -122, -123, 99, 97, 25, -92, -92, -92, - 272, 99, -70, 275, 275, 275, 272, 272, 272, 8, - 272, 275, 272, 272, -80, -118, 221, 221, 88, 149, - -188, -186, -118, -61, 271, 271, -31, 83, 201, -98, - 88, -37, 88, -37, 221, -97, 56, 221, -72, -83, - 55, 272, -114, -75, -137, 272, -40, -113, 271, -41, - 271, 271, -40, 272, -125, 106, 37, -143, 125, 125, - -143, -87, 125, -85, 164, -85, -85, -40, 271, 272, - 269, 269, 8, -118, -118, -119, -119, 99, 271, -118, - -127, -151, 22, 22, 272, -70, 272, 275, 272, -118, - -126, 272, 242, -58, -58, -58, 142, 108, 141, -94, - 141, -94, -94, 8, 6, 85, -118, 218, -211, -40, - 271, 245, -57, 272, -151, -118, -122, -118, -151, -119, - -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, -119, -119, -119, -119, 80, 149, 155, - -119, 275, -70, 272, -123, -122, -118, -118, -151, 272, - 272, 272, -70, -118, -118, -118, 272, 8, -125, 270, - -40, -40, -112, 88, -189, 56, -190, 48, 149, 151, - 232, 174, 46, 76, 181, 272, 272, -61, -61, 149, - 76, 149, 76, 69, 228, -40, -40, -46, -40, -40, - -40, -104, 271, 158, -19, -83, 256, -60, -142, -40, - -199, 271, -196, -197, -44, 271, -52, -60, 158, -206, - 246, -118, -70, -143, -143, -86, 236, 158, 125, -143, - 271, -61, -139, 270, 8, 8, 272, 22, 22, -118, - -127, 272, 275, -118, -118, 272, -118, 6, -118, 272, - 272, 272, 272, -118, -215, -40, -118, 272, 272, -123, - 99, 80, 155, 271, -118, 272, 272, 275, 272, 272, - 272, -206, -112, -40, -68, 151, 126, 271, -119, -46, - -111, -223, 57, 212, 272, 272, 151, 151, -118, -151, - -37, -37, 221, 221, 81, -60, 56, -79, -28, 271, - 272, 275, -45, -77, 48, -45, -118, 271, -60, 272, - 272, -46, -207, -209, -40, -86, 271, -118, -143, -61, - 272, 270, 270, -118, -118, 272, -151, 272, -58, -208, - 169, 272, -119, 99, 271, -127, 272, -118, -190, -118, - -56, 271, 271, 181, -36, 48, -40, -40, 234, 150, - 272, -40, -111, -142, -33, -68, -33, 272, -70, 272, - -111, 271, 275, 25, -61, 272, 272, -58, 37, -119, - -127, 272, 272, 272, -193, 140, -61, -61, -46, -32, - 236, -68, 201, -114, -45, -58, -111, -60, -209, -211, - 272, -212, 176, 192, -70, 272, -191, -194, -192, 158, - 100, 168, 204, 272, 272, -56, -118, -74, -33, 272, - 272, 272, -213, -214, 30, 229, 61, -118, -213, -192, - 158, -194, 158, 234, 78, -193, -114, -111, -214, 172, - 96, 191, 172, 96, -195, 147, 185, 40, 201, -195, - -191, 22, 16, 151, 76, -214, + 95, 104, 106, 110, 111, 118, 119, 120, 122, 131, + 154, 156, 165, 169, 173, 175, 180, 193, 207, 213, + 215, 221, 222, 226, 227, 242, 243, -107, 136, 201, + 225, -108, -106, -177, 221, 145, -68, -40, 196, 4, + 70, 51, 71, 103, 113, 114, 128, 218, 221, 225, + 18, -228, 225, 225, -228, -228, -42, 225, 223, -43, + -227, 217, 217, -96, 70, 234, -27, -29, -28, -57, + -58, 233, 121, 87, 163, -26, -28, -204, -206, 181, + -203, -40, -206, -54, -55, 18, 80, 277, -148, -46, + 161, -40, -79, 273, -3, -148, 110, -40, -46, 110, + 100, 123, -149, -148, -40, 110, -66, 110, -46, -69, + 110, -68, -153, -152, -180, 4, -184, -186, -185, 242, + 49, 59, 101, 116, 124, 126, 132, 134, 146, 166, + 168, 190, 205, 160, 277, 160, -40, -107, 45, -107, + -109, -38, -39, 125, 177, 223, 258, 100, 253, -51, + 6, 76, -71, 275, 100, -220, 160, 100, 100, 100, + -176, 100, 253, 125, 177, -110, -38, -39, -110, 223, + -43, -82, -148, -68, 110, 113, -40, 110, -57, -58, + -81, -99, -100, 135, 159, -84, 18, 80, -84, -84, + 37, 274, 274, 277, -206, -62, 273, -73, -72, -150, + -121, 266, -123, 264, 265, 270, 151, 254, -132, -46, + -124, 9, 273, -135, -201, -28, 88, 24, -133, -134, + 193, -40, 8, 5, 6, 7, -44, -156, -165, 228, + 91, 153, 41, -199, -200, 4, -184, -179, -157, -167, + -161, -164, 122, 49, 63, 66, 64, 67, 202, 237, + 42, 90, 169, 173, 215, 226, 227, 110, 154, 111, + 47, 104, 131, 82, 31, 32, 34, 35, 43, 44, + 72, 74, 75, 95, 118, 119, 120, 156, 180, 207, + 222, 243, -185, -168, -169, -162, -163, -170, -72, -79, + 266, -46, 273, -77, -118, -116, -115, -117, 271, 275, + 279, -78, -140, -121, 76, -35, 184, -34, 17, 19, + 83, 240, 88, 184, 184, 88, -149, -48, -46, 203, + -40, 25, 88, -37, 277, 40, 187, 88, 277, 88, + 274, 277, -219, -67, 217, 70, -47, -40, 266, -225, + -219, 25, 277, 277, 133, -50, 139, 150, 108, -175, + 76, -182, -174, -141, 9, 228, 91, 160, -181, 5, + 265, -173, -180, 6, 8, 264, -175, 76, 61, -183, + 6, 4, -165, -141, 76, 136, 122, 275, -178, 4, + -184, -186, -185, -187, 18, 20, 21, 22, 23, 24, + 25, 26, 27, 36, 41, 42, 46, 48, 50, 56, + 58, 62, 63, 64, 65, 66, 67, 76, 77, 79, + 80, 81, 84, 85, 87, 91, 92, 97, 99, 100, + 102, 105, 107, 112, 113, 115, 121, 123, 129, 130, + 135, 137, 138, 151, 153, 159, 160, 161, 162, 163, + 172, 176, 183, 188, 199, 202, 209, 216, 217, 220, + 223, 224, 228, 233, 234, 237, 238, 244, 246, 247, + 248, 249, -177, -222, 97, -219, -177, -177, -177, -177, + 133, 277, 277, -43, -37, 277, 273, 151, -41, 110, + -40, 151, -81, -100, -99, -101, -121, 18, -121, -123, + -27, -27, -27, -59, -144, -121, -203, 25, -61, -40, + -64, 100, 277, 10, 48, 28, 264, 265, 266, 267, + 268, 261, 262, 263, 260, 256, 257, 258, 54, 140, + 195, 12, 13, 14, 22, 162, 134, 254, 205, 124, + 30, 112, 25, 4, -121, -121, -121, -121, -121, 168, + -28, -121, -70, -77, -28, -129, 271, 273, -77, 273, + 6, 6, 273, -136, -121, -207, 250, 97, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 175, -172, 245, -172, -172, -158, 273, + -158, -159, 273, -158, 273, -64, -46, -118, -121, -178, + 266, -178, 280, 277, 274, 277, 223, -97, 56, 50, + -112, 110, 50, -188, -40, 56, -189, 46, 234, 176, + 99, -97, 56, -97, 56, 56, -148, 223, 223, -46, + -114, 247, -103, -19, 273, 76, 25, -74, -75, -151, + -76, -46, 273, -40, -40, -46, -66, -68, -69, -12, + -152, 223, 277, -67, -61, -116, -115, 100, 225, -39, + -38, -49, 179, 208, 185, 200, 277, 5, 8, 8, + 6, -178, -221, -40, -39, -38, -148, -52, -53, -113, + -112, -190, -188, 113, 234, 88, 160, 151, 88, -102, + 193, 194, 277, -33, 26, 79, 273, 277, 274, -114, + -65, -146, -148, -28, -147, 273, -150, -154, -155, -157, + -166, -160, -164, -165, 33, 39, 38, 219, 213, 118, + 119, 120, 207, 31, 180, 95, 82, 75, 74, 156, + 35, 34, -168, -169, -162, -163, 72, 222, 32, 44, + 43, 243, -68, 221, -121, -121, -121, -121, -121, -121, + -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + -121, -121, -121, -121, -121, 134, 205, 30, 112, 223, + 153, 151, 228, 91, 235, 80, 157, -229, 216, 27, + -127, -28, 273, -178, -132, 193, 273, 274, 277, -70, + -131, 272, -121, -129, -70, 274, 274, -70, 244, 18, + 80, 266, -93, 252, 143, 73, 109, 142, -94, 198, + 8, -139, -138, 246, -208, 93, 105, 273, 274, 274, + -121, -88, -171, 4, 252, 143, 73, 109, 142, 198, + -89, -121, -90, -122, -123, 264, 265, 270, 273, 193, + -91, -121, -70, -121, 36, 130, 224, -92, -121, 100, + -70, -121, -121, -121, -70, -70, -70, 273, 8, 8, + 8, -114, 274, 272, 278, -120, -119, -230, -231, 98, + 149, -140, -34, -46, -40, -40, 151, -112, 110, -154, + -40, 273, 273, 127, 127, -40, -40, 110, -40, 110, + -40, -40, -35, 184, -40, -40, 184, -83, 188, -121, + -105, 160, -66, 242, -40, -64, 277, 258, -66, -37, + -221, -47, -221, -38, 232, 53, 179, -182, -93, 277, + 274, 277, -41, 113, -68, -46, 88, -40, -144, -15, + -19, -14, -25, -9, -40, -80, 105, 277, 59, -87, + 126, 146, 101, 132, 190, 116, -143, -142, 25, -40, + -143, -28, -147, -146, -63, 24, -93, 273, 253, -121, + 223, -229, 216, -127, -121, 153, 228, 91, 235, 80, + 157, 100, 273, -122, -122, -70, 273, -70, -121, 277, + 272, 272, 277, 274, -58, 277, -57, -121, -70, -70, + 274, 223, 223, 223, 223, 273, 274, -137, -138, 84, + -121, -213, 167, 273, 273, -121, 25, 274, 100, 274, + -95, 172, 274, 10, 264, 265, 266, 267, 268, 261, + 262, 263, 260, 256, 257, 258, 54, 140, 195, 12, + 13, 14, 124, 112, -122, -122, -122, -70, 273, 274, + -125, -126, 100, 97, 25, -92, -92, -92, 274, 100, + -70, 277, 277, 277, 274, 274, 274, 8, 274, 277, + 274, 274, -80, -121, 277, 281, 258, 223, 223, 88, + 151, -191, -189, -121, -61, 273, 273, -31, 83, 203, + -98, 88, -37, 88, -37, 223, -97, 56, 223, -72, + -83, 55, 274, -114, -75, -140, 274, -40, -113, 273, + -41, 273, 273, -40, 274, -128, 107, 37, -146, 126, + 126, -146, -87, 126, -85, 166, -85, -85, -40, 273, + 274, 271, 271, 8, -121, -121, -122, -122, 100, 273, + -121, -130, -154, 22, 22, 274, -70, 274, 277, 274, + -121, -129, 274, 244, -58, -58, -58, 143, 109, 142, + -94, 142, -94, -94, 8, 6, 85, -121, 220, -214, + -40, 273, 247, -57, 274, -154, -121, -125, -121, -154, + -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, + -122, -122, -122, -122, -122, -122, -122, -122, 80, 151, + 157, -122, 277, -70, 274, -126, -125, -121, -121, -154, + 274, 274, 274, -70, -121, -121, -121, 274, 8, -128, + 272, -119, -178, -40, -40, -112, 88, -192, 56, -193, + 48, 151, 153, 234, 176, 46, 76, 183, 274, 274, + -61, -61, 151, 76, 151, 76, 69, 230, -40, -40, + -46, -40, -40, -40, -104, 273, 160, -19, -83, 258, + -60, -145, -40, -202, 273, -199, -200, -44, 273, -52, + -60, 160, -209, 248, -121, -70, -146, -146, -86, 238, + 160, 126, -146, 273, -61, -142, 272, 8, 8, 274, + 22, 22, -121, -130, 274, 277, -121, -121, 274, -121, + 6, -121, 274, 274, 274, 274, -121, -218, -40, -121, + 274, 274, -126, 100, 80, 157, 273, -121, 274, 274, + 277, 274, 274, 274, -209, -112, -40, -68, 153, 127, + 273, -122, -46, -111, -226, 57, 214, 274, 274, 153, + 153, -121, -154, -37, -37, 223, 223, 81, -60, 56, + -79, -28, 273, 274, 277, -45, -77, 48, -45, -121, + 273, -60, 274, 274, -46, -210, -212, -40, -86, 273, + -121, -146, -61, 274, 272, 272, -121, -121, 274, -154, + 274, -58, -211, 171, 274, -122, 100, 273, -130, 274, + -121, -193, -121, -56, 273, 273, 183, -36, 48, -40, + -40, 236, 152, 274, -40, -111, -145, -33, -68, -33, + 274, -70, 274, -111, 273, 277, 25, -61, 274, 274, + -58, 37, -122, -130, 274, 274, 274, -196, 141, -61, + -61, -46, -32, 238, -68, 203, -114, -45, -58, -111, + -60, -212, -214, 274, -215, 178, 194, -70, 274, -194, + -197, -195, 160, 101, 170, 206, 274, 274, -56, -121, + -74, -33, 274, 274, 274, -216, -217, 30, 231, 61, + -121, -216, -195, 160, -197, 160, 236, 78, -196, -114, + -111, -217, 174, 96, 193, 174, 96, -198, 148, 187, + 40, 203, -198, -194, 22, 16, 153, 76, -217, } var sqlDef = [...]int{ @@ -3631,181 +3674,182 @@ var sqlDef = [...]int{ 302, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 68, 69, 70, 71, 0, 80, 81, 82, 84, 85, 86, 87, 88, 89, 90, - 0, 244, 806, 257, 721, 722, 723, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, - 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, - 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, - 801, 802, 803, 804, 805, 807, 808, 809, 810, 811, - 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, - 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, - 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, - 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, - 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, - 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, - 872, 873, 874, 875, 876, 877, 878, 93, 774, 810, - 821, 98, 108, 0, 873, -2, 112, 62, 806, 141, + 0, 244, 814, 257, 729, 730, 731, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, + 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, + 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, + 809, 810, 811, 812, 813, 815, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, + 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, + 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, + 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, + 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, + 880, 881, 882, 883, 884, 885, 886, 93, 782, 818, + 829, 98, 108, 0, 881, -2, 112, 62, 814, 141, 142, 0, 144, 157, 0, 0, 0, 155, 0, 0, 153, 262, 250, 262, 247, 248, 249, 252, 0, 243, 0, 319, 0, 0, 0, 218, -2, 298, 299, -2, - 0, 323, 323, 323, 0, 0, 299, 0, 307, 796, - 310, 704, 308, 684, 0, 325, 324, 0, 303, 378, - 0, 695, 348, 0, 2, 0, 855, 0, 0, 855, - 0, 0, 0, 384, 54, 855, 45, 855, 691, 58, - 855, 60, 0, 72, 74, 729, 730, 731, 732, 877, - 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, - 889, 890, 891, 0, 0, 0, 256, 94, 845, 96, + 0, 323, 323, 323, 0, 0, 299, 0, 307, 804, + 310, 712, 308, 692, 0, 325, 324, 0, 303, 378, + 0, 703, 348, 0, 2, 0, 863, 0, 0, 863, + 0, 0, 0, 384, 54, 863, 45, 863, 699, 58, + 863, 60, 0, 72, 74, 737, 738, 739, 740, 885, + 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, + 897, 898, 899, 0, 0, 0, 256, 94, 853, 96, 97, 99, 100, 0, 0, 0, 0, 0, 0, 111, 136, 137, 63, 0, 0, 159, 0, 0, 0, 0, 149, 0, 150, 0, 152, 245, 258, 259, 246, 0, - 254, 45, 382, 0, 855, 725, 264, 855, -2, 0, + 254, 45, 382, 0, 863, 733, 264, 863, -2, 0, 294, 335, 336, 0, 0, 0, 321, 322, 0, 0, - 0, 290, 291, 0, 309, 0, 0, 351, 683, 685, - 689, 690, 464, 0, 0, 0, 0, 0, 0, 543, - 544, 545, 0, 547, 548, 549, 850, 0, 553, 554, - 869, 695, 707, 708, 709, 710, 0, 0, 0, 715, - 716, 717, 666, 592, 563, -2, -2, 705, 406, 407, - 408, 409, -2, 879, 567, 569, 571, 572, 573, 574, - 0, 851, 865, 866, 872, 875, 876, 855, 862, 856, - 846, 853, 861, 759, -2, -2, -2, -2, -2, -2, + 0, 290, 291, 0, 309, 0, 0, 351, 691, 693, + 697, 698, 464, 0, 0, 0, 0, 0, 0, 543, + 544, 545, 0, 547, 548, 549, 858, 0, 553, 554, + 877, 703, 715, 716, 717, 718, 0, 0, 0, 723, + 724, 725, 666, 592, 563, -2, -2, 713, 406, 407, + 408, 409, -2, 887, 567, 569, 571, 572, 573, 574, + 0, 859, 873, 874, 880, 883, 884, 863, 870, 864, + 854, 861, 869, 767, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, 728, 430, 431, 436, 437, 439, 351, 349, - 379, 380, 0, 696, 674, 667, 668, 0, 0, 0, - 0, 680, 678, 679, 22, 240, 24, 0, 240, 240, - 0, 0, 0, 0, 0, 388, 0, 267, 0, 385, - 0, 0, 56, 0, 43, 44, 0, 0, 0, 318, - 0, 0, 77, 0, 755, 693, 697, 700, 83, 0, - 0, 0, 0, 0, 103, 123, 124, 125, 104, 106, - 113, 115, 116, 117, 126, 127, 128, 129, 212, 0, - 214, 139, 140, 718, 0, 105, 107, 109, 110, 130, - 131, 0, 133, 134, 135, 447, 0, 64, 733, 734, - 735, 736, 737, 892, 893, 894, 895, 896, 897, 898, - 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, - 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, - 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, - 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, - 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, - 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, - 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, - 969, 143, 145, 0, 156, 146, 147, 148, 154, 151, - 0, 0, 253, 215, 0, 163, 0, 0, 855, 724, - 0, 297, 333, 334, 337, 340, 341, 338, 464, 304, - 305, 306, 329, 330, 229, 311, 0, 0, 701, 388, + -2, -2, 736, 430, 431, 436, 437, 439, 351, 349, + 379, 380, 0, 704, 682, 667, 668, 669, 0, 0, + 0, 0, 688, 686, 687, 22, 240, 24, 0, 240, + 240, 0, 0, 0, 0, 0, 388, 0, 267, 0, + 385, 0, 0, 56, 0, 43, 44, 0, 0, 0, + 318, 0, 0, 77, 0, 763, 701, 705, 708, 83, + 0, 0, 0, 0, 0, 103, 123, 124, 125, 104, + 106, 113, 115, 116, 117, 126, 127, 128, 129, 212, + 0, 214, 139, 140, 726, 0, 105, 107, 109, 110, + 130, 131, 0, 133, 134, 135, 447, 0, 64, 741, + 742, 743, 744, 745, 900, 901, 902, 903, 904, 905, + 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, + 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, + 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, + 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, + 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 976, 977, 143, 145, 0, 156, 146, 147, 148, 154, + 151, 0, 0, 253, 215, 0, 163, 0, 0, 863, + 732, 0, 297, 333, 334, 337, 340, 341, 338, 464, + 304, 305, 306, 329, 330, 229, 311, 0, 0, 709, + 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 685, 0, 0, 696, 468, 469, 470, 491, 492, 0, + -2, 624, 0, 550, 551, 552, 0, 0, -2, 0, + 720, 461, 0, 0, 665, 594, 0, 0, 0, 0, + 0, 0, 0, 645, 651, 0, 0, 0, 0, 0, + 0, 0, 0, 420, 433, 443, 441, 440, 422, 0, + 421, 419, 0, 423, 0, 388, 0, 683, 0, 672, + 673, 680, 0, 0, 690, 0, 0, 0, 0, 239, + 26, 863, 0, 36, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 677, - 0, 0, 688, 468, 469, 470, 491, 492, 0, -2, - 624, 0, 550, 551, 552, 0, 0, -2, 0, 712, - 461, 0, 0, 665, 594, 0, 0, 0, 0, 0, - 0, 0, 645, 651, 0, 0, 0, 0, 0, 0, - 0, 0, 420, 433, 443, 441, 440, 422, 0, 421, - 419, 0, 423, 0, 388, 0, 675, 669, 0, 672, - 673, 0, 682, 0, 0, 0, 0, 239, 26, 855, - 0, 36, 0, 0, 185, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 274, 269, 0, 0, 0, 351, 281, 283, 284, 0, - 0, 386, 55, 692, 45, 61, 59, 67, 73, 0, - 0, 78, 79, 698, 699, 0, 0, 101, 102, 263, - 0, 120, 0, 122, 0, 213, 720, 719, 461, 65, - 158, 91, 260, 261, 383, 0, 162, 164, 166, 167, - 168, 725, 0, 0, 0, 0, 0, 339, 342, 343, - 0, 332, 227, 228, 318, 0, 703, 345, 350, 352, - 369, 369, 356, 0, 686, 465, 394, 395, 396, 397, - 398, 461, 401, 402, 403, 404, 405, 413, 414, 415, - 416, 417, 418, 427, 0, 412, 412, 412, 424, 425, - 428, 429, 434, 435, 445, 446, 444, 444, 444, 442, - 466, 0, 471, 472, 473, 474, 475, 476, 477, 478, - 479, -2, -2, -2, 483, 484, 485, -2, -2, -2, - 489, 490, -2, 0, 0, 677, 0, 0, 497, 0, - 500, 502, 504, 0, 0, 0, 0, 676, 514, 657, - 0, 687, 499, 0, 0, 546, 0, 0, 0, 630, - 624, 631, 0, -2, 555, 328, 0, 0, 0, 0, - 713, 448, 449, 450, 451, 452, 453, 462, 0, 664, - 660, 0, 602, 0, 0, 0, 568, 570, 0, 0, - 0, 634, 635, 636, 637, 638, 639, 640, 0, 0, - 0, 0, 516, 0, 0, 0, 0, 869, 0, 624, - 650, 0, 0, 0, 0, 0, 624, 0, 656, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, - 381, 670, 0, 681, 25, 231, 0, 0, 0, 28, - 855, 171, 0, 0, 0, 0, 0, 242, 37, 855, - 45, 855, 45, 38, 23, 240, 230, 233, 0, 53, - 0, 387, 279, 0, 0, 271, 268, 388, 0, 0, - 0, 57, 75, 694, 76, 95, 118, 119, 121, 114, - 132, 0, 160, 0, 0, 725, 0, 0, 0, 265, - 331, 0, 313, 314, 315, 316, 702, 347, 0, 0, - 0, 0, 0, 0, 375, 375, 375, 373, 354, 368, - 0, 367, 355, -2, 356, 0, 389, 391, 399, 0, - 0, -2, 0, 0, 0, 515, -2, 498, 501, 503, - 505, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 625, 0, 628, 629, 0, -2, 0, 0, 327, 328, - 328, 328, 561, 0, 0, 0, 0, 0, 0, 0, - 661, 0, 0, 562, 0, 0, 0, 0, 0, 576, - 0, 577, 0, 0, 578, 0, 0, 0, 0, 0, + 279, 0, 274, 269, 0, 0, 0, 351, 281, 283, + 284, 0, 0, 386, 55, 700, 45, 61, 59, 67, + 73, 0, 0, 78, 79, 706, 707, 0, 0, 101, + 102, 263, 0, 120, 0, 122, 0, 213, 728, 727, + 461, 65, 158, 91, 260, 261, 383, 0, 162, 164, + 166, 167, 168, 733, 0, 0, 0, 0, 0, 339, + 342, 343, 0, 332, 227, 228, 318, 0, 711, 345, + 350, 352, 369, 369, 356, 0, 694, 465, 394, 395, + 396, 397, 398, 461, 401, 402, 403, 404, 405, 413, + 414, 415, 416, 417, 418, 427, 0, 412, 412, 412, + 424, 425, 428, 429, 434, 435, 445, 446, 444, 444, + 444, 442, 466, 0, 471, 472, 473, 474, 475, 476, + 477, 478, 479, -2, -2, -2, 483, 484, 485, -2, + -2, -2, 489, 490, -2, 0, 0, 685, 0, 0, + 497, 0, 500, 502, 504, 0, 0, 0, 0, 684, + 514, 657, 0, 695, 499, 0, 0, 546, 0, 0, + 0, 630, 624, 631, 0, -2, 555, 328, 0, 0, + 0, 0, 721, 448, 449, 450, 451, 452, 453, 462, + 0, 664, 660, 0, 602, 0, 0, 0, 568, 570, + 0, 0, 0, 634, 635, 636, 637, 638, 639, 640, + 0, 0, 0, 0, 516, 0, 0, 0, 0, 877, + 0, 624, 650, 0, 0, 0, 0, 0, 624, 0, + 656, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 345, 381, 670, 0, 0, 678, 0, 677, 674, + 675, 689, 25, 231, 0, 0, 0, 28, 863, 171, + 0, 0, 0, 0, 0, 242, 37, 863, 45, 863, + 45, 38, 23, 240, 230, 233, 0, 53, 0, 387, + 279, 0, 0, 271, 268, 388, 0, 0, 0, 57, + 75, 702, 76, 95, 118, 119, 121, 114, 132, 0, + 160, 0, 0, 733, 0, 0, 0, 265, 331, 0, + 313, 314, 315, 316, 710, 347, 0, 0, 0, 0, + 0, 0, 375, 375, 375, 373, 354, 368, 0, 367, + 355, -2, 356, 0, 389, 391, 399, 0, 0, -2, + 0, 0, 0, 515, -2, 498, 501, 503, 505, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 628, 629, 0, -2, 0, 0, 327, 328, 328, 328, + 561, 0, 0, 0, 0, 0, 0, 0, 661, 0, + 0, 562, 0, 0, 0, 0, 0, 576, 0, 577, + 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 518, 519, 520, 0, - 0, 579, 648, 649, 0, 0, 0, 0, 0, 0, - 584, 0, 655, 0, 0, 0, 588, 589, 590, 0, - 410, 0, 426, 438, 347, 0, 0, 0, 0, 0, - 169, 184, 0, 0, 0, 0, 30, 0, 0, 0, - 0, 34, 0, 40, 0, 0, 0, 0, 278, 266, - 277, 0, 279, 282, 285, 0, 92, 165, 0, 0, - 163, 0, 0, 312, 596, 0, 0, 353, 0, 0, - 0, 0, 0, 370, 374, 371, 372, 365, 0, 358, - 0, 0, 0, 467, -2, 0, 0, 0, 0, -2, - 0, 626, 0, 0, 658, 0, 619, 0, -2, 625, - 632, 556, 0, 0, 0, 0, 454, 455, 456, 457, - 458, 459, 460, 0, 714, 659, 663, 0, 600, 601, - 605, 0, 0, 566, 0, 633, 642, 643, 517, 521, - 522, 523, 524, 525, 526, 527, 528, 529, -2, -2, - -2, 533, 534, 535, -2, -2, -2, 0, 0, 0, - 644, 0, 0, 622, 646, 647, 652, 653, 0, 581, - 582, 583, 654, 0, 0, 0, 432, 0, 596, 671, - 235, 237, 27, 0, 170, 0, 173, 0, 0, 176, - 177, 0, 0, 0, 0, 186, 193, 0, 0, 0, - 42, 0, 0, 241, 0, 45, 45, 232, 0, 0, - 234, 0, 0, 0, 270, 280, 0, 0, 220, 226, - 226, 0, 564, 565, 0, 0, 0, 0, 0, 300, - 0, 346, 344, 359, 0, 361, 0, 0, 0, 363, - 0, 0, 357, 392, 0, 0, 400, 0, 0, -2, - 0, 508, 0, -2, -2, 618, 625, 711, 328, 557, - 559, 560, 463, 662, 607, 604, 0, 591, 575, 641, - 0, 0, 0, 0, 625, 621, 580, 0, 586, 587, - 411, 301, 29, 0, 174, 175, 178, 0, 180, 195, - 187, 0, 190, 191, 188, 0, 31, 32, 41, 47, - 33, 39, 0, 0, 0, 0, 0, 286, 287, 0, - 193, 0, 229, 706, 0, 229, 0, 0, 0, 161, - 193, 0, 595, 597, 0, 360, 0, 377, 362, 0, - 366, 393, 390, -2, -2, 509, 627, 620, 0, 328, - 0, 593, -2, 0, 0, 0, 623, 0, 172, 0, - 199, 0, 0, 0, 49, 0, 236, 238, 0, 273, - 388, 276, 182, 221, 222, 225, 223, 226, 328, 193, - 216, 0, 0, 0, 0, 364, 558, 610, 0, -2, - 0, 541, 585, 179, 204, 0, 0, 0, 195, 35, - 0, 46, 0, 275, 229, 0, 183, 0, 598, 599, - 376, 0, 0, 0, 606, 542, 181, 200, 201, 0, - 196, 197, 198, 194, 192, 199, 48, 388, 224, 556, - 193, 603, 608, 611, -2, 824, 752, 0, 609, 202, - 0, 203, 0, 0, 0, 204, 272, 217, 0, 613, - 614, 615, 616, 617, 205, 0, 208, 209, 0, 206, - 189, 0, 207, 210, 211, 612, + 0, 0, 0, 0, 518, 519, 520, 0, 0, 579, + 648, 649, 0, 0, 0, 0, 0, 0, 584, 0, + 655, 0, 0, 0, 588, 589, 590, 0, 410, 0, + 426, 438, 347, 0, 0, 681, 0, 0, 0, 0, + 0, 169, 184, 0, 0, 0, 0, 30, 0, 0, + 0, 0, 34, 0, 40, 0, 0, 0, 0, 278, + 266, 277, 0, 279, 282, 285, 0, 92, 165, 0, + 0, 163, 0, 0, 312, 596, 0, 0, 353, 0, + 0, 0, 0, 0, 370, 374, 371, 372, 365, 0, + 358, 0, 0, 0, 467, -2, 0, 0, 0, 0, + -2, 0, 626, 0, 0, 658, 0, 619, 0, -2, + 625, 632, 556, 0, 0, 0, 0, 454, 455, 456, + 457, 458, 459, 460, 0, 722, 659, 663, 0, 600, + 601, 605, 0, 0, 566, 0, 633, 642, 643, 517, + 521, 522, 523, 524, 525, 526, 527, 528, 529, -2, + -2, -2, 533, 534, 535, -2, -2, -2, 0, 0, + 0, 644, 0, 0, 622, 646, 647, 652, 653, 0, + 581, 582, 583, 654, 0, 0, 0, 432, 0, 596, + 671, 679, 676, 235, 237, 27, 0, 170, 0, 173, + 0, 0, 176, 177, 0, 0, 0, 0, 186, 193, + 0, 0, 0, 42, 0, 0, 241, 0, 45, 45, + 232, 0, 0, 234, 0, 0, 0, 270, 280, 0, + 0, 220, 226, 226, 0, 564, 565, 0, 0, 0, + 0, 0, 300, 0, 346, 344, 359, 0, 361, 0, + 0, 0, 363, 0, 0, 357, 392, 0, 0, 400, + 0, 0, -2, 0, 508, 0, -2, -2, 618, 625, + 719, 328, 557, 559, 560, 463, 662, 607, 604, 0, + 591, 575, 641, 0, 0, 0, 0, 625, 621, 580, + 0, 586, 587, 411, 301, 29, 0, 174, 175, 178, + 0, 180, 195, 187, 0, 190, 191, 188, 0, 31, + 32, 41, 47, 33, 39, 0, 0, 0, 0, 0, + 286, 287, 0, 193, 0, 229, 714, 0, 229, 0, + 0, 0, 161, 193, 0, 595, 597, 0, 360, 0, + 377, 362, 0, 366, 393, 390, -2, -2, 509, 627, + 620, 0, 328, 0, 593, -2, 0, 0, 0, 623, + 0, 172, 0, 199, 0, 0, 0, 49, 0, 236, + 238, 0, 273, 388, 276, 182, 221, 222, 225, 223, + 226, 328, 193, 216, 0, 0, 0, 0, 364, 558, + 610, 0, -2, 0, 541, 585, 179, 204, 0, 0, + 0, 195, 35, 0, 46, 0, 275, 229, 0, 183, + 0, 598, 599, 376, 0, 0, 0, 606, 542, 181, + 200, 201, 0, 196, 197, 198, 194, 192, 199, 48, + 388, 224, 556, 193, 603, 608, 611, -2, 832, 760, + 0, 609, 202, 0, 203, 0, 0, 0, 204, 272, + 217, 0, 613, 614, 615, 616, 617, 205, 0, 208, + 209, 0, 206, 189, 0, 207, 210, 211, 612, } var sqlTok1 = [...]int{ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 260, 3, 266, 261, 3, - 271, 272, 264, 262, 275, 263, 273, 265, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 277, 274, - 254, 256, 255, 3, 276, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 262, 3, 268, 263, 3, + 273, 274, 266, 264, 277, 265, 275, 267, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 278, 276, + 256, 258, 257, 3, 279, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 269, 3, 270, 259, 3, 3, 3, 3, 3, + 3, 271, 3, 272, 261, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 258, 3, 268, + 3, 3, 3, 280, 260, 281, 270, } var sqlTok2 = [...]int{ @@ -3834,7 +3878,7 @@ var sqlTok2 = [...]int{ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 257, 267, + 252, 253, 254, 255, 259, 269, } var sqlTok3 = [...]int{ 0, @@ -4179,13 +4223,13 @@ sqldefault: case 1: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:632 + //line sql.y:638 { sqllex.(*scanner).stmts = sqlDollar[1].union.stmts() } case 2: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:638 + //line sql.y:644 { if sqlDollar[3].union.stmt() != nil { sqlVAL.union.val = append(sqlDollar[1].union.stmts(), sqlDollar[3].union.stmt()) @@ -4193,7 +4237,7 @@ sqldefault: } case 3: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:644 + //line sql.y:650 { if sqlDollar[1].union.stmt() != nil { sqlVAL.union.val = []Statement{sqlDollar[1].union.stmt()} @@ -4203,596 +4247,596 @@ sqldefault: } case 14: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:664 + //line sql.y:670 { sqlVAL.union.val = sqlDollar[1].union.slct() } case 21: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:674 + //line sql.y:680 { sqlVAL.union.val = Statement(nil) } case 22: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:680 + //line sql.y:686 { sqlVAL.union.val = &AlterTable{Table: sqlDollar[3].union.qname(), IfExists: false, Cmds: sqlDollar[4].union.alterTableCmds()} } case 23: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:684 + //line sql.y:690 { sqlVAL.union.val = &AlterTable{Table: sqlDollar[5].union.qname(), IfExists: true, Cmds: sqlDollar[6].union.alterTableCmds()} } case 24: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:690 + //line sql.y:696 { sqlVAL.union.val = AlterTableCmds{sqlDollar[1].union.alterTableCmd()} } case 25: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:694 + //line sql.y:700 { sqlVAL.union.val = append(sqlDollar[1].union.alterTableCmds(), sqlDollar[3].union.alterTableCmd()) } case 26: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:701 + //line sql.y:707 { sqlVAL.union.val = &AlterTableAddColumn{columnKeyword: false, IfNotExists: false, ColumnDef: sqlDollar[2].union.colDef()} } case 27: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:706 + //line sql.y:712 { sqlVAL.union.val = &AlterTableAddColumn{columnKeyword: false, IfNotExists: true, ColumnDef: sqlDollar[5].union.colDef()} } case 28: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:711 + //line sql.y:717 { sqlVAL.union.val = &AlterTableAddColumn{columnKeyword: true, IfNotExists: false, ColumnDef: sqlDollar[3].union.colDef()} } case 29: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:716 + //line sql.y:722 { sqlVAL.union.val = &AlterTableAddColumn{columnKeyword: true, IfNotExists: true, ColumnDef: sqlDollar[6].union.colDef()} } case 30: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:720 + //line sql.y:726 { unimplemented() } case 31: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:722 + //line sql.y:728 { unimplemented() } case 32: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:724 + //line sql.y:730 { unimplemented() } case 33: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:727 + //line sql.y:733 { sqlVAL.union.val = &AlterTableDropColumn{columnKeyword: sqlDollar[2].union.bool(), IfExists: true, Column: sqlDollar[5].str} } case 34: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:732 + //line sql.y:738 { sqlVAL.union.val = &AlterTableDropColumn{columnKeyword: sqlDollar[2].union.bool(), IfExists: false, Column: sqlDollar[3].str} } case 35: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:737 + //line sql.y:743 { } case 36: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:740 + //line sql.y:746 { sqlVAL.union.val = &AlterTableAddConstraint{ConstraintDef: sqlDollar[2].union.constraintDef()} } case 37: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:744 + //line sql.y:750 { unimplemented() } case 38: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:746 + //line sql.y:752 { unimplemented() } case 39: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:749 + //line sql.y:755 { sqlVAL.union.val = &AlterTableDropConstraint{IfExists: true, Constraint: sqlDollar[5].str} } case 40: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:754 + //line sql.y:760 { sqlVAL.union.val = &AlterTableDropConstraint{IfExists: false, Constraint: sqlDollar[3].str} } case 41: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:759 + //line sql.y:765 { unimplemented() } case 42: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:760 + //line sql.y:766 { unimplemented() } case 43: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:763 + //line sql.y:769 { unimplemented() } case 44: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:764 + //line sql.y:770 { unimplemented() } case 45: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:765 + //line sql.y:771 { } case 46: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:768 + //line sql.y:774 { unimplemented() } case 47: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:769 + //line sql.y:775 { } case 48: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:772 + //line sql.y:778 { unimplemented() } case 49: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:773 + //line sql.y:779 { } case 53: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:784 + //line sql.y:790 { sqlVAL.union.val = &Delete{Table: sqlDollar[4].union.tblExpr(), Where: newWhere(astWhere, sqlDollar[5].union.expr()), Returning: sqlDollar[6].union.retExprs()} } case 54: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:791 + //line sql.y:797 { sqlVAL.union.val = &DropDatabase{Name: Name(sqlDollar[3].str), IfExists: false} } case 55: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:795 + //line sql.y:801 { sqlVAL.union.val = &DropDatabase{Name: Name(sqlDollar[5].str), IfExists: true} } case 56: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:799 + //line sql.y:805 { sqlVAL.union.val = &DropIndex{Names: sqlDollar[3].union.qnames(), IfExists: false} } case 57: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:803 + //line sql.y:809 { sqlVAL.union.val = &DropIndex{Names: sqlDollar[5].union.qnames(), IfExists: true} } case 58: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:807 + //line sql.y:813 { sqlVAL.union.val = &DropTable{Names: sqlDollar[3].union.qnames(), IfExists: false} } case 59: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:811 + //line sql.y:817 { sqlVAL.union.val = &DropTable{Names: sqlDollar[5].union.qnames(), IfExists: true} } case 60: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:817 + //line sql.y:823 { sqlVAL.union.val = QualifiedNames{sqlDollar[1].union.qname()} } case 61: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:821 + //line sql.y:827 { sqlVAL.union.val = append(sqlDollar[1].union.qnames(), sqlDollar[3].union.qname()) } case 62: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:827 + //line sql.y:833 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str)} } case 63: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:831 + //line sql.y:837 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str), Indirect: sqlDollar[2].union.indirect()} } case 64: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:837 + //line sql.y:843 { sqlVAL.union.val = Indirection{NameIndirection(sqlDollar[2].str)} } case 65: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:841 + //line sql.y:847 { sqlVAL.union.val = append(sqlDollar[1].union.indirect(), NameIndirection(sqlDollar[3].str)) } case 66: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:848 + //line sql.y:854 { sqlVAL.union.val = &Explain{Statement: sqlDollar[2].union.stmt()} } case 67: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:852 + //line sql.y:858 { sqlVAL.union.val = &Explain{Options: sqlDollar[3].union.strs(), Statement: sqlDollar[5].union.stmt()} } case 68: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:858 + //line sql.y:864 { sqlVAL.union.val = sqlDollar[1].union.slct() } case 72: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:867 + //line sql.y:873 { sqlVAL.union.val = []string{sqlDollar[1].str} } case 73: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:871 + //line sql.y:877 { sqlVAL.union.val = append(sqlDollar[1].union.strs(), sqlDollar[3].str) } case 75: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:881 + //line sql.y:887 { sqlVAL.union.val = &Grant{Privileges: sqlDollar[2].union.privilegeList(), Grantees: NameList(sqlDollar[6].union.strs()), Targets: sqlDollar[4].union.targetList()} } case 76: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:888 + //line sql.y:894 { sqlVAL.union.val = &Revoke{Privileges: sqlDollar[2].union.privilegeList(), Grantees: NameList(sqlDollar[6].union.strs()), Targets: sqlDollar[4].union.targetList()} } case 77: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:895 + //line sql.y:901 { sqlVAL.union.val = TargetList{Tables: QualifiedNames(sqlDollar[1].union.qnames())} } case 78: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:899 + //line sql.y:905 { sqlVAL.union.val = TargetList{Tables: QualifiedNames(sqlDollar[2].union.qnames())} } case 79: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:903 + //line sql.y:909 { sqlVAL.union.val = TargetList{Databases: NameList(sqlDollar[2].union.strs())} } case 80: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:910 + //line sql.y:916 { sqlVAL.union.val = privilege.List{privilege.ALL} } case 81: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:913 + //line sql.y:919 { } case 82: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:917 + //line sql.y:923 { sqlVAL.union.val = privilege.List{sqlDollar[1].union.privilegeType()} } case 83: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:921 + //line sql.y:927 { sqlVAL.union.val = append(sqlDollar[1].union.privilegeList(), sqlDollar[3].union.privilegeType()) } case 84: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:928 + //line sql.y:934 { sqlVAL.union.val = privilege.CREATE } case 85: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:932 + //line sql.y:938 { sqlVAL.union.val = privilege.DROP } case 86: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:936 + //line sql.y:942 { sqlVAL.union.val = privilege.GRANT } case 87: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:940 + //line sql.y:946 { sqlVAL.union.val = privilege.SELECT } case 88: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:944 + //line sql.y:950 { sqlVAL.union.val = privilege.INSERT } case 89: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:948 + //line sql.y:954 { sqlVAL.union.val = privilege.DELETE } case 90: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:952 + //line sql.y:958 { sqlVAL.union.val = privilege.UPDATE } case 91: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:960 + //line sql.y:966 { sqlVAL.union.val = []string{sqlDollar[1].str} } case 92: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:964 + //line sql.y:970 { sqlVAL.union.val = append(sqlDollar[1].union.strs(), sqlDollar[3].str) } case 93: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:972 + //line sql.y:978 { sqlVAL.union.val = sqlDollar[2].union.stmt() } case 94: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:976 + //line sql.y:982 { sqlVAL.union.val = sqlDollar[3].union.stmt() } case 95: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:980 + //line sql.y:986 { sqlVAL.union.val = &SetDefaultIsolation{Isolation: sqlDollar[6].union.isoLevel()} } case 96: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:984 + //line sql.y:990 { sqlVAL.union.val = sqlDollar[3].union.stmt() } case 97: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:990 + //line sql.y:996 { sqlVAL.union.val = sqlDollar[2].union.stmt() } case 99: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:997 + //line sql.y:1003 { sqlVAL.union.val = &SetTransaction{Isolation: sqlDollar[1].union.isoLevel(), UserPriority: UnspecifiedUserPriority} } case 100: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1001 + //line sql.y:1007 { sqlVAL.union.val = &SetTransaction{Isolation: UnspecifiedIsolation, UserPriority: sqlDollar[1].union.userPriority()} } case 101: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1005 + //line sql.y:1011 { sqlVAL.union.val = &SetTransaction{Isolation: sqlDollar[1].union.isoLevel(), UserPriority: sqlDollar[3].union.userPriority()} } case 102: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1009 + //line sql.y:1015 { sqlVAL.union.val = &SetTransaction{Isolation: sqlDollar[3].union.isoLevel(), UserPriority: sqlDollar[1].union.userPriority()} } case 103: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1016 + //line sql.y:1022 { sqlVAL.union.val = sqlDollar[2].union.userPriority() } case 104: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1022 + //line sql.y:1028 { sqlVAL.union.val = &Set{Name: sqlDollar[1].union.qname(), Values: sqlDollar[3].union.exprs()} } case 105: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1026 + //line sql.y:1032 { sqlVAL.union.val = &Set{Name: sqlDollar[1].union.qname(), Values: sqlDollar[3].union.exprs()} } case 106: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1030 + //line sql.y:1036 { sqlVAL.union.val = &Set{Name: sqlDollar[1].union.qname()} } case 107: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1034 + //line sql.y:1040 { sqlVAL.union.val = &Set{Name: sqlDollar[1].union.qname()} } case 109: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1041 + //line sql.y:1047 { unimplemented() } case 110: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1044 + //line sql.y:1050 { sqlVAL.union.val = &SetTimeZone{Value: sqlDollar[3].union.expr()} } case 111: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1047 + //line sql.y:1053 { unimplemented() } case 113: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1054 + //line sql.y:1060 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr()} } case 114: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1058 + //line sql.y:1064 { sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) } case 117: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1066 + //line sql.y:1072 { sqlVAL.union.val = ValArg{name: sqlDollar[1].str} } case 118: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1072 + //line sql.y:1078 { sqlVAL.union.val = SnapshotIsolation } case 119: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1076 + //line sql.y:1082 { sqlVAL.union.val = SnapshotIsolation } case 120: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1080 + //line sql.y:1086 { sqlVAL.union.val = SnapshotIsolation } case 121: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1084 + //line sql.y:1090 { sqlVAL.union.val = SerializableIsolation } case 122: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1088 + //line sql.y:1094 { sqlVAL.union.val = SerializableIsolation } case 123: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1094 + //line sql.y:1100 { sqlVAL.union.val = Low } case 124: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1098 + //line sql.y:1104 { sqlVAL.union.val = Normal } case 125: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1102 + //line sql.y:1108 { sqlVAL.union.val = High } case 126: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1108 + //line sql.y:1114 { sqlVAL.union.val = DBool(true) } case 127: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1112 + //line sql.y:1118 { sqlVAL.union.val = DBool(false) } case 128: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1116 + //line sql.y:1122 { sqlVAL.union.val = DString(sqlDollar[1].str) } case 130: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1131 + //line sql.y:1137 { sqlVAL.union.val = DString(sqlDollar[1].str) } case 131: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1135 + //line sql.y:1141 { sqlVAL.union.val = DString(sqlDollar[1].str) } case 132: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1139 + //line sql.y:1145 { expr := &CastExpr{Expr: DString(sqlDollar[2].str), Type: sqlDollar[1].union.colType()} var ctx EvalContext @@ -4808,265 +4852,265 @@ sqldefault: } case 134: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1154 + //line sql.y:1160 { sqlVAL.union.val = DString(sqlDollar[1].str) } case 135: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1158 + //line sql.y:1164 { sqlVAL.union.val = DString(sqlDollar[1].str) } case 136: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1163 + //line sql.y:1169 { unimplemented() } case 137: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1164 + //line sql.y:1170 { unimplemented() } case 138: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1165 + //line sql.y:1171 { } case 139: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1169 + //line sql.y:1175 { sqlVAL.union.val = DString(sqlDollar[1].str) } case 140: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1173 + //line sql.y:1179 { sqlVAL.union.val = DString(sqlDollar[1].str) } case 141: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1179 + //line sql.y:1185 { sqlVAL.union.val = &Show{Name: sqlDollar[2].str} } case 142: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1183 + //line sql.y:1189 { sqlVAL.union.val = &Show{Name: sqlDollar[2].str} } case 143: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1187 + //line sql.y:1193 { sqlVAL.union.val = &ShowColumns{Table: sqlDollar[4].union.qname()} } case 144: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1191 + //line sql.y:1197 { sqlVAL.union.val = &ShowDatabases{} } case 145: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1195 + //line sql.y:1201 { sqlVAL.union.val = &ShowGrants{Targets: sqlDollar[3].union.targetListPtr(), Grantees: sqlDollar[4].union.strs()} } case 146: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1199 + //line sql.y:1205 { sqlVAL.union.val = &ShowIndex{Table: sqlDollar[4].union.qname()} } case 147: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1203 + //line sql.y:1209 { sqlVAL.union.val = &ShowIndex{Table: sqlDollar[4].union.qname()} } case 148: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1207 + //line sql.y:1213 { sqlVAL.union.val = &ShowIndex{Table: sqlDollar[4].union.qname()} } case 149: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1211 + //line sql.y:1217 { sqlVAL.union.val = &ShowTables{Name: sqlDollar[3].union.qname()} } case 150: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1215 + //line sql.y:1221 { sqlVAL.union.val = &Show{Name: "TIME ZONE"} } case 151: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1219 + //line sql.y:1225 { sqlVAL.union.val = &Show{Name: "TRANSACTION ISOLATION LEVEL"} } case 152: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1223 + //line sql.y:1229 { sqlVAL.union.val = &Show{Name: "TRANSACTION PRIORITY"} } case 153: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1227 + //line sql.y:1233 { sqlVAL.union.val = Statement(nil) } case 154: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1233 + //line sql.y:1239 { sqlVAL.union.val = sqlDollar[2].union.qname() } case 155: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1237 + //line sql.y:1243 { sqlVAL.union.val = (*QualifiedName)(nil) } case 156: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1243 + //line sql.y:1249 { tmp := sqlDollar[2].union.targetList() sqlVAL.union.val = &tmp } case 157: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1248 + //line sql.y:1254 { sqlVAL.union.val = (*TargetList)(nil) } case 158: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1254 + //line sql.y:1260 { sqlVAL.union.val = sqlDollar[2].union.strs() } case 159: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1258 + //line sql.y:1264 { sqlVAL.union.val = []string(nil) } case 160: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:1265 + //line sql.y:1271 { sqlVAL.union.val = &CreateTable{Table: sqlDollar[3].union.qname(), IfNotExists: false, Defs: sqlDollar[5].union.tblDefs()} } case 161: sqlDollar = sqlS[sqlpt-9 : sqlpt+1] - //line sql.y:1269 + //line sql.y:1275 { sqlVAL.union.val = &CreateTable{Table: sqlDollar[6].union.qname(), IfNotExists: true, Defs: sqlDollar[8].union.tblDefs()} } case 163: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1276 + //line sql.y:1282 { sqlVAL.union.val = TableDefs(nil) } case 164: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1282 + //line sql.y:1288 { sqlVAL.union.val = TableDefs{sqlDollar[1].union.tblDef()} } case 165: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1286 + //line sql.y:1292 { sqlVAL.union.val = append(sqlDollar[1].union.tblDefs(), sqlDollar[3].union.tblDef()) } case 166: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1292 + //line sql.y:1298 { sqlVAL.union.val = sqlDollar[1].union.colDef() } case 168: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1297 + //line sql.y:1303 { sqlVAL.union.val = sqlDollar[1].union.constraintDef() } case 169: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1303 + //line sql.y:1309 { sqlVAL.union.val = newColumnTableDef(Name(sqlDollar[1].str), sqlDollar[2].union.colType(), sqlDollar[3].union.colQuals()) } case 170: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1309 + //line sql.y:1315 { sqlVAL.union.val = append(sqlDollar[1].union.colQuals(), sqlDollar[2].union.colQual()) } case 171: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1313 + //line sql.y:1319 { sqlVAL.union.val = []ColumnQualification(nil) } case 172: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1319 + //line sql.y:1325 { sqlVAL.union.val = sqlDollar[3].union.colQual() } case 174: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1323 + //line sql.y:1329 { unimplemented() } case 175: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1339 + //line sql.y:1345 { sqlVAL.union.val = NotNullConstraint{} } case 176: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1343 + //line sql.y:1349 { sqlVAL.union.val = NullConstraint{} } case 177: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1347 + //line sql.y:1353 { sqlVAL.union.val = UniqueConstraint{} } case 178: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1351 + //line sql.y:1357 { sqlVAL.union.val = PrimaryKeyConstraint{} } case 179: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1354 + //line sql.y:1360 { unimplemented() } case 180: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1356 + //line sql.y:1362 { if ContainsVars(sqlDollar[2].union.expr()) { sqllex.Error("default expression contains a variable") @@ -5080,13 +5124,13 @@ sqldefault: } case 181: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:1367 + //line sql.y:1373 { unimplemented() } case 182: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:1371 + //line sql.y:1377 { sqlVAL.union.val = &IndexTableDef{ Name: Name(sqlDollar[2].str), @@ -5096,7 +5140,7 @@ sqldefault: } case 183: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] - //line sql.y:1379 + //line sql.y:1385 { sqlVAL.union.val = &UniqueConstraintTableDef{ IndexTableDef: IndexTableDef{ @@ -5108,26 +5152,26 @@ sqldefault: } case 184: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1394 + //line sql.y:1400 { sqlVAL.union.val = sqlDollar[3].union.constraintDef() sqlVAL.union.val.(ConstraintTableDef).setName(Name(sqlDollar[2].str)) } case 185: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1399 + //line sql.y:1405 { sqlVAL.union.val = sqlDollar[1].union.constraintDef() } case 186: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1404 + //line sql.y:1410 { unimplemented() } case 187: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:1406 + //line sql.y:1412 { sqlVAL.union.val = &UniqueConstraintTableDef{ IndexTableDef: IndexTableDef{ @@ -5138,7 +5182,7 @@ sqldefault: } case 188: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:1415 + //line sql.y:1421 { sqlVAL.union.val = &UniqueConstraintTableDef{ IndexTableDef: IndexTableDef{ @@ -5149,155 +5193,155 @@ sqldefault: } case 189: sqlDollar = sqlS[sqlpt-10 : sqlpt+1] - //line sql.y:1424 + //line sql.y:1430 { unimplemented() } case 192: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1441 + //line sql.y:1447 { sqlVAL.union.val = sqlDollar[3].union.strs() } case 193: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1445 + //line sql.y:1451 { sqlVAL.union.val = []string(nil) } case 194: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1451 + //line sql.y:1457 { sqlVAL.union.val = sqlDollar[2].union.strs() } case 195: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1455 + //line sql.y:1461 { sqlVAL.union.val = []string(nil) } case 196: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1460 + //line sql.y:1466 { unimplemented() } case 197: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1461 + //line sql.y:1467 { unimplemented() } case 198: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1462 + //line sql.y:1468 { unimplemented() } case 199: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1463 + //line sql.y:1469 { } case 200: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1470 + //line sql.y:1476 { unimplemented() } case 201: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1471 + //line sql.y:1477 { unimplemented() } case 202: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1472 + //line sql.y:1478 { unimplemented() } case 203: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1473 + //line sql.y:1479 { unimplemented() } case 204: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1474 + //line sql.y:1480 { } case 205: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1477 + //line sql.y:1483 { unimplemented() } case 206: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1480 + //line sql.y:1486 { unimplemented() } case 207: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1483 + //line sql.y:1489 { unimplemented() } case 208: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1484 + //line sql.y:1490 { unimplemented() } case 209: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1485 + //line sql.y:1491 { unimplemented() } case 210: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1486 + //line sql.y:1492 { unimplemented() } case 211: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1487 + //line sql.y:1493 { unimplemented() } case 212: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1491 + //line sql.y:1497 { sqlVAL.union.val = NumVal(sqlDollar[1].str) } case 213: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1495 + //line sql.y:1501 { sqlVAL.union.val = NumVal("-" + sqlDollar[2].str) } case 214: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1499 + //line sql.y:1505 { sqlVAL.union.val = DInt(sqlDollar[1].union.ival().Val) } case 215: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1506 + //line sql.y:1512 { sqlVAL.union.val = &Truncate{Tables: sqlDollar[3].union.qnames()} } case 216: sqlDollar = sqlS[sqlpt-10 : sqlpt+1] - //line sql.y:1513 + //line sql.y:1519 { sqlVAL.union.val = &CreateIndex{ Name: Name(sqlDollar[4].str), @@ -5309,7 +5353,7 @@ sqldefault: } case 217: sqlDollar = sqlS[sqlpt-13 : sqlpt+1] - //line sql.y:1523 + //line sql.y:1529 { sqlVAL.union.val = &CreateIndex{ Name: Name(sqlDollar[7].str), @@ -5322,190 +5366,190 @@ sqldefault: } case 218: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1536 + //line sql.y:1542 { sqlVAL.union.val = true } case 219: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1540 + //line sql.y:1546 { sqlVAL.union.val = false } case 220: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1546 + //line sql.y:1552 { sqlVAL.union.val = IndexElemList{sqlDollar[1].union.idxElem()} } case 221: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1550 + //line sql.y:1556 { sqlVAL.union.val = append(sqlDollar[1].union.idxElems(), sqlDollar[3].union.idxElem()) } case 222: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1559 + //line sql.y:1565 { sqlVAL.union.val = IndexElem{Column: Name(sqlDollar[1].str), Direction: sqlDollar[3].union.dir()} } case 223: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1562 + //line sql.y:1568 { unimplemented() } case 224: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:1563 + //line sql.y:1569 { unimplemented() } case 225: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1566 + //line sql.y:1572 { unimplemented() } case 226: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1567 + //line sql.y:1573 { } case 227: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1571 + //line sql.y:1577 { sqlVAL.union.val = Ascending } case 228: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1575 + //line sql.y:1581 { sqlVAL.union.val = Descending } case 229: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1579 + //line sql.y:1585 { sqlVAL.union.val = DefaultDirection } case 230: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:1586 + //line sql.y:1592 { sqlVAL.union.val = &RenameDatabase{Name: Name(sqlDollar[3].str), NewName: Name(sqlDollar[6].str)} } case 231: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:1590 + //line sql.y:1596 { sqlVAL.union.val = &RenameTable{Name: sqlDollar[3].union.qname(), NewName: sqlDollar[6].union.qname(), IfExists: false} } case 232: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1594 + //line sql.y:1600 { sqlVAL.union.val = &RenameTable{Name: sqlDollar[5].union.qname(), NewName: sqlDollar[8].union.qname(), IfExists: true} } case 233: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:1598 + //line sql.y:1604 { sqlVAL.union.val = &RenameIndex{Name: sqlDollar[3].union.qname(), NewName: Name(sqlDollar[6].str), IfExists: false} } case 234: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1602 + //line sql.y:1608 { sqlVAL.union.val = &RenameIndex{Name: sqlDollar[5].union.qname(), NewName: Name(sqlDollar[8].str), IfExists: true} } case 235: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1606 + //line sql.y:1612 { sqlVAL.union.val = &RenameColumn{Table: sqlDollar[3].union.qname(), Name: Name(sqlDollar[6].str), NewName: Name(sqlDollar[8].str), IfExists: false} } case 236: sqlDollar = sqlS[sqlpt-10 : sqlpt+1] - //line sql.y:1610 + //line sql.y:1616 { sqlVAL.union.val = &RenameColumn{Table: sqlDollar[5].union.qname(), Name: Name(sqlDollar[8].str), NewName: Name(sqlDollar[10].str), IfExists: true} } case 237: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1614 + //line sql.y:1620 { sqlVAL.union.val = Statement(nil) } case 238: sqlDollar = sqlS[sqlpt-10 : sqlpt+1] - //line sql.y:1618 + //line sql.y:1624 { sqlVAL.union.val = Statement(nil) } case 239: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1624 + //line sql.y:1630 { sqlVAL.union.val = true } case 240: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1628 + //line sql.y:1634 { sqlVAL.union.val = false } case 241: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1633 + //line sql.y:1639 { } case 242: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1634 + //line sql.y:1640 { } case 243: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1638 + //line sql.y:1644 { sqlVAL.union.val = &ReleaseSavepoint{Savepoint: sqlDollar[2].str} } case 244: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1644 + //line sql.y:1650 { sqlVAL.union.val = &Savepoint{Name: sqlDollar[2].str} } case 245: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1651 + //line sql.y:1657 { sqlVAL.union.val = sqlDollar[3].union.stmt() } case 246: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1655 + //line sql.y:1661 { sqlVAL.union.val = sqlDollar[3].union.stmt() } case 247: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1659 + //line sql.y:1665 { sqlVAL.union.val = &CommitTransaction{} } case 248: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1663 + //line sql.y:1669 { sqlVAL.union.val = &CommitTransaction{} } case 249: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1667 + //line sql.y:1673 { if sqlDollar[2].str != "" { sqlVAL.union.val = &RollbackToSavepoint{Savepoint: sqlDollar[2].str} @@ -5515,101 +5559,101 @@ sqldefault: } case 250: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1676 + //line sql.y:1682 { } case 251: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1677 + //line sql.y:1683 { } case 252: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1681 + //line sql.y:1687 { sqlVAL.str = "" } case 253: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1685 + //line sql.y:1691 { sqlVAL.str = sqlDollar[3].str } case 254: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1689 + //line sql.y:1695 { sqlVAL.str = sqlDollar[2].str } case 255: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1693 + //line sql.y:1699 { sqlVAL.str = "" } case 256: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1699 + //line sql.y:1705 { sqlVAL.str = sqlDollar[2].str } case 257: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1703 + //line sql.y:1709 { sqlVAL.str = sqlDollar[1].str } case 258: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1709 + //line sql.y:1715 { sqlVAL.union.val = &BeginTransaction{Isolation: sqlDollar[1].union.isoLevel(), UserPriority: UnspecifiedUserPriority} } case 259: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1713 + //line sql.y:1719 { sqlVAL.union.val = &BeginTransaction{Isolation: UnspecifiedIsolation, UserPriority: sqlDollar[1].union.userPriority()} } case 260: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1717 + //line sql.y:1723 { sqlVAL.union.val = &BeginTransaction{Isolation: sqlDollar[1].union.isoLevel(), UserPriority: sqlDollar[3].union.userPriority()} } case 261: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1721 + //line sql.y:1727 { sqlVAL.union.val = &BeginTransaction{Isolation: sqlDollar[3].union.isoLevel(), UserPriority: sqlDollar[1].union.userPriority()} } case 262: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1725 + //line sql.y:1731 { sqlVAL.union.val = &BeginTransaction{Isolation: UnspecifiedIsolation, UserPriority: UnspecifiedUserPriority} } case 263: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1731 + //line sql.y:1737 { sqlVAL.union.val = sqlDollar[3].union.isoLevel() } case 264: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1737 + //line sql.y:1743 { sqlVAL.union.val = &CreateDatabase{Name: Name(sqlDollar[3].str)} } case 265: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:1741 + //line sql.y:1747 { sqlVAL.union.val = &CreateDatabase{IfNotExists: true, Name: Name(sqlDollar[6].str)} } case 266: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] - //line sql.y:1747 + //line sql.y:1753 { sqlVAL.union.val = sqlDollar[5].union.stmt() sqlVAL.union.val.(*Insert).Table = sqlDollar[4].union.qname() @@ -5617,161 +5661,161 @@ sqldefault: } case 269: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1764 + //line sql.y:1770 { sqlVAL.union.val = &Insert{Rows: sqlDollar[1].union.slct()} } case 270: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1768 + //line sql.y:1774 { sqlVAL.union.val = &Insert{Columns: sqlDollar[2].union.qnames(), Rows: sqlDollar[4].union.slct()} } case 271: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1772 + //line sql.y:1778 { sqlVAL.union.val = &Insert{Rows: &Select{}} } case 272: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1779 + //line sql.y:1785 { unimplemented() } case 273: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:1780 + //line sql.y:1786 { unimplemented() } case 274: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1781 + //line sql.y:1787 { } case 275: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1784 + //line sql.y:1790 { unimplemented() } case 276: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1785 + //line sql.y:1791 { unimplemented() } case 277: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1786 + //line sql.y:1792 { } case 278: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1790 + //line sql.y:1796 { sqlVAL.union.val = sqlDollar[2].union.selExprs() } case 279: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:1794 + //line sql.y:1800 { sqlVAL.union.val = SelectExprs(nil) } case 280: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1801 + //line sql.y:1807 { sqlVAL.union.val = &Update{Table: sqlDollar[3].union.tblExpr(), Exprs: sqlDollar[5].union.updateExprs(), Where: newWhere(astWhere, sqlDollar[7].union.expr()), Returning: sqlDollar[8].union.retExprs()} } case 281: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1807 + //line sql.y:1813 { sqlVAL.union.val = UpdateExprs{sqlDollar[1].union.updateExpr()} } case 282: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1811 + //line sql.y:1817 { sqlVAL.union.val = append(sqlDollar[1].union.updateExprs(), sqlDollar[3].union.updateExpr()) } case 285: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1821 + //line sql.y:1827 { sqlVAL.union.val = &UpdateExpr{Names: QualifiedNames{sqlDollar[1].union.qname()}, Expr: sqlDollar[3].union.expr()} } case 286: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:1833 + //line sql.y:1839 { sqlVAL.union.val = &UpdateExpr{Tuple: true, Names: sqlDollar[2].union.qnames(), Expr: &Tuple{sqlDollar[5].union.exprs()}} } case 287: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:1837 + //line sql.y:1843 { sqlVAL.union.val = &UpdateExpr{Tuple: true, Names: sqlDollar[2].union.qnames(), Expr: &Subquery{Select: sqlDollar[5].union.selectStmt()}} } case 289: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1881 + //line sql.y:1887 { sqlVAL.union.val = &Select{Select: sqlDollar[1].union.selectStmt()} } case 290: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1887 + //line sql.y:1893 { sqlVAL.union.val = &ParenSelect{Select: sqlDollar[2].union.slct()} } case 291: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1891 + //line sql.y:1897 { sqlVAL.union.val = &ParenSelect{Select: &Select{Select: sqlDollar[2].union.selectStmt()}} } case 292: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:1906 + //line sql.y:1912 { sqlVAL.union.val = &Select{Select: sqlDollar[1].union.selectStmt()} } case 293: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1910 + //line sql.y:1916 { sqlVAL.union.val = &Select{Select: sqlDollar[1].union.selectStmt(), OrderBy: sqlDollar[2].union.orderBy()} } case 294: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1914 + //line sql.y:1920 { sqlVAL.union.val = &Select{Select: sqlDollar[1].union.selectStmt(), OrderBy: sqlDollar[2].union.orderBy(), Limit: sqlDollar[3].union.limit()} } case 295: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1918 + //line sql.y:1924 { sqlVAL.union.val = &Select{Select: sqlDollar[2].union.selectStmt()} } case 296: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:1922 + //line sql.y:1928 { sqlVAL.union.val = &Select{Select: sqlDollar[2].union.selectStmt(), OrderBy: sqlDollar[3].union.orderBy()} } case 297: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1926 + //line sql.y:1932 { sqlVAL.union.val = &Select{Select: sqlDollar[2].union.selectStmt(), OrderBy: sqlDollar[3].union.orderBy(), Limit: sqlDollar[4].union.limit()} } case 300: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1960 + //line sql.y:1966 { sqlVAL.union.val = &SelectClause{ Exprs: sqlDollar[3].union.selExprs(), @@ -5783,7 +5827,7 @@ sqldefault: } case 301: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:1972 + //line sql.y:1978 { sqlVAL.union.val = &SelectClause{ Distinct: sqlDollar[2].union.bool(), @@ -5796,7 +5840,7 @@ sqldefault: } case 303: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:1984 + //line sql.y:1990 { sqlVAL.union.val = &SelectClause{ Exprs: SelectExprs{starSelectExpr()}, @@ -5806,7 +5850,7 @@ sqldefault: } case 304: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:1992 + //line sql.y:1998 { sqlVAL.union.val = &UnionClause{ Type: UnionOp, @@ -5817,7 +5861,7 @@ sqldefault: } case 305: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2001 + //line sql.y:2007 { sqlVAL.union.val = &UnionClause{ Type: IntersectOp, @@ -5828,7 +5872,7 @@ sqldefault: } case 306: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2010 + //line sql.y:2016 { sqlVAL.union.val = &UnionClause{ Type: ExceptOp, @@ -5839,140 +5883,140 @@ sqldefault: } case 307: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2028 + //line sql.y:2034 { unimplemented() } case 308: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2029 + //line sql.y:2035 { unimplemented() } case 309: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2030 + //line sql.y:2036 { unimplemented() } case 310: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2033 + //line sql.y:2039 { unimplemented() } case 311: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2034 + //line sql.y:2040 { unimplemented() } case 312: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:2037 + //line sql.y:2043 { unimplemented() } case 313: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2041 + //line sql.y:2047 { sqlVAL.union.val = sqlDollar[1].union.slct() } case 317: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2049 + //line sql.y:2055 { unimplemented() } case 318: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2050 + //line sql.y:2056 { } case 319: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2053 + //line sql.y:2059 { } case 320: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2054 + //line sql.y:2060 { } case 321: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2058 + //line sql.y:2064 { sqlVAL.union.val = true } case 322: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2062 + //line sql.y:2068 { sqlVAL.union.val = false } case 323: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2066 + //line sql.y:2072 { sqlVAL.union.val = false } case 324: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2072 + //line sql.y:2078 { sqlVAL.union.val = true } case 325: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2077 + //line sql.y:2083 { } case 326: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2078 + //line sql.y:2084 { } case 327: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2082 + //line sql.y:2088 { sqlVAL.union.val = sqlDollar[1].union.orderBy() } case 328: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2086 + //line sql.y:2092 { sqlVAL.union.val = OrderBy(nil) } case 329: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2092 + //line sql.y:2098 { sqlVAL.union.val = OrderBy(sqlDollar[3].union.orders()) } case 330: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2098 + //line sql.y:2104 { sqlVAL.union.val = []*Order{sqlDollar[1].union.order()} } case 331: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2102 + //line sql.y:2108 { sqlVAL.union.val = append(sqlDollar[1].union.orders(), sqlDollar[3].union.order()) } case 332: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2108 + //line sql.y:2114 { sqlVAL.union.val = &Order{Expr: sqlDollar[1].union.expr(), Direction: sqlDollar[2].union.dir()} } case 333: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2116 + //line sql.y:2122 { if sqlDollar[1].union.limit() == nil { sqlVAL.union.val = sqlDollar[2].union.limit() @@ -5983,7 +6027,7 @@ sqldefault: } case 334: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2125 + //line sql.y:2131 { sqlVAL.union.val = sqlDollar[1].union.limit() if sqlDollar[2].union.limit() != nil { @@ -5992,7 +6036,7 @@ sqldefault: } case 337: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2136 + //line sql.y:2142 { if sqlDollar[2].union.expr() == nil { sqlVAL.union.val = (*Limit)(nil) @@ -6002,65 +6046,65 @@ sqldefault: } case 338: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2149 + //line sql.y:2155 { sqlVAL.union.val = &Limit{Offset: sqlDollar[2].union.expr()} } case 339: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2156 + //line sql.y:2162 { sqlVAL.union.val = &Limit{Offset: sqlDollar[2].union.expr()} } case 341: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2163 + //line sql.y:2169 { sqlVAL.union.val = Expr(nil) } case 342: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2177 + //line sql.y:2183 { } case 343: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2178 + //line sql.y:2184 { } case 344: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2204 + //line sql.y:2210 { sqlVAL.union.val = GroupBy(sqlDollar[3].union.exprs()) } case 345: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2208 + //line sql.y:2214 { sqlVAL.union.val = GroupBy(nil) } case 346: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2214 + //line sql.y:2220 { sqlVAL.union.val = sqlDollar[2].union.expr() } case 347: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2218 + //line sql.y:2224 { sqlVAL.union.val = Expr(nil) } case 348: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2224 + //line sql.y:2230 { sqlVAL.union.val = &ValuesClause{[]*Tuple{{sqlDollar[2].union.exprs()}}} } case 349: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2228 + //line sql.y:2234 { valNode := sqlDollar[1].union.selectStmt().(*ValuesClause) valNode.Tuples = append(valNode.Tuples, &Tuple{sqlDollar[3].union.exprs()}) @@ -6068,2011 +6112,2054 @@ sqldefault: } case 350: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2240 + //line sql.y:2246 { sqlVAL.union.val = sqlDollar[2].union.tblExprs() } case 351: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2244 + //line sql.y:2250 { sqlVAL.union.val = TableExprs(nil) } case 352: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2250 + //line sql.y:2256 { sqlVAL.union.val = TableExprs{sqlDollar[1].union.tblExpr()} } case 353: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2254 + //line sql.y:2260 { sqlVAL.union.val = append(sqlDollar[1].union.tblExprs(), sqlDollar[3].union.tblExpr()) } case 354: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2261 + //line sql.y:2267 { sqlVAL.union.val = &AliasedTableExpr{Expr: sqlDollar[1].union.qname(), As: sqlDollar[2].union.aliasClause()} } case 355: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2265 + //line sql.y:2271 { sqlVAL.union.val = &AliasedTableExpr{Expr: &Subquery{Select: sqlDollar[1].union.selectStmt()}, As: sqlDollar[2].union.aliasClause()} } case 357: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2269 + //line sql.y:2275 { unimplemented() } case 358: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2287 + //line sql.y:2293 { sqlVAL.union.val = &ParenTableExpr{Expr: sqlDollar[2].union.tblExpr()} } case 359: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2291 + //line sql.y:2297 { sqlVAL.union.val = &JoinTableExpr{Join: astCrossJoin, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[4].union.tblExpr()} } case 360: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2295 + //line sql.y:2301 { sqlVAL.union.val = &JoinTableExpr{Join: sqlDollar[2].str, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[4].union.tblExpr(), Cond: sqlDollar[5].union.joinCond()} } case 361: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2299 + //line sql.y:2305 { sqlVAL.union.val = &JoinTableExpr{Join: astJoin, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[3].union.tblExpr(), Cond: sqlDollar[4].union.joinCond()} } case 362: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2303 + //line sql.y:2309 { sqlVAL.union.val = &JoinTableExpr{Join: astNaturalJoin, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[5].union.tblExpr()} } case 363: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2307 + //line sql.y:2313 { sqlVAL.union.val = &JoinTableExpr{Join: astNaturalJoin, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[4].union.tblExpr()} } case 364: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2313 + //line sql.y:2319 { sqlVAL.union.val = AliasClause{Alias: Name(sqlDollar[2].str), Cols: NameList(sqlDollar[4].union.strs())} } case 365: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2317 + //line sql.y:2323 { sqlVAL.union.val = AliasClause{Alias: Name(sqlDollar[2].str)} } case 366: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2321 + //line sql.y:2327 { sqlVAL.union.val = AliasClause{Alias: Name(sqlDollar[1].str), Cols: NameList(sqlDollar[3].union.strs())} } case 367: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2325 + //line sql.y:2331 { sqlVAL.union.val = AliasClause{Alias: Name(sqlDollar[1].str)} } case 369: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2332 + //line sql.y:2338 { sqlVAL.union.val = AliasClause{} } case 370: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2338 + //line sql.y:2344 { sqlVAL.str = astFullJoin } case 371: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2342 + //line sql.y:2348 { sqlVAL.str = astLeftJoin } case 372: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2346 + //line sql.y:2352 { sqlVAL.str = astRightJoin } case 373: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2350 + //line sql.y:2356 { sqlVAL.str = astInnerJoin } case 374: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2356 + //line sql.y:2362 { } case 375: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2357 + //line sql.y:2363 { } case 376: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2368 + //line sql.y:2374 { sqlVAL.union.val = &UsingJoinCond{Cols: NameList(sqlDollar[3].union.strs())} } case 377: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2372 + //line sql.y:2378 { sqlVAL.union.val = &OnJoinCond{Expr: sqlDollar[2].union.expr()} } case 378: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2378 + //line sql.y:2384 { sqlVAL.union.val = sqlDollar[1].union.qname() } case 379: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2382 + //line sql.y:2388 { sqlVAL.union.val = sqlDollar[1].union.qname() } case 380: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2386 + //line sql.y:2392 { sqlVAL.union.val = sqlDollar[2].union.qname() } case 381: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2390 + //line sql.y:2396 { sqlVAL.union.val = sqlDollar[3].union.qname() } case 382: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2396 + //line sql.y:2402 { sqlVAL.union.val = QualifiedNames{sqlDollar[1].union.qname()} } case 383: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2400 + //line sql.y:2406 { sqlVAL.union.val = append(sqlDollar[1].union.qnames(), sqlDollar[3].union.qname()) } case 384: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2413 + //line sql.y:2419 { sqlVAL.union.val = &AliasedTableExpr{Expr: sqlDollar[1].union.qname()} } case 385: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2417 + //line sql.y:2423 { sqlVAL.union.val = &AliasedTableExpr{Expr: sqlDollar[1].union.qname(), As: AliasClause{Alias: Name(sqlDollar[2].str)}} } case 386: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2421 + //line sql.y:2427 { sqlVAL.union.val = &AliasedTableExpr{Expr: sqlDollar[1].union.qname(), As: AliasClause{Alias: Name(sqlDollar[3].str)}} } case 387: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2427 + //line sql.y:2433 { sqlVAL.union.val = sqlDollar[2].union.expr() } case 388: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2431 + //line sql.y:2437 { sqlVAL.union.val = Expr(nil) } case 389: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2443 + //line sql.y:2449 { sqlVAL.union.val = sqlDollar[1].union.colType() } case 390: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2447 + //line sql.y:2453 { unimplemented() } case 391: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2448 + //line sql.y:2454 { unimplemented() } case 392: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2451 + //line sql.y:2457 { unimplemented() } case 393: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2452 + //line sql.y:2458 { unimplemented() } case 394: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2453 + //line sql.y:2459 { } case 400: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2461 + //line sql.y:2467 { unimplemented() } case 401: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2463 + //line sql.y:2469 { sqlVAL.union.val = &BytesType{Name: "BLOB"} } case 402: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2467 + //line sql.y:2473 { sqlVAL.union.val = &BytesType{Name: "BYTES"} } case 403: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2471 + //line sql.y:2477 { sqlVAL.union.val = &BytesType{Name: "BYTEA"} } case 404: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2475 + //line sql.y:2481 { sqlVAL.union.val = &StringType{Name: "TEXT"} } case 405: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2479 + //line sql.y:2485 { sqlVAL.union.val = &StringType{Name: "STRING"} } case 410: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2500 + //line sql.y:2506 { sqlVAL.union.val = &DecimalType{Prec: int(sqlDollar[2].union.ival().Val)} } case 411: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2504 + //line sql.y:2510 { sqlVAL.union.val = &DecimalType{Prec: int(sqlDollar[2].union.ival().Val), Scale: int(sqlDollar[4].union.ival().Val)} } case 412: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2508 + //line sql.y:2514 { sqlVAL.union.val = &DecimalType{} } case 413: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2515 + //line sql.y:2521 { sqlVAL.union.val = &IntType{Name: "INT"} } case 414: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2519 + //line sql.y:2525 { sqlVAL.union.val = &IntType{Name: "INT64"} } case 415: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2523 + //line sql.y:2529 { sqlVAL.union.val = &IntType{Name: "INTEGER"} } case 416: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2527 + //line sql.y:2533 { sqlVAL.union.val = &IntType{Name: "SMALLINT"} } case 417: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2531 + //line sql.y:2537 { sqlVAL.union.val = &IntType{Name: "BIGINT"} } case 418: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2535 + //line sql.y:2541 { sqlVAL.union.val = &FloatType{Name: "REAL"} } case 419: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2539 + //line sql.y:2545 { sqlVAL.union.val = &FloatType{Name: "FLOAT", Prec: int(sqlDollar[2].union.ival().Val)} } case 420: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2543 + //line sql.y:2549 { sqlVAL.union.val = &FloatType{Name: "DOUBLE PRECISION"} } case 421: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2547 + //line sql.y:2553 { sqlVAL.union.val = sqlDollar[2].union.colType() sqlVAL.union.val.(*DecimalType).Name = "DECIMAL" } case 422: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2552 + //line sql.y:2558 { sqlVAL.union.val = sqlDollar[2].union.colType() sqlVAL.union.val.(*DecimalType).Name = "DEC" } case 423: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2557 + //line sql.y:2563 { sqlVAL.union.val = sqlDollar[2].union.colType() sqlVAL.union.val.(*DecimalType).Name = "NUMERIC" } case 424: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2562 + //line sql.y:2568 { sqlVAL.union.val = &BoolType{Name: "BOOLEAN"} } case 425: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2566 + //line sql.y:2572 { sqlVAL.union.val = &BoolType{Name: "BOOL"} } case 426: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2572 + //line sql.y:2578 { sqlVAL.union.val = sqlDollar[2].union.ival() } case 427: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2576 + //line sql.y:2582 { sqlVAL.union.val = IntVal{} } case 432: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2594 + //line sql.y:2600 { sqlVAL.union.val = &IntType{Name: "BIT", N: int(sqlDollar[4].union.ival().Val)} } case 433: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2600 + //line sql.y:2606 { sqlVAL.union.val = &IntType{Name: "BIT"} } case 438: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2616 + //line sql.y:2622 { sqlVAL.union.val = sqlDollar[1].union.colType() sqlVAL.union.val.(*StringType).N = int(sqlDollar[3].union.ival().Val) } case 439: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2623 + //line sql.y:2629 { sqlVAL.union.val = sqlDollar[1].union.colType() } case 440: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2629 + //line sql.y:2635 { sqlVAL.union.val = &StringType{Name: "CHAR"} } case 441: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2633 + //line sql.y:2639 { sqlVAL.union.val = &StringType{Name: "CHAR"} } case 442: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2637 + //line sql.y:2643 { sqlVAL.union.val = &StringType{Name: "VARCHAR"} } case 443: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2642 + //line sql.y:2648 { } case 444: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2643 + //line sql.y:2649 { } case 445: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2648 + //line sql.y:2654 { sqlVAL.union.val = &DateType{} } case 446: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2652 + //line sql.y:2658 { sqlVAL.union.val = &TimestampType{} } case 447: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2657 + //line sql.y:2663 { sqlVAL.union.val = &IntervalType{} } case 448: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2662 + //line sql.y:2668 { unimplemented() } case 449: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2663 + //line sql.y:2669 { unimplemented() } case 450: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2664 + //line sql.y:2670 { unimplemented() } case 451: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2665 + //line sql.y:2671 { unimplemented() } case 452: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2666 + //line sql.y:2672 { unimplemented() } case 453: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2667 + //line sql.y:2673 { unimplemented() } case 454: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2668 + //line sql.y:2674 { unimplemented() } case 455: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2669 + //line sql.y:2675 { unimplemented() } case 456: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2670 + //line sql.y:2676 { unimplemented() } case 457: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2671 + //line sql.y:2677 { unimplemented() } case 458: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2672 + //line sql.y:2678 { unimplemented() } case 459: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2673 + //line sql.y:2679 { unimplemented() } case 460: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2674 + //line sql.y:2680 { unimplemented() } case 461: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:2675 + //line sql.y:2681 { } case 462: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:2678 + //line sql.y:2684 { unimplemented() } case 463: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2679 + //line sql.y:2685 { unimplemented() } case 465: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2703 + //line sql.y:2709 { sqlVAL.union.val = &CastExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.colType()} } case 466: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2706 + //line sql.y:2712 { unimplemented() } case 467: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2707 + //line sql.y:2713 { unimplemented() } case 468: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2716 + //line sql.y:2722 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryPlus, Expr: sqlDollar[2].union.expr()} } case 469: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2720 + //line sql.y:2726 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryMinus, Expr: sqlDollar[2].union.expr()} } case 470: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2724 + //line sql.y:2730 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryComplement, Expr: sqlDollar[2].union.expr()} } case 471: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2728 + //line sql.y:2734 { sqlVAL.union.val = &BinaryExpr{Operator: Plus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 472: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2732 + //line sql.y:2738 { sqlVAL.union.val = &BinaryExpr{Operator: Minus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 473: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2736 + //line sql.y:2742 { sqlVAL.union.val = &BinaryExpr{Operator: Mult, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 474: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2740 + //line sql.y:2746 { sqlVAL.union.val = &BinaryExpr{Operator: Div, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 475: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2744 + //line sql.y:2750 { sqlVAL.union.val = &BinaryExpr{Operator: Mod, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 476: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2748 + //line sql.y:2754 { sqlVAL.union.val = &BinaryExpr{Operator: Bitxor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 477: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2752 + //line sql.y:2758 { sqlVAL.union.val = &BinaryExpr{Operator: Bitxor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 478: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2756 + //line sql.y:2762 { sqlVAL.union.val = &BinaryExpr{Operator: Bitand, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 479: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2760 + //line sql.y:2766 { sqlVAL.union.val = &BinaryExpr{Operator: Bitor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 480: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2764 + //line sql.y:2770 { sqlVAL.union.val = &ComparisonExpr{Operator: LT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 481: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2768 + //line sql.y:2774 { sqlVAL.union.val = &ComparisonExpr{Operator: GT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 482: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2772 + //line sql.y:2778 { sqlVAL.union.val = &ComparisonExpr{Operator: EQ, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 483: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2776 + //line sql.y:2782 { sqlVAL.union.val = &BinaryExpr{Operator: Concat, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 484: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2780 + //line sql.y:2786 { sqlVAL.union.val = &BinaryExpr{Operator: LShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 485: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2784 + //line sql.y:2790 { sqlVAL.union.val = &BinaryExpr{Operator: RShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 486: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2788 + //line sql.y:2794 { sqlVAL.union.val = &ComparisonExpr{Operator: LE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 487: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2792 + //line sql.y:2798 { sqlVAL.union.val = &ComparisonExpr{Operator: GE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 488: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2796 + //line sql.y:2802 { sqlVAL.union.val = &ComparisonExpr{Operator: NE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 489: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2800 + //line sql.y:2806 { sqlVAL.union.val = &AndExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 490: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2804 + //line sql.y:2810 { sqlVAL.union.val = &OrExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 491: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2808 + //line sql.y:2814 { sqlVAL.union.val = &NotExpr{Expr: sqlDollar[2].union.expr()} } case 492: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2812 + //line sql.y:2818 { sqlVAL.union.val = &NotExpr{Expr: sqlDollar[2].union.expr()} } case 493: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2816 + //line sql.y:2822 { sqlVAL.union.val = &ComparisonExpr{Operator: Like, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 494: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2820 + //line sql.y:2826 { sqlVAL.union.val = &ComparisonExpr{Operator: NotLike, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} } case 495: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2824 + //line sql.y:2830 { sqlVAL.union.val = &ComparisonExpr{Operator: SimilarTo, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} } case 496: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2828 + //line sql.y:2834 { sqlVAL.union.val = &ComparisonExpr{Operator: NotSimilarTo, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} } case 497: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2832 + //line sql.y:2838 { sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DNull} } case 498: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2836 + //line sql.y:2842 { sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DNull} } case 499: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2839 + //line sql.y:2845 { unimplemented() } case 500: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2841 + //line sql.y:2847 { sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DBool(true)} } case 501: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2845 + //line sql.y:2851 { sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DBool(true)} } case 502: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2849 + //line sql.y:2855 { sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DBool(false)} } case 503: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2853 + //line sql.y:2859 { sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DBool(false)} } case 504: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2857 + //line sql.y:2863 { sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DNull} } case 505: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2861 + //line sql.y:2867 { sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DNull} } case 506: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:2865 + //line sql.y:2871 { sqlVAL.union.val = &ComparisonExpr{Operator: IsDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} } case 507: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:2869 + //line sql.y:2875 { sqlVAL.union.val = &ComparisonExpr{Operator: IsNotDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[6].union.expr()} } case 508: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:2873 + //line sql.y:2879 { sqlVAL.union.val = &IsOfTypeExpr{Expr: sqlDollar[1].union.expr(), Types: sqlDollar[5].union.colTypes()} } case 509: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] - //line sql.y:2877 + //line sql.y:2883 { sqlVAL.union.val = &IsOfTypeExpr{Not: true, Expr: sqlDollar[1].union.expr(), Types: sqlDollar[6].union.colTypes()} } case 510: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:2881 + //line sql.y:2887 { sqlVAL.union.val = &RangeCond{Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} } case 511: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] - //line sql.y:2885 + //line sql.y:2891 { sqlVAL.union.val = &RangeCond{Not: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} } case 512: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:2889 + //line sql.y:2895 { sqlVAL.union.val = &RangeCond{Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} } case 513: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] - //line sql.y:2893 + //line sql.y:2899 { sqlVAL.union.val = &RangeCond{Not: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} } case 514: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2897 + //line sql.y:2903 { sqlVAL.union.val = &ComparisonExpr{Operator: In, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 515: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:2901 + //line sql.y:2907 { sqlVAL.union.val = &ComparisonExpr{Operator: NotIn, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} } case 517: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2918 + //line sql.y:2924 { sqlVAL.union.val = &CastExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.colType()} } case 518: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2922 + //line sql.y:2928 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryPlus, Expr: sqlDollar[2].union.expr()} } case 519: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2926 + //line sql.y:2932 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryMinus, Expr: sqlDollar[2].union.expr()} } case 520: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:2930 + //line sql.y:2936 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryComplement, Expr: sqlDollar[2].union.expr()} } case 521: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2934 + //line sql.y:2940 { sqlVAL.union.val = &BinaryExpr{Operator: Plus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 522: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2938 + //line sql.y:2944 { sqlVAL.union.val = &BinaryExpr{Operator: Minus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 523: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2942 + //line sql.y:2948 { sqlVAL.union.val = &BinaryExpr{Operator: Mult, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 524: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2946 + //line sql.y:2952 { sqlVAL.union.val = &BinaryExpr{Operator: Div, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 525: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2950 + //line sql.y:2956 { sqlVAL.union.val = &BinaryExpr{Operator: Mod, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 526: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2954 + //line sql.y:2960 { sqlVAL.union.val = &BinaryExpr{Operator: Bitxor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 527: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2958 + //line sql.y:2964 { sqlVAL.union.val = &BinaryExpr{Operator: Bitxor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 528: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2962 + //line sql.y:2968 { sqlVAL.union.val = &BinaryExpr{Operator: Bitand, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 529: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2966 + //line sql.y:2972 { sqlVAL.union.val = &BinaryExpr{Operator: Bitor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 530: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2970 + //line sql.y:2976 { sqlVAL.union.val = &ComparisonExpr{Operator: LT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 531: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2974 + //line sql.y:2980 { sqlVAL.union.val = &ComparisonExpr{Operator: GT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 532: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2978 + //line sql.y:2984 { sqlVAL.union.val = &ComparisonExpr{Operator: EQ, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 533: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2982 + //line sql.y:2988 { sqlVAL.union.val = &BinaryExpr{Operator: Concat, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 534: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2986 + //line sql.y:2992 { sqlVAL.union.val = &BinaryExpr{Operator: LShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 535: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2990 + //line sql.y:2996 { sqlVAL.union.val = &BinaryExpr{Operator: RShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 536: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2994 + //line sql.y:3000 { sqlVAL.union.val = &ComparisonExpr{Operator: LE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 537: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:2998 + //line sql.y:3004 { sqlVAL.union.val = &ComparisonExpr{Operator: GE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 538: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3002 + //line sql.y:3008 { sqlVAL.union.val = &ComparisonExpr{Operator: NE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 539: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3006 + //line sql.y:3012 { sqlVAL.union.val = &ComparisonExpr{Operator: IsDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} } case 540: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3010 + //line sql.y:3016 { sqlVAL.union.val = &ComparisonExpr{Operator: IsNotDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[6].union.expr()} } case 541: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3014 + //line sql.y:3020 { sqlVAL.union.val = &IsOfTypeExpr{Expr: sqlDollar[1].union.expr(), Types: sqlDollar[5].union.colTypes()} } case 542: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] - //line sql.y:3018 + //line sql.y:3024 { sqlVAL.union.val = &IsOfTypeExpr{Not: true, Expr: sqlDollar[1].union.expr(), Types: sqlDollar[6].union.colTypes()} } case 543: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3030 + //line sql.y:3036 { sqlVAL.union.val = sqlDollar[1].union.qname() } case 545: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3035 + //line sql.y:3041 { sqlVAL.union.val = ValArg{name: sqlDollar[1].str} } case 546: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3039 + //line sql.y:3045 { sqlVAL.union.val = &ParenExpr{Expr: sqlDollar[2].union.expr()} } case 549: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3045 + //line sql.y:3051 { sqlVAL.union.val = &Subquery{Select: sqlDollar[1].union.selectStmt()} } case 550: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3049 + //line sql.y:3055 { sqlVAL.union.val = &Subquery{Select: sqlDollar[1].union.selectStmt()} } case 551: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3053 + //line sql.y:3059 { sqlVAL.union.val = &ExistsExpr{Subquery: &Subquery{Select: sqlDollar[2].union.selectStmt()}} } case 552: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3059 + //line sql.y:3065 { sqlVAL.union.val = sqlDollar[2].union.expr() } case 553: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3063 + //line sql.y:3069 { sqlVAL.union.val = sqlDollar[1].union.expr() } case 554: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3067 + //line sql.y:3073 { sqlVAL.union.val = sqlDollar[1].union.expr() } case 555: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3075 + //line sql.y:3081 { sqlVAL.union.val = &FuncExpr{Name: sqlDollar[1].union.qname()} } case 556: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3079 + //line sql.y:3085 { sqlVAL.union.val = &FuncExpr{Name: sqlDollar[1].union.qname(), Exprs: sqlDollar[3].union.exprs()} } case 557: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3082 + //line sql.y:3088 { unimplemented() } case 558: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:3083 + //line sql.y:3089 { unimplemented() } case 559: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3085 + //line sql.y:3091 { sqlVAL.union.val = &FuncExpr{Name: sqlDollar[1].union.qname(), Type: All, Exprs: sqlDollar[4].union.exprs()} } case 560: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3089 + //line sql.y:3095 { sqlVAL.union.val = &FuncExpr{Name: sqlDollar[1].union.qname(), Type: Distinct, Exprs: sqlDollar[4].union.exprs()} } case 561: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3093 + //line sql.y:3099 { sqlVAL.union.val = &FuncExpr{Name: sqlDollar[1].union.qname(), Exprs: Exprs{StarExpr()}} } case 562: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3106 + //line sql.y:3112 { sqlVAL.union.val = sqlDollar[1].union.expr() } case 563: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3110 + //line sql.y:3116 { sqlVAL.union.val = sqlDollar[1].union.expr() } case 564: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3119 + //line sql.y:3125 { unimplemented() } case 565: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3120 + //line sql.y:3126 { unimplemented() } case 566: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3124 + //line sql.y:3130 { unimplemented() } case 567: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3126 + //line sql.y:3132 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}} } case 568: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3130 + //line sql.y:3136 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}} } case 569: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3134 + //line sql.y:3140 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}} } case 570: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3138 + //line sql.y:3144 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}} } case 571: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3141 + //line sql.y:3147 { unimplemented() } case 572: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3142 + //line sql.y:3148 { unimplemented() } case 573: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3143 + //line sql.y:3149 { unimplemented() } case 574: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3144 + //line sql.y:3150 { unimplemented() } case 575: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3146 + //line sql.y:3152 { sqlVAL.union.val = &CastExpr{Expr: sqlDollar[3].union.expr(), Type: sqlDollar[5].union.colType()} } case 576: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3150 + //line sql.y:3156 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}, Exprs: sqlDollar[3].union.exprs()} } case 577: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3154 + //line sql.y:3160 { sqlVAL.union.val = &OverlayExpr{FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}, Exprs: sqlDollar[3].union.exprs()}} } case 578: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3158 + //line sql.y:3164 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: "STRPOS"}, Exprs: sqlDollar[3].union.exprs()} } case 579: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3162 + //line sql.y:3168 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}, Exprs: sqlDollar[3].union.exprs()} } case 580: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3165 + //line sql.y:3171 { unimplemented() } case 581: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3167 + //line sql.y:3173 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: "BTRIM"}, Exprs: sqlDollar[4].union.exprs()} } case 582: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3171 + //line sql.y:3177 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: "LTRIM"}, Exprs: sqlDollar[4].union.exprs()} } case 583: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3175 + //line sql.y:3181 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: "RTRIM"}, Exprs: sqlDollar[4].union.exprs()} } case 584: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3179 + //line sql.y:3185 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: "BTRIM"}, Exprs: sqlDollar[3].union.exprs()} } case 585: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:3183 + //line sql.y:3189 { sqlVAL.union.val = &IfExpr{Cond: sqlDollar[3].union.expr(), True: sqlDollar[5].union.expr(), Else: sqlDollar[7].union.expr()} } case 586: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3187 + //line sql.y:3193 { sqlVAL.union.val = &NullIfExpr{Expr1: sqlDollar[3].union.expr(), Expr2: sqlDollar[5].union.expr()} } case 587: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3191 + //line sql.y:3197 { sqlVAL.union.val = &CoalesceExpr{Name: "IFNULL", Exprs: Exprs{sqlDollar[3].union.expr(), sqlDollar[5].union.expr()}} } case 588: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3195 + //line sql.y:3201 { sqlVAL.union.val = &CoalesceExpr{Name: "COALESCE", Exprs: sqlDollar[3].union.exprs()} } case 589: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3199 + //line sql.y:3205 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}, Exprs: sqlDollar[3].union.exprs()} } case 590: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3203 + //line sql.y:3209 { sqlVAL.union.val = &FuncExpr{Name: &QualifiedName{Base: Name(sqlDollar[1].str)}, Exprs: sqlDollar[3].union.exprs()} } case 591: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3209 + //line sql.y:3215 { unimplemented() } case 592: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3210 + //line sql.y:3216 { } case 593: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3213 + //line sql.y:3219 { unimplemented() } case 594: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3214 + //line sql.y:3220 { } case 595: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3218 + //line sql.y:3224 { unimplemented() } case 596: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3219 + //line sql.y:3225 { } case 597: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3222 + //line sql.y:3228 { unimplemented() } case 598: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3223 + //line sql.y:3229 { unimplemented() } case 599: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3226 + //line sql.y:3232 { unimplemented() } case 600: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3229 + //line sql.y:3235 { unimplemented() } case 601: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3230 + //line sql.y:3236 { unimplemented() } case 602: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3231 + //line sql.y:3237 { } case 603: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3235 + //line sql.y:3241 { unimplemented() } case 604: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3246 + //line sql.y:3252 { unimplemented() } case 605: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3247 + //line sql.y:3253 { } case 606: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3250 + //line sql.y:3256 { unimplemented() } case 607: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3251 + //line sql.y:3257 { } case 608: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3259 + //line sql.y:3265 { unimplemented() } case 609: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3260 + //line sql.y:3266 { unimplemented() } case 610: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3261 + //line sql.y:3267 { } case 611: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3264 + //line sql.y:3270 { unimplemented() } case 612: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3265 + //line sql.y:3271 { unimplemented() } case 613: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3271 + //line sql.y:3277 { unimplemented() } case 614: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3272 + //line sql.y:3278 { unimplemented() } case 615: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3273 + //line sql.y:3279 { unimplemented() } case 616: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3274 + //line sql.y:3280 { unimplemented() } case 617: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3275 + //line sql.y:3281 { unimplemented() } case 618: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3286 + //line sql.y:3292 { sqlVAL.union.val = &Row{sqlDollar[3].union.exprs()} } case 619: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3290 + //line sql.y:3296 { sqlVAL.union.val = &Row{nil} } case 620: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3294 + //line sql.y:3300 { sqlVAL.union.val = &Tuple{append(sqlDollar[2].union.exprs(), sqlDollar[4].union.expr())} } case 621: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3300 + //line sql.y:3306 { sqlVAL.union.val = &Row{sqlDollar[3].union.exprs()} } case 622: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3304 + //line sql.y:3310 { sqlVAL.union.val = &Row{nil} } case 623: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3310 + //line sql.y:3316 { sqlVAL.union.val = &Tuple{append(sqlDollar[2].union.exprs(), sqlDollar[4].union.expr())} } case 624: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3351 + //line sql.y:3357 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr()} } case 625: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3355 + //line sql.y:3361 { sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) } case 626: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3361 + //line sql.y:3367 { sqlVAL.union.val = []ColumnType{sqlDollar[1].union.colType()} } case 627: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3365 + //line sql.y:3371 { sqlVAL.union.val = append(sqlDollar[1].union.colTypes(), sqlDollar[3].union.colType()) } case 628: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3371 + //line sql.y:3377 { sqlVAL.union.val = &Array{sqlDollar[2].union.exprs()} } case 629: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3375 + //line sql.y:3381 { sqlVAL.union.val = &Array{sqlDollar[2].union.exprs()} } case 630: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3379 + //line sql.y:3385 { sqlVAL.union.val = &Array{nil} } case 631: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3385 + //line sql.y:3391 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr()} } case 632: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3389 + //line sql.y:3395 { sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) } case 633: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3395 + //line sql.y:3401 { sqlVAL.union.val = Exprs{DString(sqlDollar[1].str), sqlDollar[3].union.expr()} } case 641: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3417 + //line sql.y:3423 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr(), sqlDollar[4].union.expr()} } case 642: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3421 + //line sql.y:3427 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr()} } case 643: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3427 + //line sql.y:3433 { sqlVAL.union.val = sqlDollar[2].union.expr() } case 644: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3434 + //line sql.y:3440 { sqlVAL.union.val = Exprs{sqlDollar[3].union.expr(), sqlDollar[1].union.expr()} } case 645: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3438 + //line sql.y:3444 { sqlVAL.union.val = Exprs(nil) } case 646: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3455 + //line sql.y:3461 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr()} } case 647: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3459 + //line sql.y:3465 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr(), sqlDollar[2].union.expr()} } case 648: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3463 + //line sql.y:3469 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr()} } case 649: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3467 + //line sql.y:3473 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), DInt(1), sqlDollar[2].union.expr()} } case 650: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3471 + //line sql.y:3477 { sqlVAL.union.val = sqlDollar[1].union.exprs() } case 651: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3475 + //line sql.y:3481 { sqlVAL.union.val = Exprs(nil) } case 652: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3481 + //line sql.y:3487 { sqlVAL.union.val = sqlDollar[2].union.expr() } case 653: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3487 + //line sql.y:3493 { sqlVAL.union.val = sqlDollar[2].union.expr() } case 654: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3493 + //line sql.y:3499 { sqlVAL.union.val = append(sqlDollar[3].union.exprs(), sqlDollar[1].union.expr()) } case 655: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3497 + //line sql.y:3503 { sqlVAL.union.val = sqlDollar[2].union.exprs() } case 656: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3501 + //line sql.y:3507 { sqlVAL.union.val = sqlDollar[1].union.exprs() } case 657: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3507 + //line sql.y:3513 { sqlVAL.union.val = &Subquery{Select: sqlDollar[1].union.selectStmt()} } case 658: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3511 + //line sql.y:3517 { sqlVAL.union.val = &Tuple{sqlDollar[2].union.exprs()} } case 659: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3522 + //line sql.y:3528 { sqlVAL.union.val = &CaseExpr{Expr: sqlDollar[2].union.expr(), Whens: sqlDollar[3].union.whens(), Else: sqlDollar[4].union.expr()} } case 660: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3529 + //line sql.y:3535 { sqlVAL.union.val = []*When{sqlDollar[1].union.when()} } case 661: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3533 + //line sql.y:3539 { sqlVAL.union.val = append(sqlDollar[1].union.whens(), sqlDollar[2].union.when()) } case 662: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3539 + //line sql.y:3545 { sqlVAL.union.val = &When{Cond: sqlDollar[2].union.expr(), Val: sqlDollar[4].union.expr()} } case 663: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3545 + //line sql.y:3551 { sqlVAL.union.val = sqlDollar[2].union.expr() } case 664: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3549 + //line sql.y:3555 { sqlVAL.union.val = Expr(nil) } case 666: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3556 + //line sql.y:3562 { sqlVAL.union.val = Expr(nil) } case 667: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3562 + //line sql.y:3568 { sqlVAL.union.val = sqlDollar[1].union.indirectElem() } case 668: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3566 + //line sql.y:3572 { sqlVAL.union.val = sqlDollar[1].union.indirectElem() } case 669: - sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3570 + sqlDollar = sqlS[sqlpt-1 : sqlpt+1] + //line sql.y:3576 { - sqlVAL.union.val = IndexIndirection(sqlDollar[2].str) + sqlVAL.union.val = sqlDollar[1].union.indirectElem() } case 670: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3574 + //line sql.y:3580 { sqlVAL.union.val = &ArrayIndirection{Begin: sqlDollar[2].union.expr()} } case 671: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3578 + //line sql.y:3584 { sqlVAL.union.val = &ArrayIndirection{Begin: sqlDollar[2].union.expr(), End: sqlDollar[4].union.expr()} } case 672: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3584 + //line sql.y:3590 { sqlVAL.union.val = NameIndirection(sqlDollar[2].str) } case 673: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3590 + //line sql.y:3596 { sqlVAL.union.val = qualifiedStar } - case 674: + case 676: + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + //line sql.y:3608 + { + sqlVAL.union.val = &IndexIndirection{Index: Name(sqlDollar[3].str)} + } + case 677: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3596 + //line sql.y:3613 + { + sqlVAL.union.val = &IndexIndirection{NoIndexJoin: true} + } + case 678: + sqlDollar = sqlS[sqlpt-1 : sqlpt+1] + //line sql.y:3619 + { + sqlVAL.union.val = sqlDollar[1].union.indexIndirect() + } + case 679: + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + //line sql.y:3624 + { + a := sqlDollar[1].union.indexIndirect() + b := sqlDollar[3].union.indexIndirect() + index := b.Index + if index == "" { + index = a.Index + } + noIndexJoin := a.NoIndexJoin || b.NoIndexJoin + sqlVAL.union.val = &IndexIndirection{Index: index, NoIndexJoin: noIndexJoin} + } + case 680: + sqlDollar = sqlS[sqlpt-2 : sqlpt+1] + //line sql.y:3637 + { + sqlVAL.union.val = &IndexIndirection{Index: Name(sqlDollar[2].str)} + } + case 681: + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + //line sql.y:3641 + { + sqlVAL.union.val = sqlDollar[3].union.indexIndirect() + } + case 682: + sqlDollar = sqlS[sqlpt-1 : sqlpt+1] + //line sql.y:3648 { sqlVAL.union.val = Indirection{sqlDollar[1].union.indirectElem()} } - case 675: + case 683: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3600 + //line sql.y:3652 { sqlVAL.union.val = append(sqlDollar[1].union.indirect(), sqlDollar[2].union.indirectElem()) } - case 676: + case 684: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3605 + //line sql.y:3657 { } - case 677: + case 685: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3606 + //line sql.y:3658 { } - case 679: + case 687: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3615 + //line sql.y:3667 { sqlVAL.union.val = DefaultVal{} } - case 680: + case 688: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3621 + //line sql.y:3673 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr()} } - case 681: + case 689: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3625 + //line sql.y:3677 { sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) } - case 682: + case 690: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3634 + //line sql.y:3686 { sqlVAL.union.val = sqlDollar[2].union.exprs() } - case 684: + case 692: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3642 + //line sql.y:3694 { sqlVAL.union.val = SelectExprs(nil) } - case 685: + case 693: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3648 + //line sql.y:3700 { sqlVAL.union.val = SelectExprs{sqlDollar[1].union.selExpr()} } - case 686: + case 694: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3652 + //line sql.y:3704 { sqlVAL.union.val = append(sqlDollar[1].union.selExprs(), sqlDollar[3].union.selExpr()) } - case 687: + case 695: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3658 + //line sql.y:3710 { sqlVAL.union.val = SelectExpr{Expr: sqlDollar[1].union.expr(), As: Name(sqlDollar[3].str)} } - case 688: + case 696: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3667 + //line sql.y:3719 { sqlVAL.union.val = SelectExpr{Expr: sqlDollar[1].union.expr(), As: Name(sqlDollar[2].str)} } - case 689: + case 697: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3671 + //line sql.y:3723 { sqlVAL.union.val = SelectExpr{Expr: sqlDollar[1].union.expr()} } - case 690: + case 698: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3675 + //line sql.y:3727 { sqlVAL.union.val = starSelectExpr() } - case 691: + case 699: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3683 + //line sql.y:3735 { sqlVAL.union.val = QualifiedNames{sqlDollar[1].union.qname()} } - case 692: + case 700: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3687 + //line sql.y:3739 { sqlVAL.union.val = append(sqlDollar[1].union.qnames(), sqlDollar[3].union.qname()) } - case 693: + case 701: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3693 + //line sql.y:3745 { sqlVAL.union.val = QualifiedNames{sqlDollar[1].union.qname()} } - case 694: + case 702: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3697 + //line sql.y:3749 { sqlVAL.union.val = append(sqlDollar[1].union.qnames(), sqlDollar[3].union.qname()) } - case 695: + case 703: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3708 + //line sql.y:3760 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str)} } - case 696: + case 704: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3712 + //line sql.y:3764 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str), Indirect: sqlDollar[2].union.indirect()} } - case 697: + case 705: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3723 + //line sql.y:3775 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str)} } - case 698: + case 706: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3727 + //line sql.y:3779 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str), Indirect: Indirection{sqlDollar[2].union.indirectElem()}} } - case 699: + case 707: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3731 + //line sql.y:3783 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str), Indirect: Indirection{sqlDollar[2].union.indirectElem()}} } - case 700: + case 708: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3735 + //line sql.y:3787 { sqlVAL.union.val = &QualifiedName{Indirect: Indirection{unqualifiedStar}} } - case 701: + case 709: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3741 + //line sql.y:3793 { sqlVAL.union.val = []string{sqlDollar[1].str} } - case 702: + case 710: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3745 + //line sql.y:3797 { sqlVAL.union.val = append(sqlDollar[1].union.strs(), sqlDollar[3].str) } - case 703: + case 711: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3751 + //line sql.y:3803 { sqlVAL.union.val = sqlDollar[2].union.strs() } - case 704: + case 712: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3754 + //line sql.y:3806 { } - case 705: + case 713: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3764 + //line sql.y:3816 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str)} } - case 706: + case 714: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3768 + //line sql.y:3820 { sqlVAL.union.val = &QualifiedName{Base: Name(sqlDollar[1].str), Indirect: sqlDollar[2].union.indirect()} } - case 707: + case 715: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3775 + //line sql.y:3827 { sqlVAL.union.val = &IntVal{Val: sqlDollar[1].union.ival().Val, Str: sqlDollar[1].union.ival().Str} } - case 708: + case 716: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3779 + //line sql.y:3831 { sqlVAL.union.val = NumVal(sqlDollar[1].str) } - case 709: + case 717: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3783 + //line sql.y:3835 { sqlVAL.union.val = DString(sqlDollar[1].str) } - case 710: + case 718: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3787 + //line sql.y:3839 { sqlVAL.union.val = DBytes(sqlDollar[1].str) } - case 711: + case 719: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:3790 + //line sql.y:3842 { unimplemented() } - case 712: + case 720: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3792 + //line sql.y:3844 { sqlVAL.union.val = &CastExpr{Expr: DString(sqlDollar[2].str), Type: sqlDollar[1].union.colType()} } - case 713: + case 721: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3796 + //line sql.y:3848 { sqlVAL.union.val = &CastExpr{Expr: DString(sqlDollar[2].str), Type: sqlDollar[1].union.colType()} } - case 714: + case 722: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3800 + //line sql.y:3852 { sqlVAL.union.val = &CastExpr{Expr: DString(sqlDollar[5].str), Type: sqlDollar[1].union.colType()} } - case 715: + case 723: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3804 + //line sql.y:3856 { sqlVAL.union.val = DBool(true) } - case 716: + case 724: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3808 + //line sql.y:3860 { sqlVAL.union.val = DBool(false) } - case 717: + case 725: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3812 + //line sql.y:3864 { sqlVAL.union.val = DNull } - case 719: + case 727: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3819 + //line sql.y:3871 { sqlVAL.union.val = sqlDollar[2].union.ival() } - case 720: + case 728: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3823 + //line sql.y:3875 { sqlVAL.union.val = IntVal{Val: -sqlDollar[2].union.ival().Val, Str: "-" + sqlDollar[2].union.ival().Str} } - case 725: + case 733: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3845 + //line sql.y:3897 { sqlVAL.str = "" } diff --git a/sql/parser/sql.y b/sql/parser/sql.y index a9494791a487..e9e22b3a55d5 100644 --- a/sql/parser/sql.y +++ b/sql/parser/sql.y @@ -88,6 +88,9 @@ func (u *sqlSymUnion) indirectElem() IndirectionElem { func (u *sqlSymUnion) indirect() Indirection { return u.val.(Indirection) } +func (u *sqlSymUnion) indexIndirect() *IndexIndirection { + return u.val.(*IndexIndirection) +} func (u *sqlSymUnion) stmt() Statement { if stmt, ok := u.val.(Statement); ok { return stmt @@ -376,7 +379,10 @@ func (u *sqlSymUnion) idxElems() IndexElemList { %type where_clause %type glob_indirection %type name_indirection +%type index_indirection %type indirection_elem +%type <*IndexIndirection> index_indirection_param +%type <*IndexIndirection> index_indirection_param_list %type a_expr b_expr c_expr a_expr_const %type substr_from substr_for %type in_expr @@ -497,7 +503,7 @@ func (u *sqlSymUnion) idxElems() IndexElemList { %token EXISTS EXPLAIN EXTRACT %token FALSE FETCH FILTER FIRST FLOAT FOLLOWING FOR -%token FOREIGN FROM FULL +%token FORCE_INDEX FOREIGN FROM FULL %token GRANT GRANTS GREATEST GROUP GROUPING @@ -518,7 +524,7 @@ func (u *sqlSymUnion) idxElems() IndexElemList { %token MATCH MINUTE MONTH -%token NAME NAMES NATURAL NEXT NO NORMAL +%token NAME NAMES NATURAL NEXT NO NO_INDEX_JOIN NORMAL %token NOT NOTHING NULL NULLIF %token NULLS NUMERIC @@ -3566,9 +3572,9 @@ indirection_elem: { $$.val = $1.indirectElem() } -| '@' col_label +| index_indirection { - $$.val = IndexIndirection($2) + $$.val = $1.indirectElem() } | '[' a_expr ']' { @@ -3591,6 +3597,52 @@ glob_indirection: $$.val = qualifiedStar } +force_index_keyword: + FORCE_INDEX + +no_index_join_keyword: + NO_INDEX_JOIN + +index_indirection_param: + force_index_keyword '=' col_label + { + $$.val = &IndexIndirection{Index: Name($3)} + } +| + no_index_join_keyword + { + $$.val = &IndexIndirection{NoIndexJoin: true} + } + +index_indirection_param_list: + index_indirection_param + { + $$.val = $1.indexIndirect() + } +| + index_indirection_param_list ',' index_indirection_param + { + a := $1.indexIndirect() + b := $3.indexIndirect() + index := b.Index + if index == "" { + index = a.Index + } + noIndexJoin := a.NoIndexJoin || b.NoIndexJoin + $$.val = &IndexIndirection{Index: index, NoIndexJoin: noIndexJoin} + } + +index_indirection: + '@' col_label + { + $$.val = &IndexIndirection{Index: Name($2)} + } +| '@' '{' index_indirection_param_list '}' + { + $$.val = $3.indexIndirect() + } + + indirection: indirection_elem { diff --git a/sql/scan.go b/sql/scan.go index 22a06df8b41d..01abd3e0c012 100644 --- a/sql/scan.go +++ b/sql/scan.go @@ -39,6 +39,8 @@ type scanNode struct { // Set if an index was explicitly specified. specifiedIndex *IndexDescriptor + // Set if the NO_INDEX_JOIN hint was given. + noIndexJoin bool // There is a 1-1 correspondence between desc.Column sand resultColumns. resultColumns []ResultColumn @@ -216,6 +218,7 @@ func (n *scanNode) initTable(p *planner, tableName *parser.QualifiedName) (strin } } } + n.noIndexJoin = tableName.NoIndexJoin() n.initDescDefaults() return alias, nil } diff --git a/sql/select.go b/sql/select.go index b7119bd7ff5d..eb672a6ef2c2 100644 --- a/sql/select.go +++ b/sql/select.go @@ -328,7 +328,10 @@ func (p *planner) initSelect( preferOrderMatchingIndex = true } - plan := selectIndex(scan, analyzeOrdering, preferOrderMatchingIndex) + plan, err := selectIndex(scan, analyzeOrdering, preferOrderMatchingIndex) + if err != nil { + return nil, roachpb.NewError(err) + } // Update s.table with the new plan. s.table.node = plan diff --git a/sql/testdata/select_index_hints b/sql/testdata/select_index_hints index ec40fc1fa012..ce28dde013a2 100644 --- a/sql/testdata/select_index_hints +++ b/sql/testdata/select_index_hints @@ -140,3 +140,38 @@ EXPLAIN SELECT c, d FROM abcd@b WHERE c >= 20 AND c < 40 query error index \"badidx\" not found SELECT * FROM abcd@badidx + +query error index \"badidx\" not found +SELECT * FROM abcd@{FORCE_INDEX=badidx} + +query ITT +EXPLAIN SELECT * FROM abcd@{FORCE_INDEX=b} WHERE a >= 20 AND a <= 30 +---- +0 index-join +1 scan abcd@b - +1 scan abcd@primary + +query ITT +EXPLAIN SELECT b, c, d FROM abcd WHERE c = 10 +---- +0 index-join +1 scan abcd@cd /10-/11 +1 scan abcd@primary + +query ITT +EXPLAIN SELECT b, c, d FROM abcd@{NO_INDEX_JOIN} WHERE c = 10 +---- +0 scan abcd@bcd - + +query ITT +EXPLAIN SELECT b, c, d FROM abcd@{FORCE_INDEX=bcd,NO_INDEX_JOIN} WHERE c = 10 +---- +0 scan abcd@bcd - + +query ITT +EXPLAIN SELECT b, c, d FROM abcd@{FORCE_INDEX=primary,NO_INDEX_JOIN} WHERE c = 10 +---- +0 scan abcd@primary - + +query error index \"cd\" is not covering and NO_INDEX_JOIN was specified +EXPLAIN SELECT b, c, d FROM abcd@{FORCE_INDEX=cd,NO_INDEX_JOIN} WHERE c = 10