syncthing/vendor/github.com/cznic/ql/parser.go
2016-09-13 22:20:22 +02:00

2759 lines
143 KiB
Go

// CAUTION: Generated file - DO NOT EDIT.
// Copyright (c) 2014 The ql Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Initial yacc source generated by ebnf2y[1]
// at 2013-10-04 23:10:47.861401015 +0200 CEST
//
// $ ebnf2y -o ql.y -oe ql.ebnf -start StatementList -pkg ql -p _
//
// [1]: http://github.com/cznic/ebnf2y
package ql
import __yyfmt__ "fmt"
import (
"fmt"
"github.com/cznic/mathutil"
)
type yySymType struct {
yys int
line int
col int
item interface{}
list []interface{}
}
type yyXError struct {
state, xsym int
}
const (
yyDefault = 57437
yyEOFCode = 57344
add = 57352
alter = 57353
and = 57354
andand = 57355
andnot = 57356
as = 57357
asc = 57358
begin = 57359
between = 57360
bigIntType = 57361
bigRatType = 57362
blobType = 57363
boolType = 57364
by = 57365
byteType = 57366
column = 57367
commit = 57368
complex128Type = 57369
complex64Type = 57370
create = 57371
defaultKwd = 57372
deleteKwd = 57373
desc = 57374
distinct = 57375
drop = 57376
durationType = 57377
eq = 57378
yyErrCode = 57345
exists = 57379
explain = 57380
falseKwd = 57381
float32Type = 57383
float64Type = 57384
floatLit = 57346
floatType = 57382
from = 57385
full = 57386
ge = 57387
group = 57388
identifier = 57347
ifKwd = 57389
imaginaryLit = 57348
in = 57390
index = 57391
insert = 57392
int16Type = 57394
int32Type = 57395
int64Type = 57396
int8Type = 57397
intLit = 57349
intType = 57393
into = 57398
is = 57399
join = 57400
le = 57401
left = 57402
like = 57403
limit = 57404
lsh = 57405
neq = 57406
not = 57407
null = 57408
offset = 57409
on = 57410
or = 57411
order = 57412
oror = 57413
outer = 57414
parseExpression = 57436
qlParam = 57350
right = 57415
rollback = 57416
rsh = 57417
runeType = 57418
selectKwd = 57419
set = 57420
stringLit = 57351
stringType = 57421
tableKwd = 57422
timeType = 57423
transaction = 57424
trueKwd = 57425
truncate = 57426
uint16Type = 57428
uint32Type = 57429
uint64Type = 57430
uint8Type = 57431
uintType = 57427
unique = 57432
update = 57433
values = 57434
where = 57435
yyMaxDepth = 200
yyTabOfs = -218
)
var (
yyXLAT = map[int]int{
59: 0, // ';' (192x)
57344: 1, // $end (191x)
41: 2, // ')' (164x)
43: 3, // '+' (135x)
45: 4, // '-' (135x)
94: 5, // '^' (135x)
44: 6, // ',' (130x)
40: 7, // '(' (127x)
57347: 8, // identifier (118x)
57409: 9, // offset (103x)
57404: 10, // limit (101x)
57372: 11, // defaultKwd (94x)
57412: 12, // order (90x)
57435: 13, // where (87x)
57408: 14, // null (86x)
57361: 15, // bigIntType (85x)
57362: 16, // bigRatType (85x)
57363: 17, // blobType (85x)
57364: 18, // boolType (85x)
57366: 19, // byteType (85x)
57369: 20, // complex128Type (85x)
57370: 21, // complex64Type (85x)
57377: 22, // durationType (85x)
57383: 23, // float32Type (85x)
57384: 24, // float64Type (85x)
57382: 25, // floatType (85x)
57394: 26, // int16Type (85x)
57395: 27, // int32Type (85x)
57396: 28, // int64Type (85x)
57397: 29, // int8Type (85x)
57393: 30, // intType (85x)
57418: 31, // runeType (85x)
57421: 32, // stringType (85x)
57423: 33, // timeType (85x)
57428: 34, // uint16Type (85x)
57429: 35, // uint32Type (85x)
57430: 36, // uint64Type (85x)
57431: 37, // uint8Type (85x)
57427: 38, // uintType (85x)
57381: 39, // falseKwd (83x)
57346: 40, // floatLit (83x)
57348: 41, // imaginaryLit (83x)
57349: 42, // intLit (83x)
57350: 43, // qlParam (83x)
57351: 44, // stringLit (83x)
57425: 45, // trueKwd (83x)
57388: 46, // group (81x)
57407: 47, // not (81x)
57411: 48, // or (81x)
57413: 49, // oror (81x)
33: 50, // '!' (79x)
57385: 51, // from (75x)
57358: 52, // asc (71x)
57374: 53, // desc (71x)
93: 54, // ']' (70x)
57357: 55, // as (69x)
58: 56, // ':' (67x)
57354: 57, // and (67x)
57355: 58, // andand (65x)
124: 59, // '|' (56x)
61: 60, // '=' (55x)
57360: 61, // between (54x)
57390: 62, // in (54x)
60: 63, // '<' (53x)
62: 64, // '>' (53x)
57378: 65, // eq (53x)
57387: 66, // ge (53x)
57399: 67, // is (53x)
57401: 68, // le (53x)
57403: 69, // like (53x)
57406: 70, // neq (53x)
57514: 71, // Type (52x)
57453: 72, // Conversion (51x)
57484: 73, // Literal (51x)
57485: 74, // Operand (51x)
57489: 75, // PrimaryExpression (51x)
57492: 76, // QualifiedIdent (51x)
42: 77, // '*' (48x)
57515: 78, // UnaryExpr (47x)
37: 79, // '%' (44x)
38: 80, // '&' (44x)
47: 81, // '/' (44x)
57356: 82, // andnot (44x)
57405: 83, // lsh (44x)
57417: 84, // rsh (44x)
57491: 85, // PrimaryTerm (40x)
57490: 86, // PrimaryFactor (36x)
91: 87, // '[' (31x)
57471: 88, // Factor (25x)
57472: 89, // Factor1 (25x)
57512: 90, // Term (24x)
57468: 91, // Expression (23x)
57520: 92, // logOr (16x)
57446: 93, // ColumnName (10x)
57386: 94, // full (10x)
57402: 95, // left (10x)
57415: 96, // right (10x)
57419: 97, // selectKwd (10x)
57511: 98, // TableName (9x)
57449: 99, // CommaOpt (7x)
57469: 100, // ExpressionList (7x)
57410: 101, // on (7x)
57498: 102, // SelectStmt (7x)
57400: 103, // join (6x)
57443: 104, // Call (5x)
57376: 105, // drop (5x)
57477: 106, // Index (5x)
57507: 107, // Slice (5x)
57445: 108, // ColumnDef (4x)
57379: 109, // exists (4x)
57389: 110, // ifKwd (4x)
57391: 111, // index (4x)
57414: 112, // outer (4x)
57422: 113, // tableKwd (4x)
57434: 114, // values (4x)
57353: 115, // alter (3x)
57438: 116, // AlterTableStmt (3x)
57359: 117, // begin (3x)
57442: 118, // BeginTransactionStmt (3x)
57368: 119, // commit (3x)
57450: 120, // CommitStmt (3x)
57371: 121, // create (3x)
57455: 122, // CreateIndexStmt (3x)
57457: 123, // CreateTableStmt (3x)
57461: 124, // DeleteFromStmt (3x)
57373: 125, // deleteKwd (3x)
57463: 126, // DropIndexStmt (3x)
57464: 127, // DropTableStmt (3x)
57465: 128, // EmptyStmt (3x)
57380: 129, // explain (3x)
57467: 130, // ExplainStmt (3x)
57392: 131, // insert (3x)
57478: 132, // InsertIntoStmt (3x)
57493: 133, // RecordSet (3x)
57494: 134, // RecordSet1 (3x)
57416: 135, // rollback (3x)
57497: 136, // RollbackStmt (3x)
57521: 137, // semiOpt (3x)
57509: 138, // Statement (3x)
57426: 139, // truncate (3x)
57513: 140, // TruncateTableStmt (3x)
57433: 141, // update (3x)
57516: 142, // UpdateStmt (3x)
57518: 143, // WhereClause (3x)
57352: 144, // add (2x)
57439: 145, // Assignment (2x)
57365: 146, // by (2x)
57447: 147, // ColumnNameList (2x)
57458: 148, // CreateTableStmt1 (2x)
57473: 149, // Field (2x)
57519: 150, // logAnd (2x)
57420: 151, // set (2x)
46: 152, // '.' (1x)
57440: 153, // AssignmentList (1x)
57441: 154, // AssignmentList1 (1x)
57444: 155, // Call1 (1x)
57367: 156, // column (1x)
57448: 157, // ColumnNameList1 (1x)
57451: 158, // Constraint (1x)
57452: 159, // ConstraintOpt (1x)
57454: 160, // CreateIndexIfNotExists (1x)
57456: 161, // CreateIndexStmtUnique (1x)
57459: 162, // Default (1x)
57460: 163, // DefaultOpt (1x)
57375: 164, // distinct (1x)
57462: 165, // DropIndexIfExists (1x)
57466: 166, // Eq (1x)
57470: 167, // ExpressionList1 (1x)
57474: 168, // Field1 (1x)
57475: 169, // FieldList (1x)
57476: 170, // GroupByClause (1x)
57479: 171, // InsertIntoStmt1 (1x)
57480: 172, // InsertIntoStmt2 (1x)
57398: 173, // into (1x)
57481: 174, // JoinClause (1x)
57482: 175, // JoinClauseOpt (1x)
57483: 176, // JoinType (1x)
57486: 177, // OrderBy (1x)
57487: 178, // OrderBy1 (1x)
57488: 179, // OuterOpt (1x)
57436: 180, // parseExpression (1x)
57495: 181, // RecordSet2 (1x)
57496: 182, // RecordSetList (1x)
57499: 183, // SelectStmtDistinct (1x)
57500: 184, // SelectStmtFieldList (1x)
57501: 185, // SelectStmtGroup (1x)
57502: 186, // SelectStmtLimit (1x)
57503: 187, // SelectStmtOffset (1x)
57504: 188, // SelectStmtOrder (1x)
57505: 189, // SelectStmtWhere (1x)
57506: 190, // SetOpt (1x)
57508: 191, // Start (1x)
57510: 192, // StatementList (1x)
57424: 193, // transaction (1x)
57432: 194, // unique (1x)
57517: 195, // UpdateStmt1 (1x)
57437: 196, // $default (0x)
57345: 197, // error (0x)
}
yySymNames = []string{
"';'",
"$end",
"')'",
"'+'",
"'-'",
"'^'",
"','",
"'('",
"identifier",
"offset",
"limit",
"defaultKwd",
"order",
"where",
"null",
"bigIntType",
"bigRatType",
"blobType",
"boolType",
"byteType",
"complex128Type",
"complex64Type",
"durationType",
"float32Type",
"float64Type",
"floatType",
"int16Type",
"int32Type",
"int64Type",
"int8Type",
"intType",
"runeType",
"stringType",
"timeType",
"uint16Type",
"uint32Type",
"uint64Type",
"uint8Type",
"uintType",
"falseKwd",
"floatLit",
"imaginaryLit",
"intLit",
"qlParam",
"stringLit",
"trueKwd",
"group",
"not",
"or",
"oror",
"'!'",
"from",
"asc",
"desc",
"']'",
"as",
"':'",
"and",
"andand",
"'|'",
"'='",
"between",
"in",
"'<'",
"'>'",
"eq",
"ge",
"is",
"le",
"like",
"neq",
"Type",
"Conversion",
"Literal",
"Operand",
"PrimaryExpression",
"QualifiedIdent",
"'*'",
"UnaryExpr",
"'%'",
"'&'",
"'/'",
"andnot",
"lsh",
"rsh",
"PrimaryTerm",
"PrimaryFactor",
"'['",
"Factor",
"Factor1",
"Term",
"Expression",
"logOr",
"ColumnName",
"full",
"left",
"right",
"selectKwd",
"TableName",
"CommaOpt",
"ExpressionList",
"on",
"SelectStmt",
"join",
"Call",
"drop",
"Index",
"Slice",
"ColumnDef",
"exists",
"ifKwd",
"index",
"outer",
"tableKwd",
"values",
"alter",
"AlterTableStmt",
"begin",
"BeginTransactionStmt",
"commit",
"CommitStmt",
"create",
"CreateIndexStmt",
"CreateTableStmt",
"DeleteFromStmt",
"deleteKwd",
"DropIndexStmt",
"DropTableStmt",
"EmptyStmt",
"explain",
"ExplainStmt",
"insert",
"InsertIntoStmt",
"RecordSet",
"RecordSet1",
"rollback",
"RollbackStmt",
"semiOpt",
"Statement",
"truncate",
"TruncateTableStmt",
"update",
"UpdateStmt",
"WhereClause",
"add",
"Assignment",
"by",
"ColumnNameList",
"CreateTableStmt1",
"Field",
"logAnd",
"set",
"'.'",
"AssignmentList",
"AssignmentList1",
"Call1",
"column",
"ColumnNameList1",
"Constraint",
"ConstraintOpt",
"CreateIndexIfNotExists",
"CreateIndexStmtUnique",
"Default",
"DefaultOpt",
"distinct",
"DropIndexIfExists",
"Eq",
"ExpressionList1",
"Field1",
"FieldList",
"GroupByClause",
"InsertIntoStmt1",
"InsertIntoStmt2",
"into",
"JoinClause",
"JoinClauseOpt",
"JoinType",
"OrderBy",
"OrderBy1",
"OuterOpt",
"parseExpression",
"RecordSet2",
"RecordSetList",
"SelectStmtDistinct",
"SelectStmtFieldList",
"SelectStmtGroup",
"SelectStmtLimit",
"SelectStmtOffset",
"SelectStmtOrder",
"SelectStmtWhere",
"SetOpt",
"Start",
"StatementList",
"transaction",
"unique",
"UpdateStmt1",
"$default",
"error",
}
yyTokenLiteralStrings = map[int]string{
57347: "identifier",
57409: "OFFSET",
57404: "LIMIT",
57372: "DEFAULT",
57412: "ORDER",
57435: "WHERE",
57408: "NULL",
57361: "bigint",
57362: "bigrat",
57363: "blob",
57364: "bool",
57366: "byte",
57369: "complex128",
57370: "complex64",
57377: "duration",
57383: "float32",
57384: "float64",
57382: "float",
57394: "int16",
57395: "int32",
57396: "int64",
57397: "int8",
57393: "int",
57418: "rune",
57421: "string",
57423: "time",
57428: "uint16",
57429: "uint32",
57430: "uint64",
57431: "uint8",
57427: "uint",
57381: "false",
57346: "floating-point literal",
57348: "imaginary literal",
57349: "integer literal",
57350: "QL parameter",
57351: "string literal",
57425: "true",
57388: "GROUP",
57407: "NOT",
57411: "OR",
57413: "||",
57385: "FROM",
57358: "ASC",
57374: "DESC",
57357: "AS",
57354: "AND",
57355: "&&",
57360: "BETWEEN",
57390: "IN",
57378: "==",
57387: ">=",
57399: "IS",
57401: "<=",
57403: "LIKE",
57406: "!=",
57356: "&^",
57405: "<<",
57417: ">>",
57386: "FULL",
57402: "LEFT",
57415: "RIGHT",
57419: "SELECT",
57410: "ON",
57400: "JOIN",
57376: "DROP",
57379: "EXISTS",
57389: "IF",
57391: "INDEX",
57414: "OUTER",
57422: "TABLE",
57434: "VALUES",
57353: "ALTER",
57359: "BEGIN",
57368: "COMMIT",
57371: "CREATE",
57373: "DELETE",
57380: "EXPLAIN",
57392: "INSERT",
57416: "ROLLBACK",
57426: "TRUNCATE",
57433: "UPDATE",
57352: "ADD",
57365: "BY",
57420: "SET",
57367: "COLUMN",
57375: "DISTINCT",
57398: "INTO",
57436: "parse expression prefix",
57424: "TRANSACTION",
57432: "UNIQUE",
}
yyReductions = map[int]struct{ xsym, components int }{
0: {0, 1},
1: {191, 1},
2: {191, 2},
3: {116, 5},
4: {116, 6},
5: {145, 3},
6: {153, 3},
7: {154, 0},
8: {154, 3},
9: {118, 2},
10: {104, 3},
11: {104, 3},
12: {155, 0},
13: {155, 1},
14: {108, 4},
15: {93, 1},
16: {147, 3},
17: {157, 0},
18: {157, 3},
19: {120, 1},
20: {158, 2},
21: {158, 1},
22: {159, 0},
23: {159, 1},
24: {72, 4},
25: {122, 10},
26: {160, 0},
27: {160, 3},
28: {161, 0},
29: {161, 1},
30: {123, 8},
31: {123, 11},
32: {148, 0},
33: {148, 3},
34: {162, 2},
35: {163, 0},
36: {163, 1},
37: {124, 3},
38: {124, 4},
39: {126, 4},
40: {165, 0},
41: {165, 2},
42: {127, 3},
43: {127, 5},
44: {128, 0},
45: {130, 2},
46: {91, 1},
47: {91, 3},
48: {92, 1},
49: {92, 1},
50: {166, 1},
51: {166, 1},
52: {100, 3},
53: {167, 0},
54: {167, 3},
55: {88, 1},
56: {88, 5},
57: {88, 6},
58: {88, 6},
59: {88, 7},
60: {88, 5},
61: {88, 6},
62: {88, 3},
63: {88, 4},
64: {89, 1},
65: {89, 3},
66: {89, 3},
67: {89, 3},
68: {89, 3},
69: {89, 3},
70: {89, 3},
71: {89, 3},
72: {149, 2},
73: {168, 0},
74: {168, 2},
75: {169, 1},
76: {169, 3},
77: {170, 3},
78: {106, 3},
79: {132, 10},
80: {132, 5},
81: {171, 0},
82: {171, 3},
83: {172, 0},
84: {172, 5},
85: {73, 1},
86: {73, 1},
87: {73, 1},
88: {73, 1},
89: {73, 1},
90: {73, 1},
91: {73, 1},
92: {74, 1},
93: {74, 1},
94: {74, 1},
95: {74, 3},
96: {177, 4},
97: {178, 0},
98: {178, 1},
99: {178, 1},
100: {75, 1},
101: {75, 1},
102: {75, 2},
103: {75, 2},
104: {75, 2},
105: {86, 1},
106: {86, 3},
107: {86, 3},
108: {86, 3},
109: {86, 3},
110: {85, 1},
111: {85, 3},
112: {85, 3},
113: {85, 3},
114: {85, 3},
115: {85, 3},
116: {85, 3},
117: {85, 3},
118: {76, 1},
119: {76, 3},
120: {133, 2},
121: {134, 1},
122: {134, 4},
123: {137, 0},
124: {137, 1},
125: {181, 0},
126: {181, 2},
127: {182, 1},
128: {182, 3},
129: {136, 1},
130: {176, 1},
131: {176, 1},
132: {176, 1},
133: {179, 0},
134: {179, 1},
135: {174, 6},
136: {175, 0},
137: {175, 1},
138: {102, 12},
139: {186, 0},
140: {186, 2},
141: {187, 0},
142: {187, 2},
143: {183, 0},
144: {183, 1},
145: {184, 1},
146: {184, 1},
147: {184, 2},
148: {189, 0},
149: {189, 1},
150: {185, 0},
151: {185, 1},
152: {188, 0},
153: {188, 1},
154: {107, 3},
155: {107, 4},
156: {107, 4},
157: {107, 5},
158: {138, 1},
159: {138, 1},
160: {138, 1},
161: {138, 1},
162: {138, 1},
163: {138, 1},
164: {138, 1},
165: {138, 1},
166: {138, 1},
167: {138, 1},
168: {138, 1},
169: {138, 1},
170: {138, 1},
171: {138, 1},
172: {138, 1},
173: {192, 1},
174: {192, 3},
175: {98, 1},
176: {90, 1},
177: {90, 3},
178: {150, 1},
179: {150, 1},
180: {140, 3},
181: {71, 1},
182: {71, 1},
183: {71, 1},
184: {71, 1},
185: {71, 1},
186: {71, 1},
187: {71, 1},
188: {71, 1},
189: {71, 1},
190: {71, 1},
191: {71, 1},
192: {71, 1},
193: {71, 1},
194: {71, 1},
195: {71, 1},
196: {71, 1},
197: {71, 1},
198: {71, 1},
199: {71, 1},
200: {71, 1},
201: {71, 1},
202: {71, 1},
203: {71, 1},
204: {71, 1},
205: {142, 5},
206: {195, 0},
207: {195, 1},
208: {78, 1},
209: {78, 2},
210: {78, 2},
211: {78, 2},
212: {78, 2},
213: {143, 2},
214: {190, 0},
215: {190, 1},
216: {99, 0},
217: {99, 1},
}
yyXErrors = map[yyXError]string{
yyXError{1, -1}: "expected $end",
yyXError{43, -1}: "expected '('",
yyXError{159, -1}: "expected '('",
yyXError{183, -1}: "expected '('",
yyXError{283, -1}: "expected '('",
yyXError{311, -1}: "expected '('",
yyXError{315, -1}: "expected '('",
yyXError{346, -1}: "expected '('",
yyXError{118, -1}: "expected ')'",
yyXError{119, -1}: "expected ')'",
yyXError{120, -1}: "expected ')'",
yyXError{189, -1}: "expected ')'",
yyXError{191, -1}: "expected ')'",
yyXError{192, -1}: "expected ')'",
yyXError{196, -1}: "expected ')'",
yyXError{198, -1}: "expected ')'",
yyXError{267, -1}: "expected ')'",
yyXError{281, -1}: "expected ')'",
yyXError{286, -1}: "expected ')'",
yyXError{292, -1}: "expected ')'",
yyXError{320, -1}: "expected ')'",
yyXError{337, -1}: "expected ')'",
yyXError{348, -1}: "expected ')'",
yyXError{36, -1}: "expected '='",
yyXError{235, -1}: "expected BY",
yyXError{238, -1}: "expected BY",
yyXError{354, -1}: "expected COLUMN",
yyXError{7, -1}: "expected CREATE INDEX optional UNIQUE clause or one of [INDEX, TABLE, UNIQUE]",
yyXError{339, -1}: "expected CREATE INDEX statement optional IF NOT EXISTS cluse or one of [IF, identifier]",
yyXError{318, -1}: "expected CREATE TABLE statement colum definition list or optional comma or one of [')', ',']",
yyXError{335, -1}: "expected CREATE TABLE statement colum definition list or optional comma or one of [')', ',']",
yyXError{295, -1}: "expected DROP INDEX statement optional IF EXISTS clause or one of [IF, identifier]",
yyXError{298, -1}: "expected EXISTS",
yyXError{302, -1}: "expected EXISTS",
yyXError{313, -1}: "expected EXISTS",
yyXError{342, -1}: "expected EXISTS",
yyXError{46, -1}: "expected Eq or one of [!=, $end, &&, ')', ',', ':', ';', '<', '=', '>', ']', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{8, -1}: "expected FROM",
yyXError{217, -1}: "expected FROM",
yyXError{218, -1}: "expected FROM",
yyXError{308, -1}: "expected INDEX",
yyXError{309, -1}: "expected INDEX",
yyXError{278, -1}: "expected INSERT INTO statement optional column list clause or SELECT statement or one of ['(', SELECT, VALUES]",
yyXError{287, -1}: "expected INSERT INTO statement optional values list or optional comma or one of [$end, ',', ';']",
yyXError{11, -1}: "expected INTO",
yyXError{259, -1}: "expected JOIN",
yyXError{260, -1}: "expected JOIN",
yyXError{312, -1}: "expected NOT",
yyXError{341, -1}: "expected NOT",
yyXError{178, -1}: "expected NULL",
yyXError{326, -1}: "expected NULL",
yyXError{262, -1}: "expected ON",
yyXError{344, -1}: "expected ON",
yyXError{248, -1}: "expected ORDER BY clause optional collation specification or one of [$end, ')', ';', ASC, DESC, LIMIT, OFFSET]",
yyXError{219, -1}: "expected RecordSetList or one of ['(', identifier]",
yyXError{13, -1}: "expected SELECT statement field list or SELECT statement optional DISTINCT clause or one of ['!', '(', '*', '+', '-', '^', DISTINCT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{212, -1}: "expected SELECT statement field list or one of ['!', '(', '*', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{226, -1}: "expected SELECT statement optional GROUP BY clause or SELECT statement optional JOIN clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or SELECT statement optional WHERE clause or one of [$end, ')', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
yyXError{224, -1}: "expected SELECT statement optional GROUP BY clause or SELECT statement optional JOIN clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or SELECT statement optional WHERE clause or optional comma or one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
yyXError{232, -1}: "expected SELECT statement optional GROUP BY clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or SELECT statement optional WHERE clause or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER, WHERE]",
yyXError{233, -1}: "expected SELECT statement optional GROUP BY clause or SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER]",
yyXError{236, -1}: "expected SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or SELECT statement optional ORDER BY clause or one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
yyXError{239, -1}: "expected SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or one of [$end, ')', ';', LIMIT, OFFSET]",
yyXError{241, -1}: "expected SELECT statement optional OFFSET clause or one of [$end, ')', ';', OFFSET]",
yyXError{222, -1}: "expected SELECT statement or SELECT",
yyXError{188, -1}: "expected SELECT statement or expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, SELECT, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{195, -1}: "expected SELECT statement or expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, SELECT, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{279, -1}: "expected SELECT statement or one of [SELECT, VALUES]",
yyXError{33, -1}: "expected SetOpt or assignment list or one of [SET, identifier]",
yyXError{0, -1}: "expected Start or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE, parse expression prefix]",
yyXError{4, -1}: "expected TABLE",
yyXError{30, -1}: "expected TABLE",
yyXError{5, -1}: "expected TRANSACTION",
yyXError{39, -1}: "expected UPDATE statement optional WHERE clause or one of [$end, ';', WHERE]",
yyXError{306, -1}: "expected WHERE clause or one of [$end, ';', WHERE]",
yyXError{37, -1}: "expected assignment list optional trailing comma or optional comma or one of [$end, ',', ';', WHERE]",
yyXError{34, -1}: "expected assignment list or identifier",
yyXError{206, -1}: "expected assignment or one of [$end, ';', WHERE, identifier]",
yyXError{252, -1}: "expected column name list or identifier",
yyXError{280, -1}: "expected column name list or identifier",
yyXError{253, -1}: "expected column name list with optional trailing comma or optional comma or one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
yyXError{355, -1}: "expected column name or identifier",
yyXError{257, -1}: "expected column name or one of [$end, ')', ';', LIMIT, OFFSET, ORDER, identifier]",
yyXError{109, -1}: "expected expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{121, -1}: "expected expression list expression or logical or operator or optional comma or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET, OR, ||]",
yyXError{247, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{285, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{291, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{347, -1}: "expected expression list or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{124, -1}: "expected expression or one of [$end, '!', '(', ')', '+', '-', ';', '^', ASC, DESC, LIMIT, NULL, OFFSET, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{96, -1}: "expected expression or one of ['!', '(', '+', '-', ':', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{101, -1}: "expected expression or one of ['!', '(', '+', '-', ']', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{114, -1}: "expected expression or one of ['!', '(', '+', '-', ']', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{3, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{42, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{58, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{201, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{208, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{242, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{245, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{263, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{331, -1}: "expected expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{104, -1}: "expected expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{214, -1}: "expected field expression optional AS clause or logical or operator or one of [',', AS, FROM, OR, ||]",
yyXError{272, -1}: "expected field expression or one of ['!', '(', '+', '-', '^', FROM, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{95, -1}: "expected function call optional argument list or one of ['!', '(', ')', '*', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{61, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{94, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{128, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{129, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{130, -1}: "expected function call or string index or string slice or one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{35, -1}: "expected identifier",
yyXError{131, -1}: "expected identifier",
yyXError{270, -1}: "expected identifier",
yyXError{275, -1}: "expected identifier",
yyXError{301, -1}: "expected identifier",
yyXError{303, -1}: "expected identifier",
yyXError{340, -1}: "expected identifier",
yyXError{343, -1}: "expected identifier",
yyXError{345, -1}: "expected identifier",
yyXError{44, -1}: "expected logical and operator or one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{108, -1}: "expected logical and operator or one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{125, -1}: "expected logical or operator or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET, OR, ||]",
yyXError{327, -1}: "expected logical or operator or one of [$end, ')', ',', ';', DEFAULT, OR, ||]",
yyXError{333, -1}: "expected logical or operator or one of [$end, ')', ',', ';', OR, ||]",
yyXError{264, -1}: "expected logical or operator or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{45, -1}: "expected logical or operator or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, OR, ORDER, ||]",
yyXError{243, -1}: "expected logical or operator or one of [$end, ')', ';', OFFSET, OR, ||]",
yyXError{246, -1}: "expected logical or operator or one of [$end, ')', ';', OR, ||]",
yyXError{209, -1}: "expected logical or operator or one of [$end, ',', ';', OR, WHERE, ||]",
yyXError{358, -1}: "expected logical or operator or one of [$end, OR, ||]",
yyXError{147, -1}: "expected logical or operator or one of [')', OR, ||]",
yyXError{202, -1}: "expected logical or operator or one of [')', OR, ||]",
yyXError{100, -1}: "expected logical or operator or one of [':', ']', OR, ||]",
yyXError{102, -1}: "expected logical or operator or one of [']', OR, ||]",
yyXError{115, -1}: "expected logical or operator or one of [']', OR, ||]",
yyXError{64, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{48, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{49, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{50, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{51, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{52, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{53, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{54, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{55, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{56, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{57, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{59, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{60, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{97, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{98, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{99, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{103, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{107, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{113, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{116, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{117, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{126, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{127, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{132, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{148, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{203, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{62, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{63, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{140, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{141, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{142, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{143, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{144, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{145, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{146, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{153, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{154, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{155, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{156, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{47, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{170, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{171, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{172, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{173, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{174, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{175, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{176, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{182, -1}: "expected one of [$end, &&, ')', '+', ',', '-', ':', ';', ']', '^', '|', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{187, -1}: "expected one of [$end, &&, ')', '+', ',', '-', ':', ';', ']', '^', '|', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{65, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{112, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{177, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{179, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{193, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{194, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{199, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{200, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
yyXError{66, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{67, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{68, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{69, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{70, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{71, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{72, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{73, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{74, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{75, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{76, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{77, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{78, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{79, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{80, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{81, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{82, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{83, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{84, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{85, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{86, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{87, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{88, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{89, -1}: "expected one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{32, -1}: "expected one of [$end, '(', ';', ADD, DROP, SELECT, SET, VALUES, WHERE, identifier]",
yyXError{290, -1}: "expected one of [$end, '(', ';']",
yyXError{38, -1}: "expected one of [$end, ')', ',', ';', '=', LIMIT, OFFSET, ORDER, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, float, float32, float64, int, int16, int32, int64, int8, rune, string, time, uint, uint16, uint32, uint64, uint8]",
yyXError{221, -1}: "expected one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
yyXError{268, -1}: "expected one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
yyXError{328, -1}: "expected one of [$end, ')', ',', ';', DEFAULT]",
yyXError{329, -1}: "expected one of [$end, ')', ',', ';', DEFAULT]",
yyXError{269, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
yyXError{271, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
yyXError{223, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
yyXError{265, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
yyXError{258, -1}: "expected one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
yyXError{330, -1}: "expected one of [$end, ')', ',', ';']",
yyXError{332, -1}: "expected one of [$end, ')', ',', ';']",
yyXError{123, -1}: "expected one of [$end, ')', ';', ASC, DESC, LIMIT, OFFSET]",
yyXError{231, -1}: "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER, WHERE]",
yyXError{234, -1}: "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER]",
yyXError{237, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
yyXError{254, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
yyXError{256, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
yyXError{240, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
yyXError{249, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
yyXError{250, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
yyXError{251, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
yyXError{244, -1}: "expected one of [$end, ')', ';']",
yyXError{207, -1}: "expected one of [$end, ',', ';', WHERE]",
yyXError{293, -1}: "expected one of [$end, ',', ';']",
yyXError{205, -1}: "expected one of [$end, ';', WHERE]",
yyXError{2, -1}: "expected one of [$end, ';']",
yyXError{6, -1}: "expected one of [$end, ';']",
yyXError{12, -1}: "expected one of [$end, ';']",
yyXError{14, -1}: "expected one of [$end, ';']",
yyXError{15, -1}: "expected one of [$end, ';']",
yyXError{16, -1}: "expected one of [$end, ';']",
yyXError{17, -1}: "expected one of [$end, ';']",
yyXError{18, -1}: "expected one of [$end, ';']",
yyXError{19, -1}: "expected one of [$end, ';']",
yyXError{20, -1}: "expected one of [$end, ';']",
yyXError{21, -1}: "expected one of [$end, ';']",
yyXError{22, -1}: "expected one of [$end, ';']",
yyXError{23, -1}: "expected one of [$end, ';']",
yyXError{24, -1}: "expected one of [$end, ';']",
yyXError{25, -1}: "expected one of [$end, ';']",
yyXError{26, -1}: "expected one of [$end, ';']",
yyXError{27, -1}: "expected one of [$end, ';']",
yyXError{28, -1}: "expected one of [$end, ';']",
yyXError{29, -1}: "expected one of [$end, ';']",
yyXError{40, -1}: "expected one of [$end, ';']",
yyXError{41, -1}: "expected one of [$end, ';']",
yyXError{211, -1}: "expected one of [$end, ';']",
yyXError{284, -1}: "expected one of [$end, ';']",
yyXError{289, -1}: "expected one of [$end, ';']",
yyXError{294, -1}: "expected one of [$end, ';']",
yyXError{297, -1}: "expected one of [$end, ';']",
yyXError{300, -1}: "expected one of [$end, ';']",
yyXError{304, -1}: "expected one of [$end, ';']",
yyXError{307, -1}: "expected one of [$end, ';']",
yyXError{323, -1}: "expected one of [$end, ';']",
yyXError{338, -1}: "expected one of [$end, ';']",
yyXError{349, -1}: "expected one of [$end, ';']",
yyXError{350, -1}: "expected one of [$end, ';']",
yyXError{356, -1}: "expected one of [$end, ';']",
yyXError{357, -1}: "expected one of [$end, ';']",
yyXError{360, -1}: "expected one of [$end, ';']",
yyXError{213, -1}: "expected one of ['!', '(', '*', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{105, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{106, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{110, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{111, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{157, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{158, -1}: "expected one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{322, -1}: "expected one of [')', ',']",
yyXError{180, -1}: "expected one of ['+', '-', '^', '|', AND]",
yyXError{185, -1}: "expected one of ['+', '-', '^', '|', AND]",
yyXError{215, -1}: "expected one of [',', FROM]",
yyXError{216, -1}: "expected one of [',', FROM]",
yyXError{273, -1}: "expected one of [',', FROM]",
yyXError{274, -1}: "expected one of [',', FROM]",
yyXError{276, -1}: "expected one of [',', FROM]",
yyXError{352, -1}: "expected one of [ADD, DROP]",
yyXError{160, -1}: "expected one of [BETWEEN, IN]",
yyXError{9, -1}: "expected one of [INDEX, TABLE]",
yyXError{227, -1}: "expected one of [JOIN, OUTER]",
yyXError{228, -1}: "expected one of [JOIN, OUTER]",
yyXError{229, -1}: "expected one of [JOIN, OUTER]",
yyXError{162, -1}: "expected one of [NOT, NULL]",
yyXError{282, -1}: "expected one of [SELECT, VALUES]",
yyXError{325, -1}: "expected optional DEFAULT clause or one of [$end, ')', ',', ';', DEFAULT]",
yyXError{324, -1}: "expected optional DEFAULT clause or optional column value constraint or one of [$end, '!', '(', ')', '+', ',', '-', ';', '^', DEFAULT, NOT, NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{230, -1}: "expected optional OUTER clause or one of [JOIN, OUTER]",
yyXError{122, -1}: "expected optional comma or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET]",
yyXError{255, -1}: "expected optional comma or one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
yyXError{204, -1}: "expected optional comma or one of [$end, ',', ';', WHERE]",
yyXError{288, -1}: "expected optional comma or one of [$end, ',', ';']",
yyXError{319, -1}: "expected optional comma or one of [')', ',']",
yyXError{336, -1}: "expected optional comma or one of [')', ',']",
yyXError{161, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{163, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{164, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{165, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{166, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{167, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{168, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{169, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{181, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{184, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{186, -1}: "expected primary expression factor or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{90, -1}: "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{91, -1}: "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{92, -1}: "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{93, -1}: "expected primary expression or one of ['(', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{149, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{150, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{151, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{152, -1}: "expected primary expression term or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{220, -1}: "expected record set optional AS clause or one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
yyXError{225, -1}: "expected record set or one of [$end, '(', ')', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE, identifier]",
yyXError{261, -1}: "expected record set or one of ['(', identifier]",
yyXError{190, -1}: "expected semiOpt or one of [')', ';']",
yyXError{197, -1}: "expected semiOpt or one of [')', ';']",
yyXError{266, -1}: "expected semiOpt or one of [')', ';']",
yyXError{10, -1}: "expected statement or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE]",
yyXError{359, -1}: "expected statement or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE]",
yyXError{316, -1}: "expected table column definition or identifier",
yyXError{334, -1}: "expected table column definition or identifier",
yyXError{353, -1}: "expected table column definition or identifier",
yyXError{321, -1}: "expected table column definition or one of [')', identifier]",
yyXError{31, -1}: "expected table name or identifier",
yyXError{210, -1}: "expected table name or identifier",
yyXError{277, -1}: "expected table name or identifier",
yyXError{299, -1}: "expected table name or identifier",
yyXError{305, -1}: "expected table name or identifier",
yyXError{314, -1}: "expected table name or identifier",
yyXError{351, -1}: "expected table name or identifier",
yyXError{296, -1}: "expected table name or one of [IF, identifier]",
yyXError{310, -1}: "expected table name or one of [IF, identifier]",
yyXError{317, -1}: "expected type or one of [bigint, bigrat, blob, bool, byte, complex128, complex64, duration, float, float32, float64, int, int16, int32, int64, int8, rune, string, time, uint, uint16, uint32, uint64, uint8]",
yyXError{133, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{134, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{135, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{136, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{137, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{138, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
yyXError{139, -1}: "expected unary expression or one of ['!', '(', '+', '-', '^', NULL, QL parameter, bigint, bigrat, blob, bool, byte, complex128, complex64, duration, false, float, float32, float64, floating-point literal, identifier, imaginary literal, int, int16, int32, int64, int8, integer literal, rune, string, string literal, time, true, uint, uint16, uint32, uint64, uint8]",
}
yyParseTab = [361][]uint16{
// 0
{174, 174, 97: 231, 102: 244, 105: 227, 115: 222, 233, 223, 234, 224, 235, 225, 236, 237, 238, 226, 239, 240, 232, 228, 241, 229, 242, 135: 230, 243, 138: 247, 248, 245, 249, 246, 180: 221, 191: 219, 220},
{1: 218},
{577, 217},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 576},
{113: 569},
// 5
{193: 568},
{199, 199},
{111: 190, 113: 528, 161: 526, 194: 527},
{51: 523},
{111: 513, 113: 514},
// 10
{174, 174, 97: 231, 102: 244, 105: 227, 115: 222, 233, 223, 234, 224, 235, 225, 236, 237, 238, 226, 239, 240, 232, 228, 241, 229, 242, 135: 230, 243, 138: 512, 248, 245, 249, 246},
{173: 495},
{89, 89},
{3: 75, 75, 75, 7: 75, 75, 14: 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 50: 75, 77: 75, 164: 431, 183: 430},
{60, 60},
// 15
{59, 59},
{58, 58},
{57, 57},
{56, 56},
{55, 55},
// 20
{54, 54},
{53, 53},
{52, 52},
{51, 51},
{50, 50},
// 25
{49, 49},
{48, 48},
{47, 47},
{46, 46},
{45, 45},
// 30
{113: 428},
{8: 250, 98: 251},
{43, 43, 7: 43, 43, 13: 43, 97: 43, 105: 43, 114: 43, 144: 43, 151: 43},
{8: 4, 151: 253, 190: 252},
{8: 256, 93: 254, 145: 255, 153: 257},
// 35
{8: 3},
{60: 426},
{211, 211, 6: 211, 13: 211, 154: 422},
{203, 203, 203, 6: 203, 9: 203, 203, 12: 203, 15: 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 60: 203},
{12, 12, 13: 260, 143: 259, 195: 258},
// 40
{13, 13},
{11, 11},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 263},
{7: 419},
{172, 172, 172, 6: 172, 9: 172, 172, 172, 172, 172, 46: 172, 48: 172, 172, 51: 172, 172, 172, 172, 172, 172, 329, 328, 150: 327},
// 45
{5, 5, 5, 9: 5, 5, 12: 5, 46: 5, 48: 324, 323, 92: 322},
{163, 163, 163, 6: 163, 9: 163, 163, 163, 163, 163, 46: 163, 378, 163, 163, 51: 163, 163, 163, 163, 163, 163, 163, 163, 60: 376, 379, 377, 384, 382, 375, 381, 380, 383, 387, 385, 166: 386},
{154, 154, 154, 370, 369, 367, 154, 9: 154, 154, 154, 154, 154, 46: 154, 154, 154, 154, 51: 154, 154, 154, 154, 154, 154, 154, 154, 368, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154},
{133, 133, 133, 133, 133, 133, 133, 133, 9: 133, 133, 133, 133, 133, 46: 133, 133, 133, 133, 51: 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 77: 133, 79: 133, 133, 133, 133, 133, 133, 87: 133},
{132, 132, 132, 132, 132, 132, 132, 132, 9: 132, 132, 132, 132, 132, 46: 132, 132, 132, 132, 51: 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 77: 132, 79: 132, 132, 132, 132, 132, 132, 87: 132},
// 50
{131, 131, 131, 131, 131, 131, 131, 131, 9: 131, 131, 131, 131, 131, 46: 131, 131, 131, 131, 51: 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 77: 131, 79: 131, 131, 131, 131, 131, 131, 87: 131},
{130, 130, 130, 130, 130, 130, 130, 130, 9: 130, 130, 130, 130, 130, 46: 130, 130, 130, 130, 51: 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 77: 130, 79: 130, 130, 130, 130, 130, 130, 87: 130},
{129, 129, 129, 129, 129, 129, 129, 129, 9: 129, 129, 129, 129, 129, 46: 129, 129, 129, 129, 51: 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 77: 129, 79: 129, 129, 129, 129, 129, 129, 87: 129},
{128, 128, 128, 128, 128, 128, 128, 128, 9: 128, 128, 128, 128, 128, 46: 128, 128, 128, 128, 51: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 77: 128, 79: 128, 128, 128, 128, 128, 128, 87: 128},
{127, 127, 127, 127, 127, 127, 127, 127, 9: 127, 127, 127, 127, 127, 46: 127, 127, 127, 127, 51: 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 77: 127, 79: 127, 127, 127, 127, 127, 127, 87: 127},
// 55
{126, 126, 126, 126, 126, 126, 126, 126, 9: 126, 126, 126, 126, 126, 46: 126, 126, 126, 126, 51: 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 77: 126, 79: 126, 126, 126, 126, 126, 126, 87: 126},
{125, 125, 125, 125, 125, 125, 125, 125, 9: 125, 125, 125, 125, 125, 46: 125, 125, 125, 125, 51: 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 77: 125, 79: 125, 125, 125, 125, 125, 125, 87: 125},
{124, 124, 124, 124, 124, 124, 124, 124, 9: 124, 124, 124, 124, 124, 46: 124, 124, 124, 124, 51: 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 77: 124, 79: 124, 124, 124, 124, 124, 124, 87: 124},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 365},
{118, 118, 118, 118, 118, 118, 118, 118, 9: 118, 118, 118, 118, 118, 46: 118, 118, 118, 118, 51: 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 77: 118, 79: 118, 118, 118, 118, 118, 118, 87: 118},
// 60
{117, 117, 117, 117, 117, 117, 117, 117, 9: 117, 117, 117, 117, 117, 46: 117, 117, 117, 117, 51: 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 77: 117, 79: 117, 117, 117, 117, 117, 117, 87: 117},
{10, 10, 10, 10, 10, 10, 10, 313, 9: 10, 10, 10, 10, 10, 46: 10, 10, 10, 10, 51: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 77: 10, 79: 10, 10, 10, 10, 10, 10, 87: 314, 104: 317, 106: 315, 316},
{113, 113, 113, 113, 113, 113, 113, 9: 113, 113, 113, 113, 113, 46: 113, 113, 113, 113, 51: 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 77: 357, 79: 355, 352, 356, 351, 353, 354},
{108, 108, 108, 108, 108, 108, 108, 9: 108, 108, 108, 108, 108, 46: 108, 108, 108, 108, 51: 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 77: 108, 79: 108, 108, 108, 108, 108, 108},
{100, 100, 100, 100, 100, 100, 100, 100, 9: 100, 100, 100, 100, 100, 46: 100, 100, 100, 100, 51: 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 77: 100, 79: 100, 100, 100, 100, 100, 100, 87: 100, 152: 349},
// 65
{42, 42, 42, 6: 42, 9: 42, 42, 42, 42, 42, 46: 42, 48: 42, 42, 51: 42, 42, 42, 42, 42, 42, 42, 42},
{37, 37, 37, 37, 37, 37, 37, 37, 37, 11: 37, 14: 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 47: 37, 50: 37},
{36, 36, 36, 36, 36, 36, 36, 36, 36, 11: 36, 14: 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 47: 36, 50: 36},
{35, 35, 35, 35, 35, 35, 35, 35, 35, 11: 35, 14: 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 47: 35, 50: 35},
{34, 34, 34, 34, 34, 34, 34, 34, 34, 11: 34, 14: 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 47: 34, 50: 34},
// 70
{33, 33, 33, 33, 33, 33, 33, 33, 33, 11: 33, 14: 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 47: 33, 50: 33},
{32, 32, 32, 32, 32, 32, 32, 32, 32, 11: 32, 14: 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47: 32, 50: 32},
{31, 31, 31, 31, 31, 31, 31, 31, 31, 11: 31, 14: 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 47: 31, 50: 31},
{30, 30, 30, 30, 30, 30, 30, 30, 30, 11: 30, 14: 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 47: 30, 50: 30},
{29, 29, 29, 29, 29, 29, 29, 29, 29, 11: 29, 14: 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 47: 29, 50: 29},
// 75
{28, 28, 28, 28, 28, 28, 28, 28, 28, 11: 28, 14: 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 47: 28, 50: 28},
{27, 27, 27, 27, 27, 27, 27, 27, 27, 11: 27, 14: 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 47: 27, 50: 27},
{26, 26, 26, 26, 26, 26, 26, 26, 26, 11: 26, 14: 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 47: 26, 50: 26},
{25, 25, 25, 25, 25, 25, 25, 25, 25, 11: 25, 14: 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 47: 25, 50: 25},
{24, 24, 24, 24, 24, 24, 24, 24, 24, 11: 24, 14: 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 47: 24, 50: 24},
// 80
{23, 23, 23, 23, 23, 23, 23, 23, 23, 11: 23, 14: 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 47: 23, 50: 23},
{22, 22, 22, 22, 22, 22, 22, 22, 22, 11: 22, 14: 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 47: 22, 50: 22},
{21, 21, 21, 21, 21, 21, 21, 21, 21, 11: 21, 14: 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 47: 21, 50: 21},
{20, 20, 20, 20, 20, 20, 20, 20, 20, 11: 20, 14: 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 47: 20, 50: 20},
{19, 19, 19, 19, 19, 19, 19, 19, 19, 11: 19, 14: 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 47: 19, 50: 19},
// 85
{18, 18, 18, 18, 18, 18, 18, 18, 18, 11: 18, 14: 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 47: 18, 50: 18},
{17, 17, 17, 17, 17, 17, 17, 17, 17, 11: 17, 14: 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 47: 17, 50: 17},
{16, 16, 16, 16, 16, 16, 16, 16, 16, 11: 16, 14: 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 47: 16, 50: 16},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 11: 15, 14: 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 47: 15, 50: 15},
{14, 14, 14, 14, 14, 14, 14, 14, 14, 11: 14, 14: 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 47: 14, 50: 14},
// 90
{7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 71: 261, 278, 273, 277, 348, 275},
{7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 71: 261, 278, 273, 277, 347, 275},
{7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 71: 261, 278, 273, 277, 346, 275},
{7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 71: 261, 278, 273, 277, 312, 275},
{6, 6, 6, 6, 6, 6, 6, 313, 9: 6, 6, 6, 6, 6, 46: 6, 6, 6, 6, 51: 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 77: 6, 79: 6, 6, 6, 6, 6, 6, 87: 314, 104: 317, 106: 315, 316},
// 95
{2: 206, 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 337, 281, 85: 280, 265, 88: 283, 264, 262, 339, 100: 338, 155: 336},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 56: 319, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 318},
{116, 116, 116, 116, 116, 116, 116, 116, 9: 116, 116, 116, 116, 116, 46: 116, 116, 116, 116, 51: 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 77: 116, 79: 116, 116, 116, 116, 116, 116, 87: 116},
{115, 115, 115, 115, 115, 115, 115, 115, 9: 115, 115, 115, 115, 115, 46: 115, 115, 115, 115, 51: 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 77: 115, 79: 115, 115, 115, 115, 115, 115, 87: 115},
{114, 114, 114, 114, 114, 114, 114, 114, 9: 114, 114, 114, 114, 114, 46: 114, 114, 114, 114, 51: 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 77: 114, 79: 114, 114, 114, 114, 114, 114, 87: 114},
// 100
{48: 324, 323, 54: 331, 56: 332, 92: 322},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 54: 321, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 320},
{48: 324, 323, 54: 325, 92: 322},
{64, 64, 64, 64, 64, 64, 64, 64, 9: 64, 64, 64, 64, 64, 46: 64, 64, 64, 64, 51: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 77: 64, 79: 64, 64, 64, 64, 64, 64, 87: 64},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 326},
// 105
{3: 170, 170, 170, 7: 170, 170, 14: 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 50: 170},
{3: 169, 169, 169, 7: 169, 169, 14: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 50: 169},
{63, 63, 63, 63, 63, 63, 63, 63, 9: 63, 63, 63, 63, 63, 46: 63, 63, 63, 63, 51: 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 77: 63, 79: 63, 63, 63, 63, 63, 63, 87: 63},
{171, 171, 171, 6: 171, 9: 171, 171, 171, 171, 171, 46: 171, 48: 171, 171, 51: 171, 171, 171, 171, 171, 171, 329, 328, 150: 327},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 330, 264},
// 110
{3: 40, 40, 40, 7: 40, 40, 14: 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 50: 40},
{3: 39, 39, 39, 7: 39, 39, 14: 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 50: 39},
{41, 41, 41, 6: 41, 9: 41, 41, 41, 41, 41, 46: 41, 48: 41, 41, 51: 41, 41, 41, 41, 41, 41, 41, 41},
{140, 140, 140, 140, 140, 140, 140, 140, 9: 140, 140, 140, 140, 140, 46: 140, 140, 140, 140, 51: 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 77: 140, 79: 140, 140, 140, 140, 140, 140, 87: 140},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 54: 334, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 333},
// 115
{48: 324, 323, 54: 335, 92: 322},
{62, 62, 62, 62, 62, 62, 62, 62, 9: 62, 62, 62, 62, 62, 46: 62, 62, 62, 62, 51: 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 77: 62, 79: 62, 62, 62, 62, 62, 62, 87: 62},
{61, 61, 61, 61, 61, 61, 61, 61, 9: 61, 61, 61, 61, 61, 46: 61, 61, 61, 61, 51: 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 77: 61, 79: 61, 61, 61, 61, 61, 61, 87: 61},
{2: 345},
{2: 344},
// 120
{2: 205},
{165, 165, 165, 6: 165, 9: 165, 165, 48: 324, 323, 52: 165, 165, 92: 322, 167: 340},
{2, 2, 2, 6: 342, 9: 2, 2, 52: 2, 2, 99: 341},
{166, 166, 166, 9: 166, 166, 52: 166, 166},
{1, 1, 1, 311, 310, 308, 7: 276, 282, 1, 1, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 52: 1, 1, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 343},
// 125
{164, 164, 164, 6: 164, 9: 164, 164, 48: 324, 323, 52: 164, 164, 92: 322},
{207, 207, 207, 207, 207, 207, 207, 207, 9: 207, 207, 207, 207, 207, 46: 207, 207, 207, 207, 51: 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 77: 207, 79: 207, 207, 207, 207, 207, 207, 87: 207},
{208, 208, 208, 208, 208, 208, 208, 208, 9: 208, 208, 208, 208, 208, 46: 208, 208, 208, 208, 51: 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 77: 208, 79: 208, 208, 208, 208, 208, 208, 87: 208},
{7, 7, 7, 7, 7, 7, 7, 313, 9: 7, 7, 7, 7, 7, 46: 7, 7, 7, 7, 51: 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 77: 7, 79: 7, 7, 7, 7, 7, 7, 87: 314, 104: 317, 106: 315, 316},
{8, 8, 8, 8, 8, 8, 8, 313, 9: 8, 8, 8, 8, 8, 46: 8, 8, 8, 8, 51: 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 77: 8, 79: 8, 8, 8, 8, 8, 8, 87: 314, 104: 317, 106: 315, 316},
// 130
{9, 9, 9, 9, 9, 9, 9, 313, 9: 9, 9, 9, 9, 9, 46: 9, 9, 9, 9, 51: 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 77: 9, 79: 9, 9, 9, 9, 9, 9, 87: 314, 104: 317, 106: 315, 316},
{8: 350},
{99, 99, 99, 99, 99, 99, 99, 99, 9: 99, 99, 99, 99, 99, 46: 99, 99, 99, 99, 51: 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 77: 99, 79: 99, 99, 99, 99, 99, 99, 87: 99},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 364},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 363},
// 135
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 362},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 361},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 360},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 359},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 358},
// 140
{101, 101, 101, 101, 101, 101, 101, 9: 101, 101, 101, 101, 101, 46: 101, 101, 101, 101, 51: 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 77: 101, 79: 101, 101, 101, 101, 101, 101},
{102, 102, 102, 102, 102, 102, 102, 9: 102, 102, 102, 102, 102, 46: 102, 102, 102, 102, 51: 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 77: 102, 79: 102, 102, 102, 102, 102, 102},
{103, 103, 103, 103, 103, 103, 103, 9: 103, 103, 103, 103, 103, 46: 103, 103, 103, 103, 51: 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 77: 103, 79: 103, 103, 103, 103, 103, 103},
{104, 104, 104, 104, 104, 104, 104, 9: 104, 104, 104, 104, 104, 46: 104, 104, 104, 104, 51: 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 77: 104, 79: 104, 104, 104, 104, 104, 104},
{105, 105, 105, 105, 105, 105, 105, 9: 105, 105, 105, 105, 105, 46: 105, 105, 105, 105, 51: 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 77: 105, 79: 105, 105, 105, 105, 105, 105},
// 145
{106, 106, 106, 106, 106, 106, 106, 9: 106, 106, 106, 106, 106, 46: 106, 106, 106, 106, 51: 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 77: 106, 79: 106, 106, 106, 106, 106, 106},
{107, 107, 107, 107, 107, 107, 107, 9: 107, 107, 107, 107, 107, 46: 107, 107, 107, 107, 51: 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 77: 107, 79: 107, 107, 107, 107, 107, 107},
{2: 366, 48: 324, 323, 92: 322},
{123, 123, 123, 123, 123, 123, 123, 123, 9: 123, 123, 123, 123, 123, 46: 123, 123, 123, 123, 51: 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 77: 123, 79: 123, 123, 123, 123, 123, 123, 87: 123},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 374},
// 150
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 373},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 372},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 371},
{109, 109, 109, 109, 109, 109, 109, 9: 109, 109, 109, 109, 109, 46: 109, 109, 109, 109, 51: 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 77: 357, 79: 355, 352, 356, 351, 353, 354},
{110, 110, 110, 110, 110, 110, 110, 9: 110, 110, 110, 110, 110, 46: 110, 110, 110, 110, 51: 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 77: 357, 79: 355, 352, 356, 351, 353, 354},
// 155
{111, 111, 111, 111, 111, 111, 111, 9: 111, 111, 111, 111, 111, 46: 111, 111, 111, 111, 51: 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 77: 357, 79: 355, 352, 356, 351, 353, 354},
{112, 112, 112, 112, 112, 112, 112, 9: 112, 112, 112, 112, 112, 46: 112, 112, 112, 112, 51: 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 77: 357, 79: 355, 352, 356, 351, 353, 354},
{3: 168, 168, 168, 7: 168, 168, 14: 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 50: 168},
{3: 167, 167, 167, 7: 167, 167, 14: 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 50: 167},
{7: 413},
// 160
{61: 402, 401},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 398},
{14: 395, 47: 396},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 394},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 393},
// 165
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 392},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 391},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 390},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 389},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 388},
// 170
{147, 147, 147, 370, 369, 367, 147, 9: 147, 147, 147, 147, 147, 46: 147, 147, 147, 147, 51: 147, 147, 147, 147, 147, 147, 147, 147, 368, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147},
{148, 148, 148, 370, 369, 367, 148, 9: 148, 148, 148, 148, 148, 46: 148, 148, 148, 148, 51: 148, 148, 148, 148, 148, 148, 148, 148, 368, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148},
{149, 149, 149, 370, 369, 367, 149, 9: 149, 149, 149, 149, 149, 46: 149, 149, 149, 149, 51: 149, 149, 149, 149, 149, 149, 149, 149, 368, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149},
{150, 150, 150, 370, 369, 367, 150, 9: 150, 150, 150, 150, 150, 46: 150, 150, 150, 150, 51: 150, 150, 150, 150, 150, 150, 150, 150, 368, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150},
{151, 151, 151, 370, 369, 367, 151, 9: 151, 151, 151, 151, 151, 46: 151, 151, 151, 151, 51: 151, 151, 151, 151, 151, 151, 151, 151, 368, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151},
// 175
{152, 152, 152, 370, 369, 367, 152, 9: 152, 152, 152, 152, 152, 46: 152, 152, 152, 152, 51: 152, 152, 152, 152, 152, 152, 152, 152, 368, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152},
{153, 153, 153, 370, 369, 367, 153, 9: 153, 153, 153, 153, 153, 46: 153, 153, 153, 153, 51: 153, 153, 153, 153, 153, 153, 153, 153, 368, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153},
{156, 156, 156, 6: 156, 9: 156, 156, 156, 156, 156, 46: 156, 48: 156, 156, 51: 156, 156, 156, 156, 156, 156, 156, 156},
{14: 397},
{155, 155, 155, 6: 155, 9: 155, 155, 155, 155, 155, 46: 155, 48: 155, 155, 51: 155, 155, 155, 155, 155, 155, 155, 155},
// 180
{3: 370, 369, 367, 57: 399, 59: 368},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 400},
{158, 158, 158, 370, 369, 367, 158, 9: 158, 158, 158, 158, 158, 46: 158, 48: 158, 158, 51: 158, 158, 158, 158, 158, 158, 158, 158, 368},
{7: 406},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 403},
// 185
{3: 370, 369, 367, 57: 404, 59: 368},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 405},
{157, 157, 157, 370, 369, 367, 157, 9: 157, 157, 157, 157, 157, 46: 157, 48: 157, 157, 51: 157, 157, 157, 157, 157, 157, 157, 157, 368},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 339, 97: 231, 100: 407, 102: 408},
{2: 412},
// 190
{410, 2: 95, 137: 409},
{2: 411},
{2: 94},
{159, 159, 159, 6: 159, 9: 159, 159, 159, 159, 159, 46: 159, 48: 159, 159, 51: 159, 159, 159, 159, 159, 159, 159, 159},
{161, 161, 161, 6: 161, 9: 161, 161, 161, 161, 161, 46: 161, 48: 161, 161, 51: 161, 161, 161, 161, 161, 161, 161, 161},
// 195
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 339, 97: 231, 100: 414, 102: 415},
{2: 418},
{410, 2: 95, 137: 416},
{2: 417},
{160, 160, 160, 6: 160, 9: 160, 160, 160, 160, 160, 46: 160, 48: 160, 160, 51: 160, 160, 160, 160, 160, 160, 160, 160},
// 200
{162, 162, 162, 6: 162, 9: 162, 162, 162, 162, 162, 46: 162, 48: 162, 162, 51: 162, 162, 162, 162, 162, 162, 162, 162},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 420},
{2: 421, 48: 324, 323, 92: 322},
{194, 194, 194, 194, 194, 194, 194, 194, 9: 194, 194, 194, 194, 194, 46: 194, 194, 194, 194, 51: 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 77: 194, 79: 194, 194, 194, 194, 194, 194, 87: 194},
{2, 2, 6: 424, 13: 2, 99: 423},
// 205
{212, 212, 13: 212},
{1, 1, 8: 256, 13: 1, 93: 254, 145: 425},
{210, 210, 6: 210, 13: 210},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 427},
{213, 213, 6: 213, 13: 213, 48: 324, 323, 92: 322},
// 210
{8: 250, 98: 429},
{38, 38},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 436, 281, 85: 280, 265, 88: 283, 264, 262, 432, 149: 433, 169: 434, 184: 435},
{3: 74, 74, 74, 7: 74, 74, 14: 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 50: 74, 77: 74},
{6: 145, 48: 324, 323, 51: 145, 55: 493, 92: 322, 168: 492},
// 215
{6: 143, 51: 143},
{6: 490, 51: 72},
{51: 437},
{51: 73},
{7: 440, 439, 133: 441, 438, 182: 442},
// 220
{93, 93, 93, 6: 93, 9: 93, 93, 12: 93, 93, 46: 93, 55: 488, 94: 93, 93, 93, 101: 93, 181: 487},
{97, 97, 97, 6: 97, 9: 97, 97, 12: 97, 97, 46: 97, 55: 97, 94: 97, 97, 97, 101: 97},
{97: 231, 102: 484},
{91, 91, 91, 6: 91, 9: 91, 91, 12: 91, 91, 46: 91, 94: 91, 91, 91},
{2, 2, 2, 6: 443, 9: 2, 2, 12: 2, 2, 46: 2, 94: 2, 2, 2, 99: 444},
// 225
{1, 1, 1, 7: 440, 439, 1, 1, 12: 1, 1, 46: 1, 94: 1, 1, 1, 133: 483, 438},
{82, 82, 82, 9: 82, 82, 12: 82, 82, 46: 82, 94: 447, 445, 446, 174: 449, 450, 448},
{103: 88, 112: 88},
{103: 87, 112: 87},
{103: 86, 112: 86},
// 230
{103: 85, 112: 477, 179: 478},
{81, 81, 81, 9: 81, 81, 12: 81, 81, 46: 81},
{70, 70, 70, 9: 70, 70, 12: 70, 260, 46: 70, 143: 452, 189: 451},
{68, 68, 68, 9: 68, 68, 12: 68, 46: 453, 170: 455, 185: 454},
{69, 69, 69, 9: 69, 69, 12: 69, 46: 69},
// 235
{146: 470},
{66, 66, 66, 9: 66, 66, 12: 456, 177: 458, 188: 457},
{67, 67, 67, 9: 67, 67, 12: 67},
{146: 465},
{79, 79, 79, 9: 79, 460, 186: 459},
// 240
{65, 65, 65, 9: 65, 65},
{77, 77, 77, 9: 463, 187: 462},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 461},
{78, 78, 78, 9: 78, 48: 324, 323, 92: 322},
{80, 80, 80},
// 245
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 464},
{76, 76, 76, 48: 324, 323, 92: 322},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 339, 100: 466},
{121, 121, 121, 9: 121, 121, 52: 468, 469, 178: 467},
{122, 122, 122, 9: 122, 122},
// 250
{120, 120, 120, 9: 120, 120},
{119, 119, 119, 9: 119, 119},
{8: 256, 93: 471, 147: 472},
{201, 201, 201, 6: 201, 9: 201, 201, 12: 201, 157: 473},
{141, 141, 141, 9: 141, 141, 12: 141},
// 255
{2, 2, 2, 6: 475, 9: 2, 2, 12: 2, 99: 474},
{202, 202, 202, 9: 202, 202, 12: 202},
{1, 1, 1, 8: 256, 1, 1, 12: 1, 93: 476},
{200, 200, 200, 6: 200, 9: 200, 200, 12: 200},
{103: 84},
// 260
{103: 479},
{7: 440, 439, 133: 480, 438},
{101: 481},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 482},
{83, 83, 83, 9: 83, 83, 12: 83, 83, 46: 83, 48: 324, 323, 92: 322},
// 265
{90, 90, 90, 6: 90, 9: 90, 90, 12: 90, 90, 46: 90, 94: 90, 90, 90},
{410, 2: 95, 137: 485},
{2: 486},
{96, 96, 96, 6: 96, 9: 96, 96, 12: 96, 96, 46: 96, 55: 96, 94: 96, 96, 96, 101: 96},
{98, 98, 98, 6: 98, 9: 98, 98, 12: 98, 98, 46: 98, 94: 98, 98, 98, 101: 98},
// 270
{8: 489},
{92, 92, 92, 6: 92, 9: 92, 92, 12: 92, 92, 46: 92, 94: 92, 92, 92, 101: 92},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 432, 149: 491},
{6: 142, 51: 142},
{6: 146, 51: 146},
// 275
{8: 494},
{6: 144, 51: 144},
{8: 250, 98: 496},
{7: 498, 97: 137, 114: 137, 171: 497},
{97: 231, 102: 502, 114: 501},
// 280
{8: 256, 93: 471, 147: 499},
{2: 500},
{97: 136, 114: 136},
{7: 503},
{138, 138},
// 285
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 339, 100: 504},
{2: 505},
{135, 135, 6: 135, 172: 506},
{2, 2, 6: 508, 99: 507},
{139, 139},
// 290
{1, 1, 7: 509},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 339, 100: 510},
{2: 511},
{134, 134, 6: 134},
{173, 173},
// 295
{8: 178, 110: 520, 165: 519},
{8: 250, 98: 515, 110: 516},
{176, 176},
{109: 517},
{8: 250, 98: 518},
// 300
{175, 175},
{8: 522},
{109: 521},
{8: 177},
{179, 179},
// 305
{8: 250, 98: 524},
{181, 181, 13: 260, 143: 525},
{180, 180},
{111: 557},
{111: 189},
// 310
{8: 250, 98: 529, 110: 530},
{7: 552},
{47: 531},
{109: 532},
{8: 250, 98: 533},
// 315
{7: 534},
{8: 256, 93: 535, 108: 536},
{15: 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 71: 542},
{2: 186, 6: 186, 148: 537},
{2: 2, 6: 539, 99: 538},
// 320
{2: 541},
{2: 1, 8: 256, 93: 535, 108: 540},
{2: 185, 6: 185},
{187, 187},
{196, 196, 196, 311, 310, 308, 196, 276, 282, 11: 196, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 47: 544, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 545, 158: 546, 543},
// 325
{183, 183, 183, 6: 183, 11: 549, 162: 550, 548},
{14: 547},
{197, 197, 197, 6: 197, 11: 197, 48: 324, 323, 92: 322},
{195, 195, 195, 6: 195, 11: 195},
{198, 198, 198, 6: 198, 11: 198},
// 330
{204, 204, 204, 6: 204},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 551},
{182, 182, 182, 6: 182},
{184, 184, 184, 6: 184, 48: 324, 323, 92: 322},
{8: 256, 93: 535, 108: 553},
// 335
{2: 186, 6: 186, 148: 554},
{2: 2, 6: 539, 99: 555},
{2: 556},
{188, 188},
{8: 192, 110: 559, 160: 558},
// 340
{8: 562},
{47: 560},
{109: 561},
{8: 191},
{101: 563},
// 345
{8: 564},
{7: 565},
{3: 311, 310, 308, 7: 276, 282, 14: 267, 284, 285, 286, 287, 288, 289, 290, 291, 293, 294, 292, 296, 297, 298, 299, 295, 300, 301, 302, 304, 305, 306, 307, 303, 266, 269, 270, 271, 274, 272, 268, 50: 309, 71: 261, 278, 273, 277, 279, 275, 78: 281, 85: 280, 265, 88: 283, 264, 262, 339, 100: 566},
{2: 567},
{193, 193},
// 350
{209, 209},
{8: 250, 98: 570},
{105: 572, 144: 571},
{8: 256, 93: 535, 108: 575},
{156: 573},
// 355
{8: 256, 93: 574},
{214, 214},
{215, 215},
{1: 216, 48: 324, 323, 92: 322},
{174, 174, 97: 231, 102: 244, 105: 227, 115: 222, 233, 223, 234, 224, 235, 225, 236, 237, 238, 226, 239, 240, 232, 228, 241, 229, 242, 135: 230, 243, 138: 578, 248, 245, 249, 246},
// 360
{44, 44},
}
)
var yyDebug = 0
type yyLexer interface {
Lex(lval *yySymType) int
Error(s string)
}
type yyLexerEx interface {
yyLexer
Reduced(rule, state int, lval *yySymType) bool
}
func yySymName(c int) (s string) {
x, ok := yyXLAT[c]
if ok {
return yySymNames[x]
}
if c < 0x7f {
return __yyfmt__.Sprintf("'%c'", c)
}
return __yyfmt__.Sprintf("%d", c)
}
func yylex1(yylex yyLexer, lval *yySymType) (n int) {
n = yylex.Lex(lval)
if n <= 0 {
n = yyEOFCode
}
if yyDebug >= 3 {
__yyfmt__.Printf("\nlex %s(%#x %d), lval: %+v\n", yySymName(n), n, n, lval)
}
return n
}
func yyParse(yylex yyLexer) int {
const yyError = 197
yyEx, _ := yylex.(yyLexerEx)
var yyn int
var yylval yySymType
var yyVAL yySymType
yyS := make([]yySymType, 200)
Nerrs := 0 /* number of errors */
Errflag := 0 /* error recovery flag */
yyerrok := func() {
if yyDebug >= 2 {
__yyfmt__.Printf("yyerrok()\n")
}
Errflag = 0
}
_ = yyerrok
yystate := 0
yychar := -1
var yyxchar int
var yyshift int
yyp := -1
goto yystack
ret0:
return 0
ret1:
return 1
yystack:
/* put a state and value onto the stack */
yyp++
if yyp >= len(yyS) {
nyys := make([]yySymType, len(yyS)*2)
copy(nyys, yyS)
yyS = nyys
}
yyS[yyp] = yyVAL
yyS[yyp].yys = yystate
yynewstate:
if yychar < 0 {
yychar = yylex1(yylex, &yylval)
var ok bool
if yyxchar, ok = yyXLAT[yychar]; !ok {
yyxchar = len(yySymNames) // > tab width
}
}
if yyDebug >= 4 {
var a []int
for _, v := range yyS[:yyp+1] {
a = append(a, v.yys)
}
__yyfmt__.Printf("state stack %v\n", a)
}
row := yyParseTab[yystate]
yyn = 0
if yyxchar < len(row) {
if yyn = int(row[yyxchar]); yyn != 0 {
yyn += yyTabOfs
}
}
switch {
case yyn > 0: // shift
yychar = -1
yyVAL = yylval
yystate = yyn
yyshift = yyn
if yyDebug >= 2 {
__yyfmt__.Printf("shift, and goto state %d\n", yystate)
}
if Errflag > 0 {
Errflag--
}
goto yystack
case yyn < 0: // reduce
case yystate == 1: // accept
if yyDebug >= 2 {
__yyfmt__.Println("accept")
}
goto ret0
}
if yyn == 0 {
/* error ... attempt to resume parsing */
switch Errflag {
case 0: /* brand new error */
if yyDebug >= 1 {
__yyfmt__.Printf("no action for %s in state %d\n", yySymName(yychar), yystate)
}
msg, ok := yyXErrors[yyXError{yystate, yyxchar}]
if !ok {
msg, ok = yyXErrors[yyXError{yystate, -1}]
}
if !ok && yyshift != 0 {
msg, ok = yyXErrors[yyXError{yyshift, yyxchar}]
}
if !ok {
msg, ok = yyXErrors[yyXError{yyshift, -1}]
}
if yychar > 0 {
ls := yyTokenLiteralStrings[yychar]
if ls == "" {
ls = yySymName(yychar)
}
if ls != "" {
switch {
case msg == "":
msg = __yyfmt__.Sprintf("unexpected %s", ls)
default:
msg = __yyfmt__.Sprintf("unexpected %s, %s", ls, msg)
}
}
}
if msg == "" {
msg = "syntax error"
}
yylex.Error(msg)
Nerrs++
fallthrough
case 1, 2: /* incompletely recovered error ... try again */
Errflag = 3
/* find a state where "error" is a legal shift action */
for yyp >= 0 {
row := yyParseTab[yyS[yyp].yys]
if yyError < len(row) {
yyn = int(row[yyError]) + yyTabOfs
if yyn > 0 { // hit
if yyDebug >= 2 {
__yyfmt__.Printf("error recovery found error shift in state %d\n", yyS[yyp].yys)
}
yystate = yyn /* simulate a shift of "error" */
goto yystack
}
}
/* the current p has no shift on "error", pop stack */
if yyDebug >= 2 {
__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
}
yyp--
}
/* there is no state on the stack with an error shift ... abort */
if yyDebug >= 2 {
__yyfmt__.Printf("error recovery failed\n")
}
goto ret1
case 3: /* no shift yet; clobber input char */
if yyDebug >= 2 {
__yyfmt__.Printf("error recovery discards %s\n", yySymName(yychar))
}
if yychar == yyEOFCode {
goto ret1
}
yychar = -1
goto yynewstate /* try again in the same state */
}
}
r := -yyn
x0 := yyReductions[r]
x, n := x0.xsym, x0.components
yypt := yyp
_ = yypt // guard against "declared and not used"
yyp -= n
if yyp+1 >= len(yyS) {
nyys := make([]yySymType, len(yyS)*2)
copy(nyys, yyS)
yyS = nyys
}
yyVAL = yyS[yyp+1]
/* consult goto table to find next state */
exState := yystate
yystate = int(yyParseTab[yyS[yyp].yys][x]) + yyTabOfs
/* reduction by production r */
if yyDebug >= 2 {
__yyfmt__.Printf("reduce using rule %v (%s), and goto state %d\n", r, yySymNames[x], yystate)
}
switch r {
case 2:
{
yylex.(*lexer).expr = expr(yyS[yypt-0].item)
}
case 3:
{
yyVAL.item = &alterTableAddStmt{tableName: yyS[yypt-2].item.(string), c: yyS[yypt-0].item.(*col)}
}
case 4:
{
yyVAL.item = &alterTableDropColumnStmt{tableName: yyS[yypt-3].item.(string), colName: yyS[yypt-0].item.(string)}
}
case 5:
{
yyVAL.item = assignment{colName: yyS[yypt-2].item.(string), expr: expr(yyS[yypt-0].item)}
}
case 6:
{
yyVAL.item = append([]assignment{yyS[yypt-2].item.(assignment)}, yyS[yypt-1].item.([]assignment)...)
}
case 7:
{
yyVAL.item = []assignment{}
}
case 8:
{
yyVAL.item = append(yyS[yypt-2].item.([]assignment), yyS[yypt-0].item.(assignment))
}
case 9:
{
yyVAL.item = beginTransactionStmt{}
}
case 10:
{
yyVAL.item = yyS[yypt-1].item
}
case 11:
{
yyVAL.item = '*'
}
case 12:
{
yyVAL.item = []expression{}
}
case 14:
{
x := &col{name: yyS[yypt-3].item.(string), typ: yyS[yypt-2].item.(int), constraint: yyS[yypt-1].item.(*constraint)}
if yyS[yypt-0].item != nil {
x.dflt = expr(yyS[yypt-0].item)
}
yyVAL.item = x
}
case 16:
{
yyVAL.item = append([]string{yyS[yypt-2].item.(string)}, yyS[yypt-1].item.([]string)...)
}
case 17:
{
yyVAL.item = []string{}
}
case 18:
{
yyVAL.item = append(yyS[yypt-2].item.([]string), yyS[yypt-0].item.(string))
}
case 19:
{
yyVAL.item = commitStmt{}
}
case 20:
{
yyVAL.item = &constraint{}
}
case 21:
{
yyVAL.item = &constraint{expr(yyS[yypt-0].item)}
}
case 22:
{
yyVAL.item = (*constraint)(nil)
}
case 24:
{
yyVAL.item = &conversion{typ: yyS[yypt-3].item.(int), val: expr(yyS[yypt-1].item)}
}
case 25:
{
indexName, tableName, exprList := yyS[yypt-5].item.(string), yyS[yypt-3].item.(string), yyS[yypt-1].item.([]expression)
simpleIndex := len(exprList) == 1
var columnName string
if simpleIndex {
expr := exprList[0]
switch x := expr.(type) {
case *ident:
columnName = x.s
case *call:
if x.f == "id" && len(x.arg) == 0 {
columnName = "id()"
break
}
simpleIndex = false
default:
simpleIndex = false
}
}
if !simpleIndex {
columnName = ""
}
yyVAL.item = &createIndexStmt{unique: yyS[yypt-8].item.(bool), ifNotExists: yyS[yypt-6].item.(bool), indexName: indexName, tableName: tableName, colName: columnName, exprList: exprList}
if indexName == tableName || indexName == columnName {
yylex.(*lexer).err("index name collision: %s", indexName)
return 1
}
if yylex.(*lexer).root {
break
}
if isSystemName[indexName] || isSystemName[tableName] {
yylex.(*lexer).err("name is used for system tables: %s", indexName)
return 1
}
}
case 26:
{
yyVAL.item = false
}
case 27:
{
yyVAL.item = true
}
case 28:
{
yyVAL.item = false
}
case 29:
{
yyVAL.item = true
}
case 30:
{
nm := yyS[yypt-5].item.(string)
yyVAL.item = &createTableStmt{tableName: nm, cols: append([]*col{yyS[yypt-3].item.(*col)}, yyS[yypt-2].item.([]*col)...)}
if yylex.(*lexer).root {
break
}
if isSystemName[nm] {
yylex.(*lexer).err("name is used for system tables: %s", nm)
return 1
}
}
case 31:
{
nm := yyS[yypt-5].item.(string)
yyVAL.item = &createTableStmt{ifNotExists: true, tableName: nm, cols: append([]*col{yyS[yypt-3].item.(*col)}, yyS[yypt-2].item.([]*col)...)}
if yylex.(*lexer).root {
break
}
if isSystemName[nm] {
yylex.(*lexer).err("name is used for system tables: %s", nm)
return 1
}
}
case 32:
{
yyVAL.item = []*col{}
}
case 33:
{
yyVAL.item = append(yyS[yypt-2].item.([]*col), yyS[yypt-0].item.(*col))
}
case 34:
{
yyVAL.item = yyS[yypt-0].item
}
case 35:
{
yyVAL.item = nil
}
case 37:
{
yyVAL.item = &truncateTableStmt{yyS[yypt-0].item.(string)}
if yylex.(*lexer).root {
break
}
if isSystemName[yyS[yypt-0].item.(string)] {
yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-0].item.(string))
return 1
}
}
case 38:
{
yyVAL.item = &deleteStmt{tableName: yyS[yypt-1].item.(string), where: yyS[yypt-0].item.(*whereRset).expr}
if yylex.(*lexer).root {
break
}
if isSystemName[yyS[yypt-1].item.(string)] {
yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-1].item.(string))
return 1
}
}
case 39:
{
yyVAL.item = &dropIndexStmt{ifExists: yyS[yypt-1].item.(bool), indexName: yyS[yypt-0].item.(string)}
}
case 40:
{
yyVAL.item = false
}
case 41:
{
yyVAL.item = true
}
case 42:
{
nm := yyS[yypt-0].item.(string)
yyVAL.item = &dropTableStmt{tableName: nm}
if yylex.(*lexer).root {
break
}
if isSystemName[nm] {
yylex.(*lexer).err("name is used for system tables: %s", nm)
return 1
}
}
case 43:
{
nm := yyS[yypt-0].item.(string)
yyVAL.item = &dropTableStmt{ifExists: true, tableName: nm}
if yylex.(*lexer).root {
break
}
if isSystemName[nm] {
yylex.(*lexer).err("name is used for system tables: %s", nm)
return 1
}
}
case 44:
{
yyVAL.item = nil
}
case 45:
{
yyVAL.item = &explainStmt{yyS[yypt-0].item.(stmt)}
}
case 47:
{
var err error
if yyVAL.item, err = newBinaryOperation(oror, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 52:
{
yyVAL.item = append([]expression{expr(yyS[yypt-2].item)}, yyS[yypt-1].item.([]expression)...)
}
case 53:
{
yyVAL.item = []expression(nil)
}
case 54:
{
yyVAL.item = append(yyS[yypt-2].item.([]expression), expr(yyS[yypt-0].item))
}
case 56:
{
yyVAL.item = &pIn{expr: yyS[yypt-4].item.(expression), list: yyS[yypt-1].item.([]expression)}
}
case 57:
{
yyVAL.item = &pIn{expr: yyS[yypt-5].item.(expression), not: true, list: yyS[yypt-1].item.([]expression)}
}
case 58:
{
yyVAL.item = &pIn{expr: yyS[yypt-5].item.(expression), sel: yyS[yypt-2].item.(*selectStmt)}
}
case 59:
{
yyVAL.item = &pIn{expr: yyS[yypt-6].item.(expression), not: true, sel: yyS[yypt-2].item.(*selectStmt)}
}
case 60:
{
var err error
if yyVAL.item, err = newBetween(yyS[yypt-4].item, yyS[yypt-2].item, yyS[yypt-0].item, false); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 61:
{
var err error
if yyVAL.item, err = newBetween(yyS[yypt-5].item, yyS[yypt-2].item, yyS[yypt-0].item, true); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 62:
{
yyVAL.item = &isNull{expr: yyS[yypt-2].item.(expression)}
}
case 63:
{
yyVAL.item = &isNull{expr: yyS[yypt-3].item.(expression), not: true}
}
case 65:
{
var err error
if yyVAL.item, err = newBinaryOperation(ge, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 66:
{
var err error
if yyVAL.item, err = newBinaryOperation('>', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 67:
{
var err error
if yyVAL.item, err = newBinaryOperation(le, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 68:
{
var err error
if yyVAL.item, err = newBinaryOperation('<', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 69:
{
var err error
if yyVAL.item, err = newBinaryOperation(neq, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 70:
{
var err error
if yyVAL.item, err = newBinaryOperation(eq, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 71:
{
yyVAL.item = &pLike{expr: yyS[yypt-2].item.(expression), pattern: yyS[yypt-0].item.(expression)}
}
case 72:
{
expr, name := expr(yyS[yypt-1].item), yyS[yypt-0].item.(string)
if name == "" {
s, ok := expr.(*ident)
if ok {
name = s.s
}
}
yyVAL.item = &fld{expr: expr, name: name}
}
case 73:
{
yyVAL.item = ""
}
case 74:
{
yyVAL.item = yyS[yypt-0].item
}
case 75:
{
yyVAL.item = []*fld{yyS[yypt-0].item.(*fld)}
}
case 76:
{
l, f := yyS[yypt-2].item.([]*fld), yyS[yypt-0].item.(*fld)
if f.name != "" {
if f := findFld(l, f.name); f != nil {
yylex.(*lexer).err("duplicate field name %q", f.name)
return 1
}
}
yyVAL.item = append(yyS[yypt-2].item.([]*fld), yyS[yypt-0].item.(*fld))
}
case 77:
{
yyVAL.item = &groupByRset{colNames: yyS[yypt-0].item.([]string)}
}
case 78:
{
yyVAL.item = yyS[yypt-1].item
}
case 79:
{
yyVAL.item = &insertIntoStmt{tableName: yyS[yypt-7].item.(string), colNames: yyS[yypt-6].item.([]string), lists: append([][]expression{yyS[yypt-3].item.([]expression)}, yyS[yypt-1].item.([][]expression)...)}
if yylex.(*lexer).root {
break
}
if isSystemName[yyS[yypt-7].item.(string)] {
yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-7].item.(string))
return 1
}
}
case 80:
{
yyVAL.item = &insertIntoStmt{tableName: yyS[yypt-2].item.(string), colNames: yyS[yypt-1].item.([]string), sel: yyS[yypt-0].item.(*selectStmt)}
}
case 81:
{
yyVAL.item = []string{}
}
case 82:
{
yyVAL.item = yyS[yypt-1].item
}
case 83:
{
yyVAL.item = [][]expression{}
}
case 84:
{
yyVAL.item = append(yyS[yypt-4].item.([][]expression), yyS[yypt-1].item.([]expression))
}
case 92:
{
yyVAL.item = value{yyS[yypt-0].item}
}
case 93:
{
n := yyS[yypt-0].item.(int)
yyVAL.item = parameter{n}
l := yylex.(*lexer)
l.params = mathutil.Max(l.params, n)
if n == 0 {
l.err("parameter number must be non zero")
return 1
}
}
case 94:
{
yyVAL.item = &ident{yyS[yypt-0].item.(string)}
}
case 95:
{
yyVAL.item = &pexpr{expr: expr(yyS[yypt-1].item)}
}
case 96:
{
yyVAL.item = &orderByRset{by: yyS[yypt-1].item.([]expression), asc: yyS[yypt-0].item.(bool)}
}
case 97:
{
yyVAL.item = true // ASC by default
}
case 98:
{
yyVAL.item = true
}
case 99:
{
yyVAL.item = false
}
case 102:
{
var err error
if yyVAL.item, err = newIndex(yyS[yypt-1].item.(expression), expr(yyS[yypt-0].item)); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 103:
{
var err error
s := yyS[yypt-0].item.([2]*expression)
if yyVAL.item, err = newSlice(yyS[yypt-1].item.(expression), s[0], s[1]); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 104:
{
x := yylex.(*lexer)
f, ok := yyS[yypt-1].item.(*ident)
if !ok {
x.err("expected identifier or qualified identifier")
return 1
}
if r, ok := yyS[yypt-0].item.(rune); ok {
if f.isQualified() || f.s != "count" || r != '*' {
x.err(fmt.Sprintf("invalid expression %s(%c)", f, r))
return 1
}
yyS[yypt-0].item = []expression(nil)
}
var err error
var agg bool
if yyVAL.item, agg, err = newCall(f.s, yyS[yypt-0].item.([]expression)); err != nil {
x.err("%v", err)
return 1
}
if n := len(x.agg); n > 0 {
x.agg[n-1] = x.agg[n-1] || agg
}
}
case 106:
{
var err error
if yyVAL.item, err = newBinaryOperation('^', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 107:
{
var err error
if yyVAL.item, err = newBinaryOperation('|', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 108:
{
var err error
if yyVAL.item, err = newBinaryOperation('-', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 109:
{
var err error
yyVAL.item, err = newBinaryOperation('+', yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 111:
{
var err error
yyVAL.item, err = newBinaryOperation(andnot, yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 112:
{
var err error
yyVAL.item, err = newBinaryOperation('&', yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 113:
{
var err error
yyVAL.item, err = newBinaryOperation(lsh, yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 114:
{
var err error
yyVAL.item, err = newBinaryOperation(rsh, yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 115:
{
var err error
yyVAL.item, err = newBinaryOperation('%', yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 116:
{
var err error
yyVAL.item, err = newBinaryOperation('/', yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 117:
{
var err error
yyVAL.item, err = newBinaryOperation('*', yyS[yypt-2].item, yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 119:
{
yyVAL.item = fmt.Sprintf("%s.%s", yyS[yypt-2].item.(string), yyS[yypt-0].item.(string))
}
case 120:
{
yyVAL.item = []interface{}{yyS[yypt-1].item, yyS[yypt-0].item}
}
case 122:
{
yyVAL.item = yyS[yypt-2].item
}
case 125:
{
yyVAL.item = ""
}
case 126:
{
yyVAL.item = yyS[yypt-0].item
}
case 127:
{
yyVAL.list = []interface{}{yyS[yypt-0].item}
}
case 128:
{
yyVAL.list = append(yyS[yypt-2].list, yyS[yypt-0].item)
}
case 129:
{
yyVAL.item = rollbackStmt{}
}
case 130:
{
yyVAL.item = leftJoin
}
case 131:
{
yyVAL.item = rightJoin
}
case 132:
{
yyVAL.item = fullJoin
}
case 133:
{
yyVAL.item = nil
}
case 135:
{
yyVAL.item = []interface{}{yyS[yypt-5].item, yyS[yypt-2].item, yyS[yypt-0].item}
}
case 136:
{
yyVAL.item = nil
}
case 138:
{
x := yylex.(*lexer)
n := len(x.agg)
join := &joinRset{sources: yyS[yypt-7].list}
if o := yyS[yypt-5].item; o != nil {
o := o.([]interface{})
join.typ = o[0].(int)
join.sources = append(join.sources, o[1].([]interface{}))
join.on = o[2].(expression)
}
yyVAL.item = &selectStmt{
distinct: yyS[yypt-10].item.(bool),
flds: yyS[yypt-9].item.([]*fld),
from: join,
hasAggregates: x.agg[n-1],
where: yyS[yypt-4].item.(*whereRset),
group: yyS[yypt-3].item.(*groupByRset),
order: yyS[yypt-2].item.(*orderByRset),
limit: yyS[yypt-1].item.(*limitRset),
offset: yyS[yypt-0].item.(*offsetRset),
}
x.agg = x.agg[:n-1]
}
case 139:
{
yyVAL.item = (*limitRset)(nil)
}
case 140:
{
yyVAL.item = &limitRset{expr: expr(yyS[yypt-0].item)}
}
case 141:
{
yyVAL.item = (*offsetRset)(nil)
}
case 142:
{
yyVAL.item = &offsetRset{expr: expr(yyS[yypt-0].item)}
}
case 143:
{
yyVAL.item = false
}
case 144:
{
yyVAL.item = true
}
case 145:
{
yyVAL.item = []*fld{}
}
case 146:
{
yyVAL.item = yyS[yypt-0].item
}
case 147:
{
yyVAL.item = yyS[yypt-1].item
}
case 148:
{
yyVAL.item = (*whereRset)(nil)
}
case 150:
{
yyVAL.item = (*groupByRset)(nil)
}
case 152:
{
yyVAL.item = (*orderByRset)(nil)
}
case 154:
{
yyVAL.item = [2]*expression{nil, nil}
}
case 155:
{
hi := expr(yyS[yypt-1].item)
yyVAL.item = [2]*expression{nil, &hi}
}
case 156:
{
lo := expr(yyS[yypt-2].item)
yyVAL.item = [2]*expression{&lo, nil}
}
case 157:
{
lo := expr(yyS[yypt-3].item)
hi := expr(yyS[yypt-1].item)
yyVAL.item = [2]*expression{&lo, &hi}
}
case 173:
{
if yyS[yypt-0].item != nil {
yylex.(*lexer).list = []stmt{yyS[yypt-0].item.(stmt)}
}
}
case 174:
{
if yyS[yypt-0].item != nil {
yylex.(*lexer).list = append(yylex.(*lexer).list, yyS[yypt-0].item.(stmt))
}
}
case 177:
{
var err error
if yyVAL.item, err = newBinaryOperation(andand, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 180:
{
yyVAL.item = &truncateTableStmt{tableName: yyS[yypt-0].item.(string)}
}
case 205:
{
var expr expression
if w := yyS[yypt-0].item; w != nil {
expr = w.(*whereRset).expr
}
yyVAL.item = &updateStmt{tableName: yyS[yypt-3].item.(string), list: yyS[yypt-1].item.([]assignment), where: expr}
if yylex.(*lexer).root {
break
}
if isSystemName[yyS[yypt-3].item.(string)] {
yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-3].item.(string))
return 1
}
}
case 206:
{
yyVAL.item = nil
}
case 209:
{
var err error
yyVAL.item, err = newUnaryOperation('^', yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 210:
{
var err error
yyVAL.item, err = newUnaryOperation('!', yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 211:
{
var err error
yyVAL.item, err = newUnaryOperation('-', yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 212:
{
var err error
yyVAL.item, err = newUnaryOperation('+', yyS[yypt-0].item)
if err != nil {
yylex.(*lexer).err("%v", err)
return 1
}
}
case 213:
{
yyVAL.item = &whereRset{expr: expr(yyS[yypt-0].item)}
}
}
if yyEx != nil && yyEx.Reduced(r, exState, &yyVAL) {
return -1
}
goto yystack /* stack new state and value */
}
func expr(v interface{}) expression {
e := v.(expression)
for {
x, ok := e.(*pexpr)
if !ok {
return e
}
e = x.expr
}
}