github.com/runner-mei/ql@v1.1.0/parser.go (about)

     1  // CAUTION: Generated file - DO NOT EDIT.
     2  
     3  // Copyright (c) 2014 The ql Authors. All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  // Initial yacc source generated by ebnf2y[1]
     8  // at 2013-10-04 23:10:47.861401015 +0200 CEST
     9  //
    10  //  $ ebnf2y -o ql.y -oe ql.ebnf -start StatementList -pkg ql -p _
    11  //
    12  //   [1]: http://github.com/cznic/ebnf2y
    13  
    14  package ql
    15  
    16  import __yyfmt__ "fmt"
    17  
    18  import (
    19  	"fmt"
    20  
    21  	"github.com/cznic/mathutil"
    22  )
    23  
    24  type yySymType struct {
    25  	yys  int
    26  	line int
    27  	col  int
    28  	item interface{}
    29  	list []interface{}
    30  }
    31  
    32  type yyXError struct {
    33  	state, xsym int
    34  }
    35  
    36  const (
    37  	yyDefault       = 57437
    38  	yyEOFCode       = 57344
    39  	add             = 57352
    40  	alter           = 57353
    41  	and             = 57354
    42  	andand          = 57355
    43  	andnot          = 57356
    44  	as              = 57357
    45  	asc             = 57358
    46  	begin           = 57359
    47  	between         = 57360
    48  	bigIntType      = 57361
    49  	bigRatType      = 57362
    50  	blobType        = 57363
    51  	boolType        = 57364
    52  	by              = 57365
    53  	byteType        = 57366
    54  	column          = 57367
    55  	commit          = 57368
    56  	complex128Type  = 57369
    57  	complex64Type   = 57370
    58  	create          = 57371
    59  	defaultKwd      = 57372
    60  	deleteKwd       = 57373
    61  	desc            = 57374
    62  	distinct        = 57375
    63  	drop            = 57376
    64  	durationType    = 57377
    65  	eq              = 57378
    66  	yyErrCode       = 57345
    67  	exists          = 57379
    68  	explain         = 57380
    69  	falseKwd        = 57381
    70  	float32Type     = 57383
    71  	float64Type     = 57384
    72  	floatLit        = 57346
    73  	floatType       = 57382
    74  	from            = 57385
    75  	full            = 57386
    76  	ge              = 57387
    77  	group           = 57388
    78  	identifier      = 57347
    79  	ifKwd           = 57389
    80  	imaginaryLit    = 57348
    81  	in              = 57390
    82  	index           = 57391
    83  	insert          = 57392
    84  	int16Type       = 57394
    85  	int32Type       = 57395
    86  	int64Type       = 57396
    87  	int8Type        = 57397
    88  	intLit          = 57349
    89  	intType         = 57393
    90  	into            = 57398
    91  	is              = 57399
    92  	join            = 57400
    93  	le              = 57401
    94  	left            = 57402
    95  	like            = 57403
    96  	limit           = 57404
    97  	lsh             = 57405
    98  	neq             = 57406
    99  	not             = 57407
   100  	null            = 57408
   101  	offset          = 57409
   102  	on              = 57410
   103  	or              = 57411
   104  	order           = 57412
   105  	oror            = 57413
   106  	outer           = 57414
   107  	parseExpression = 57436
   108  	qlParam         = 57350
   109  	right           = 57415
   110  	rollback        = 57416
   111  	rsh             = 57417
   112  	runeType        = 57418
   113  	selectKwd       = 57419
   114  	set             = 57420
   115  	stringLit       = 57351
   116  	stringType      = 57421
   117  	tableKwd        = 57422
   118  	timeType        = 57423
   119  	transaction     = 57424
   120  	trueKwd         = 57425
   121  	truncate        = 57426
   122  	uint16Type      = 57428
   123  	uint32Type      = 57429
   124  	uint64Type      = 57430
   125  	uint8Type       = 57431
   126  	uintType        = 57427
   127  	unique          = 57432
   128  	update          = 57433
   129  	values          = 57434
   130  	where           = 57435
   131  
   132  	yyMaxDepth = 200
   133  	yyTabOfs   = -218
   134  )
   135  
   136  var (
   137  	yyXLAT = map[int]int{
   138  		59:    0,   // ';' (192x)
   139  		57344: 1,   // $end (191x)
   140  		41:    2,   // ')' (164x)
   141  		43:    3,   // '+' (135x)
   142  		45:    4,   // '-' (135x)
   143  		94:    5,   // '^' (135x)
   144  		44:    6,   // ',' (130x)
   145  		40:    7,   // '(' (127x)
   146  		57347: 8,   // identifier (118x)
   147  		57409: 9,   // offset (103x)
   148  		57404: 10,  // limit (101x)
   149  		57372: 11,  // defaultKwd (94x)
   150  		57412: 12,  // order (90x)
   151  		57435: 13,  // where (87x)
   152  		57408: 14,  // null (86x)
   153  		57361: 15,  // bigIntType (85x)
   154  		57362: 16,  // bigRatType (85x)
   155  		57363: 17,  // blobType (85x)
   156  		57364: 18,  // boolType (85x)
   157  		57366: 19,  // byteType (85x)
   158  		57369: 20,  // complex128Type (85x)
   159  		57370: 21,  // complex64Type (85x)
   160  		57377: 22,  // durationType (85x)
   161  		57383: 23,  // float32Type (85x)
   162  		57384: 24,  // float64Type (85x)
   163  		57382: 25,  // floatType (85x)
   164  		57394: 26,  // int16Type (85x)
   165  		57395: 27,  // int32Type (85x)
   166  		57396: 28,  // int64Type (85x)
   167  		57397: 29,  // int8Type (85x)
   168  		57393: 30,  // intType (85x)
   169  		57418: 31,  // runeType (85x)
   170  		57421: 32,  // stringType (85x)
   171  		57423: 33,  // timeType (85x)
   172  		57428: 34,  // uint16Type (85x)
   173  		57429: 35,  // uint32Type (85x)
   174  		57430: 36,  // uint64Type (85x)
   175  		57431: 37,  // uint8Type (85x)
   176  		57427: 38,  // uintType (85x)
   177  		57381: 39,  // falseKwd (83x)
   178  		57346: 40,  // floatLit (83x)
   179  		57348: 41,  // imaginaryLit (83x)
   180  		57349: 42,  // intLit (83x)
   181  		57350: 43,  // qlParam (83x)
   182  		57351: 44,  // stringLit (83x)
   183  		57425: 45,  // trueKwd (83x)
   184  		57388: 46,  // group (81x)
   185  		57407: 47,  // not (81x)
   186  		57411: 48,  // or (81x)
   187  		57413: 49,  // oror (81x)
   188  		33:    50,  // '!' (79x)
   189  		57385: 51,  // from (75x)
   190  		57358: 52,  // asc (71x)
   191  		57374: 53,  // desc (71x)
   192  		93:    54,  // ']' (70x)
   193  		57357: 55,  // as (69x)
   194  		58:    56,  // ':' (67x)
   195  		57354: 57,  // and (67x)
   196  		57355: 58,  // andand (65x)
   197  		124:   59,  // '|' (56x)
   198  		61:    60,  // '=' (55x)
   199  		57360: 61,  // between (54x)
   200  		57390: 62,  // in (54x)
   201  		60:    63,  // '<' (53x)
   202  		62:    64,  // '>' (53x)
   203  		57378: 65,  // eq (53x)
   204  		57387: 66,  // ge (53x)
   205  		57399: 67,  // is (53x)
   206  		57401: 68,  // le (53x)
   207  		57403: 69,  // like (53x)
   208  		57406: 70,  // neq (53x)
   209  		57514: 71,  // Type (52x)
   210  		57453: 72,  // Conversion (51x)
   211  		57484: 73,  // Literal (51x)
   212  		57485: 74,  // Operand (51x)
   213  		57489: 75,  // PrimaryExpression (51x)
   214  		57492: 76,  // QualifiedIdent (51x)
   215  		42:    77,  // '*' (48x)
   216  		57515: 78,  // UnaryExpr (47x)
   217  		37:    79,  // '%' (44x)
   218  		38:    80,  // '&' (44x)
   219  		47:    81,  // '/' (44x)
   220  		57356: 82,  // andnot (44x)
   221  		57405: 83,  // lsh (44x)
   222  		57417: 84,  // rsh (44x)
   223  		57491: 85,  // PrimaryTerm (40x)
   224  		57490: 86,  // PrimaryFactor (36x)
   225  		91:    87,  // '[' (31x)
   226  		57471: 88,  // Factor (25x)
   227  		57472: 89,  // Factor1 (25x)
   228  		57512: 90,  // Term (24x)
   229  		57468: 91,  // Expression (23x)
   230  		57520: 92,  // logOr (16x)
   231  		57446: 93,  // ColumnName (10x)
   232  		57386: 94,  // full (10x)
   233  		57402: 95,  // left (10x)
   234  		57415: 96,  // right (10x)
   235  		57419: 97,  // selectKwd (10x)
   236  		57511: 98,  // TableName (9x)
   237  		57449: 99,  // CommaOpt (7x)
   238  		57469: 100, // ExpressionList (7x)
   239  		57410: 101, // on (7x)
   240  		57498: 102, // SelectStmt (7x)
   241  		57400: 103, // join (6x)
   242  		57443: 104, // Call (5x)
   243  		57376: 105, // drop (5x)
   244  		57477: 106, // Index (5x)
   245  		57507: 107, // Slice (5x)
   246  		57445: 108, // ColumnDef (4x)
   247  		57379: 109, // exists (4x)
   248  		57389: 110, // ifKwd (4x)
   249  		57391: 111, // index (4x)
   250  		57414: 112, // outer (4x)
   251  		57422: 113, // tableKwd (4x)
   252  		57434: 114, // values (4x)
   253  		57353: 115, // alter (3x)
   254  		57438: 116, // AlterTableStmt (3x)
   255  		57359: 117, // begin (3x)
   256  		57442: 118, // BeginTransactionStmt (3x)
   257  		57368: 119, // commit (3x)
   258  		57450: 120, // CommitStmt (3x)
   259  		57371: 121, // create (3x)
   260  		57455: 122, // CreateIndexStmt (3x)
   261  		57457: 123, // CreateTableStmt (3x)
   262  		57461: 124, // DeleteFromStmt (3x)
   263  		57373: 125, // deleteKwd (3x)
   264  		57463: 126, // DropIndexStmt (3x)
   265  		57464: 127, // DropTableStmt (3x)
   266  		57465: 128, // EmptyStmt (3x)
   267  		57380: 129, // explain (3x)
   268  		57467: 130, // ExplainStmt (3x)
   269  		57392: 131, // insert (3x)
   270  		57478: 132, // InsertIntoStmt (3x)
   271  		57493: 133, // RecordSet (3x)
   272  		57494: 134, // RecordSet1 (3x)
   273  		57416: 135, // rollback (3x)
   274  		57497: 136, // RollbackStmt (3x)
   275  		57521: 137, // semiOpt (3x)
   276  		57509: 138, // Statement (3x)
   277  		57426: 139, // truncate (3x)
   278  		57513: 140, // TruncateTableStmt (3x)
   279  		57433: 141, // update (3x)
   280  		57516: 142, // UpdateStmt (3x)
   281  		57518: 143, // WhereClause (3x)
   282  		57352: 144, // add (2x)
   283  		57439: 145, // Assignment (2x)
   284  		57365: 146, // by (2x)
   285  		57447: 147, // ColumnNameList (2x)
   286  		57458: 148, // CreateTableStmt1 (2x)
   287  		57473: 149, // Field (2x)
   288  		57519: 150, // logAnd (2x)
   289  		57420: 151, // set (2x)
   290  		46:    152, // '.' (1x)
   291  		57440: 153, // AssignmentList (1x)
   292  		57441: 154, // AssignmentList1 (1x)
   293  		57444: 155, // Call1 (1x)
   294  		57367: 156, // column (1x)
   295  		57448: 157, // ColumnNameList1 (1x)
   296  		57451: 158, // Constraint (1x)
   297  		57452: 159, // ConstraintOpt (1x)
   298  		57454: 160, // CreateIndexIfNotExists (1x)
   299  		57456: 161, // CreateIndexStmtUnique (1x)
   300  		57459: 162, // Default (1x)
   301  		57460: 163, // DefaultOpt (1x)
   302  		57375: 164, // distinct (1x)
   303  		57462: 165, // DropIndexIfExists (1x)
   304  		57466: 166, // Eq (1x)
   305  		57470: 167, // ExpressionList1 (1x)
   306  		57474: 168, // Field1 (1x)
   307  		57475: 169, // FieldList (1x)
   308  		57476: 170, // GroupByClause (1x)
   309  		57479: 171, // InsertIntoStmt1 (1x)
   310  		57480: 172, // InsertIntoStmt2 (1x)
   311  		57398: 173, // into (1x)
   312  		57481: 174, // JoinClause (1x)
   313  		57482: 175, // JoinClauseOpt (1x)
   314  		57483: 176, // JoinType (1x)
   315  		57486: 177, // OrderBy (1x)
   316  		57487: 178, // OrderBy1 (1x)
   317  		57488: 179, // OuterOpt (1x)
   318  		57436: 180, // parseExpression (1x)
   319  		57495: 181, // RecordSet2 (1x)
   320  		57496: 182, // RecordSetList (1x)
   321  		57499: 183, // SelectStmtDistinct (1x)
   322  		57500: 184, // SelectStmtFieldList (1x)
   323  		57501: 185, // SelectStmtGroup (1x)
   324  		57502: 186, // SelectStmtLimit (1x)
   325  		57503: 187, // SelectStmtOffset (1x)
   326  		57504: 188, // SelectStmtOrder (1x)
   327  		57505: 189, // SelectStmtWhere (1x)
   328  		57506: 190, // SetOpt (1x)
   329  		57508: 191, // Start (1x)
   330  		57510: 192, // StatementList (1x)
   331  		57424: 193, // transaction (1x)
   332  		57432: 194, // unique (1x)
   333  		57517: 195, // UpdateStmt1 (1x)
   334  		57437: 196, // $default (0x)
   335  		57345: 197, // error (0x)
   336  	}
   337  
   338  	yySymNames = []string{
   339  		"';'",
   340  		"$end",
   341  		"')'",
   342  		"'+'",
   343  		"'-'",
   344  		"'^'",
   345  		"','",
   346  		"'('",
   347  		"identifier",
   348  		"offset",
   349  		"limit",
   350  		"defaultKwd",
   351  		"order",
   352  		"where",
   353  		"null",
   354  		"bigIntType",
   355  		"bigRatType",
   356  		"blobType",
   357  		"boolType",
   358  		"byteType",
   359  		"complex128Type",
   360  		"complex64Type",
   361  		"durationType",
   362  		"float32Type",
   363  		"float64Type",
   364  		"floatType",
   365  		"int16Type",
   366  		"int32Type",
   367  		"int64Type",
   368  		"int8Type",
   369  		"intType",
   370  		"runeType",
   371  		"stringType",
   372  		"timeType",
   373  		"uint16Type",
   374  		"uint32Type",
   375  		"uint64Type",
   376  		"uint8Type",
   377  		"uintType",
   378  		"falseKwd",
   379  		"floatLit",
   380  		"imaginaryLit",
   381  		"intLit",
   382  		"qlParam",
   383  		"stringLit",
   384  		"trueKwd",
   385  		"group",
   386  		"not",
   387  		"or",
   388  		"oror",
   389  		"'!'",
   390  		"from",
   391  		"asc",
   392  		"desc",
   393  		"']'",
   394  		"as",
   395  		"':'",
   396  		"and",
   397  		"andand",
   398  		"'|'",
   399  		"'='",
   400  		"between",
   401  		"in",
   402  		"'<'",
   403  		"'>'",
   404  		"eq",
   405  		"ge",
   406  		"is",
   407  		"le",
   408  		"like",
   409  		"neq",
   410  		"Type",
   411  		"Conversion",
   412  		"Literal",
   413  		"Operand",
   414  		"PrimaryExpression",
   415  		"QualifiedIdent",
   416  		"'*'",
   417  		"UnaryExpr",
   418  		"'%'",
   419  		"'&'",
   420  		"'/'",
   421  		"andnot",
   422  		"lsh",
   423  		"rsh",
   424  		"PrimaryTerm",
   425  		"PrimaryFactor",
   426  		"'['",
   427  		"Factor",
   428  		"Factor1",
   429  		"Term",
   430  		"Expression",
   431  		"logOr",
   432  		"ColumnName",
   433  		"full",
   434  		"left",
   435  		"right",
   436  		"selectKwd",
   437  		"TableName",
   438  		"CommaOpt",
   439  		"ExpressionList",
   440  		"on",
   441  		"SelectStmt",
   442  		"join",
   443  		"Call",
   444  		"drop",
   445  		"Index",
   446  		"Slice",
   447  		"ColumnDef",
   448  		"exists",
   449  		"ifKwd",
   450  		"index",
   451  		"outer",
   452  		"tableKwd",
   453  		"values",
   454  		"alter",
   455  		"AlterTableStmt",
   456  		"begin",
   457  		"BeginTransactionStmt",
   458  		"commit",
   459  		"CommitStmt",
   460  		"create",
   461  		"CreateIndexStmt",
   462  		"CreateTableStmt",
   463  		"DeleteFromStmt",
   464  		"deleteKwd",
   465  		"DropIndexStmt",
   466  		"DropTableStmt",
   467  		"EmptyStmt",
   468  		"explain",
   469  		"ExplainStmt",
   470  		"insert",
   471  		"InsertIntoStmt",
   472  		"RecordSet",
   473  		"RecordSet1",
   474  		"rollback",
   475  		"RollbackStmt",
   476  		"semiOpt",
   477  		"Statement",
   478  		"truncate",
   479  		"TruncateTableStmt",
   480  		"update",
   481  		"UpdateStmt",
   482  		"WhereClause",
   483  		"add",
   484  		"Assignment",
   485  		"by",
   486  		"ColumnNameList",
   487  		"CreateTableStmt1",
   488  		"Field",
   489  		"logAnd",
   490  		"set",
   491  		"'.'",
   492  		"AssignmentList",
   493  		"AssignmentList1",
   494  		"Call1",
   495  		"column",
   496  		"ColumnNameList1",
   497  		"Constraint",
   498  		"ConstraintOpt",
   499  		"CreateIndexIfNotExists",
   500  		"CreateIndexStmtUnique",
   501  		"Default",
   502  		"DefaultOpt",
   503  		"distinct",
   504  		"DropIndexIfExists",
   505  		"Eq",
   506  		"ExpressionList1",
   507  		"Field1",
   508  		"FieldList",
   509  		"GroupByClause",
   510  		"InsertIntoStmt1",
   511  		"InsertIntoStmt2",
   512  		"into",
   513  		"JoinClause",
   514  		"JoinClauseOpt",
   515  		"JoinType",
   516  		"OrderBy",
   517  		"OrderBy1",
   518  		"OuterOpt",
   519  		"parseExpression",
   520  		"RecordSet2",
   521  		"RecordSetList",
   522  		"SelectStmtDistinct",
   523  		"SelectStmtFieldList",
   524  		"SelectStmtGroup",
   525  		"SelectStmtLimit",
   526  		"SelectStmtOffset",
   527  		"SelectStmtOrder",
   528  		"SelectStmtWhere",
   529  		"SetOpt",
   530  		"Start",
   531  		"StatementList",
   532  		"transaction",
   533  		"unique",
   534  		"UpdateStmt1",
   535  		"$default",
   536  		"error",
   537  	}
   538  
   539  	yyTokenLiteralStrings = map[int]string{
   540  		57347: "identifier",
   541  		57409: "OFFSET",
   542  		57404: "LIMIT",
   543  		57372: "DEFAULT",
   544  		57412: "ORDER",
   545  		57435: "WHERE",
   546  		57408: "NULL",
   547  		57361: "bigint",
   548  		57362: "bigrat",
   549  		57363: "blob",
   550  		57364: "bool",
   551  		57366: "byte",
   552  		57369: "complex128",
   553  		57370: "complex64",
   554  		57377: "duration",
   555  		57383: "float32",
   556  		57384: "float64",
   557  		57382: "float",
   558  		57394: "int16",
   559  		57395: "int32",
   560  		57396: "int64",
   561  		57397: "int8",
   562  		57393: "int",
   563  		57418: "rune",
   564  		57421: "string",
   565  		57423: "time",
   566  		57428: "uint16",
   567  		57429: "uint32",
   568  		57430: "uint64",
   569  		57431: "uint8",
   570  		57427: "uint",
   571  		57381: "false",
   572  		57346: "floating-point literal",
   573  		57348: "imaginary literal",
   574  		57349: "integer literal",
   575  		57350: "QL parameter",
   576  		57351: "string literal",
   577  		57425: "true",
   578  		57388: "GROUP",
   579  		57407: "NOT",
   580  		57411: "OR",
   581  		57413: "||",
   582  		57385: "FROM",
   583  		57358: "ASC",
   584  		57374: "DESC",
   585  		57357: "AS",
   586  		57354: "AND",
   587  		57355: "&&",
   588  		57360: "BETWEEN",
   589  		57390: "IN",
   590  		57378: "==",
   591  		57387: ">=",
   592  		57399: "IS",
   593  		57401: "<=",
   594  		57403: "LIKE",
   595  		57406: "!=",
   596  		57356: "&^",
   597  		57405: "<<",
   598  		57417: ">>",
   599  		57386: "FULL",
   600  		57402: "LEFT",
   601  		57415: "RIGHT",
   602  		57419: "SELECT",
   603  		57410: "ON",
   604  		57400: "JOIN",
   605  		57376: "DROP",
   606  		57379: "EXISTS",
   607  		57389: "IF",
   608  		57391: "INDEX",
   609  		57414: "OUTER",
   610  		57422: "TABLE",
   611  		57434: "VALUES",
   612  		57353: "ALTER",
   613  		57359: "BEGIN",
   614  		57368: "COMMIT",
   615  		57371: "CREATE",
   616  		57373: "DELETE",
   617  		57380: "EXPLAIN",
   618  		57392: "INSERT",
   619  		57416: "ROLLBACK",
   620  		57426: "TRUNCATE",
   621  		57433: "UPDATE",
   622  		57352: "ADD",
   623  		57365: "BY",
   624  		57420: "SET",
   625  		57367: "COLUMN",
   626  		57375: "DISTINCT",
   627  		57398: "INTO",
   628  		57436: "parse expression prefix",
   629  		57424: "TRANSACTION",
   630  		57432: "UNIQUE",
   631  	}
   632  
   633  	yyReductions = map[int]struct{ xsym, components int }{
   634  		0:   {0, 1},
   635  		1:   {191, 1},
   636  		2:   {191, 2},
   637  		3:   {116, 5},
   638  		4:   {116, 6},
   639  		5:   {145, 3},
   640  		6:   {153, 3},
   641  		7:   {154, 0},
   642  		8:   {154, 3},
   643  		9:   {118, 2},
   644  		10:  {104, 3},
   645  		11:  {104, 3},
   646  		12:  {155, 0},
   647  		13:  {155, 1},
   648  		14:  {108, 4},
   649  		15:  {93, 1},
   650  		16:  {147, 3},
   651  		17:  {157, 0},
   652  		18:  {157, 3},
   653  		19:  {120, 1},
   654  		20:  {158, 2},
   655  		21:  {158, 1},
   656  		22:  {159, 0},
   657  		23:  {159, 1},
   658  		24:  {72, 4},
   659  		25:  {122, 10},
   660  		26:  {160, 0},
   661  		27:  {160, 3},
   662  		28:  {161, 0},
   663  		29:  {161, 1},
   664  		30:  {123, 8},
   665  		31:  {123, 11},
   666  		32:  {148, 0},
   667  		33:  {148, 3},
   668  		34:  {162, 2},
   669  		35:  {163, 0},
   670  		36:  {163, 1},
   671  		37:  {124, 3},
   672  		38:  {124, 4},
   673  		39:  {126, 4},
   674  		40:  {165, 0},
   675  		41:  {165, 2},
   676  		42:  {127, 3},
   677  		43:  {127, 5},
   678  		44:  {128, 0},
   679  		45:  {130, 2},
   680  		46:  {91, 1},
   681  		47:  {91, 3},
   682  		48:  {92, 1},
   683  		49:  {92, 1},
   684  		50:  {166, 1},
   685  		51:  {166, 1},
   686  		52:  {100, 3},
   687  		53:  {167, 0},
   688  		54:  {167, 3},
   689  		55:  {88, 1},
   690  		56:  {88, 5},
   691  		57:  {88, 6},
   692  		58:  {88, 6},
   693  		59:  {88, 7},
   694  		60:  {88, 5},
   695  		61:  {88, 6},
   696  		62:  {88, 3},
   697  		63:  {88, 4},
   698  		64:  {89, 1},
   699  		65:  {89, 3},
   700  		66:  {89, 3},
   701  		67:  {89, 3},
   702  		68:  {89, 3},
   703  		69:  {89, 3},
   704  		70:  {89, 3},
   705  		71:  {89, 3},
   706  		72:  {149, 2},
   707  		73:  {168, 0},
   708  		74:  {168, 2},
   709  		75:  {169, 1},
   710  		76:  {169, 3},
   711  		77:  {170, 3},
   712  		78:  {106, 3},
   713  		79:  {132, 10},
   714  		80:  {132, 5},
   715  		81:  {171, 0},
   716  		82:  {171, 3},
   717  		83:  {172, 0},
   718  		84:  {172, 5},
   719  		85:  {73, 1},
   720  		86:  {73, 1},
   721  		87:  {73, 1},
   722  		88:  {73, 1},
   723  		89:  {73, 1},
   724  		90:  {73, 1},
   725  		91:  {73, 1},
   726  		92:  {74, 1},
   727  		93:  {74, 1},
   728  		94:  {74, 1},
   729  		95:  {74, 3},
   730  		96:  {177, 4},
   731  		97:  {178, 0},
   732  		98:  {178, 1},
   733  		99:  {178, 1},
   734  		100: {75, 1},
   735  		101: {75, 1},
   736  		102: {75, 2},
   737  		103: {75, 2},
   738  		104: {75, 2},
   739  		105: {86, 1},
   740  		106: {86, 3},
   741  		107: {86, 3},
   742  		108: {86, 3},
   743  		109: {86, 3},
   744  		110: {85, 1},
   745  		111: {85, 3},
   746  		112: {85, 3},
   747  		113: {85, 3},
   748  		114: {85, 3},
   749  		115: {85, 3},
   750  		116: {85, 3},
   751  		117: {85, 3},
   752  		118: {76, 1},
   753  		119: {76, 3},
   754  		120: {133, 2},
   755  		121: {134, 1},
   756  		122: {134, 4},
   757  		123: {137, 0},
   758  		124: {137, 1},
   759  		125: {181, 0},
   760  		126: {181, 2},
   761  		127: {182, 1},
   762  		128: {182, 3},
   763  		129: {136, 1},
   764  		130: {176, 1},
   765  		131: {176, 1},
   766  		132: {176, 1},
   767  		133: {179, 0},
   768  		134: {179, 1},
   769  		135: {174, 6},
   770  		136: {175, 0},
   771  		137: {175, 1},
   772  		138: {102, 12},
   773  		139: {186, 0},
   774  		140: {186, 2},
   775  		141: {187, 0},
   776  		142: {187, 2},
   777  		143: {183, 0},
   778  		144: {183, 1},
   779  		145: {184, 1},
   780  		146: {184, 1},
   781  		147: {184, 2},
   782  		148: {189, 0},
   783  		149: {189, 1},
   784  		150: {185, 0},
   785  		151: {185, 1},
   786  		152: {188, 0},
   787  		153: {188, 1},
   788  		154: {107, 3},
   789  		155: {107, 4},
   790  		156: {107, 4},
   791  		157: {107, 5},
   792  		158: {138, 1},
   793  		159: {138, 1},
   794  		160: {138, 1},
   795  		161: {138, 1},
   796  		162: {138, 1},
   797  		163: {138, 1},
   798  		164: {138, 1},
   799  		165: {138, 1},
   800  		166: {138, 1},
   801  		167: {138, 1},
   802  		168: {138, 1},
   803  		169: {138, 1},
   804  		170: {138, 1},
   805  		171: {138, 1},
   806  		172: {138, 1},
   807  		173: {192, 1},
   808  		174: {192, 3},
   809  		175: {98, 1},
   810  		176: {90, 1},
   811  		177: {90, 3},
   812  		178: {150, 1},
   813  		179: {150, 1},
   814  		180: {140, 3},
   815  		181: {71, 1},
   816  		182: {71, 1},
   817  		183: {71, 1},
   818  		184: {71, 1},
   819  		185: {71, 1},
   820  		186: {71, 1},
   821  		187: {71, 1},
   822  		188: {71, 1},
   823  		189: {71, 1},
   824  		190: {71, 1},
   825  		191: {71, 1},
   826  		192: {71, 1},
   827  		193: {71, 1},
   828  		194: {71, 1},
   829  		195: {71, 1},
   830  		196: {71, 1},
   831  		197: {71, 1},
   832  		198: {71, 1},
   833  		199: {71, 1},
   834  		200: {71, 1},
   835  		201: {71, 1},
   836  		202: {71, 1},
   837  		203: {71, 1},
   838  		204: {71, 1},
   839  		205: {142, 5},
   840  		206: {195, 0},
   841  		207: {195, 1},
   842  		208: {78, 1},
   843  		209: {78, 2},
   844  		210: {78, 2},
   845  		211: {78, 2},
   846  		212: {78, 2},
   847  		213: {143, 2},
   848  		214: {190, 0},
   849  		215: {190, 1},
   850  		216: {99, 0},
   851  		217: {99, 1},
   852  	}
   853  
   854  	yyXErrors = map[yyXError]string{
   855  		yyXError{1, -1}:   "expected $end",
   856  		yyXError{43, -1}:  "expected '('",
   857  		yyXError{159, -1}: "expected '('",
   858  		yyXError{183, -1}: "expected '('",
   859  		yyXError{283, -1}: "expected '('",
   860  		yyXError{311, -1}: "expected '('",
   861  		yyXError{315, -1}: "expected '('",
   862  		yyXError{346, -1}: "expected '('",
   863  		yyXError{118, -1}: "expected ')'",
   864  		yyXError{119, -1}: "expected ')'",
   865  		yyXError{120, -1}: "expected ')'",
   866  		yyXError{189, -1}: "expected ')'",
   867  		yyXError{191, -1}: "expected ')'",
   868  		yyXError{192, -1}: "expected ')'",
   869  		yyXError{196, -1}: "expected ')'",
   870  		yyXError{198, -1}: "expected ')'",
   871  		yyXError{267, -1}: "expected ')'",
   872  		yyXError{281, -1}: "expected ')'",
   873  		yyXError{286, -1}: "expected ')'",
   874  		yyXError{292, -1}: "expected ')'",
   875  		yyXError{320, -1}: "expected ')'",
   876  		yyXError{337, -1}: "expected ')'",
   877  		yyXError{348, -1}: "expected ')'",
   878  		yyXError{36, -1}:  "expected '='",
   879  		yyXError{235, -1}: "expected BY",
   880  		yyXError{238, -1}: "expected BY",
   881  		yyXError{354, -1}: "expected COLUMN",
   882  		yyXError{7, -1}:   "expected CREATE INDEX optional UNIQUE clause or one of [INDEX, TABLE, UNIQUE]",
   883  		yyXError{339, -1}: "expected CREATE INDEX statement optional IF NOT EXISTS cluse or one of [IF, identifier]",
   884  		yyXError{318, -1}: "expected CREATE TABLE statement colum definition list or optional comma or one of [')', ',']",
   885  		yyXError{335, -1}: "expected CREATE TABLE statement colum definition list or optional comma or one of [')', ',']",
   886  		yyXError{295, -1}: "expected DROP INDEX statement optional IF EXISTS clause or one of [IF, identifier]",
   887  		yyXError{298, -1}: "expected EXISTS",
   888  		yyXError{302, -1}: "expected EXISTS",
   889  		yyXError{313, -1}: "expected EXISTS",
   890  		yyXError{342, -1}: "expected EXISTS",
   891  		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, ||]",
   892  		yyXError{8, -1}:   "expected FROM",
   893  		yyXError{217, -1}: "expected FROM",
   894  		yyXError{218, -1}: "expected FROM",
   895  		yyXError{308, -1}: "expected INDEX",
   896  		yyXError{309, -1}: "expected INDEX",
   897  		yyXError{278, -1}: "expected INSERT INTO statement optional column list clause or SELECT statement or one of ['(', SELECT, VALUES]",
   898  		yyXError{287, -1}: "expected INSERT INTO statement optional values list or optional comma or one of [$end, ',', ';']",
   899  		yyXError{11, -1}:  "expected INTO",
   900  		yyXError{259, -1}: "expected JOIN",
   901  		yyXError{260, -1}: "expected JOIN",
   902  		yyXError{312, -1}: "expected NOT",
   903  		yyXError{341, -1}: "expected NOT",
   904  		yyXError{178, -1}: "expected NULL",
   905  		yyXError{326, -1}: "expected NULL",
   906  		yyXError{262, -1}: "expected ON",
   907  		yyXError{344, -1}: "expected ON",
   908  		yyXError{248, -1}: "expected ORDER BY clause optional collation specification or one of [$end, ')', ';', ASC, DESC, LIMIT, OFFSET]",
   909  		yyXError{219, -1}: "expected RecordSetList or one of ['(', identifier]",
   910  		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]",
   911  		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]",
   912  		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]",
   913  		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]",
   914  		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]",
   915  		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]",
   916  		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]",
   917  		yyXError{239, -1}: "expected SELECT statement optional LIMIT clause or SELECT statement optional OFFSET clause or one of [$end, ')', ';', LIMIT, OFFSET]",
   918  		yyXError{241, -1}: "expected SELECT statement optional OFFSET clause or one of [$end, ')', ';', OFFSET]",
   919  		yyXError{222, -1}: "expected SELECT statement or SELECT",
   920  		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]",
   921  		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]",
   922  		yyXError{279, -1}: "expected SELECT statement or one of [SELECT, VALUES]",
   923  		yyXError{33, -1}:  "expected SetOpt or assignment list or one of [SET, identifier]",
   924  		yyXError{0, -1}:   "expected Start or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE, parse expression prefix]",
   925  		yyXError{4, -1}:   "expected TABLE",
   926  		yyXError{30, -1}:  "expected TABLE",
   927  		yyXError{5, -1}:   "expected TRANSACTION",
   928  		yyXError{39, -1}:  "expected UPDATE statement optional WHERE clause or one of [$end, ';', WHERE]",
   929  		yyXError{306, -1}: "expected WHERE clause or one of [$end, ';', WHERE]",
   930  		yyXError{37, -1}:  "expected assignment list optional trailing comma or optional comma or one of [$end, ',', ';', WHERE]",
   931  		yyXError{34, -1}:  "expected assignment list or identifier",
   932  		yyXError{206, -1}: "expected assignment or one of [$end, ';', WHERE, identifier]",
   933  		yyXError{252, -1}: "expected column name list or identifier",
   934  		yyXError{280, -1}: "expected column name list or identifier",
   935  		yyXError{253, -1}: "expected column name list with optional trailing comma or optional comma or one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
   936  		yyXError{355, -1}: "expected column name or identifier",
   937  		yyXError{257, -1}: "expected column name or one of [$end, ')', ';', LIMIT, OFFSET, ORDER, identifier]",
   938  		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]",
   939  		yyXError{121, -1}: "expected expression list expression or logical or operator or optional comma or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET, OR, ||]",
   940  		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]",
   941  		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]",
   942  		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]",
   943  		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]",
   944  		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]",
   945  		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]",
   946  		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]",
   947  		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]",
   948  		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]",
   949  		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]",
   950  		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]",
   951  		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]",
   952  		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]",
   953  		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]",
   954  		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]",
   955  		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]",
   956  		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]",
   957  		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]",
   958  		yyXError{214, -1}: "expected field expression optional AS clause or logical or operator or one of [',', AS, FROM, OR, ||]",
   959  		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]",
   960  		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]",
   961  		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, ||]",
   962  		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, ||]",
   963  		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, ||]",
   964  		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, ||]",
   965  		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, ||]",
   966  		yyXError{35, -1}:  "expected identifier",
   967  		yyXError{131, -1}: "expected identifier",
   968  		yyXError{270, -1}: "expected identifier",
   969  		yyXError{275, -1}: "expected identifier",
   970  		yyXError{301, -1}: "expected identifier",
   971  		yyXError{303, -1}: "expected identifier",
   972  		yyXError{340, -1}: "expected identifier",
   973  		yyXError{343, -1}: "expected identifier",
   974  		yyXError{345, -1}: "expected identifier",
   975  		yyXError{44, -1}:  "expected logical and operator or one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
   976  		yyXError{108, -1}: "expected logical and operator or one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
   977  		yyXError{125, -1}: "expected logical or operator or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET, OR, ||]",
   978  		yyXError{327, -1}: "expected logical or operator or one of [$end, ')', ',', ';', DEFAULT, OR, ||]",
   979  		yyXError{333, -1}: "expected logical or operator or one of [$end, ')', ',', ';', OR, ||]",
   980  		yyXError{264, -1}: "expected logical or operator or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
   981  		yyXError{45, -1}:  "expected logical or operator or one of [$end, ')', ';', GROUP, LIMIT, OFFSET, OR, ORDER, ||]",
   982  		yyXError{243, -1}: "expected logical or operator or one of [$end, ')', ';', OFFSET, OR, ||]",
   983  		yyXError{246, -1}: "expected logical or operator or one of [$end, ')', ';', OR, ||]",
   984  		yyXError{209, -1}: "expected logical or operator or one of [$end, ',', ';', OR, WHERE, ||]",
   985  		yyXError{358, -1}: "expected logical or operator or one of [$end, OR, ||]",
   986  		yyXError{147, -1}: "expected logical or operator or one of [')', OR, ||]",
   987  		yyXError{202, -1}: "expected logical or operator or one of [')', OR, ||]",
   988  		yyXError{100, -1}: "expected logical or operator or one of [':', ']', OR, ||]",
   989  		yyXError{102, -1}: "expected logical or operator or one of [']', OR, ||]",
   990  		yyXError{115, -1}: "expected logical or operator or one of [']', OR, ||]",
   991  		yyXError{64, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   992  		yyXError{48, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   993  		yyXError{49, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   994  		yyXError{50, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   995  		yyXError{51, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   996  		yyXError{52, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   997  		yyXError{53, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   998  		yyXError{54, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
   999  		yyXError{55, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1000  		yyXError{56, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1001  		yyXError{57, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1002  		yyXError{59, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1003  		yyXError{60, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1004  		yyXError{97, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1005  		yyXError{98, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1006  		yyXError{99, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1007  		yyXError{103, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1008  		yyXError{107, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1009  		yyXError{113, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1010  		yyXError{116, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1011  		yyXError{117, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1012  		yyXError{126, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1013  		yyXError{127, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1014  		yyXError{132, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1015  		yyXError{148, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1016  		yyXError{203, -1}: "expected one of [!=, $end, &&, &^, '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '[', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1017  		yyXError{62, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1018  		yyXError{63, -1}:  "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1019  		yyXError{140, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1020  		yyXError{141, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1021  		yyXError{142, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1022  		yyXError{143, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1023  		yyXError{144, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1024  		yyXError{145, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1025  		yyXError{146, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1026  		yyXError{153, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1027  		yyXError{154, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1028  		yyXError{155, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1029  		yyXError{156, -1}: "expected one of [!=, $end, &&, &^, '%', '&', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', ']', '^', '|', <<, <=, ==, >=, >>, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1030  		yyXError{47, -1}:  "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1031  		yyXError{170, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1032  		yyXError{171, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1033  		yyXError{172, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1034  		yyXError{173, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1035  		yyXError{174, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1036  		yyXError{175, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1037  		yyXError{176, -1}: "expected one of [!=, $end, &&, ')', '+', ',', '-', ':', ';', '<', '=', '>', ']', '^', '|', <=, ==, >=, AND, AS, ASC, BETWEEN, DEFAULT, DESC, FROM, GROUP, IN, IS, LIKE, LIMIT, NOT, OFFSET, OR, ORDER, WHERE, ||]",
  1038  		yyXError{182, -1}: "expected one of [$end, &&, ')', '+', ',', '-', ':', ';', ']', '^', '|', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1039  		yyXError{187, -1}: "expected one of [$end, &&, ')', '+', ',', '-', ':', ';', ']', '^', '|', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1040  		yyXError{65, -1}:  "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1041  		yyXError{112, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1042  		yyXError{177, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1043  		yyXError{179, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1044  		yyXError{193, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1045  		yyXError{194, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1046  		yyXError{199, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1047  		yyXError{200, -1}: "expected one of [$end, &&, ')', ',', ':', ';', ']', AND, AS, ASC, DEFAULT, DESC, FROM, GROUP, LIMIT, OFFSET, OR, ORDER, WHERE, ||]",
  1048  		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]",
  1049  		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]",
  1050  		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]",
  1051  		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]",
  1052  		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]",
  1053  		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]",
  1054  		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]",
  1055  		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]",
  1056  		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]",
  1057  		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]",
  1058  		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]",
  1059  		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]",
  1060  		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]",
  1061  		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]",
  1062  		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]",
  1063  		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]",
  1064  		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]",
  1065  		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]",
  1066  		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]",
  1067  		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]",
  1068  		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]",
  1069  		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]",
  1070  		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]",
  1071  		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]",
  1072  		yyXError{32, -1}:  "expected one of [$end, '(', ';', ADD, DROP, SELECT, SET, VALUES, WHERE, identifier]",
  1073  		yyXError{290, -1}: "expected one of [$end, '(', ';']",
  1074  		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]",
  1075  		yyXError{221, -1}: "expected one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1076  		yyXError{268, -1}: "expected one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1077  		yyXError{328, -1}: "expected one of [$end, ')', ',', ';', DEFAULT]",
  1078  		yyXError{329, -1}: "expected one of [$end, ')', ',', ';', DEFAULT]",
  1079  		yyXError{269, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1080  		yyXError{271, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1081  		yyXError{223, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1082  		yyXError{265, -1}: "expected one of [$end, ')', ',', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE]",
  1083  		yyXError{258, -1}: "expected one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
  1084  		yyXError{330, -1}: "expected one of [$end, ')', ',', ';']",
  1085  		yyXError{332, -1}: "expected one of [$end, ')', ',', ';']",
  1086  		yyXError{123, -1}: "expected one of [$end, ')', ';', ASC, DESC, LIMIT, OFFSET]",
  1087  		yyXError{231, -1}: "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER, WHERE]",
  1088  		yyXError{234, -1}: "expected one of [$end, ')', ';', GROUP, LIMIT, OFFSET, ORDER]",
  1089  		yyXError{237, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
  1090  		yyXError{254, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
  1091  		yyXError{256, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET, ORDER]",
  1092  		yyXError{240, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1093  		yyXError{249, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1094  		yyXError{250, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1095  		yyXError{251, -1}: "expected one of [$end, ')', ';', LIMIT, OFFSET]",
  1096  		yyXError{244, -1}: "expected one of [$end, ')', ';']",
  1097  		yyXError{207, -1}: "expected one of [$end, ',', ';', WHERE]",
  1098  		yyXError{293, -1}: "expected one of [$end, ',', ';']",
  1099  		yyXError{205, -1}: "expected one of [$end, ';', WHERE]",
  1100  		yyXError{2, -1}:   "expected one of [$end, ';']",
  1101  		yyXError{6, -1}:   "expected one of [$end, ';']",
  1102  		yyXError{12, -1}:  "expected one of [$end, ';']",
  1103  		yyXError{14, -1}:  "expected one of [$end, ';']",
  1104  		yyXError{15, -1}:  "expected one of [$end, ';']",
  1105  		yyXError{16, -1}:  "expected one of [$end, ';']",
  1106  		yyXError{17, -1}:  "expected one of [$end, ';']",
  1107  		yyXError{18, -1}:  "expected one of [$end, ';']",
  1108  		yyXError{19, -1}:  "expected one of [$end, ';']",
  1109  		yyXError{20, -1}:  "expected one of [$end, ';']",
  1110  		yyXError{21, -1}:  "expected one of [$end, ';']",
  1111  		yyXError{22, -1}:  "expected one of [$end, ';']",
  1112  		yyXError{23, -1}:  "expected one of [$end, ';']",
  1113  		yyXError{24, -1}:  "expected one of [$end, ';']",
  1114  		yyXError{25, -1}:  "expected one of [$end, ';']",
  1115  		yyXError{26, -1}:  "expected one of [$end, ';']",
  1116  		yyXError{27, -1}:  "expected one of [$end, ';']",
  1117  		yyXError{28, -1}:  "expected one of [$end, ';']",
  1118  		yyXError{29, -1}:  "expected one of [$end, ';']",
  1119  		yyXError{40, -1}:  "expected one of [$end, ';']",
  1120  		yyXError{41, -1}:  "expected one of [$end, ';']",
  1121  		yyXError{211, -1}: "expected one of [$end, ';']",
  1122  		yyXError{284, -1}: "expected one of [$end, ';']",
  1123  		yyXError{289, -1}: "expected one of [$end, ';']",
  1124  		yyXError{294, -1}: "expected one of [$end, ';']",
  1125  		yyXError{297, -1}: "expected one of [$end, ';']",
  1126  		yyXError{300, -1}: "expected one of [$end, ';']",
  1127  		yyXError{304, -1}: "expected one of [$end, ';']",
  1128  		yyXError{307, -1}: "expected one of [$end, ';']",
  1129  		yyXError{323, -1}: "expected one of [$end, ';']",
  1130  		yyXError{338, -1}: "expected one of [$end, ';']",
  1131  		yyXError{349, -1}: "expected one of [$end, ';']",
  1132  		yyXError{350, -1}: "expected one of [$end, ';']",
  1133  		yyXError{356, -1}: "expected one of [$end, ';']",
  1134  		yyXError{357, -1}: "expected one of [$end, ';']",
  1135  		yyXError{360, -1}: "expected one of [$end, ';']",
  1136  		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]",
  1137  		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]",
  1138  		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]",
  1139  		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]",
  1140  		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]",
  1141  		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]",
  1142  		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]",
  1143  		yyXError{322, -1}: "expected one of [')', ',']",
  1144  		yyXError{180, -1}: "expected one of ['+', '-', '^', '|', AND]",
  1145  		yyXError{185, -1}: "expected one of ['+', '-', '^', '|', AND]",
  1146  		yyXError{215, -1}: "expected one of [',', FROM]",
  1147  		yyXError{216, -1}: "expected one of [',', FROM]",
  1148  		yyXError{273, -1}: "expected one of [',', FROM]",
  1149  		yyXError{274, -1}: "expected one of [',', FROM]",
  1150  		yyXError{276, -1}: "expected one of [',', FROM]",
  1151  		yyXError{352, -1}: "expected one of [ADD, DROP]",
  1152  		yyXError{160, -1}: "expected one of [BETWEEN, IN]",
  1153  		yyXError{9, -1}:   "expected one of [INDEX, TABLE]",
  1154  		yyXError{227, -1}: "expected one of [JOIN, OUTER]",
  1155  		yyXError{228, -1}: "expected one of [JOIN, OUTER]",
  1156  		yyXError{229, -1}: "expected one of [JOIN, OUTER]",
  1157  		yyXError{162, -1}: "expected one of [NOT, NULL]",
  1158  		yyXError{282, -1}: "expected one of [SELECT, VALUES]",
  1159  		yyXError{325, -1}: "expected optional DEFAULT clause or one of [$end, ')', ',', ';', DEFAULT]",
  1160  		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]",
  1161  		yyXError{230, -1}: "expected optional OUTER clause or one of [JOIN, OUTER]",
  1162  		yyXError{122, -1}: "expected optional comma or one of [$end, ')', ',', ';', ASC, DESC, LIMIT, OFFSET]",
  1163  		yyXError{255, -1}: "expected optional comma or one of [$end, ')', ',', ';', LIMIT, OFFSET, ORDER]",
  1164  		yyXError{204, -1}: "expected optional comma or one of [$end, ',', ';', WHERE]",
  1165  		yyXError{288, -1}: "expected optional comma or one of [$end, ',', ';']",
  1166  		yyXError{319, -1}: "expected optional comma or one of [')', ',']",
  1167  		yyXError{336, -1}: "expected optional comma or one of [')', ',']",
  1168  		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]",
  1169  		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]",
  1170  		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]",
  1171  		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]",
  1172  		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]",
  1173  		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]",
  1174  		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]",
  1175  		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]",
  1176  		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]",
  1177  		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]",
  1178  		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]",
  1179  		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]",
  1180  		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]",
  1181  		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]",
  1182  		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]",
  1183  		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]",
  1184  		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]",
  1185  		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]",
  1186  		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]",
  1187  		yyXError{220, -1}: "expected record set optional AS clause or one of [$end, ')', ',', ';', AS, FULL, GROUP, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, WHERE]",
  1188  		yyXError{225, -1}: "expected record set or one of [$end, '(', ')', ';', FULL, GROUP, LEFT, LIMIT, OFFSET, ORDER, RIGHT, WHERE, identifier]",
  1189  		yyXError{261, -1}: "expected record set or one of ['(', identifier]",
  1190  		yyXError{190, -1}: "expected semiOpt or one of [')', ';']",
  1191  		yyXError{197, -1}: "expected semiOpt or one of [')', ';']",
  1192  		yyXError{266, -1}: "expected semiOpt or one of [')', ';']",
  1193  		yyXError{10, -1}:  "expected statement or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE]",
  1194  		yyXError{359, -1}: "expected statement or one of [$end, ';', ALTER, BEGIN, COMMIT, CREATE, DELETE, DROP, EXPLAIN, INSERT, ROLLBACK, SELECT, TRUNCATE, UPDATE]",
  1195  		yyXError{316, -1}: "expected table column definition or identifier",
  1196  		yyXError{334, -1}: "expected table column definition or identifier",
  1197  		yyXError{353, -1}: "expected table column definition or identifier",
  1198  		yyXError{321, -1}: "expected table column definition or one of [')', identifier]",
  1199  		yyXError{31, -1}:  "expected table name or identifier",
  1200  		yyXError{210, -1}: "expected table name or identifier",
  1201  		yyXError{277, -1}: "expected table name or identifier",
  1202  		yyXError{299, -1}: "expected table name or identifier",
  1203  		yyXError{305, -1}: "expected table name or identifier",
  1204  		yyXError{314, -1}: "expected table name or identifier",
  1205  		yyXError{351, -1}: "expected table name or identifier",
  1206  		yyXError{296, -1}: "expected table name or one of [IF, identifier]",
  1207  		yyXError{310, -1}: "expected table name or one of [IF, identifier]",
  1208  		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]",
  1209  		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]",
  1210  		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]",
  1211  		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]",
  1212  		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]",
  1213  		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]",
  1214  		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]",
  1215  		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]",
  1216  	}
  1217  
  1218  	yyParseTab = [361][]uint16{
  1219  		// 0
  1220  		{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},
  1221  		{1: 218},
  1222  		{577, 217},
  1223  		{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},
  1224  		{113: 569},
  1225  		// 5
  1226  		{193: 568},
  1227  		{199, 199},
  1228  		{111: 190, 113: 528, 161: 526, 194: 527},
  1229  		{51: 523},
  1230  		{111: 513, 113: 514},
  1231  		// 10
  1232  		{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},
  1233  		{173: 495},
  1234  		{89, 89},
  1235  		{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},
  1236  		{60, 60},
  1237  		// 15
  1238  		{59, 59},
  1239  		{58, 58},
  1240  		{57, 57},
  1241  		{56, 56},
  1242  		{55, 55},
  1243  		// 20
  1244  		{54, 54},
  1245  		{53, 53},
  1246  		{52, 52},
  1247  		{51, 51},
  1248  		{50, 50},
  1249  		// 25
  1250  		{49, 49},
  1251  		{48, 48},
  1252  		{47, 47},
  1253  		{46, 46},
  1254  		{45, 45},
  1255  		// 30
  1256  		{113: 428},
  1257  		{8: 250, 98: 251},
  1258  		{43, 43, 7: 43, 43, 13: 43, 97: 43, 105: 43, 114: 43, 144: 43, 151: 43},
  1259  		{8: 4, 151: 253, 190: 252},
  1260  		{8: 256, 93: 254, 145: 255, 153: 257},
  1261  		// 35
  1262  		{8: 3},
  1263  		{60: 426},
  1264  		{211, 211, 6: 211, 13: 211, 154: 422},
  1265  		{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},
  1266  		{12, 12, 13: 260, 143: 259, 195: 258},
  1267  		// 40
  1268  		{13, 13},
  1269  		{11, 11},
  1270  		{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},
  1271  		{7: 419},
  1272  		{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},
  1273  		// 45
  1274  		{5, 5, 5, 9: 5, 5, 12: 5, 46: 5, 48: 324, 323, 92: 322},
  1275  		{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},
  1276  		{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},
  1277  		{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},
  1278  		{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},
  1279  		// 50
  1280  		{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},
  1281  		{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},
  1282  		{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},
  1283  		{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},
  1284  		{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},
  1285  		// 55
  1286  		{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},
  1287  		{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},
  1288  		{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},
  1289  		{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},
  1290  		{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},
  1291  		// 60
  1292  		{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},
  1293  		{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},
  1294  		{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},
  1295  		{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},
  1296  		{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},
  1297  		// 65
  1298  		{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},
  1299  		{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},
  1300  		{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},
  1301  		{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},
  1302  		{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},
  1303  		// 70
  1304  		{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},
  1305  		{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},
  1306  		{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},
  1307  		{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},
  1308  		{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},
  1309  		// 75
  1310  		{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},
  1311  		{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},
  1312  		{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},
  1313  		{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},
  1314  		{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},
  1315  		// 80
  1316  		{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},
  1317  		{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},
  1318  		{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},
  1319  		{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},
  1320  		{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},
  1321  		// 85
  1322  		{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},
  1323  		{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},
  1324  		{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},
  1325  		{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},
  1326  		{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},
  1327  		// 90
  1328  		{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},
  1329  		{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},
  1330  		{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},
  1331  		{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},
  1332  		{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},
  1333  		// 95
  1334  		{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},
  1335  		{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},
  1336  		{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},
  1337  		{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},
  1338  		{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},
  1339  		// 100
  1340  		{48: 324, 323, 54: 331, 56: 332, 92: 322},
  1341  		{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},
  1342  		{48: 324, 323, 54: 325, 92: 322},
  1343  		{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},
  1344  		{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},
  1345  		// 105
  1346  		{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},
  1347  		{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},
  1348  		{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},
  1349  		{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},
  1350  		{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},
  1351  		// 110
  1352  		{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},
  1353  		{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},
  1354  		{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},
  1355  		{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},
  1356  		{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},
  1357  		// 115
  1358  		{48: 324, 323, 54: 335, 92: 322},
  1359  		{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},
  1360  		{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},
  1361  		{2: 345},
  1362  		{2: 344},
  1363  		// 120
  1364  		{2: 205},
  1365  		{165, 165, 165, 6: 165, 9: 165, 165, 48: 324, 323, 52: 165, 165, 92: 322, 167: 340},
  1366  		{2, 2, 2, 6: 342, 9: 2, 2, 52: 2, 2, 99: 341},
  1367  		{166, 166, 166, 9: 166, 166, 52: 166, 166},
  1368  		{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},
  1369  		// 125
  1370  		{164, 164, 164, 6: 164, 9: 164, 164, 48: 324, 323, 52: 164, 164, 92: 322},
  1371  		{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},
  1372  		{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},
  1373  		{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},
  1374  		{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},
  1375  		// 130
  1376  		{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},
  1377  		{8: 350},
  1378  		{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},
  1379  		{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},
  1380  		{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},
  1381  		// 135
  1382  		{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},
  1383  		{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},
  1384  		{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},
  1385  		{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},
  1386  		{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},
  1387  		// 140
  1388  		{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},
  1389  		{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},
  1390  		{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},
  1391  		{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},
  1392  		{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},
  1393  		// 145
  1394  		{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},
  1395  		{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},
  1396  		{2: 366, 48: 324, 323, 92: 322},
  1397  		{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},
  1398  		{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},
  1399  		// 150
  1400  		{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},
  1401  		{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},
  1402  		{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},
  1403  		{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},
  1404  		{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},
  1405  		// 155
  1406  		{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},
  1407  		{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},
  1408  		{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},
  1409  		{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},
  1410  		{7: 413},
  1411  		// 160
  1412  		{61: 402, 401},
  1413  		{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},
  1414  		{14: 395, 47: 396},
  1415  		{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},
  1416  		{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},
  1417  		// 165
  1418  		{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},
  1419  		{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},
  1420  		{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},
  1421  		{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},
  1422  		{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},
  1423  		// 170
  1424  		{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},
  1425  		{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},
  1426  		{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},
  1427  		{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},
  1428  		{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},
  1429  		// 175
  1430  		{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},
  1431  		{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},
  1432  		{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},
  1433  		{14: 397},
  1434  		{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},
  1435  		// 180
  1436  		{3: 370, 369, 367, 57: 399, 59: 368},
  1437  		{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},
  1438  		{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},
  1439  		{7: 406},
  1440  		{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},
  1441  		// 185
  1442  		{3: 370, 369, 367, 57: 404, 59: 368},
  1443  		{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},
  1444  		{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},
  1445  		{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},
  1446  		{2: 412},
  1447  		// 190
  1448  		{410, 2: 95, 137: 409},
  1449  		{2: 411},
  1450  		{2: 94},
  1451  		{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},
  1452  		{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},
  1453  		// 195
  1454  		{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},
  1455  		{2: 418},
  1456  		{410, 2: 95, 137: 416},
  1457  		{2: 417},
  1458  		{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},
  1459  		// 200
  1460  		{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},
  1461  		{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},
  1462  		{2: 421, 48: 324, 323, 92: 322},
  1463  		{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},
  1464  		{2, 2, 6: 424, 13: 2, 99: 423},
  1465  		// 205
  1466  		{212, 212, 13: 212},
  1467  		{1, 1, 8: 256, 13: 1, 93: 254, 145: 425},
  1468  		{210, 210, 6: 210, 13: 210},
  1469  		{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},
  1470  		{213, 213, 6: 213, 13: 213, 48: 324, 323, 92: 322},
  1471  		// 210
  1472  		{8: 250, 98: 429},
  1473  		{38, 38},
  1474  		{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},
  1475  		{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},
  1476  		{6: 145, 48: 324, 323, 51: 145, 55: 493, 92: 322, 168: 492},
  1477  		// 215
  1478  		{6: 143, 51: 143},
  1479  		{6: 490, 51: 72},
  1480  		{51: 437},
  1481  		{51: 73},
  1482  		{7: 440, 439, 133: 441, 438, 182: 442},
  1483  		// 220
  1484  		{93, 93, 93, 6: 93, 9: 93, 93, 12: 93, 93, 46: 93, 55: 488, 94: 93, 93, 93, 101: 93, 181: 487},
  1485  		{97, 97, 97, 6: 97, 9: 97, 97, 12: 97, 97, 46: 97, 55: 97, 94: 97, 97, 97, 101: 97},
  1486  		{97: 231, 102: 484},
  1487  		{91, 91, 91, 6: 91, 9: 91, 91, 12: 91, 91, 46: 91, 94: 91, 91, 91},
  1488  		{2, 2, 2, 6: 443, 9: 2, 2, 12: 2, 2, 46: 2, 94: 2, 2, 2, 99: 444},
  1489  		// 225
  1490  		{1, 1, 1, 7: 440, 439, 1, 1, 12: 1, 1, 46: 1, 94: 1, 1, 1, 133: 483, 438},
  1491  		{82, 82, 82, 9: 82, 82, 12: 82, 82, 46: 82, 94: 447, 445, 446, 174: 449, 450, 448},
  1492  		{103: 88, 112: 88},
  1493  		{103: 87, 112: 87},
  1494  		{103: 86, 112: 86},
  1495  		// 230
  1496  		{103: 85, 112: 477, 179: 478},
  1497  		{81, 81, 81, 9: 81, 81, 12: 81, 81, 46: 81},
  1498  		{70, 70, 70, 9: 70, 70, 12: 70, 260, 46: 70, 143: 452, 189: 451},
  1499  		{68, 68, 68, 9: 68, 68, 12: 68, 46: 453, 170: 455, 185: 454},
  1500  		{69, 69, 69, 9: 69, 69, 12: 69, 46: 69},
  1501  		// 235
  1502  		{146: 470},
  1503  		{66, 66, 66, 9: 66, 66, 12: 456, 177: 458, 188: 457},
  1504  		{67, 67, 67, 9: 67, 67, 12: 67},
  1505  		{146: 465},
  1506  		{79, 79, 79, 9: 79, 460, 186: 459},
  1507  		// 240
  1508  		{65, 65, 65, 9: 65, 65},
  1509  		{77, 77, 77, 9: 463, 187: 462},
  1510  		{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},
  1511  		{78, 78, 78, 9: 78, 48: 324, 323, 92: 322},
  1512  		{80, 80, 80},
  1513  		// 245
  1514  		{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},
  1515  		{76, 76, 76, 48: 324, 323, 92: 322},
  1516  		{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},
  1517  		{121, 121, 121, 9: 121, 121, 52: 468, 469, 178: 467},
  1518  		{122, 122, 122, 9: 122, 122},
  1519  		// 250
  1520  		{120, 120, 120, 9: 120, 120},
  1521  		{119, 119, 119, 9: 119, 119},
  1522  		{8: 256, 93: 471, 147: 472},
  1523  		{201, 201, 201, 6: 201, 9: 201, 201, 12: 201, 157: 473},
  1524  		{141, 141, 141, 9: 141, 141, 12: 141},
  1525  		// 255
  1526  		{2, 2, 2, 6: 475, 9: 2, 2, 12: 2, 99: 474},
  1527  		{202, 202, 202, 9: 202, 202, 12: 202},
  1528  		{1, 1, 1, 8: 256, 1, 1, 12: 1, 93: 476},
  1529  		{200, 200, 200, 6: 200, 9: 200, 200, 12: 200},
  1530  		{103: 84},
  1531  		// 260
  1532  		{103: 479},
  1533  		{7: 440, 439, 133: 480, 438},
  1534  		{101: 481},
  1535  		{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},
  1536  		{83, 83, 83, 9: 83, 83, 12: 83, 83, 46: 83, 48: 324, 323, 92: 322},
  1537  		// 265
  1538  		{90, 90, 90, 6: 90, 9: 90, 90, 12: 90, 90, 46: 90, 94: 90, 90, 90},
  1539  		{410, 2: 95, 137: 485},
  1540  		{2: 486},
  1541  		{96, 96, 96, 6: 96, 9: 96, 96, 12: 96, 96, 46: 96, 55: 96, 94: 96, 96, 96, 101: 96},
  1542  		{98, 98, 98, 6: 98, 9: 98, 98, 12: 98, 98, 46: 98, 94: 98, 98, 98, 101: 98},
  1543  		// 270
  1544  		{8: 489},
  1545  		{92, 92, 92, 6: 92, 9: 92, 92, 12: 92, 92, 46: 92, 94: 92, 92, 92, 101: 92},
  1546  		{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},
  1547  		{6: 142, 51: 142},
  1548  		{6: 146, 51: 146},
  1549  		// 275
  1550  		{8: 494},
  1551  		{6: 144, 51: 144},
  1552  		{8: 250, 98: 496},
  1553  		{7: 498, 97: 137, 114: 137, 171: 497},
  1554  		{97: 231, 102: 502, 114: 501},
  1555  		// 280
  1556  		{8: 256, 93: 471, 147: 499},
  1557  		{2: 500},
  1558  		{97: 136, 114: 136},
  1559  		{7: 503},
  1560  		{138, 138},
  1561  		// 285
  1562  		{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},
  1563  		{2: 505},
  1564  		{135, 135, 6: 135, 172: 506},
  1565  		{2, 2, 6: 508, 99: 507},
  1566  		{139, 139},
  1567  		// 290
  1568  		{1, 1, 7: 509},
  1569  		{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},
  1570  		{2: 511},
  1571  		{134, 134, 6: 134},
  1572  		{173, 173},
  1573  		// 295
  1574  		{8: 178, 110: 520, 165: 519},
  1575  		{8: 250, 98: 515, 110: 516},
  1576  		{176, 176},
  1577  		{109: 517},
  1578  		{8: 250, 98: 518},
  1579  		// 300
  1580  		{175, 175},
  1581  		{8: 522},
  1582  		{109: 521},
  1583  		{8: 177},
  1584  		{179, 179},
  1585  		// 305
  1586  		{8: 250, 98: 524},
  1587  		{181, 181, 13: 260, 143: 525},
  1588  		{180, 180},
  1589  		{111: 557},
  1590  		{111: 189},
  1591  		// 310
  1592  		{8: 250, 98: 529, 110: 530},
  1593  		{7: 552},
  1594  		{47: 531},
  1595  		{109: 532},
  1596  		{8: 250, 98: 533},
  1597  		// 315
  1598  		{7: 534},
  1599  		{8: 256, 93: 535, 108: 536},
  1600  		{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},
  1601  		{2: 186, 6: 186, 148: 537},
  1602  		{2: 2, 6: 539, 99: 538},
  1603  		// 320
  1604  		{2: 541},
  1605  		{2: 1, 8: 256, 93: 535, 108: 540},
  1606  		{2: 185, 6: 185},
  1607  		{187, 187},
  1608  		{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},
  1609  		// 325
  1610  		{183, 183, 183, 6: 183, 11: 549, 162: 550, 548},
  1611  		{14: 547},
  1612  		{197, 197, 197, 6: 197, 11: 197, 48: 324, 323, 92: 322},
  1613  		{195, 195, 195, 6: 195, 11: 195},
  1614  		{198, 198, 198, 6: 198, 11: 198},
  1615  		// 330
  1616  		{204, 204, 204, 6: 204},
  1617  		{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},
  1618  		{182, 182, 182, 6: 182},
  1619  		{184, 184, 184, 6: 184, 48: 324, 323, 92: 322},
  1620  		{8: 256, 93: 535, 108: 553},
  1621  		// 335
  1622  		{2: 186, 6: 186, 148: 554},
  1623  		{2: 2, 6: 539, 99: 555},
  1624  		{2: 556},
  1625  		{188, 188},
  1626  		{8: 192, 110: 559, 160: 558},
  1627  		// 340
  1628  		{8: 562},
  1629  		{47: 560},
  1630  		{109: 561},
  1631  		{8: 191},
  1632  		{101: 563},
  1633  		// 345
  1634  		{8: 564},
  1635  		{7: 565},
  1636  		{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},
  1637  		{2: 567},
  1638  		{193, 193},
  1639  		// 350
  1640  		{209, 209},
  1641  		{8: 250, 98: 570},
  1642  		{105: 572, 144: 571},
  1643  		{8: 256, 93: 535, 108: 575},
  1644  		{156: 573},
  1645  		// 355
  1646  		{8: 256, 93: 574},
  1647  		{214, 214},
  1648  		{215, 215},
  1649  		{1: 216, 48: 324, 323, 92: 322},
  1650  		{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},
  1651  		// 360
  1652  		{44, 44},
  1653  	}
  1654  )
  1655  
  1656  var yyDebug = 0
  1657  
  1658  type yyLexer interface {
  1659  	Lex(lval *yySymType) int
  1660  	Error(s string)
  1661  }
  1662  
  1663  type yyLexerEx interface {
  1664  	yyLexer
  1665  	Reduced(rule, state int, lval *yySymType) bool
  1666  }
  1667  
  1668  func yySymName(c int) (s string) {
  1669  	x, ok := yyXLAT[c]
  1670  	if ok {
  1671  		return yySymNames[x]
  1672  	}
  1673  
  1674  	if c < 0x7f {
  1675  		return __yyfmt__.Sprintf("'%c'", c)
  1676  	}
  1677  
  1678  	return __yyfmt__.Sprintf("%d", c)
  1679  }
  1680  
  1681  func yylex1(yylex yyLexer, lval *yySymType) (n int) {
  1682  	n = yylex.Lex(lval)
  1683  	if n <= 0 {
  1684  		n = yyEOFCode
  1685  	}
  1686  	if yyDebug >= 3 {
  1687  		__yyfmt__.Printf("\nlex %s(%#x %d), lval: %+v\n", yySymName(n), n, n, lval)
  1688  	}
  1689  	return n
  1690  }
  1691  
  1692  func yyParse(yylex yyLexer) int {
  1693  	const yyError = 197
  1694  
  1695  	yyEx, _ := yylex.(yyLexerEx)
  1696  	var yyn int
  1697  	var yylval yySymType
  1698  	var yyVAL yySymType
  1699  	yyS := make([]yySymType, 200)
  1700  
  1701  	Nerrs := 0   /* number of errors */
  1702  	Errflag := 0 /* error recovery flag */
  1703  	yyerrok := func() {
  1704  		if yyDebug >= 2 {
  1705  			__yyfmt__.Printf("yyerrok()\n")
  1706  		}
  1707  		Errflag = 0
  1708  	}
  1709  	_ = yyerrok
  1710  	yystate := 0
  1711  	yychar := -1
  1712  	var yyxchar int
  1713  	var yyshift int
  1714  	yyp := -1
  1715  	goto yystack
  1716  
  1717  ret0:
  1718  	return 0
  1719  
  1720  ret1:
  1721  	return 1
  1722  
  1723  yystack:
  1724  	/* put a state and value onto the stack */
  1725  	yyp++
  1726  	if yyp >= len(yyS) {
  1727  		nyys := make([]yySymType, len(yyS)*2)
  1728  		copy(nyys, yyS)
  1729  		yyS = nyys
  1730  	}
  1731  	yyS[yyp] = yyVAL
  1732  	yyS[yyp].yys = yystate
  1733  
  1734  yynewstate:
  1735  	if yychar < 0 {
  1736  		yychar = yylex1(yylex, &yylval)
  1737  		var ok bool
  1738  		if yyxchar, ok = yyXLAT[yychar]; !ok {
  1739  			yyxchar = len(yySymNames) // > tab width
  1740  		}
  1741  	}
  1742  	if yyDebug >= 4 {
  1743  		var a []int
  1744  		for _, v := range yyS[:yyp+1] {
  1745  			a = append(a, v.yys)
  1746  		}
  1747  		__yyfmt__.Printf("state stack %v\n", a)
  1748  	}
  1749  	row := yyParseTab[yystate]
  1750  	yyn = 0
  1751  	if yyxchar < len(row) {
  1752  		if yyn = int(row[yyxchar]); yyn != 0 {
  1753  			yyn += yyTabOfs
  1754  		}
  1755  	}
  1756  	switch {
  1757  	case yyn > 0: // shift
  1758  		yychar = -1
  1759  		yyVAL = yylval
  1760  		yystate = yyn
  1761  		yyshift = yyn
  1762  		if yyDebug >= 2 {
  1763  			__yyfmt__.Printf("shift, and goto state %d\n", yystate)
  1764  		}
  1765  		if Errflag > 0 {
  1766  			Errflag--
  1767  		}
  1768  		goto yystack
  1769  	case yyn < 0: // reduce
  1770  	case yystate == 1: // accept
  1771  		if yyDebug >= 2 {
  1772  			__yyfmt__.Println("accept")
  1773  		}
  1774  		goto ret0
  1775  	}
  1776  
  1777  	if yyn == 0 {
  1778  		/* error ... attempt to resume parsing */
  1779  		switch Errflag {
  1780  		case 0: /* brand new error */
  1781  			if yyDebug >= 1 {
  1782  				__yyfmt__.Printf("no action for %s in state %d\n", yySymName(yychar), yystate)
  1783  			}
  1784  			msg, ok := yyXErrors[yyXError{yystate, yyxchar}]
  1785  			if !ok {
  1786  				msg, ok = yyXErrors[yyXError{yystate, -1}]
  1787  			}
  1788  			if !ok && yyshift != 0 {
  1789  				msg, ok = yyXErrors[yyXError{yyshift, yyxchar}]
  1790  			}
  1791  			if !ok {
  1792  				msg, ok = yyXErrors[yyXError{yyshift, -1}]
  1793  			}
  1794  			if yychar > 0 {
  1795  				ls := yyTokenLiteralStrings[yychar]
  1796  				if ls == "" {
  1797  					ls = yySymName(yychar)
  1798  				}
  1799  				if ls != "" {
  1800  					switch {
  1801  					case msg == "":
  1802  						msg = __yyfmt__.Sprintf("unexpected %s", ls)
  1803  					default:
  1804  						msg = __yyfmt__.Sprintf("unexpected %s, %s", ls, msg)
  1805  					}
  1806  				}
  1807  			}
  1808  			if msg == "" {
  1809  				msg = "syntax error"
  1810  			}
  1811  			yylex.Error(msg)
  1812  			Nerrs++
  1813  			fallthrough
  1814  
  1815  		case 1, 2: /* incompletely recovered error ... try again */
  1816  			Errflag = 3
  1817  
  1818  			/* find a state where "error" is a legal shift action */
  1819  			for yyp >= 0 {
  1820  				row := yyParseTab[yyS[yyp].yys]
  1821  				if yyError < len(row) {
  1822  					yyn = int(row[yyError]) + yyTabOfs
  1823  					if yyn > 0 { // hit
  1824  						if yyDebug >= 2 {
  1825  							__yyfmt__.Printf("error recovery found error shift in state %d\n", yyS[yyp].yys)
  1826  						}
  1827  						yystate = yyn /* simulate a shift of "error" */
  1828  						goto yystack
  1829  					}
  1830  				}
  1831  
  1832  				/* the current p has no shift on "error", pop stack */
  1833  				if yyDebug >= 2 {
  1834  					__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
  1835  				}
  1836  				yyp--
  1837  			}
  1838  			/* there is no state on the stack with an error shift ... abort */
  1839  			if yyDebug >= 2 {
  1840  				__yyfmt__.Printf("error recovery failed\n")
  1841  			}
  1842  			goto ret1
  1843  
  1844  		case 3: /* no shift yet; clobber input char */
  1845  			if yyDebug >= 2 {
  1846  				__yyfmt__.Printf("error recovery discards %s\n", yySymName(yychar))
  1847  			}
  1848  			if yychar == yyEOFCode {
  1849  				goto ret1
  1850  			}
  1851  
  1852  			yychar = -1
  1853  			goto yynewstate /* try again in the same state */
  1854  		}
  1855  	}
  1856  
  1857  	r := -yyn
  1858  	x0 := yyReductions[r]
  1859  	x, n := x0.xsym, x0.components
  1860  	yypt := yyp
  1861  	_ = yypt // guard against "declared and not used"
  1862  
  1863  	yyp -= n
  1864  	if yyp+1 >= len(yyS) {
  1865  		nyys := make([]yySymType, len(yyS)*2)
  1866  		copy(nyys, yyS)
  1867  		yyS = nyys
  1868  	}
  1869  	yyVAL = yyS[yyp+1]
  1870  
  1871  	/* consult goto table to find next state */
  1872  	exState := yystate
  1873  	yystate = int(yyParseTab[yyS[yyp].yys][x]) + yyTabOfs
  1874  	/* reduction by production r */
  1875  	if yyDebug >= 2 {
  1876  		__yyfmt__.Printf("reduce using rule %v (%s), and goto state %d\n", r, yySymNames[x], yystate)
  1877  	}
  1878  
  1879  	switch r {
  1880  	case 2:
  1881  		{
  1882  			yylex.(*lexer).expr = expr(yyS[yypt-0].item)
  1883  		}
  1884  	case 3:
  1885  		{
  1886  			yyVAL.item = &alterTableAddStmt{tableName: yyS[yypt-2].item.(string), c: yyS[yypt-0].item.(*col)}
  1887  		}
  1888  	case 4:
  1889  		{
  1890  			yyVAL.item = &alterTableDropColumnStmt{tableName: yyS[yypt-3].item.(string), colName: yyS[yypt-0].item.(string)}
  1891  		}
  1892  	case 5:
  1893  		{
  1894  			yyVAL.item = assignment{colName: yyS[yypt-2].item.(string), expr: expr(yyS[yypt-0].item)}
  1895  		}
  1896  	case 6:
  1897  		{
  1898  			yyVAL.item = append([]assignment{yyS[yypt-2].item.(assignment)}, yyS[yypt-1].item.([]assignment)...)
  1899  		}
  1900  	case 7:
  1901  		{
  1902  			yyVAL.item = []assignment{}
  1903  		}
  1904  	case 8:
  1905  		{
  1906  			yyVAL.item = append(yyS[yypt-2].item.([]assignment), yyS[yypt-0].item.(assignment))
  1907  		}
  1908  	case 9:
  1909  		{
  1910  			yyVAL.item = beginTransactionStmt{}
  1911  		}
  1912  	case 10:
  1913  		{
  1914  			yyVAL.item = yyS[yypt-1].item
  1915  		}
  1916  	case 11:
  1917  		{
  1918  			yyVAL.item = '*'
  1919  		}
  1920  	case 12:
  1921  		{
  1922  			yyVAL.item = []expression{}
  1923  		}
  1924  	case 14:
  1925  		{
  1926  			x := &col{name: yyS[yypt-3].item.(string), typ: yyS[yypt-2].item.(int), constraint: yyS[yypt-1].item.(*constraint)}
  1927  			if yyS[yypt-0].item != nil {
  1928  				x.dflt = expr(yyS[yypt-0].item)
  1929  			}
  1930  			yyVAL.item = x
  1931  		}
  1932  	case 16:
  1933  		{
  1934  			yyVAL.item = append([]string{yyS[yypt-2].item.(string)}, yyS[yypt-1].item.([]string)...)
  1935  		}
  1936  	case 17:
  1937  		{
  1938  			yyVAL.item = []string{}
  1939  		}
  1940  	case 18:
  1941  		{
  1942  			yyVAL.item = append(yyS[yypt-2].item.([]string), yyS[yypt-0].item.(string))
  1943  		}
  1944  	case 19:
  1945  		{
  1946  			yyVAL.item = commitStmt{}
  1947  		}
  1948  	case 20:
  1949  		{
  1950  			yyVAL.item = &constraint{}
  1951  		}
  1952  	case 21:
  1953  		{
  1954  			yyVAL.item = &constraint{expr(yyS[yypt-0].item)}
  1955  		}
  1956  	case 22:
  1957  		{
  1958  			yyVAL.item = (*constraint)(nil)
  1959  		}
  1960  	case 24:
  1961  		{
  1962  			yyVAL.item = &conversion{typ: yyS[yypt-3].item.(int), val: expr(yyS[yypt-1].item)}
  1963  		}
  1964  	case 25:
  1965  		{
  1966  			indexName, tableName, exprList := yyS[yypt-5].item.(string), yyS[yypt-3].item.(string), yyS[yypt-1].item.([]expression)
  1967  			simpleIndex := len(exprList) == 1
  1968  			var columnName string
  1969  			if simpleIndex {
  1970  				expr := exprList[0]
  1971  				switch x := expr.(type) {
  1972  				case *ident:
  1973  					columnName = x.s
  1974  				case *call:
  1975  					if x.f == "id" && len(x.arg) == 0 {
  1976  						columnName = "id()"
  1977  						break
  1978  					}
  1979  
  1980  					simpleIndex = false
  1981  				default:
  1982  					simpleIndex = false
  1983  				}
  1984  			}
  1985  
  1986  			if !simpleIndex {
  1987  				columnName = ""
  1988  			}
  1989  			yyVAL.item = &createIndexStmt{unique: yyS[yypt-8].item.(bool), ifNotExists: yyS[yypt-6].item.(bool), indexName: indexName, tableName: tableName, colName: columnName, exprList: exprList}
  1990  
  1991  			if indexName == tableName || indexName == columnName {
  1992  				yylex.(*lexer).err("index name collision: %s", indexName)
  1993  				return 1
  1994  			}
  1995  
  1996  			if yylex.(*lexer).root {
  1997  				break
  1998  			}
  1999  
  2000  			if isSystemName[indexName] || isSystemName[tableName] {
  2001  				yylex.(*lexer).err("name is used for system tables: %s", indexName)
  2002  				return 1
  2003  			}
  2004  		}
  2005  	case 26:
  2006  		{
  2007  			yyVAL.item = false
  2008  		}
  2009  	case 27:
  2010  		{
  2011  			yyVAL.item = true
  2012  		}
  2013  	case 28:
  2014  		{
  2015  			yyVAL.item = false
  2016  		}
  2017  	case 29:
  2018  		{
  2019  			yyVAL.item = true
  2020  		}
  2021  	case 30:
  2022  		{
  2023  			nm := yyS[yypt-5].item.(string)
  2024  			yyVAL.item = &createTableStmt{tableName: nm, cols: append([]*col{yyS[yypt-3].item.(*col)}, yyS[yypt-2].item.([]*col)...)}
  2025  
  2026  			if yylex.(*lexer).root {
  2027  				break
  2028  			}
  2029  
  2030  			if isSystemName[nm] {
  2031  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2032  				return 1
  2033  			}
  2034  		}
  2035  	case 31:
  2036  		{
  2037  			nm := yyS[yypt-5].item.(string)
  2038  			yyVAL.item = &createTableStmt{ifNotExists: true, tableName: nm, cols: append([]*col{yyS[yypt-3].item.(*col)}, yyS[yypt-2].item.([]*col)...)}
  2039  
  2040  			if yylex.(*lexer).root {
  2041  				break
  2042  			}
  2043  
  2044  			if isSystemName[nm] {
  2045  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2046  				return 1
  2047  			}
  2048  		}
  2049  	case 32:
  2050  		{
  2051  			yyVAL.item = []*col{}
  2052  		}
  2053  	case 33:
  2054  		{
  2055  			yyVAL.item = append(yyS[yypt-2].item.([]*col), yyS[yypt-0].item.(*col))
  2056  		}
  2057  	case 34:
  2058  		{
  2059  			yyVAL.item = yyS[yypt-0].item
  2060  		}
  2061  	case 35:
  2062  		{
  2063  			yyVAL.item = nil
  2064  		}
  2065  	case 37:
  2066  		{
  2067  			yyVAL.item = &truncateTableStmt{yyS[yypt-0].item.(string)}
  2068  
  2069  			if yylex.(*lexer).root {
  2070  				break
  2071  			}
  2072  
  2073  			if isSystemName[yyS[yypt-0].item.(string)] {
  2074  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-0].item.(string))
  2075  				return 1
  2076  			}
  2077  		}
  2078  	case 38:
  2079  		{
  2080  			yyVAL.item = &deleteStmt{tableName: yyS[yypt-1].item.(string), where: yyS[yypt-0].item.(*whereRset).expr}
  2081  
  2082  			if yylex.(*lexer).root {
  2083  				break
  2084  			}
  2085  
  2086  			if isSystemName[yyS[yypt-1].item.(string)] {
  2087  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-1].item.(string))
  2088  				return 1
  2089  			}
  2090  		}
  2091  	case 39:
  2092  		{
  2093  			yyVAL.item = &dropIndexStmt{ifExists: yyS[yypt-1].item.(bool), indexName: yyS[yypt-0].item.(string)}
  2094  		}
  2095  	case 40:
  2096  		{
  2097  			yyVAL.item = false
  2098  		}
  2099  	case 41:
  2100  		{
  2101  			yyVAL.item = true
  2102  		}
  2103  	case 42:
  2104  		{
  2105  			nm := yyS[yypt-0].item.(string)
  2106  			yyVAL.item = &dropTableStmt{tableName: nm}
  2107  
  2108  			if yylex.(*lexer).root {
  2109  				break
  2110  			}
  2111  
  2112  			if isSystemName[nm] {
  2113  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2114  				return 1
  2115  			}
  2116  		}
  2117  	case 43:
  2118  		{
  2119  			nm := yyS[yypt-0].item.(string)
  2120  			yyVAL.item = &dropTableStmt{ifExists: true, tableName: nm}
  2121  
  2122  			if yylex.(*lexer).root {
  2123  				break
  2124  			}
  2125  
  2126  			if isSystemName[nm] {
  2127  				yylex.(*lexer).err("name is used for system tables: %s", nm)
  2128  				return 1
  2129  			}
  2130  		}
  2131  	case 44:
  2132  		{
  2133  			yyVAL.item = nil
  2134  		}
  2135  	case 45:
  2136  		{
  2137  			yyVAL.item = &explainStmt{yyS[yypt-0].item.(stmt)}
  2138  		}
  2139  	case 47:
  2140  		{
  2141  			var err error
  2142  			if yyVAL.item, err = newBinaryOperation(oror, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2143  				yylex.(*lexer).err("%v", err)
  2144  				return 1
  2145  			}
  2146  		}
  2147  	case 52:
  2148  		{
  2149  			yyVAL.item = append([]expression{expr(yyS[yypt-2].item)}, yyS[yypt-1].item.([]expression)...)
  2150  		}
  2151  	case 53:
  2152  		{
  2153  			yyVAL.item = []expression(nil)
  2154  		}
  2155  	case 54:
  2156  		{
  2157  			yyVAL.item = append(yyS[yypt-2].item.([]expression), expr(yyS[yypt-0].item))
  2158  		}
  2159  	case 56:
  2160  		{
  2161  			yyVAL.item = &pIn{expr: yyS[yypt-4].item.(expression), list: yyS[yypt-1].item.([]expression)}
  2162  		}
  2163  	case 57:
  2164  		{
  2165  			yyVAL.item = &pIn{expr: yyS[yypt-5].item.(expression), not: true, list: yyS[yypt-1].item.([]expression)}
  2166  		}
  2167  	case 58:
  2168  		{
  2169  			yyVAL.item = &pIn{expr: yyS[yypt-5].item.(expression), sel: yyS[yypt-2].item.(*selectStmt)}
  2170  		}
  2171  	case 59:
  2172  		{
  2173  			yyVAL.item = &pIn{expr: yyS[yypt-6].item.(expression), not: true, sel: yyS[yypt-2].item.(*selectStmt)}
  2174  		}
  2175  	case 60:
  2176  		{
  2177  			var err error
  2178  			if yyVAL.item, err = newBetween(yyS[yypt-4].item, yyS[yypt-2].item, yyS[yypt-0].item, false); err != nil {
  2179  				yylex.(*lexer).err("%v", err)
  2180  				return 1
  2181  			}
  2182  		}
  2183  	case 61:
  2184  		{
  2185  			var err error
  2186  			if yyVAL.item, err = newBetween(yyS[yypt-5].item, yyS[yypt-2].item, yyS[yypt-0].item, true); err != nil {
  2187  				yylex.(*lexer).err("%v", err)
  2188  				return 1
  2189  			}
  2190  		}
  2191  	case 62:
  2192  		{
  2193  			yyVAL.item = &isNull{expr: yyS[yypt-2].item.(expression)}
  2194  		}
  2195  	case 63:
  2196  		{
  2197  			yyVAL.item = &isNull{expr: yyS[yypt-3].item.(expression), not: true}
  2198  		}
  2199  	case 65:
  2200  		{
  2201  			var err error
  2202  			if yyVAL.item, err = newBinaryOperation(ge, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2203  				yylex.(*lexer).err("%v", err)
  2204  				return 1
  2205  			}
  2206  		}
  2207  	case 66:
  2208  		{
  2209  			var err error
  2210  			if yyVAL.item, err = newBinaryOperation('>', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2211  				yylex.(*lexer).err("%v", err)
  2212  				return 1
  2213  			}
  2214  		}
  2215  	case 67:
  2216  		{
  2217  			var err error
  2218  			if yyVAL.item, err = newBinaryOperation(le, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2219  				yylex.(*lexer).err("%v", err)
  2220  				return 1
  2221  			}
  2222  		}
  2223  	case 68:
  2224  		{
  2225  			var err error
  2226  			if yyVAL.item, err = newBinaryOperation('<', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2227  				yylex.(*lexer).err("%v", err)
  2228  				return 1
  2229  			}
  2230  		}
  2231  	case 69:
  2232  		{
  2233  			var err error
  2234  			if yyVAL.item, err = newBinaryOperation(neq, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2235  				yylex.(*lexer).err("%v", err)
  2236  				return 1
  2237  			}
  2238  		}
  2239  	case 70:
  2240  		{
  2241  			var err error
  2242  			if yyVAL.item, err = newBinaryOperation(eq, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2243  				yylex.(*lexer).err("%v", err)
  2244  				return 1
  2245  			}
  2246  		}
  2247  	case 71:
  2248  		{
  2249  			yyVAL.item = &pLike{expr: yyS[yypt-2].item.(expression), pattern: yyS[yypt-0].item.(expression)}
  2250  		}
  2251  	case 72:
  2252  		{
  2253  			expr, name := expr(yyS[yypt-1].item), yyS[yypt-0].item.(string)
  2254  			if name == "" {
  2255  				s, ok := expr.(*ident)
  2256  				if ok {
  2257  					name = s.s
  2258  				}
  2259  			}
  2260  			yyVAL.item = &fld{expr: expr, name: name}
  2261  		}
  2262  	case 73:
  2263  		{
  2264  			yyVAL.item = ""
  2265  		}
  2266  	case 74:
  2267  		{
  2268  			yyVAL.item = yyS[yypt-0].item
  2269  		}
  2270  	case 75:
  2271  		{
  2272  			yyVAL.item = []*fld{yyS[yypt-0].item.(*fld)}
  2273  		}
  2274  	case 76:
  2275  		{
  2276  			l, f := yyS[yypt-2].item.([]*fld), yyS[yypt-0].item.(*fld)
  2277  			if f.name != "" {
  2278  				if f := findFld(l, f.name); f != nil {
  2279  					yylex.(*lexer).err("duplicate field name %q", f.name)
  2280  					return 1
  2281  				}
  2282  			}
  2283  
  2284  			yyVAL.item = append(yyS[yypt-2].item.([]*fld), yyS[yypt-0].item.(*fld))
  2285  		}
  2286  	case 77:
  2287  		{
  2288  			yyVAL.item = &groupByRset{colNames: yyS[yypt-0].item.([]string)}
  2289  		}
  2290  	case 78:
  2291  		{
  2292  			yyVAL.item = yyS[yypt-1].item
  2293  		}
  2294  	case 79:
  2295  		{
  2296  			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)...)}
  2297  
  2298  			if yylex.(*lexer).root {
  2299  				break
  2300  			}
  2301  
  2302  			if isSystemName[yyS[yypt-7].item.(string)] {
  2303  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-7].item.(string))
  2304  				return 1
  2305  			}
  2306  		}
  2307  	case 80:
  2308  		{
  2309  			yyVAL.item = &insertIntoStmt{tableName: yyS[yypt-2].item.(string), colNames: yyS[yypt-1].item.([]string), sel: yyS[yypt-0].item.(*selectStmt)}
  2310  		}
  2311  	case 81:
  2312  		{
  2313  			yyVAL.item = []string{}
  2314  		}
  2315  	case 82:
  2316  		{
  2317  			yyVAL.item = yyS[yypt-1].item
  2318  		}
  2319  	case 83:
  2320  		{
  2321  			yyVAL.item = [][]expression{}
  2322  		}
  2323  	case 84:
  2324  		{
  2325  			yyVAL.item = append(yyS[yypt-4].item.([][]expression), yyS[yypt-1].item.([]expression))
  2326  		}
  2327  	case 92:
  2328  		{
  2329  			yyVAL.item = value{yyS[yypt-0].item}
  2330  		}
  2331  	case 93:
  2332  		{
  2333  			n := yyS[yypt-0].item.(int)
  2334  			yyVAL.item = parameter{n}
  2335  			l := yylex.(*lexer)
  2336  			l.params = mathutil.Max(l.params, n)
  2337  			if n == 0 {
  2338  				l.err("parameter number must be non zero")
  2339  				return 1
  2340  			}
  2341  		}
  2342  	case 94:
  2343  		{
  2344  			yyVAL.item = &ident{yyS[yypt-0].item.(string)}
  2345  		}
  2346  	case 95:
  2347  		{
  2348  			yyVAL.item = &pexpr{expr: expr(yyS[yypt-1].item)}
  2349  		}
  2350  	case 96:
  2351  		{
  2352  			yyVAL.item = &orderByRset{by: yyS[yypt-1].item.([]expression), asc: yyS[yypt-0].item.(bool)}
  2353  		}
  2354  	case 97:
  2355  		{
  2356  			yyVAL.item = true // ASC by default
  2357  		}
  2358  	case 98:
  2359  		{
  2360  			yyVAL.item = true
  2361  		}
  2362  	case 99:
  2363  		{
  2364  			yyVAL.item = false
  2365  		}
  2366  	case 102:
  2367  		{
  2368  			var err error
  2369  			if yyVAL.item, err = newIndex(yyS[yypt-1].item.(expression), expr(yyS[yypt-0].item)); err != nil {
  2370  				yylex.(*lexer).err("%v", err)
  2371  				return 1
  2372  			}
  2373  		}
  2374  	case 103:
  2375  		{
  2376  			var err error
  2377  			s := yyS[yypt-0].item.([2]*expression)
  2378  			if yyVAL.item, err = newSlice(yyS[yypt-1].item.(expression), s[0], s[1]); err != nil {
  2379  				yylex.(*lexer).err("%v", err)
  2380  				return 1
  2381  			}
  2382  		}
  2383  	case 104:
  2384  		{
  2385  			x := yylex.(*lexer)
  2386  			f, ok := yyS[yypt-1].item.(*ident)
  2387  			if !ok {
  2388  				x.err("expected identifier or qualified identifier")
  2389  				return 1
  2390  			}
  2391  
  2392  			if r, ok := yyS[yypt-0].item.(rune); ok {
  2393  				if f.isQualified() || f.s != "count" || r != '*' {
  2394  					x.err(fmt.Sprintf("invalid expression %s(%c)", f, r))
  2395  					return 1
  2396  				}
  2397  
  2398  				yyS[yypt-0].item = []expression(nil)
  2399  			}
  2400  
  2401  			var err error
  2402  			var agg bool
  2403  			if yyVAL.item, agg, err = newCall(f.s, yyS[yypt-0].item.([]expression)); err != nil {
  2404  				x.err("%v", err)
  2405  				return 1
  2406  			}
  2407  			if n := len(x.agg); n > 0 {
  2408  				x.agg[n-1] = x.agg[n-1] || agg
  2409  			}
  2410  		}
  2411  	case 106:
  2412  		{
  2413  			var err error
  2414  			if yyVAL.item, err = newBinaryOperation('^', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2415  				yylex.(*lexer).err("%v", err)
  2416  				return 1
  2417  			}
  2418  		}
  2419  	case 107:
  2420  		{
  2421  			var err error
  2422  			if yyVAL.item, err = newBinaryOperation('|', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2423  				yylex.(*lexer).err("%v", err)
  2424  				return 1
  2425  			}
  2426  		}
  2427  	case 108:
  2428  		{
  2429  			var err error
  2430  			if yyVAL.item, err = newBinaryOperation('-', yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2431  				yylex.(*lexer).err("%v", err)
  2432  				return 1
  2433  			}
  2434  		}
  2435  	case 109:
  2436  		{
  2437  			var err error
  2438  			yyVAL.item, err = newBinaryOperation('+', yyS[yypt-2].item, yyS[yypt-0].item)
  2439  			if err != nil {
  2440  				yylex.(*lexer).err("%v", err)
  2441  				return 1
  2442  			}
  2443  		}
  2444  	case 111:
  2445  		{
  2446  			var err error
  2447  			yyVAL.item, err = newBinaryOperation(andnot, yyS[yypt-2].item, yyS[yypt-0].item)
  2448  			if err != nil {
  2449  				yylex.(*lexer).err("%v", err)
  2450  				return 1
  2451  			}
  2452  		}
  2453  	case 112:
  2454  		{
  2455  			var err error
  2456  			yyVAL.item, err = newBinaryOperation('&', yyS[yypt-2].item, yyS[yypt-0].item)
  2457  			if err != nil {
  2458  				yylex.(*lexer).err("%v", err)
  2459  				return 1
  2460  			}
  2461  		}
  2462  	case 113:
  2463  		{
  2464  			var err error
  2465  			yyVAL.item, err = newBinaryOperation(lsh, yyS[yypt-2].item, yyS[yypt-0].item)
  2466  			if err != nil {
  2467  				yylex.(*lexer).err("%v", err)
  2468  				return 1
  2469  			}
  2470  		}
  2471  	case 114:
  2472  		{
  2473  			var err error
  2474  			yyVAL.item, err = newBinaryOperation(rsh, yyS[yypt-2].item, yyS[yypt-0].item)
  2475  			if err != nil {
  2476  				yylex.(*lexer).err("%v", err)
  2477  				return 1
  2478  			}
  2479  		}
  2480  	case 115:
  2481  		{
  2482  			var err error
  2483  			yyVAL.item, err = newBinaryOperation('%', yyS[yypt-2].item, yyS[yypt-0].item)
  2484  			if err != nil {
  2485  				yylex.(*lexer).err("%v", err)
  2486  				return 1
  2487  			}
  2488  		}
  2489  	case 116:
  2490  		{
  2491  			var err error
  2492  			yyVAL.item, err = newBinaryOperation('/', yyS[yypt-2].item, yyS[yypt-0].item)
  2493  			if err != nil {
  2494  				yylex.(*lexer).err("%v", err)
  2495  				return 1
  2496  			}
  2497  		}
  2498  	case 117:
  2499  		{
  2500  			var err error
  2501  			yyVAL.item, err = newBinaryOperation('*', yyS[yypt-2].item, yyS[yypt-0].item)
  2502  			if err != nil {
  2503  				yylex.(*lexer).err("%v", err)
  2504  				return 1
  2505  			}
  2506  		}
  2507  	case 119:
  2508  		{
  2509  			yyVAL.item = fmt.Sprintf("%s.%s", yyS[yypt-2].item.(string), yyS[yypt-0].item.(string))
  2510  		}
  2511  	case 120:
  2512  		{
  2513  			yyVAL.item = []interface{}{yyS[yypt-1].item, yyS[yypt-0].item}
  2514  		}
  2515  	case 122:
  2516  		{
  2517  			yyVAL.item = yyS[yypt-2].item
  2518  		}
  2519  	case 125:
  2520  		{
  2521  			yyVAL.item = ""
  2522  		}
  2523  	case 126:
  2524  		{
  2525  			yyVAL.item = yyS[yypt-0].item
  2526  		}
  2527  	case 127:
  2528  		{
  2529  			yyVAL.list = []interface{}{yyS[yypt-0].item}
  2530  		}
  2531  	case 128:
  2532  		{
  2533  			yyVAL.list = append(yyS[yypt-2].list, yyS[yypt-0].item)
  2534  		}
  2535  	case 129:
  2536  		{
  2537  			yyVAL.item = rollbackStmt{}
  2538  		}
  2539  	case 130:
  2540  		{
  2541  			yyVAL.item = leftJoin
  2542  		}
  2543  	case 131:
  2544  		{
  2545  			yyVAL.item = rightJoin
  2546  		}
  2547  	case 132:
  2548  		{
  2549  			yyVAL.item = fullJoin
  2550  		}
  2551  	case 133:
  2552  		{
  2553  			yyVAL.item = nil
  2554  		}
  2555  	case 135:
  2556  		{
  2557  			yyVAL.item = []interface{}{yyS[yypt-5].item, yyS[yypt-2].item, yyS[yypt-0].item}
  2558  		}
  2559  	case 136:
  2560  		{
  2561  			yyVAL.item = nil
  2562  		}
  2563  	case 138:
  2564  		{
  2565  			x := yylex.(*lexer)
  2566  			n := len(x.agg)
  2567  			join := &joinRset{sources: yyS[yypt-7].list}
  2568  			if o := yyS[yypt-5].item; o != nil {
  2569  				o := o.([]interface{})
  2570  				join.typ = o[0].(int)
  2571  				join.sources = append(join.sources, o[1].([]interface{}))
  2572  				join.on = o[2].(expression)
  2573  			}
  2574  			yyVAL.item = &selectStmt{
  2575  				distinct:      yyS[yypt-10].item.(bool),
  2576  				flds:          yyS[yypt-9].item.([]*fld),
  2577  				from:          join,
  2578  				hasAggregates: x.agg[n-1],
  2579  				where:         yyS[yypt-4].item.(*whereRset),
  2580  				group:         yyS[yypt-3].item.(*groupByRset),
  2581  				order:         yyS[yypt-2].item.(*orderByRset),
  2582  				limit:         yyS[yypt-1].item.(*limitRset),
  2583  				offset:        yyS[yypt-0].item.(*offsetRset),
  2584  			}
  2585  			x.agg = x.agg[:n-1]
  2586  		}
  2587  	case 139:
  2588  		{
  2589  			yyVAL.item = (*limitRset)(nil)
  2590  		}
  2591  	case 140:
  2592  		{
  2593  			yyVAL.item = &limitRset{expr: expr(yyS[yypt-0].item)}
  2594  		}
  2595  	case 141:
  2596  		{
  2597  			yyVAL.item = (*offsetRset)(nil)
  2598  		}
  2599  	case 142:
  2600  		{
  2601  			yyVAL.item = &offsetRset{expr: expr(yyS[yypt-0].item)}
  2602  		}
  2603  	case 143:
  2604  		{
  2605  			yyVAL.item = false
  2606  		}
  2607  	case 144:
  2608  		{
  2609  			yyVAL.item = true
  2610  		}
  2611  	case 145:
  2612  		{
  2613  			yyVAL.item = []*fld{}
  2614  		}
  2615  	case 146:
  2616  		{
  2617  			yyVAL.item = yyS[yypt-0].item
  2618  		}
  2619  	case 147:
  2620  		{
  2621  			yyVAL.item = yyS[yypt-1].item
  2622  		}
  2623  	case 148:
  2624  		{
  2625  			yyVAL.item = (*whereRset)(nil)
  2626  		}
  2627  	case 150:
  2628  		{
  2629  			yyVAL.item = (*groupByRset)(nil)
  2630  		}
  2631  	case 152:
  2632  		{
  2633  			yyVAL.item = (*orderByRset)(nil)
  2634  		}
  2635  	case 154:
  2636  		{
  2637  			yyVAL.item = [2]*expression{nil, nil}
  2638  		}
  2639  	case 155:
  2640  		{
  2641  			hi := expr(yyS[yypt-1].item)
  2642  			yyVAL.item = [2]*expression{nil, &hi}
  2643  		}
  2644  	case 156:
  2645  		{
  2646  			lo := expr(yyS[yypt-2].item)
  2647  			yyVAL.item = [2]*expression{&lo, nil}
  2648  		}
  2649  	case 157:
  2650  		{
  2651  			lo := expr(yyS[yypt-3].item)
  2652  			hi := expr(yyS[yypt-1].item)
  2653  			yyVAL.item = [2]*expression{&lo, &hi}
  2654  		}
  2655  	case 173:
  2656  		{
  2657  			if yyS[yypt-0].item != nil {
  2658  				yylex.(*lexer).list = []stmt{yyS[yypt-0].item.(stmt)}
  2659  			}
  2660  		}
  2661  	case 174:
  2662  		{
  2663  			if yyS[yypt-0].item != nil {
  2664  				yylex.(*lexer).list = append(yylex.(*lexer).list, yyS[yypt-0].item.(stmt))
  2665  			}
  2666  		}
  2667  	case 177:
  2668  		{
  2669  			var err error
  2670  			if yyVAL.item, err = newBinaryOperation(andand, yyS[yypt-2].item, yyS[yypt-0].item); err != nil {
  2671  				yylex.(*lexer).err("%v", err)
  2672  				return 1
  2673  			}
  2674  		}
  2675  	case 180:
  2676  		{
  2677  			yyVAL.item = &truncateTableStmt{tableName: yyS[yypt-0].item.(string)}
  2678  		}
  2679  	case 205:
  2680  		{
  2681  			var expr expression
  2682  			if w := yyS[yypt-0].item; w != nil {
  2683  				expr = w.(*whereRset).expr
  2684  			}
  2685  			yyVAL.item = &updateStmt{tableName: yyS[yypt-3].item.(string), list: yyS[yypt-1].item.([]assignment), where: expr}
  2686  
  2687  			if yylex.(*lexer).root {
  2688  				break
  2689  			}
  2690  
  2691  			if isSystemName[yyS[yypt-3].item.(string)] {
  2692  				yylex.(*lexer).err("name is used for system tables: %s", yyS[yypt-3].item.(string))
  2693  				return 1
  2694  			}
  2695  		}
  2696  	case 206:
  2697  		{
  2698  			yyVAL.item = nil
  2699  		}
  2700  	case 209:
  2701  		{
  2702  			var err error
  2703  			yyVAL.item, err = newUnaryOperation('^', yyS[yypt-0].item)
  2704  			if err != nil {
  2705  				yylex.(*lexer).err("%v", err)
  2706  				return 1
  2707  			}
  2708  		}
  2709  	case 210:
  2710  		{
  2711  			var err error
  2712  			yyVAL.item, err = newUnaryOperation('!', yyS[yypt-0].item)
  2713  			if err != nil {
  2714  				yylex.(*lexer).err("%v", err)
  2715  				return 1
  2716  			}
  2717  		}
  2718  	case 211:
  2719  		{
  2720  			var err error
  2721  			yyVAL.item, err = newUnaryOperation('-', yyS[yypt-0].item)
  2722  			if err != nil {
  2723  				yylex.(*lexer).err("%v", err)
  2724  				return 1
  2725  			}
  2726  		}
  2727  	case 212:
  2728  		{
  2729  			var err error
  2730  			yyVAL.item, err = newUnaryOperation('+', yyS[yypt-0].item)
  2731  			if err != nil {
  2732  				yylex.(*lexer).err("%v", err)
  2733  				return 1
  2734  			}
  2735  		}
  2736  	case 213:
  2737  		{
  2738  			yyVAL.item = &whereRset{expr: expr(yyS[yypt-0].item)}
  2739  		}
  2740  
  2741  	}
  2742  
  2743  	if yyEx != nil && yyEx.Reduced(r, exState, &yyVAL) {
  2744  		return -1
  2745  	}
  2746  	goto yystack /* stack new state and value */
  2747  }
  2748  
  2749  func expr(v interface{}) expression {
  2750  	e := v.(expression)
  2751  	for {
  2752  		x, ok := e.(*pexpr)
  2753  		if !ok {
  2754  			return e
  2755  		}
  2756  		e = x.expr
  2757  	}
  2758  }