github.com/vedadiyan/sqlparser@v1.0.0/pkg/sqlparser/sql.go (about)

     1  // Code generated by goyacc -fo sql.go sql.y. DO NOT EDIT.
     2  
     3  //line sql.y:17
     4  package sqlparser
     5  
     6  import (
     7  	__yyfmt__ "fmt"
     8  	__yyunsafe__ "unsafe"
     9  )
    10  
    11  //line sql.y:17
    12  
    13  func setParseTree(yylex yyLexer, stmt Statement) {
    14  	yylex.(*Tokenizer).ParseTree = stmt
    15  }
    16  
    17  func setAllowComments(yylex yyLexer, allow bool) {
    18  	yylex.(*Tokenizer).AllowComments = allow
    19  }
    20  
    21  func setDDL(yylex yyLexer, node Statement) {
    22  	yylex.(*Tokenizer).partialDDL = node
    23  }
    24  
    25  func incNesting(yylex yyLexer) bool {
    26  	yylex.(*Tokenizer).nesting++
    27  	if yylex.(*Tokenizer).nesting == 200 {
    28  		return true
    29  	}
    30  	return false
    31  }
    32  
    33  func decNesting(yylex yyLexer) {
    34  	yylex.(*Tokenizer).nesting--
    35  }
    36  
    37  // skipToEnd forces the lexer to end prematurely. Not all SQL statements
    38  // are supported by the Parser, thus calling skipToEnd will make the lexer
    39  // return EOF early.
    40  func skipToEnd(yylex yyLexer) {
    41  	yylex.(*Tokenizer).SkipToEnd = true
    42  }
    43  
    44  func bindVariable(yylex yyLexer, bvar string) {
    45  	yylex.(*Tokenizer).BindVars[bvar] = struct{}{}
    46  }
    47  
    48  const MEMBER = 57346
    49  const FUNCTION_CALL_NON_KEYWORD = 57347
    50  const STRING_TYPE_PREFIX_NON_KEYWORD = 57348
    51  const LEX_ERROR = 57349
    52  const UNION = 57350
    53  const SELECT = 57351
    54  const STREAM = 57352
    55  const VSTREAM = 57353
    56  const INSERT = 57354
    57  const UPDATE = 57355
    58  const DELETE = 57356
    59  const FROM = 57357
    60  const WHERE = 57358
    61  const GROUP = 57359
    62  const HAVING = 57360
    63  const ORDER = 57361
    64  const BY = 57362
    65  const LIMIT = 57363
    66  const OFFSET = 57364
    67  const FOR = 57365
    68  const ALL = 57366
    69  const DISTINCT = 57367
    70  const AS = 57368
    71  const EXISTS = 57369
    72  const ASC = 57370
    73  const DESC = 57371
    74  const INTO = 57372
    75  const DUPLICATE = 57373
    76  const DEFAULT = 57374
    77  const SET = 57375
    78  const LOCK = 57376
    79  const UNLOCK = 57377
    80  const KEYS = 57378
    81  const DO = 57379
    82  const CALL = 57380
    83  const DISTINCTROW = 57381
    84  const PARSER = 57382
    85  const GENERATED = 57383
    86  const ALWAYS = 57384
    87  const OUTFILE = 57385
    88  const S3 = 57386
    89  const DATA = 57387
    90  const LOAD = 57388
    91  const LINES = 57389
    92  const TERMINATED = 57390
    93  const ESCAPED = 57391
    94  const ENCLOSED = 57392
    95  const DUMPFILE = 57393
    96  const CSV = 57394
    97  const HEADER = 57395
    98  const MANIFEST = 57396
    99  const OVERWRITE = 57397
   100  const STARTING = 57398
   101  const OPTIONALLY = 57399
   102  const VALUES = 57400
   103  const LAST_INSERT_ID = 57401
   104  const NEXT = 57402
   105  const VALUE = 57403
   106  const SHARE = 57404
   107  const MODE = 57405
   108  const SQL_NO_CACHE = 57406
   109  const SQL_CACHE = 57407
   110  const SQL_CALC_FOUND_ROWS = 57408
   111  const JOIN = 57409
   112  const STRAIGHT_JOIN = 57410
   113  const LEFT = 57411
   114  const RIGHT = 57412
   115  const INNER = 57413
   116  const OUTER = 57414
   117  const CROSS = 57415
   118  const NATURAL = 57416
   119  const USE = 57417
   120  const FORCE = 57418
   121  const ON = 57419
   122  const USING = 57420
   123  const INPLACE = 57421
   124  const COPY = 57422
   125  const INSTANT = 57423
   126  const ALGORITHM = 57424
   127  const NONE = 57425
   128  const SHARED = 57426
   129  const EXCLUSIVE = 57427
   130  const SUBQUERY_AS_EXPR = 57428
   131  const STRING = 57429
   132  const ID = 57430
   133  const AT_ID = 57431
   134  const AT_AT_ID = 57432
   135  const HEX = 57433
   136  const NCHAR_STRING = 57434
   137  const INTEGRAL = 57435
   138  const FLOAT = 57436
   139  const DECIMAL = 57437
   140  const HEXNUM = 57438
   141  const COMMENT = 57439
   142  const COMMENT_KEYWORD = 57440
   143  const BITNUM = 57441
   144  const BIT_LITERAL = 57442
   145  const COMPRESSION = 57443
   146  const VALUE_ARG = 57444
   147  const LIST_ARG = 57445
   148  const OFFSET_ARG = 57446
   149  const JSON_PRETTY = 57447
   150  const JSON_STORAGE_SIZE = 57448
   151  const JSON_STORAGE_FREE = 57449
   152  const JSON_CONTAINS = 57450
   153  const JSON_CONTAINS_PATH = 57451
   154  const JSON_EXTRACT = 57452
   155  const JSON_KEYS = 57453
   156  const JSON_OVERLAPS = 57454
   157  const JSON_SEARCH = 57455
   158  const JSON_VALUE = 57456
   159  const EXTRACT = 57457
   160  const NULL = 57458
   161  const TRUE = 57459
   162  const FALSE = 57460
   163  const OFF = 57461
   164  const DISCARD = 57462
   165  const IMPORT = 57463
   166  const ENABLE = 57464
   167  const DISABLE = 57465
   168  const TABLESPACE = 57466
   169  const VIRTUAL = 57467
   170  const STORED = 57468
   171  const BOTH = 57469
   172  const LEADING = 57470
   173  const TRAILING = 57471
   174  const EMPTY_FROM_CLAUSE = 57472
   175  const LOWER_THAN_CHARSET = 57473
   176  const CHARSET = 57474
   177  const UNIQUE = 57475
   178  const KEY = 57476
   179  const EXPRESSION_PREC_SETTER = 57477
   180  const OR = 57478
   181  const XOR = 57479
   182  const AND = 57480
   183  const NOT = 57481
   184  const BETWEEN = 57482
   185  const CASE = 57483
   186  const WHEN = 57484
   187  const THEN = 57485
   188  const ELSE = 57486
   189  const END = 57487
   190  const LE = 57488
   191  const GE = 57489
   192  const NE = 57490
   193  const NULL_SAFE_EQUAL = 57491
   194  const IS = 57492
   195  const LIKE = 57493
   196  const REGEXP = 57494
   197  const RLIKE = 57495
   198  const IN = 57496
   199  const SHIFT_LEFT = 57497
   200  const SHIFT_RIGHT = 57498
   201  const DIV = 57499
   202  const MOD = 57500
   203  const UNARY = 57501
   204  const COLLATE = 57502
   205  const BINARY = 57503
   206  const UNDERSCORE_ARMSCII8 = 57504
   207  const UNDERSCORE_ASCII = 57505
   208  const UNDERSCORE_BIG5 = 57506
   209  const UNDERSCORE_BINARY = 57507
   210  const UNDERSCORE_CP1250 = 57508
   211  const UNDERSCORE_CP1251 = 57509
   212  const UNDERSCORE_CP1256 = 57510
   213  const UNDERSCORE_CP1257 = 57511
   214  const UNDERSCORE_CP850 = 57512
   215  const UNDERSCORE_CP852 = 57513
   216  const UNDERSCORE_CP866 = 57514
   217  const UNDERSCORE_CP932 = 57515
   218  const UNDERSCORE_DEC8 = 57516
   219  const UNDERSCORE_EUCJPMS = 57517
   220  const UNDERSCORE_EUCKR = 57518
   221  const UNDERSCORE_GB18030 = 57519
   222  const UNDERSCORE_GB2312 = 57520
   223  const UNDERSCORE_GBK = 57521
   224  const UNDERSCORE_GEOSTD8 = 57522
   225  const UNDERSCORE_GREEK = 57523
   226  const UNDERSCORE_HEBREW = 57524
   227  const UNDERSCORE_HP8 = 57525
   228  const UNDERSCORE_KEYBCS2 = 57526
   229  const UNDERSCORE_KOI8R = 57527
   230  const UNDERSCORE_KOI8U = 57528
   231  const UNDERSCORE_LATIN1 = 57529
   232  const UNDERSCORE_LATIN2 = 57530
   233  const UNDERSCORE_LATIN5 = 57531
   234  const UNDERSCORE_LATIN7 = 57532
   235  const UNDERSCORE_MACCE = 57533
   236  const UNDERSCORE_MACROMAN = 57534
   237  const UNDERSCORE_SJIS = 57535
   238  const UNDERSCORE_SWE7 = 57536
   239  const UNDERSCORE_TIS620 = 57537
   240  const UNDERSCORE_UCS2 = 57538
   241  const UNDERSCORE_UJIS = 57539
   242  const UNDERSCORE_UTF16 = 57540
   243  const UNDERSCORE_UTF16LE = 57541
   244  const UNDERSCORE_UTF32 = 57542
   245  const UNDERSCORE_UTF8 = 57543
   246  const UNDERSCORE_UTF8MB4 = 57544
   247  const UNDERSCORE_UTF8MB3 = 57545
   248  const INTERVAL = 57546
   249  const WINDOW_EXPR = 57547
   250  const JSON_EXTRACT_OP = 57548
   251  const JSON_UNQUOTE_EXTRACT_OP = 57549
   252  const CREATE = 57550
   253  const ALTER = 57551
   254  const DROP = 57552
   255  const RENAME = 57553
   256  const ANALYZE = 57554
   257  const ADD = 57555
   258  const FLUSH = 57556
   259  const CHANGE = 57557
   260  const MODIFY = 57558
   261  const DEALLOCATE = 57559
   262  const REVERT = 57560
   263  const QUERIES = 57561
   264  const SCHEMA = 57562
   265  const TABLE = 57563
   266  const INDEX = 57564
   267  const VIEW = 57565
   268  const TO = 57566
   269  const IGNORE = 57567
   270  const IF = 57568
   271  const PRIMARY = 57569
   272  const COLUMN = 57570
   273  const SPATIAL = 57571
   274  const FULLTEXT = 57572
   275  const KEY_BLOCK_SIZE = 57573
   276  const CHECK = 57574
   277  const INDEXES = 57575
   278  const ACTION = 57576
   279  const CASCADE = 57577
   280  const CONSTRAINT = 57578
   281  const FOREIGN = 57579
   282  const NO = 57580
   283  const REFERENCES = 57581
   284  const RESTRICT = 57582
   285  const SHOW = 57583
   286  const DESCRIBE = 57584
   287  const EXPLAIN = 57585
   288  const DATE = 57586
   289  const ESCAPE = 57587
   290  const REPAIR = 57588
   291  const OPTIMIZE = 57589
   292  const TRUNCATE = 57590
   293  const COALESCE = 57591
   294  const EXCHANGE = 57592
   295  const REBUILD = 57593
   296  const PARTITIONING = 57594
   297  const REMOVE = 57595
   298  const PREPARE = 57596
   299  const EXECUTE = 57597
   300  const MAXVALUE = 57598
   301  const PARTITION = 57599
   302  const REORGANIZE = 57600
   303  const LESS = 57601
   304  const THAN = 57602
   305  const PROCEDURE = 57603
   306  const TRIGGER = 57604
   307  const VINDEX = 57605
   308  const VINDEXES = 57606
   309  const DIRECTORY = 57607
   310  const NAME = 57608
   311  const UPGRADE = 57609
   312  const STATUS = 57610
   313  const VARIABLES = 57611
   314  const WARNINGS = 57612
   315  const CASCADED = 57613
   316  const DEFINER = 57614
   317  const OPTION = 57615
   318  const SQL = 57616
   319  const UNDEFINED = 57617
   320  const SEQUENCE = 57618
   321  const MERGE = 57619
   322  const TEMPORARY = 57620
   323  const TEMPTABLE = 57621
   324  const INVOKER = 57622
   325  const SECURITY = 57623
   326  const FIRST = 57624
   327  const AFTER = 57625
   328  const LAST = 57626
   329  const VITESS_MIGRATION = 57627
   330  const CANCEL = 57628
   331  const RETRY = 57629
   332  const LAUNCH = 57630
   333  const COMPLETE = 57631
   334  const CLEANUP = 57632
   335  const THROTTLE = 57633
   336  const UNTHROTTLE = 57634
   337  const EXPIRE = 57635
   338  const RATIO = 57636
   339  const VITESS_THROTTLER = 57637
   340  const BEGIN = 57638
   341  const START = 57639
   342  const TRANSACTION = 57640
   343  const COMMIT = 57641
   344  const ROLLBACK = 57642
   345  const SAVEPOINT = 57643
   346  const RELEASE = 57644
   347  const WORK = 57645
   348  const CONSISTENT = 57646
   349  const SNAPSHOT = 57647
   350  const BIT = 57648
   351  const TINYINT = 57649
   352  const SMALLINT = 57650
   353  const MEDIUMINT = 57651
   354  const INT = 57652
   355  const INTEGER = 57653
   356  const BIGINT = 57654
   357  const INTNUM = 57655
   358  const REAL = 57656
   359  const DOUBLE = 57657
   360  const FLOAT_TYPE = 57658
   361  const FLOAT4_TYPE = 57659
   362  const FLOAT8_TYPE = 57660
   363  const DECIMAL_TYPE = 57661
   364  const NUMERIC = 57662
   365  const TIME = 57663
   366  const TIMESTAMP = 57664
   367  const DATETIME = 57665
   368  const YEAR = 57666
   369  const CHAR = 57667
   370  const VARCHAR = 57668
   371  const BOOL = 57669
   372  const CHARACTER = 57670
   373  const VARBINARY = 57671
   374  const NCHAR = 57672
   375  const TEXT = 57673
   376  const TINYTEXT = 57674
   377  const MEDIUMTEXT = 57675
   378  const LONGTEXT = 57676
   379  const BLOB = 57677
   380  const TINYBLOB = 57678
   381  const MEDIUMBLOB = 57679
   382  const LONGBLOB = 57680
   383  const JSON = 57681
   384  const JSON_SCHEMA_VALID = 57682
   385  const JSON_SCHEMA_VALIDATION_REPORT = 57683
   386  const ENUM = 57684
   387  const GEOMETRY = 57685
   388  const POINT = 57686
   389  const LINESTRING = 57687
   390  const POLYGON = 57688
   391  const GEOMCOLLECTION = 57689
   392  const GEOMETRYCOLLECTION = 57690
   393  const MULTIPOINT = 57691
   394  const MULTILINESTRING = 57692
   395  const MULTIPOLYGON = 57693
   396  const ASCII = 57694
   397  const UNICODE = 57695
   398  const NULLX = 57696
   399  const AUTO_INCREMENT = 57697
   400  const APPROXNUM = 57698
   401  const SIGNED = 57699
   402  const UNSIGNED = 57700
   403  const ZEROFILL = 57701
   404  const CODE = 57702
   405  const COLLATION = 57703
   406  const COLUMNS = 57704
   407  const DATABASES = 57705
   408  const ENGINES = 57706
   409  const EVENT = 57707
   410  const EXTENDED = 57708
   411  const FIELDS = 57709
   412  const FULL = 57710
   413  const FUNCTION = 57711
   414  const GTID_EXECUTED = 57712
   415  const KEYSPACES = 57713
   416  const OPEN = 57714
   417  const PLUGINS = 57715
   418  const PRIVILEGES = 57716
   419  const PROCESSLIST = 57717
   420  const SCHEMAS = 57718
   421  const TABLES = 57719
   422  const TRIGGERS = 57720
   423  const USER = 57721
   424  const VGTID_EXECUTED = 57722
   425  const VITESS_KEYSPACES = 57723
   426  const VITESS_METADATA = 57724
   427  const VITESS_MIGRATIONS = 57725
   428  const VITESS_REPLICATION_STATUS = 57726
   429  const VITESS_SHARDS = 57727
   430  const VITESS_TABLETS = 57728
   431  const VITESS_TARGET = 57729
   432  const VSCHEMA = 57730
   433  const VITESS_THROTTLED_APPS = 57731
   434  const NAMES = 57732
   435  const GLOBAL = 57733
   436  const SESSION = 57734
   437  const ISOLATION = 57735
   438  const LEVEL = 57736
   439  const READ = 57737
   440  const WRITE = 57738
   441  const ONLY = 57739
   442  const REPEATABLE = 57740
   443  const COMMITTED = 57741
   444  const UNCOMMITTED = 57742
   445  const SERIALIZABLE = 57743
   446  const CURRENT_TIMESTAMP = 57744
   447  const DATABASE = 57745
   448  const CURRENT_DATE = 57746
   449  const NOW = 57747
   450  const CURRENT_TIME = 57748
   451  const LOCALTIME = 57749
   452  const LOCALTIMESTAMP = 57750
   453  const CURRENT_USER = 57751
   454  const UTC_DATE = 57752
   455  const UTC_TIME = 57753
   456  const UTC_TIMESTAMP = 57754
   457  const DAY = 57755
   458  const DAY_HOUR = 57756
   459  const DAY_MICROSECOND = 57757
   460  const DAY_MINUTE = 57758
   461  const DAY_SECOND = 57759
   462  const HOUR = 57760
   463  const HOUR_MICROSECOND = 57761
   464  const HOUR_MINUTE = 57762
   465  const HOUR_SECOND = 57763
   466  const MICROSECOND = 57764
   467  const MINUTE = 57765
   468  const MINUTE_MICROSECOND = 57766
   469  const MINUTE_SECOND = 57767
   470  const MONTH = 57768
   471  const QUARTER = 57769
   472  const SECOND = 57770
   473  const SECOND_MICROSECOND = 57771
   474  const YEAR_MONTH = 57772
   475  const WEEK = 57773
   476  const REPLACE = 57774
   477  const CONVERT = 57775
   478  const CAST = 57776
   479  const SUBSTR = 57777
   480  const SUBSTRING = 57778
   481  const SEPARATOR = 57779
   482  const TIMESTAMPADD = 57780
   483  const TIMESTAMPDIFF = 57781
   484  const WEIGHT_STRING = 57782
   485  const LTRIM = 57783
   486  const RTRIM = 57784
   487  const TRIM = 57785
   488  const JSON_ARRAY = 57786
   489  const JSON_OBJECT = 57787
   490  const JSON_QUOTE = 57788
   491  const JSON_DEPTH = 57789
   492  const JSON_TYPE = 57790
   493  const JSON_LENGTH = 57791
   494  const JSON_VALID = 57792
   495  const JSON_ARRAY_APPEND = 57793
   496  const JSON_ARRAY_INSERT = 57794
   497  const JSON_INSERT = 57795
   498  const JSON_MERGE = 57796
   499  const JSON_MERGE_PATCH = 57797
   500  const JSON_MERGE_PRESERVE = 57798
   501  const JSON_REMOVE = 57799
   502  const JSON_REPLACE = 57800
   503  const JSON_SET = 57801
   504  const JSON_UNQUOTE = 57802
   505  const COUNT = 57803
   506  const AVG = 57804
   507  const MAX = 57805
   508  const MIN = 57806
   509  const SUM = 57807
   510  const GROUP_CONCAT = 57808
   511  const BIT_AND = 57809
   512  const BIT_OR = 57810
   513  const BIT_XOR = 57811
   514  const STD = 57812
   515  const STDDEV = 57813
   516  const STDDEV_POP = 57814
   517  const STDDEV_SAMP = 57815
   518  const VAR_POP = 57816
   519  const VAR_SAMP = 57817
   520  const VARIANCE = 57818
   521  const REGEXP_INSTR = 57819
   522  const REGEXP_LIKE = 57820
   523  const REGEXP_REPLACE = 57821
   524  const REGEXP_SUBSTR = 57822
   525  const ExtractValue = 57823
   526  const UpdateXML = 57824
   527  const GET_LOCK = 57825
   528  const RELEASE_LOCK = 57826
   529  const RELEASE_ALL_LOCKS = 57827
   530  const IS_FREE_LOCK = 57828
   531  const IS_USED_LOCK = 57829
   532  const LOCATE = 57830
   533  const POSITION = 57831
   534  const MATCH = 57832
   535  const AGAINST = 57833
   536  const BOOLEAN = 57834
   537  const LANGUAGE = 57835
   538  const WITH = 57836
   539  const QUERY = 57837
   540  const EXPANSION = 57838
   541  const WITHOUT = 57839
   542  const VALIDATION = 57840
   543  const UNUSED = 57841
   544  const ARRAY = 57842
   545  const BYTE = 57843
   546  const CUME_DIST = 57844
   547  const DESCRIPTION = 57845
   548  const DENSE_RANK = 57846
   549  const EMPTY = 57847
   550  const EXCEPT = 57848
   551  const FIRST_VALUE = 57849
   552  const GROUPING = 57850
   553  const GROUPS = 57851
   554  const JSON_TABLE = 57852
   555  const LAG = 57853
   556  const LAST_VALUE = 57854
   557  const LATERAL = 57855
   558  const LEAD = 57856
   559  const NTH_VALUE = 57857
   560  const NTILE = 57858
   561  const OF = 57859
   562  const OVER = 57860
   563  const PERCENT_RANK = 57861
   564  const RANK = 57862
   565  const RECURSIVE = 57863
   566  const ROW_NUMBER = 57864
   567  const SYSTEM = 57865
   568  const WINDOW = 57866
   569  const ACTIVE = 57867
   570  const ADMIN = 57868
   571  const AUTOEXTEND_SIZE = 57869
   572  const BUCKETS = 57870
   573  const CLONE = 57871
   574  const COLUMN_FORMAT = 57872
   575  const COMPONENT = 57873
   576  const DEFINITION = 57874
   577  const ENFORCED = 57875
   578  const ENGINE_ATTRIBUTE = 57876
   579  const EXCLUDE = 57877
   580  const FOLLOWING = 57878
   581  const GET_MASTER_PUBLIC_KEY = 57879
   582  const HISTOGRAM = 57880
   583  const HISTORY = 57881
   584  const INACTIVE = 57882
   585  const INVISIBLE = 57883
   586  const LOCKED = 57884
   587  const MASTER_COMPRESSION_ALGORITHMS = 57885
   588  const MASTER_PUBLIC_KEY_PATH = 57886
   589  const MASTER_TLS_CIPHERSUITES = 57887
   590  const MASTER_ZSTD_COMPRESSION_LEVEL = 57888
   591  const NESTED = 57889
   592  const NETWORK_NAMESPACE = 57890
   593  const NOWAIT = 57891
   594  const NULLS = 57892
   595  const OJ = 57893
   596  const OLD = 57894
   597  const OPTIONAL = 57895
   598  const ORDINALITY = 57896
   599  const ORGANIZATION = 57897
   600  const OTHERS = 57898
   601  const PARTIAL = 57899
   602  const PATH = 57900
   603  const PERSIST = 57901
   604  const PERSIST_ONLY = 57902
   605  const PRECEDING = 57903
   606  const PRIVILEGE_CHECKS_USER = 57904
   607  const PROCESS = 57905
   608  const RANDOM = 57906
   609  const REFERENCE = 57907
   610  const REQUIRE_ROW_FORMAT = 57908
   611  const RESOURCE = 57909
   612  const RESPECT = 57910
   613  const RESTART = 57911
   614  const RETAIN = 57912
   615  const REUSE = 57913
   616  const ROLE = 57914
   617  const SECONDARY = 57915
   618  const SECONDARY_ENGINE = 57916
   619  const SECONDARY_ENGINE_ATTRIBUTE = 57917
   620  const SECONDARY_LOAD = 57918
   621  const SECONDARY_UNLOAD = 57919
   622  const SIMPLE = 57920
   623  const SKIP = 57921
   624  const SRID = 57922
   625  const THREAD_PRIORITY = 57923
   626  const TIES = 57924
   627  const UNBOUNDED = 57925
   628  const VCPU = 57926
   629  const VISIBLE = 57927
   630  const RETURNING = 57928
   631  const FORMAT_BYTES = 57929
   632  const FORMAT_PICO_TIME = 57930
   633  const PS_CURRENT_THREAD_ID = 57931
   634  const PS_THREAD_ID = 57932
   635  const GTID_SUBSET = 57933
   636  const GTID_SUBTRACT = 57934
   637  const WAIT_FOR_EXECUTED_GTID_SET = 57935
   638  const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 57936
   639  const FORMAT = 57937
   640  const TREE = 57938
   641  const VITESS = 57939
   642  const TRADITIONAL = 57940
   643  const VTEXPLAIN = 57941
   644  const VEXPLAIN = 57942
   645  const PLAN = 57943
   646  const LOCAL = 57944
   647  const LOW_PRIORITY = 57945
   648  const NO_WRITE_TO_BINLOG = 57946
   649  const LOGS = 57947
   650  const ERROR = 57948
   651  const GENERAL = 57949
   652  const HOSTS = 57950
   653  const OPTIMIZER_COSTS = 57951
   654  const USER_RESOURCES = 57952
   655  const SLOW = 57953
   656  const CHANNEL = 57954
   657  const RELAY = 57955
   658  const EXPORT = 57956
   659  const CURRENT = 57957
   660  const ROW = 57958
   661  const ROWS = 57959
   662  const AVG_ROW_LENGTH = 57960
   663  const CONNECTION = 57961
   664  const CHECKSUM = 57962
   665  const DELAY_KEY_WRITE = 57963
   666  const ENCRYPTION = 57964
   667  const ENGINE = 57965
   668  const INSERT_METHOD = 57966
   669  const MAX_ROWS = 57967
   670  const MIN_ROWS = 57968
   671  const PACK_KEYS = 57969
   672  const PASSWORD = 57970
   673  const FIXED = 57971
   674  const DYNAMIC = 57972
   675  const COMPRESSED = 57973
   676  const REDUNDANT = 57974
   677  const COMPACT = 57975
   678  const ROW_FORMAT = 57976
   679  const STATS_AUTO_RECALC = 57977
   680  const STATS_PERSISTENT = 57978
   681  const STATS_SAMPLE_PAGES = 57979
   682  const STORAGE = 57980
   683  const MEMORY = 57981
   684  const DISK = 57982
   685  const PARTITIONS = 57983
   686  const LINEAR = 57984
   687  const RANGE = 57985
   688  const LIST = 57986
   689  const SUBPARTITION = 57987
   690  const SUBPARTITIONS = 57988
   691  const HASH = 57989
   692  
   693  var yyToknames = [...]string{
   694  	"$end",
   695  	"error",
   696  	"$unk",
   697  	"MEMBER",
   698  	"FUNCTION_CALL_NON_KEYWORD",
   699  	"STRING_TYPE_PREFIX_NON_KEYWORD",
   700  	"LEX_ERROR",
   701  	"UNION",
   702  	"SELECT",
   703  	"STREAM",
   704  	"VSTREAM",
   705  	"INSERT",
   706  	"UPDATE",
   707  	"DELETE",
   708  	"FROM",
   709  	"WHERE",
   710  	"GROUP",
   711  	"HAVING",
   712  	"ORDER",
   713  	"BY",
   714  	"LIMIT",
   715  	"OFFSET",
   716  	"FOR",
   717  	"ALL",
   718  	"DISTINCT",
   719  	"AS",
   720  	"EXISTS",
   721  	"ASC",
   722  	"DESC",
   723  	"INTO",
   724  	"DUPLICATE",
   725  	"DEFAULT",
   726  	"SET",
   727  	"LOCK",
   728  	"UNLOCK",
   729  	"KEYS",
   730  	"DO",
   731  	"CALL",
   732  	"DISTINCTROW",
   733  	"PARSER",
   734  	"GENERATED",
   735  	"ALWAYS",
   736  	"OUTFILE",
   737  	"S3",
   738  	"DATA",
   739  	"LOAD",
   740  	"LINES",
   741  	"TERMINATED",
   742  	"ESCAPED",
   743  	"ENCLOSED",
   744  	"DUMPFILE",
   745  	"CSV",
   746  	"HEADER",
   747  	"MANIFEST",
   748  	"OVERWRITE",
   749  	"STARTING",
   750  	"OPTIONALLY",
   751  	"VALUES",
   752  	"LAST_INSERT_ID",
   753  	"NEXT",
   754  	"VALUE",
   755  	"SHARE",
   756  	"MODE",
   757  	"SQL_NO_CACHE",
   758  	"SQL_CACHE",
   759  	"SQL_CALC_FOUND_ROWS",
   760  	"JOIN",
   761  	"STRAIGHT_JOIN",
   762  	"LEFT",
   763  	"RIGHT",
   764  	"INNER",
   765  	"OUTER",
   766  	"CROSS",
   767  	"NATURAL",
   768  	"USE",
   769  	"FORCE",
   770  	"ON",
   771  	"USING",
   772  	"INPLACE",
   773  	"COPY",
   774  	"INSTANT",
   775  	"ALGORITHM",
   776  	"NONE",
   777  	"SHARED",
   778  	"EXCLUSIVE",
   779  	"SUBQUERY_AS_EXPR",
   780  	"'('",
   781  	"','",
   782  	"')'",
   783  	"STRING",
   784  	"ID",
   785  	"AT_ID",
   786  	"AT_AT_ID",
   787  	"HEX",
   788  	"NCHAR_STRING",
   789  	"INTEGRAL",
   790  	"FLOAT",
   791  	"DECIMAL",
   792  	"HEXNUM",
   793  	"COMMENT",
   794  	"COMMENT_KEYWORD",
   795  	"BITNUM",
   796  	"BIT_LITERAL",
   797  	"COMPRESSION",
   798  	"VALUE_ARG",
   799  	"LIST_ARG",
   800  	"OFFSET_ARG",
   801  	"JSON_PRETTY",
   802  	"JSON_STORAGE_SIZE",
   803  	"JSON_STORAGE_FREE",
   804  	"JSON_CONTAINS",
   805  	"JSON_CONTAINS_PATH",
   806  	"JSON_EXTRACT",
   807  	"JSON_KEYS",
   808  	"JSON_OVERLAPS",
   809  	"JSON_SEARCH",
   810  	"JSON_VALUE",
   811  	"EXTRACT",
   812  	"NULL",
   813  	"TRUE",
   814  	"FALSE",
   815  	"OFF",
   816  	"DISCARD",
   817  	"IMPORT",
   818  	"ENABLE",
   819  	"DISABLE",
   820  	"TABLESPACE",
   821  	"VIRTUAL",
   822  	"STORED",
   823  	"BOTH",
   824  	"LEADING",
   825  	"TRAILING",
   826  	"EMPTY_FROM_CLAUSE",
   827  	"LOWER_THAN_CHARSET",
   828  	"CHARSET",
   829  	"UNIQUE",
   830  	"KEY",
   831  	"EXPRESSION_PREC_SETTER",
   832  	"OR",
   833  	"'|'",
   834  	"XOR",
   835  	"AND",
   836  	"NOT",
   837  	"'!'",
   838  	"BETWEEN",
   839  	"CASE",
   840  	"WHEN",
   841  	"THEN",
   842  	"ELSE",
   843  	"END",
   844  	"'='",
   845  	"'<'",
   846  	"'>'",
   847  	"LE",
   848  	"GE",
   849  	"NE",
   850  	"NULL_SAFE_EQUAL",
   851  	"IS",
   852  	"LIKE",
   853  	"REGEXP",
   854  	"RLIKE",
   855  	"IN",
   856  	"'&'",
   857  	"SHIFT_LEFT",
   858  	"SHIFT_RIGHT",
   859  	"'+'",
   860  	"'-'",
   861  	"'*'",
   862  	"'/'",
   863  	"DIV",
   864  	"'%'",
   865  	"MOD",
   866  	"'^'",
   867  	"'~'",
   868  	"UNARY",
   869  	"COLLATE",
   870  	"BINARY",
   871  	"UNDERSCORE_ARMSCII8",
   872  	"UNDERSCORE_ASCII",
   873  	"UNDERSCORE_BIG5",
   874  	"UNDERSCORE_BINARY",
   875  	"UNDERSCORE_CP1250",
   876  	"UNDERSCORE_CP1251",
   877  	"UNDERSCORE_CP1256",
   878  	"UNDERSCORE_CP1257",
   879  	"UNDERSCORE_CP850",
   880  	"UNDERSCORE_CP852",
   881  	"UNDERSCORE_CP866",
   882  	"UNDERSCORE_CP932",
   883  	"UNDERSCORE_DEC8",
   884  	"UNDERSCORE_EUCJPMS",
   885  	"UNDERSCORE_EUCKR",
   886  	"UNDERSCORE_GB18030",
   887  	"UNDERSCORE_GB2312",
   888  	"UNDERSCORE_GBK",
   889  	"UNDERSCORE_GEOSTD8",
   890  	"UNDERSCORE_GREEK",
   891  	"UNDERSCORE_HEBREW",
   892  	"UNDERSCORE_HP8",
   893  	"UNDERSCORE_KEYBCS2",
   894  	"UNDERSCORE_KOI8R",
   895  	"UNDERSCORE_KOI8U",
   896  	"UNDERSCORE_LATIN1",
   897  	"UNDERSCORE_LATIN2",
   898  	"UNDERSCORE_LATIN5",
   899  	"UNDERSCORE_LATIN7",
   900  	"UNDERSCORE_MACCE",
   901  	"UNDERSCORE_MACROMAN",
   902  	"UNDERSCORE_SJIS",
   903  	"UNDERSCORE_SWE7",
   904  	"UNDERSCORE_TIS620",
   905  	"UNDERSCORE_UCS2",
   906  	"UNDERSCORE_UJIS",
   907  	"UNDERSCORE_UTF16",
   908  	"UNDERSCORE_UTF16LE",
   909  	"UNDERSCORE_UTF32",
   910  	"UNDERSCORE_UTF8",
   911  	"UNDERSCORE_UTF8MB4",
   912  	"UNDERSCORE_UTF8MB3",
   913  	"INTERVAL",
   914  	"'.'",
   915  	"WINDOW_EXPR",
   916  	"JSON_EXTRACT_OP",
   917  	"JSON_UNQUOTE_EXTRACT_OP",
   918  	"CREATE",
   919  	"ALTER",
   920  	"DROP",
   921  	"RENAME",
   922  	"ANALYZE",
   923  	"ADD",
   924  	"FLUSH",
   925  	"CHANGE",
   926  	"MODIFY",
   927  	"DEALLOCATE",
   928  	"REVERT",
   929  	"QUERIES",
   930  	"SCHEMA",
   931  	"TABLE",
   932  	"INDEX",
   933  	"VIEW",
   934  	"TO",
   935  	"IGNORE",
   936  	"IF",
   937  	"PRIMARY",
   938  	"COLUMN",
   939  	"SPATIAL",
   940  	"FULLTEXT",
   941  	"KEY_BLOCK_SIZE",
   942  	"CHECK",
   943  	"INDEXES",
   944  	"ACTION",
   945  	"CASCADE",
   946  	"CONSTRAINT",
   947  	"FOREIGN",
   948  	"NO",
   949  	"REFERENCES",
   950  	"RESTRICT",
   951  	"SHOW",
   952  	"DESCRIBE",
   953  	"EXPLAIN",
   954  	"DATE",
   955  	"ESCAPE",
   956  	"REPAIR",
   957  	"OPTIMIZE",
   958  	"TRUNCATE",
   959  	"COALESCE",
   960  	"EXCHANGE",
   961  	"REBUILD",
   962  	"PARTITIONING",
   963  	"REMOVE",
   964  	"PREPARE",
   965  	"EXECUTE",
   966  	"MAXVALUE",
   967  	"PARTITION",
   968  	"REORGANIZE",
   969  	"LESS",
   970  	"THAN",
   971  	"PROCEDURE",
   972  	"TRIGGER",
   973  	"VINDEX",
   974  	"VINDEXES",
   975  	"DIRECTORY",
   976  	"NAME",
   977  	"UPGRADE",
   978  	"STATUS",
   979  	"VARIABLES",
   980  	"WARNINGS",
   981  	"CASCADED",
   982  	"DEFINER",
   983  	"OPTION",
   984  	"SQL",
   985  	"UNDEFINED",
   986  	"SEQUENCE",
   987  	"MERGE",
   988  	"TEMPORARY",
   989  	"TEMPTABLE",
   990  	"INVOKER",
   991  	"SECURITY",
   992  	"FIRST",
   993  	"AFTER",
   994  	"LAST",
   995  	"VITESS_MIGRATION",
   996  	"CANCEL",
   997  	"RETRY",
   998  	"LAUNCH",
   999  	"COMPLETE",
  1000  	"CLEANUP",
  1001  	"THROTTLE",
  1002  	"UNTHROTTLE",
  1003  	"EXPIRE",
  1004  	"RATIO",
  1005  	"VITESS_THROTTLER",
  1006  	"BEGIN",
  1007  	"START",
  1008  	"TRANSACTION",
  1009  	"COMMIT",
  1010  	"ROLLBACK",
  1011  	"SAVEPOINT",
  1012  	"RELEASE",
  1013  	"WORK",
  1014  	"CONSISTENT",
  1015  	"SNAPSHOT",
  1016  	"BIT",
  1017  	"TINYINT",
  1018  	"SMALLINT",
  1019  	"MEDIUMINT",
  1020  	"INT",
  1021  	"INTEGER",
  1022  	"BIGINT",
  1023  	"INTNUM",
  1024  	"REAL",
  1025  	"DOUBLE",
  1026  	"FLOAT_TYPE",
  1027  	"FLOAT4_TYPE",
  1028  	"FLOAT8_TYPE",
  1029  	"DECIMAL_TYPE",
  1030  	"NUMERIC",
  1031  	"TIME",
  1032  	"TIMESTAMP",
  1033  	"DATETIME",
  1034  	"YEAR",
  1035  	"CHAR",
  1036  	"VARCHAR",
  1037  	"BOOL",
  1038  	"CHARACTER",
  1039  	"VARBINARY",
  1040  	"NCHAR",
  1041  	"TEXT",
  1042  	"TINYTEXT",
  1043  	"MEDIUMTEXT",
  1044  	"LONGTEXT",
  1045  	"BLOB",
  1046  	"TINYBLOB",
  1047  	"MEDIUMBLOB",
  1048  	"LONGBLOB",
  1049  	"JSON",
  1050  	"JSON_SCHEMA_VALID",
  1051  	"JSON_SCHEMA_VALIDATION_REPORT",
  1052  	"ENUM",
  1053  	"GEOMETRY",
  1054  	"POINT",
  1055  	"LINESTRING",
  1056  	"POLYGON",
  1057  	"GEOMCOLLECTION",
  1058  	"GEOMETRYCOLLECTION",
  1059  	"MULTIPOINT",
  1060  	"MULTILINESTRING",
  1061  	"MULTIPOLYGON",
  1062  	"ASCII",
  1063  	"UNICODE",
  1064  	"NULLX",
  1065  	"AUTO_INCREMENT",
  1066  	"APPROXNUM",
  1067  	"SIGNED",
  1068  	"UNSIGNED",
  1069  	"ZEROFILL",
  1070  	"CODE",
  1071  	"COLLATION",
  1072  	"COLUMNS",
  1073  	"DATABASES",
  1074  	"ENGINES",
  1075  	"EVENT",
  1076  	"EXTENDED",
  1077  	"FIELDS",
  1078  	"FULL",
  1079  	"FUNCTION",
  1080  	"GTID_EXECUTED",
  1081  	"KEYSPACES",
  1082  	"OPEN",
  1083  	"PLUGINS",
  1084  	"PRIVILEGES",
  1085  	"PROCESSLIST",
  1086  	"SCHEMAS",
  1087  	"TABLES",
  1088  	"TRIGGERS",
  1089  	"USER",
  1090  	"VGTID_EXECUTED",
  1091  	"VITESS_KEYSPACES",
  1092  	"VITESS_METADATA",
  1093  	"VITESS_MIGRATIONS",
  1094  	"VITESS_REPLICATION_STATUS",
  1095  	"VITESS_SHARDS",
  1096  	"VITESS_TABLETS",
  1097  	"VITESS_TARGET",
  1098  	"VSCHEMA",
  1099  	"VITESS_THROTTLED_APPS",
  1100  	"NAMES",
  1101  	"GLOBAL",
  1102  	"SESSION",
  1103  	"ISOLATION",
  1104  	"LEVEL",
  1105  	"READ",
  1106  	"WRITE",
  1107  	"ONLY",
  1108  	"REPEATABLE",
  1109  	"COMMITTED",
  1110  	"UNCOMMITTED",
  1111  	"SERIALIZABLE",
  1112  	"CURRENT_TIMESTAMP",
  1113  	"DATABASE",
  1114  	"CURRENT_DATE",
  1115  	"NOW",
  1116  	"CURRENT_TIME",
  1117  	"LOCALTIME",
  1118  	"LOCALTIMESTAMP",
  1119  	"CURRENT_USER",
  1120  	"UTC_DATE",
  1121  	"UTC_TIME",
  1122  	"UTC_TIMESTAMP",
  1123  	"DAY",
  1124  	"DAY_HOUR",
  1125  	"DAY_MICROSECOND",
  1126  	"DAY_MINUTE",
  1127  	"DAY_SECOND",
  1128  	"HOUR",
  1129  	"HOUR_MICROSECOND",
  1130  	"HOUR_MINUTE",
  1131  	"HOUR_SECOND",
  1132  	"MICROSECOND",
  1133  	"MINUTE",
  1134  	"MINUTE_MICROSECOND",
  1135  	"MINUTE_SECOND",
  1136  	"MONTH",
  1137  	"QUARTER",
  1138  	"SECOND",
  1139  	"SECOND_MICROSECOND",
  1140  	"YEAR_MONTH",
  1141  	"WEEK",
  1142  	"REPLACE",
  1143  	"CONVERT",
  1144  	"CAST",
  1145  	"SUBSTR",
  1146  	"SUBSTRING",
  1147  	"SEPARATOR",
  1148  	"TIMESTAMPADD",
  1149  	"TIMESTAMPDIFF",
  1150  	"WEIGHT_STRING",
  1151  	"LTRIM",
  1152  	"RTRIM",
  1153  	"TRIM",
  1154  	"JSON_ARRAY",
  1155  	"JSON_OBJECT",
  1156  	"JSON_QUOTE",
  1157  	"JSON_DEPTH",
  1158  	"JSON_TYPE",
  1159  	"JSON_LENGTH",
  1160  	"JSON_VALID",
  1161  	"JSON_ARRAY_APPEND",
  1162  	"JSON_ARRAY_INSERT",
  1163  	"JSON_INSERT",
  1164  	"JSON_MERGE",
  1165  	"JSON_MERGE_PATCH",
  1166  	"JSON_MERGE_PRESERVE",
  1167  	"JSON_REMOVE",
  1168  	"JSON_REPLACE",
  1169  	"JSON_SET",
  1170  	"JSON_UNQUOTE",
  1171  	"COUNT",
  1172  	"AVG",
  1173  	"MAX",
  1174  	"MIN",
  1175  	"SUM",
  1176  	"GROUP_CONCAT",
  1177  	"BIT_AND",
  1178  	"BIT_OR",
  1179  	"BIT_XOR",
  1180  	"STD",
  1181  	"STDDEV",
  1182  	"STDDEV_POP",
  1183  	"STDDEV_SAMP",
  1184  	"VAR_POP",
  1185  	"VAR_SAMP",
  1186  	"VARIANCE",
  1187  	"REGEXP_INSTR",
  1188  	"REGEXP_LIKE",
  1189  	"REGEXP_REPLACE",
  1190  	"REGEXP_SUBSTR",
  1191  	"ExtractValue",
  1192  	"UpdateXML",
  1193  	"GET_LOCK",
  1194  	"RELEASE_LOCK",
  1195  	"RELEASE_ALL_LOCKS",
  1196  	"IS_FREE_LOCK",
  1197  	"IS_USED_LOCK",
  1198  	"LOCATE",
  1199  	"POSITION",
  1200  	"MATCH",
  1201  	"AGAINST",
  1202  	"BOOLEAN",
  1203  	"LANGUAGE",
  1204  	"WITH",
  1205  	"QUERY",
  1206  	"EXPANSION",
  1207  	"WITHOUT",
  1208  	"VALIDATION",
  1209  	"UNUSED",
  1210  	"ARRAY",
  1211  	"BYTE",
  1212  	"CUME_DIST",
  1213  	"DESCRIPTION",
  1214  	"DENSE_RANK",
  1215  	"EMPTY",
  1216  	"EXCEPT",
  1217  	"FIRST_VALUE",
  1218  	"GROUPING",
  1219  	"GROUPS",
  1220  	"JSON_TABLE",
  1221  	"LAG",
  1222  	"LAST_VALUE",
  1223  	"LATERAL",
  1224  	"LEAD",
  1225  	"NTH_VALUE",
  1226  	"NTILE",
  1227  	"OF",
  1228  	"OVER",
  1229  	"PERCENT_RANK",
  1230  	"RANK",
  1231  	"RECURSIVE",
  1232  	"ROW_NUMBER",
  1233  	"SYSTEM",
  1234  	"WINDOW",
  1235  	"ACTIVE",
  1236  	"ADMIN",
  1237  	"AUTOEXTEND_SIZE",
  1238  	"BUCKETS",
  1239  	"CLONE",
  1240  	"COLUMN_FORMAT",
  1241  	"COMPONENT",
  1242  	"DEFINITION",
  1243  	"ENFORCED",
  1244  	"ENGINE_ATTRIBUTE",
  1245  	"EXCLUDE",
  1246  	"FOLLOWING",
  1247  	"GET_MASTER_PUBLIC_KEY",
  1248  	"HISTOGRAM",
  1249  	"HISTORY",
  1250  	"INACTIVE",
  1251  	"INVISIBLE",
  1252  	"LOCKED",
  1253  	"MASTER_COMPRESSION_ALGORITHMS",
  1254  	"MASTER_PUBLIC_KEY_PATH",
  1255  	"MASTER_TLS_CIPHERSUITES",
  1256  	"MASTER_ZSTD_COMPRESSION_LEVEL",
  1257  	"NESTED",
  1258  	"NETWORK_NAMESPACE",
  1259  	"NOWAIT",
  1260  	"NULLS",
  1261  	"OJ",
  1262  	"OLD",
  1263  	"OPTIONAL",
  1264  	"ORDINALITY",
  1265  	"ORGANIZATION",
  1266  	"OTHERS",
  1267  	"PARTIAL",
  1268  	"PATH",
  1269  	"PERSIST",
  1270  	"PERSIST_ONLY",
  1271  	"PRECEDING",
  1272  	"PRIVILEGE_CHECKS_USER",
  1273  	"PROCESS",
  1274  	"RANDOM",
  1275  	"REFERENCE",
  1276  	"REQUIRE_ROW_FORMAT",
  1277  	"RESOURCE",
  1278  	"RESPECT",
  1279  	"RESTART",
  1280  	"RETAIN",
  1281  	"REUSE",
  1282  	"ROLE",
  1283  	"SECONDARY",
  1284  	"SECONDARY_ENGINE",
  1285  	"SECONDARY_ENGINE_ATTRIBUTE",
  1286  	"SECONDARY_LOAD",
  1287  	"SECONDARY_UNLOAD",
  1288  	"SIMPLE",
  1289  	"SKIP",
  1290  	"SRID",
  1291  	"THREAD_PRIORITY",
  1292  	"TIES",
  1293  	"UNBOUNDED",
  1294  	"VCPU",
  1295  	"VISIBLE",
  1296  	"RETURNING",
  1297  	"FORMAT_BYTES",
  1298  	"FORMAT_PICO_TIME",
  1299  	"PS_CURRENT_THREAD_ID",
  1300  	"PS_THREAD_ID",
  1301  	"GTID_SUBSET",
  1302  	"GTID_SUBTRACT",
  1303  	"WAIT_FOR_EXECUTED_GTID_SET",
  1304  	"WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS",
  1305  	"FORMAT",
  1306  	"TREE",
  1307  	"VITESS",
  1308  	"TRADITIONAL",
  1309  	"VTEXPLAIN",
  1310  	"VEXPLAIN",
  1311  	"PLAN",
  1312  	"LOCAL",
  1313  	"LOW_PRIORITY",
  1314  	"NO_WRITE_TO_BINLOG",
  1315  	"LOGS",
  1316  	"ERROR",
  1317  	"GENERAL",
  1318  	"HOSTS",
  1319  	"OPTIMIZER_COSTS",
  1320  	"USER_RESOURCES",
  1321  	"SLOW",
  1322  	"CHANNEL",
  1323  	"RELAY",
  1324  	"EXPORT",
  1325  	"CURRENT",
  1326  	"ROW",
  1327  	"ROWS",
  1328  	"AVG_ROW_LENGTH",
  1329  	"CONNECTION",
  1330  	"CHECKSUM",
  1331  	"DELAY_KEY_WRITE",
  1332  	"ENCRYPTION",
  1333  	"ENGINE",
  1334  	"INSERT_METHOD",
  1335  	"MAX_ROWS",
  1336  	"MIN_ROWS",
  1337  	"PACK_KEYS",
  1338  	"PASSWORD",
  1339  	"FIXED",
  1340  	"DYNAMIC",
  1341  	"COMPRESSED",
  1342  	"REDUNDANT",
  1343  	"COMPACT",
  1344  	"ROW_FORMAT",
  1345  	"STATS_AUTO_RECALC",
  1346  	"STATS_PERSISTENT",
  1347  	"STATS_SAMPLE_PAGES",
  1348  	"STORAGE",
  1349  	"MEMORY",
  1350  	"DISK",
  1351  	"PARTITIONS",
  1352  	"LINEAR",
  1353  	"RANGE",
  1354  	"LIST",
  1355  	"SUBPARTITION",
  1356  	"SUBPARTITIONS",
  1357  	"HASH",
  1358  	"';'",
  1359  }
  1360  
  1361  var yyStatenames = [...]string{}
  1362  
  1363  const yyEofCode = 1
  1364  const yyErrCode = 2
  1365  const yyInitialStackSize = 16
  1366  
  1367  //line yacctab:1
  1368  var yyExca = [...]int{
  1369  	-1, 1,
  1370  	1, -1,
  1371  	-2, 0,
  1372  	-1, 2,
  1373  	13, 49,
  1374  	14, 49,
  1375  	-2, 38,
  1376  	-1, 50,
  1377  	1, 157,
  1378  	665, 157,
  1379  	-2, 165,
  1380  	-1, 51,
  1381  	135, 165,
  1382  	176, 165,
  1383  	345, 165,
  1384  	-2, 519,
  1385  	-1, 58,
  1386  	36, 766,
  1387  	239, 766,
  1388  	250, 766,
  1389  	285, 780,
  1390  	286, 780,
  1391  	-2, 768,
  1392  	-1, 63,
  1393  	241, 804,
  1394  	-2, 802,
  1395  	-1, 118,
  1396  	238, 1458,
  1397  	-2, 131,
  1398  	-1, 120,
  1399  	1, 158,
  1400  	665, 158,
  1401  	-2, 165,
  1402  	-1, 131,
  1403  	136, 405,
  1404  	244, 405,
  1405  	-2, 508,
  1406  	-1, 150,
  1407  	135, 165,
  1408  	176, 165,
  1409  	345, 165,
  1410  	-2, 528,
  1411  	-1, 812,
  1412  	87, 1475,
  1413  	-2, 1329,
  1414  	-1, 813,
  1415  	87, 1476,
  1416  	221, 1480,
  1417  	-2, 1330,
  1418  	-1, 814,
  1419  	221, 1479,
  1420  	-2, 40,
  1421  	-1, 894,
  1422  	60, 878,
  1423  	-2, 893,
  1424  	-1, 980,
  1425  	249, 41,
  1426  	254, 41,
  1427  	-2, 416,
  1428  	-1, 1065,
  1429  	1, 576,
  1430  	665, 576,
  1431  	-2, 165,
  1432  	-1, 1364,
  1433  	221, 1480,
  1434  	-2, 1330,
  1435  	-1, 1514,
  1436  	60, 879,
  1437  	-2, 898,
  1438  	-1, 1515,
  1439  	60, 880,
  1440  	-2, 899,
  1441  	-1, 1566,
  1442  	135, 165,
  1443  	176, 165,
  1444  	345, 165,
  1445  	-2, 455,
  1446  	-1, 1647,
  1447  	136, 405,
  1448  	244, 405,
  1449  	-2, 508,
  1450  	-1, 1656,
  1451  	249, 42,
  1452  	254, 42,
  1453  	-2, 417,
  1454  	-1, 2017,
  1455  	221, 1484,
  1456  	-2, 1478,
  1457  	-1, 2018,
  1458  	221, 1480,
  1459  	-2, 1476,
  1460  	-1, 2118,
  1461  	135, 165,
  1462  	176, 165,
  1463  	345, 165,
  1464  	-2, 456,
  1465  	-1, 2125,
  1466  	26, 186,
  1467  	-2, 188,
  1468  	-1, 2494,
  1469  	78, 96,
  1470  	88, 96,
  1471  	-2, 957,
  1472  	-1, 2563,
  1473  	640, 692,
  1474  	-2, 666,
  1475  	-1, 2731,
  1476  	50, 1426,
  1477  	-2, 1420,
  1478  	-1, 3387,
  1479  	640, 692,
  1480  	-2, 680,
  1481  	-1, 3475,
  1482  	90, 624,
  1483  	95, 624,
  1484  	105, 624,
  1485  	178, 624,
  1486  	179, 624,
  1487  	180, 624,
  1488  	181, 624,
  1489  	182, 624,
  1490  	183, 624,
  1491  	184, 624,
  1492  	185, 624,
  1493  	186, 624,
  1494  	187, 624,
  1495  	188, 624,
  1496  	189, 624,
  1497  	190, 624,
  1498  	191, 624,
  1499  	192, 624,
  1500  	193, 624,
  1501  	194, 624,
  1502  	195, 624,
  1503  	196, 624,
  1504  	197, 624,
  1505  	198, 624,
  1506  	199, 624,
  1507  	200, 624,
  1508  	201, 624,
  1509  	202, 624,
  1510  	203, 624,
  1511  	204, 624,
  1512  	205, 624,
  1513  	206, 624,
  1514  	207, 624,
  1515  	208, 624,
  1516  	209, 624,
  1517  	210, 624,
  1518  	211, 624,
  1519  	212, 624,
  1520  	213, 624,
  1521  	214, 624,
  1522  	215, 624,
  1523  	216, 624,
  1524  	217, 624,
  1525  	218, 624,
  1526  	219, 624,
  1527  	-2, 1837,
  1528  }
  1529  
  1530  const yyPrivate = 57344
  1531  
  1532  const yyLast = 46655
  1533  
  1534  var yyAct = [...]int{
  1535  	1522, 823, 3133, 3134, 815, 1882, 3132, 3546, 3557, 3368,
  1536  	3452, 816, 684, 3515, 2115, 3516, 2066, 3473, 1569, 3103,
  1537  	2960, 3418, 2881, 2783, 3441, 2046, 3352, 3300, 2841, 2790,
  1538  	663, 2846, 2843, 2842, 2832, 2840, 910, 2845, 2844, 778,
  1539  	2744, 3350, 3090, 1828, 2394, 3162, 5, 782, 887, 3340,
  1540  	40, 1129, 2048, 2747, 2428, 1492, 2690, 666, 2189, 1529,
  1541  	2748, 2745, 2861, 2999, 2860, 3167, 2798, 2624, 2993, 2070,
  1542  	2467, 777, 776, 694, 2089, 2863, 783, 2086, 3019, 2742,
  1543  	2732, 2454, 2008, 2152, 2528, 2157, 2985, 662, 2608, 2887,
  1544  	2220, 664, 2529, 2177, 1625, 2530, 159, 2103, 2560, 2479,
  1545  	911, 889, 1672, 2091, 41, 2460, 39, 2446, 2090, 1516,
  1546  	2430, 2013, 2005, 1977, 1976, 2600, 1897, 2198, 2176, 145,
  1547  	2078, 2237, 2159, 2521, 975, 970, 1836, 658, 1654, 891,
  1548  	1558, 895, 2496, 988, 1131, 1538, 2093, 676, 1496, 1376,
  1549  	1855, 100, 101, 1901, 1304, 1775, 2174, 1753, 1289, 949,
  1550  	913, 2148, 96, 946, 1557, 950, 1543, 978, 671, 976,
  1551  	977, 1771, 2014, 981, 928, 930, 901, 1973, 95, 1360,
  1552  	1336, 1127, 1910, 1827, 1120, 898, 1780, 1106, 81, 1061,
  1553  	2071, 923, 899, 670, 89, 80, 653, 102, 897, 1384,
  1554  	896, 163, 123, 103, 1380, 3377, 121, 122, 2553, 94,
  1555  	3547, 2851, 3091, 2829, 186, 2191, 2192, 2193, 3403, 2191,
  1556  	2583, 2582, 2235, 2551, 2848, 3083, 91, 2851, 3499, 1305,
  1557  	1878, 2616, 632, 1661, 918, 922, 91, 91, 125, 2617,
  1558  	147, 1620, 3398, 3399, 3404, 1843, 1842, 1738, 638, 598,
  1559  	943, 168, 124, 91, 3046, 1858, 128, 1017, 904, 1841,
  1560  	1646, 129, 1305, 2149, 3137, 1840, 654, 2849, 1839, 832,
  1561  	833, 834, 1838, 968, 1811, 905, 992, 890, 888, 3137,
  1562  	1300, 937, 158, 2849, 832, 833, 834, 656, 146, 657,
  1563  	638, 2043, 2044, 2855, 2280, 2426, 3494, 912, 1025, 1077,
  1564  	991, 2728, 2573, 938, 936, 780, 781, 165, 942, 2855,
  1565  	166, 2456, 130, 3519, 2224, 967, 959, 954, 3453, 1018,
  1566  	1021, 1022, 124, 966, 1321, 2694, 3567, 965, 964, 134,
  1567  	135, 157, 156, 185, 632, 3503, 1523, 1315, 3501, 2,
  1568  	3514, 3537, 2965, 3399, 2964, 2222, 2576, 3353, 632, 2395,
  1569  	1848, 3136, 2906, 3296, 1034, 936, 780, 781, 2223, 3295,
  1570  	3502, 3096, 1016, 3500, 3097, 3497, 3136, 1015, 3528, 3306,
  1571  	1315, 82, 3115, 3104, 84, 3442, 629, 3449, 2217, 1291,
  1572  	82, 632, 107, 108, 109, 3305, 112, 2289, 82, 118,
  1573  	124, 1887, 187, 3459, 3478, 593, 3114, 2926, 1635, 632,
  1574  	2427, 2590, 2591, 2779, 2470, 2852, 651, 652, 3459, 2780,
  1575  	2781, 82, 3382, 659, 2110, 2111, 883, 884, 885, 886,
  1576  	2109, 2852, 894, 2074, 614, 2505, 2615, 2286, 2504, 2471,
  1577  	2599, 2506, 151, 132, 154, 139, 131, 612, 152, 153,
  1578  	1820, 1821, 633, 1311, 2168, 169, 1303, 1101, 1102, 91,
  1579  	925, 926, 2287, 828, 175, 140, 83, 1124, 91, 1318,
  1580  	3180, 1319, 1320, 1012, 1096, 3369, 91, 2162, 881, 143,
  1581  	141, 136, 137, 138, 142, 880, 1311, 609, 1290, 1084,
  1582  	963, 133, 1070, 1071, 1085, 1559, 624, 1560, 2554, 91,
  1583  	144, 2517, 1301, 1084, 1097, 2128, 2127, 2996, 1085, 2045,
  1584  	2914, 619, 3520, 1090, 1060, 2658, 1083, 1113, 1082, 1115,
  1585  	1819, 622, 2463, 2464, 1073, 2912, 2278, 632, 914, 1823,
  1586  	632, 920, 920, 3521, 632, 2883, 650, 646, 929, 1555,
  1587  	2888, 644, 3328, 2601, 3329, 892, 1500, 83, 961, 2561,
  1588  	2199, 2258, 2876, 2259, 633, 2260, 2586, 1112, 1114, 1103,
  1589  	2877, 2281, 2282, 2284, 2283, 3549, 892, 2243, 633, 1104,
  1590  	1754, 1117, 2074, 2238, 1122, 1035, 1099, 1100, 1105, 1066,
  1591  	1123, 952, 2603, 3085, 3084, 2261, 1759, 599, 160, 601,
  1592  	615, 1041, 635, 1040, 634, 605, 1098, 603, 607, 616,
  1593  	608, 633, 602, 2885, 613, 1091, 2240, 604, 617, 618,
  1594  	621, 625, 626, 627, 623, 620, 3280, 611, 636, 633,
  1595  	1064, 1014, 2244, 2202, 2161, 2072, 2073, 2884, 1728, 2242,
  1596  	939, 933, 931, 1001, 1031, 1032, 1033, 3495, 1036, 1037,
  1597  	1038, 1039, 3141, 2087, 1042, 1043, 1044, 1045, 1046, 1047,
  1598  	1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057,
  1599  	1058, 1110, 999, 2287, 971, 1111, 155, 958, 972, 1503,
  1600  	960, 2241, 1729, 962, 1730, 1116, 972, 3081, 2693, 1010,
  1601  	2659, 939, 933, 931, 1310, 1307, 1308, 1309, 1314, 1316,
  1602  	1313, 1009, 1312, 1008, 1007, 1006, 1005, 1004, 1003, 1109,
  1603  	998, 1639, 1306, 2250, 2246, 2248, 2249, 2247, 2251, 2252,
  1604  	1011, 947, 2802, 3526, 3568, 947, 984, 1310, 1307, 1308,
  1605  	1309, 1314, 1316, 1313, 1351, 1312, 1337, 148, 1351, 1660,
  1606  	149, 983, 1772, 2607, 947, 1306, 1372, 633, 945, 1362,
  1607  	633, 2175, 3376, 3561, 633, 2552, 969, 2588, 2903, 1338,
  1608  	1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345, 1347, 1348,
  1609  	161, 1094, 2221, 1556, 2072, 2073, 924, 173, 963, 2604,
  1610  	955, 2228, 1633, 2227, 2519, 963, 1059, 957, 956, 2822,
  1611  	1002, 1768, 829, 3455, 1354, 1355, 1356, 1357, 1292, 1282,
  1612  	2555, 3080, 829, 829, 1368, 1027, 2431, 2433, 3455, 1762,
  1613  	1028, 1760, 1761, 2997, 1763, 1764, 2585, 1020, 181, 1000,
  1614  	2620, 1632, 1631, 983, 2301, 3454, 1118, 1019, 2853, 2854,
  1615  	2571, 85, 1283, 1284, 990, 1769, 961, 2610, 637, 990,
  1616  	3454, 2857, 2609, 1629, 2853, 2854, 1358, 1659, 2575, 597,
  1617  	1063, 3113, 932, 592, 3365, 2598, 3033, 2857, 2597, 630,
  1618  	2219, 162, 167, 164, 170, 171, 172, 174, 176, 177,
  1619  	178, 179, 3015, 3483, 631, 3135, 120, 180, 182, 183,
  1620  	184, 1740, 1739, 1741, 1742, 1743, 1758, 2625, 3044, 3045,
  1621  	3135, 3481, 2574, 90, 1299, 2288, 2461, 2165, 1352, 1353,
  1622  	3487, 3488, 90, 932, 2501, 2466, 1490, 2610, 2800, 2801,
  1623  	90, 2403, 2609, 1890, 1547, 3482, 990, 1386, 1382, 1080,
  1624  	1383, 1086, 1087, 1088, 1089, 1455, 1075, 1524, 1526, 2116,
  1625  	1072, 1069, 1081, 90, 1351, 1348, 989, 2166, 1911, 2778,
  1626  	1107, 989, 1781, 2948, 2164, 1125, 1126, 983, 986, 987,
  1627  	907, 947, 1912, 1062, 1504, 980, 984, 1079, 115, 1121,
  1628  	990, 962, 1902, 3390, 1013, 1491, 1506, 3076, 962, 1507,
  1629  	1510, 2627, 3559, 2432, 1093, 3560, 891, 3558, 2167, 1343,
  1630  	1344, 1346, 1345, 1347, 1348, 1095, 1860, 3009, 2163, 1338,
  1631  	1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345, 1347, 1348,
  1632  	1861, 1349, 1350, 1859, 1461, 1462, 1463, 1464, 1465, 990,
  1633  	2239, 1832, 1765, 1561, 2644, 1902, 2799, 2318, 989, 2544,
  1634  	1026, 3529, 1508, 1509, 1023, 1320, 100, 101, 2802, 1491,
  1635  	116, 1850, 1852, 1853, 1755, 3176, 1756, 1484, 3051, 1757,
  1636  	2211, 2637, 2636, 2635, 1319, 1320, 2629, 1497, 2633, 3522,
  1637  	2628, 3050, 2626, 2206, 2218, 1851, 1669, 2631, 1668, 1658,
  1638  	2211, 1666, 989, 2216, 2214, 1065, 2630, 1001, 983, 986,
  1639  	987, 999, 947, 3420, 3358, 3034, 980, 984, 103, 2215,
  1640  	903, 1909, 3563, 3288, 2632, 2634, 3287, 1108, 1701, 1782,
  1641  	3110, 1704, 3111, 1706, 1322, 1525, 1494, 979, 3278, 2213,
  1642  	1078, 3126, 1128, 1505, 1128, 1128, 3125, 2904, 888, 3058,
  1643  	3057, 989, 3047, 1528, 890, 2830, 993, 983, 3421, 3359,
  1644  	2818, 995, 2526, 1377, 1645, 996, 994, 1723, 1321, 2525,
  1645  	2524, 1674, 2171, 1675, 1749, 1677, 1679, 1552, 1553, 1683,
  1646  	1685, 1687, 1689, 1691, 1733, 1732, 997, 1664, 1731, 1721,
  1647  	1662, 1662, 892, 1361, 1366, 1367, 1715, 1370, 1712, 1371,
  1648  	1373, 1374, 1375, 1628, 1378, 1379, 1381, 1381, 1711, 1381,
  1649  	1385, 1385, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
  1650  	1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
  1651  	1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414,
  1652  	1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424,
  1653  	1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
  1654  	1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444,
  1655  	1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1709,
  1656  	1777, 1663, 1655, 1454, 1321, 1456, 1457, 1458, 1459, 1460,
  1657  	1643, 990, 1748, 1511, 1642, 1641, 3569, 1746, 1385, 1385,
  1658  	1385, 1385, 1385, 1318, 1773, 1319, 1320, 2293, 2294, 2295,
  1659  	1710, 1681, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473,
  1660  	1474, 1475, 1476, 1477, 1478, 1479, 1735, 124, 966, 1523,
  1661  	1783, 1784, 965, 964, 2010, 2880, 1907, 1321, 1286, 1787,
  1662  	832, 833, 834, 1493, 1788, 1908, 638, 1652, 1337, 1321,
  1663  	2619, 1795, 1796, 1797, 1555, 1523, 1747, 3523, 1808, 1634,
  1664  	3385, 1745, 1809, 3041, 638, 2508, 638, 3384, 3533, 1523,
  1665  	3486, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345,
  1666  	1347, 1348, 2010, 3570, 1321, 3362, 2007, 2187, 2186, 1539,
  1667  	1734, 1705, 3361, 989, 3360, 2009, 1499, 3283, 993, 983,
  1668  	2185, 2184, 892, 995, 2183, 2182, 892, 996, 994, 827,
  1669  	2452, 3548, 892, 40, 3485, 3267, 40, 1532, 3266, 1318,
  1670  	2355, 1319, 1320, 3378, 1885, 1885, 1627, 1883, 1883, 1886,
  1671  	1317, 1523, 1321, 3531, 1523, 1863, 3175, 1865, 1866, 1867,
  1672  	1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877,
  1673  	1785, 2921, 1905, 3510, 1523, 3314, 1906, 1789, 3173, 1791,
  1674  	1792, 1793, 1794, 1533, 1317, 1523, 1798, 1321, 3465, 1523,
  1675  	3313, 1362, 1318, 3122, 1319, 1320, 2452, 3448, 1810, 1856,
  1676  	1337, 2646, 1854, 1333, 1318, 1334, 1319, 1320, 1903, 1490,
  1677  	1969, 1636, 1637, 1638, 2452, 3428, 3271, 1864, 1489, 1335,
  1678  	1349, 1350, 1332, 1338, 1339, 1340, 1341, 1342, 1343, 1344,
  1679  	1346, 1345, 1347, 1348, 2452, 3424, 1965, 1523, 3270, 1318,
  1680  	2003, 1319, 1320, 1816, 1817, 1339, 1340, 1341, 1342, 1343,
  1681  	1344, 1346, 1345, 1347, 1348, 3411, 1523, 3094, 3375, 1963,
  1682  	1857, 81, 1833, 97, 81, 2032, 3291, 1523, 1491, 1974,
  1683  	1321, 3463, 1523, 1779, 98, 106, 1337, 1488, 1713, 1714,
  1684  	1487, 2353, 1524, 2039, 1719, 1720, 105, 1318, 104, 1319,
  1685  	1320, 2452, 3279, 2001, 1862, 3094, 1523, 2015, 2357, 1338,
  1686  	1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345, 1347, 1348,
  1687  	2452, 3092, 97, 2006, 3055, 3040, 2063, 1321, 2889, 99,
  1688  	2886, 1889, 1318, 98, 1319, 1320, 1896, 1898, 2821, 1523,
  1689  	1951, 2211, 1523, 3102, 2056, 2820, 2057, 3013, 1523, 2040,
  1690  	2535, 2079, 2080, 2366, 1523, 1974, 2811, 2810, 2808, 2809,
  1691  	1128, 1913, 1914, 1915, 1916, 1523, 1523, 1321, 2522, 2020,
  1692  	2021, 1321, 2806, 2807, 2562, 1927, 1341, 1342, 1343, 1344,
  1693  	1346, 1345, 1347, 1348, 2125, 2806, 2805, 2743, 1523, 2345,
  1694  	2017, 100, 101, 2476, 1523, 1321, 2287, 2584, 3008, 2015,
  1695  	2097, 2016, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1323,
  1696  	1486, 100, 101, 1321, 2233, 1318, 2232, 1319, 1320, 2019,
  1697  	1624, 2565, 2022, 2023, 2558, 2559, 2062, 2069, 2172, 1943,
  1698  	1932, 1933, 1934, 1935, 1945, 1936, 1937, 1938, 1950, 1946,
  1699  	1939, 1940, 1947, 1948, 1949, 1941, 1942, 1944, 2452, 2451,
  1700  	2134, 2135, 2136, 2137, 2051, 3461, 1523, 2311, 1523, 99,
  1701  	2038, 1812, 1318, 2119, 1319, 1320, 1778, 2050, 2448, 2129,
  1702  	1744, 2130, 2131, 2132, 2133, 1736, 2061, 1726, 904, 3309,
  1703  	2101, 2540, 2017, 99, 1888, 1523, 2212, 2140, 2141, 2142,
  1704  	2143, 1722, 2123, 2084, 2064, 1718, 1717, 3337, 1523, 3008,
  1705  	1716, 2082, 1318, 2154, 1319, 1320, 1318, 1534, 1319, 1320,
  1706  	1119, 2107, 2475, 937, 1624, 1623, 2200, 2160, 1523, 2106,
  1707  	2105, 1844, 1845, 1846, 1847, 1128, 1128, 2122, 2121, 1337,
  1708  	1318, 2300, 1319, 1320, 2468, 938, 1567, 1566, 2124, 83,
  1709  	1317, 2311, 83, 3010, 2211, 2468, 2170, 3416, 1318, 3389,
  1710  	1319, 1320, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1346,
  1711  	1345, 1347, 1348, 1321, 2452, 2476, 2969, 2476, 1321, 2151,
  1712  	1891, 1892, 2773, 2808, 2155, 1894, 2173, 920, 920, 1899,
  1713  	2169, 2181, 2287, 1904, 992, 2306, 105, 2205, 2716, 2108,
  1714  	2208, 2311, 2209, 2366, 1662, 2342, 1917, 1918, 1919, 1920,
  1715  	1921, 1922, 1923, 1924, 1925, 1926, 2476, 2204, 991, 2155,
  1716  	1952, 1953, 1954, 1955, 1956, 1957, 1959, 3008, 1964, 2203,
  1717  	1966, 1967, 1968, 2226, 1970, 1971, 1972, 2341, 1978, 1979,
  1718  	1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989,
  1719  	1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
  1720  	2000, 2211, 2002, 1523, 2004, 1317, 2011, 2012, 920, 2194,
  1721  	920, 920, 920, 920, 920, 2077, 2120, 2144, 2146, 2147,
  1722  	2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2236, 2033,
  1723  	2034, 2035, 2036, 2037, 2207, 1527, 2497, 2041, 2497, 1888,
  1724  	2304, 2297, 3059, 2299, 2309, 1834, 1818, 2312, 1318, 2313,
  1725  	1319, 1320, 1767, 1318, 2320, 1319, 1320, 1554, 2322, 2323,
  1726  	2324, 974, 973, 91, 893, 1321, 3491, 920, 2330, 2331,
  1727  	2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2303, 3431,
  1728  	2229, 2264, 1321, 1536, 2230, 2231, 1856, 3302, 1530, 2075,
  1729  	2076, 3268, 2305, 3060, 3061, 3062, 3187, 2882, 1321, 2498,
  1730  	2197, 2498, 3075, 2298, 2346, 2347, 2348, 2349, 2350, 2500,
  1731  	2352, 2287, 1321, 3072, 2354, 2114, 2325, 2277, 2359, 2360,
  1732  	3053, 2361, 2931, 2930, 2364, 1626, 2365, 2153, 2878, 2285,
  1733  	2368, 1321, 106, 2340, 2372, 2835, 2831, 1321, 2377, 2378,
  1734  	2379, 2380, 91, 105, 2566, 104, 2095, 1857, 2833, 1535,
  1735  	2296, 2391, 2392, 2225, 99, 2396, 2397, 1321, 1697, 2150,
  1736  	2145, 2139, 2138, 2399, 2401, 2532, 3335, 1523, 1751, 1657,
  1737  	2404, 2405, 2406, 2407, 2408, 2017, 2156, 2531, 1653, 1622,
  1738  	1321, 2415, 2416, 3524, 2417, 117, 2016, 2420, 2422, 2063,
  1739  	3303, 2424, 1064, 2168, 2317, 2054, 3332, 1523, 1321, 3543,
  1740  	1318, 2436, 1319, 1320, 1885, 1814, 1321, 1883, 2437, 1698,
  1741  	1699, 1700, 3541, 1523, 3517, 3318, 1523, 1318, 952, 1319,
  1742  	1320, 2984, 1523, 2271, 2272, 2532, 3020, 3021, 2274, 3397,
  1743  	1337, 3323, 3023, 1318, 2827, 1319, 1320, 2275, 1321, 2826,
  1744  	2825, 2977, 1523, 2743, 2545, 2265, 3026, 1318, 2351, 1319,
  1745  	1320, 952, 2435, 1338, 1339, 1340, 1341, 1342, 1343, 1344,
  1746  	1346, 1345, 1347, 1348, 2974, 1523, 1318, 1815, 1319, 1320,
  1747  	1321, 2765, 1318, 2763, 1319, 1320, 2766, 1321, 2764, 3025,
  1748  	2472, 1321, 2972, 1523, 40, 2438, 1321, 2440, 2315, 2453,
  1749  	2936, 1523, 1318, 2490, 1319, 1320, 2492, 1321, 2767, 3063,
  1750  	2485, 2486, 1321, 2481, 2484, 2485, 2486, 2482, 2762, 2483,
  1751  	2487, 2761, 3393, 3020, 3021, 1318, 1321, 1319, 1320, 3157,
  1752  	2491, 3156, 2449, 3373, 3304, 1321, 2068, 1531, 1497, 2462,
  1753  	2425, 1693, 2060, 1318, 3014, 1319, 1320, 2721, 2720, 3357,
  1754  	3166, 1318, 3168, 1319, 1320, 3004, 3064, 3065, 3066, 3001,
  1755  	2518, 2520, 1491, 2450, 2919, 1523, 2730, 3000, 1766, 1321,
  1756  	879, 2314, 2557, 2465, 2445, 2511, 3275, 2804, 1321, 3155,
  1757  	2423, 1523, 2515, 1318, 2536, 1319, 1320, 2495, 1694, 1695,
  1758  	1696, 2421, 1523, 2733, 2735, 2499, 2400, 1523, 908, 2502,
  1759  	1911, 2897, 2736, 2509, 2581, 2512, 909, 1030, 1321, 1029,
  1760  	2381, 1523, 2160, 2531, 1912, 1318, 2613, 1319, 1320, 2373,
  1761  	1523, 97, 1318, 2523, 1319, 1320, 1318, 2579, 1319, 1320,
  1762  	1321, 1318, 98, 1319, 1320, 1321, 1285, 2572, 125, 1321,
  1763  	3006, 2533, 1318, 1321, 1319, 1320, 99, 1318, 3555, 1319,
  1764  	1320, 2823, 2292, 2541, 3077, 2542, 1321, 2546, 2547, 2548,
  1765  	1321, 1318, 3028, 1319, 1320, 2268, 2319, 3470, 2079, 2080,
  1766  	1318, 3374, 1319, 1320, 1645, 1321, 3298, 2326, 2327, 2328,
  1767  	2329, 2803, 2308, 2489, 2065, 2578, 2648, 2649, 2650, 2651,
  1768  	2652, 2302, 2307, 2623, 2719, 2567, 2568, 2257, 1321, 916,
  1769  	917, 2256, 2718, 2577, 1318, 2657, 1319, 1320, 1321, 2255,
  1770  	97, 2986, 1321, 1318, 2979, 1319, 1320, 99, 2291, 2975,
  1771  	106, 98, 1377, 2946, 2254, 2253, 2640, 2942, 106, 3345,
  1772  	1321, 105, 2602, 104, 104, 2638, 3344, 3326, 3174, 105,
  1773  	2928, 104, 99, 1318, 2927, 1319, 1320, 3172, 2621, 2653,
  1774  	3171, 2605, 3164, 2622, 3073, 3005, 3003, 2836, 1321, 2924,
  1775  	2195, 1640, 915, 105, 106, 1318, 3163, 1319, 1320, 2994,
  1776  	1318, 2468, 1319, 1320, 1318, 105, 1319, 1320, 1318, 1321,
  1777  	1319, 1320, 3145, 2527, 2448, 2670, 2660, 2672, 2641, 3545,
  1778  	3544, 1318, 2419, 1319, 1320, 1318, 2418, 1319, 1320, 2343,
  1779  	2052, 1548, 2695, 2683, 2684, 2685, 2686, 1540, 2611, 3544,
  1780  	1318, 2612, 1319, 1320, 2414, 2700, 2697, 110, 111, 2402,
  1781  	3545, 3363, 1321, 3039, 906, 1831, 1829, 1321, 10, 9,
  1782  	2006, 1321, 2006, 1318, 2752, 1319, 1320, 3, 93, 1,
  1783  	2668, 1539, 2413, 1318, 1288, 1319, 1320, 1318, 1287, 1319,
  1784  	1320, 2434, 2770, 3043, 3480, 1321, 2097, 2678, 2679, 2680,
  1785  	2681, 2682, 610, 2412, 2740, 1318, 2042, 1319, 1320, 892,
  1786  	2746, 2696, 1321, 2698, 2699, 2746, 2755, 2723, 2700, 1830,
  1787  	2772, 895, 8, 2724, 2097, 2097, 2097, 2097, 2097, 2639,
  1788  	2473, 2474, 1495, 1318, 3518, 1319, 1320, 2715, 3476, 2095,
  1789  	2711, 3477, 892, 2493, 2097, 1737, 2411, 2097, 2749, 1727,
  1790  	3105, 2410, 1975, 2722, 1318, 2409, 1319, 1320, 3299, 2725,
  1791  	2839, 2201, 3071, 2737, 2738, 2712, 2713, 2714, 2158, 982,
  1792  	150, 2774, 2117, 2118, 2775, 3444, 2662, 2754, 897, 2398,
  1793  	896, 2757, 2758, 2859, 2760, 2756, 114, 2768, 2759, 940,
  1794  	113, 100, 101, 985, 1092, 2196, 2393, 1318, 2776, 1319,
  1795  	1320, 2838, 1318, 3095, 1319, 1320, 1318, 2782, 1319, 1320,
  1796  	2481, 2484, 2485, 2486, 2482, 2534, 2483, 2487, 2813, 2899,
  1797  	2537, 2538, 2516, 2815, 2126, 2814, 1573, 1571, 1572, 1570,
  1798  	1318, 1575, 1319, 1320, 1574, 2905, 1777, 2344, 2947, 2916,
  1799  	2917, 2918, 1822, 2920, 2922, 2866, 2867, 1318, 645, 1319,
  1800  	1320, 2858, 2488, 639, 188, 1562, 2570, 2929, 1541, 2160,
  1801  	2961, 1024, 2933, 2934, 2935, 2937, 2938, 2939, 2940, 600,
  1802  	1321, 2941, 2812, 2943, 2944, 2945, 2873, 2234, 2949, 2950,
  1803  	2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 606,
  1804  	1369, 2893, 2890, 1813, 2892, 2717, 2618, 2966, 1321, 2503,
  1805  	2970, 935, 2971, 2973, 927, 2976, 2978, 2900, 2980, 2981,
  1806  	2982, 2983, 2901, 2910, 2053, 920, 2989, 2439, 2642, 2643,
  1807  	2907, 2908, 2645, 2909, 934, 2647, 2911, 3276, 2913, 2751,
  1808  	2915, 2998, 2729, 2731, 2455, 2963, 1321, 2734, 2727, 3356,
  1809  	3165, 3429, 2967, 2513, 1537, 2654, 2655, 2656, 1321, 2968,
  1810  	2316, 3011, 3012, 1321, 2390, 3016, 1900, 2661, 1321, 1359,
  1811  	2663, 2664, 2665, 2094, 3140, 1849, 2666, 2667, 668, 667,
  1812  	1978, 2669, 1321, 665, 2671, 2441, 2469, 2673, 2674, 2675,
  1813  	2676, 1324, 2389, 817, 2429, 2677, 1978, 1978, 1978, 1978,
  1814  	1978, 1549, 1321, 2992, 2480, 2478, 2477, 2687, 2266, 2990,
  1815  	2987, 2988, 2102, 3022, 3018, 1318, 920, 1319, 1320, 2995,
  1816  	3472, 2096, 3002, 2701, 2702, 2703, 2704, 2705, 2706, 2092,
  1817  	2388, 2097, 2707, 2708, 3007, 2709, 3017, 2710, 1321, 3027,
  1818  	2447, 768, 2387, 1318, 767, 1319, 1320, 2386, 3024, 2688,
  1819  	677, 669, 2385, 661, 766, 3031, 3032, 765, 3030, 3036,
  1820  	3029, 2865, 3078, 3079, 1321, 3456, 2384, 2837, 2866, 2867,
  1821  	3037, 3093, 3038, 2587, 2879, 1321, 2589, 2514, 2875, 1302,
  1822  	1513, 1318, 2741, 1319, 1320, 3054, 2383, 3056, 655, 953,
  1823  	3099, 3100, 2902, 1318, 1321, 1319, 1320, 3380, 1318, 2290,
  1824  	1319, 1320, 2095, 1318, 2925, 1319, 1320, 2771, 1512, 1930,
  1825  	1931, 2895, 2896, 3112, 1321, 3387, 3116, 1318, 2847, 1319,
  1826  	1320, 3089, 2382, 1521, 1517, 2750, 2828, 83, 2563, 813,
  1827  	2095, 2095, 2095, 2095, 2095, 2188, 66, 1318, 1518, 1319,
  1828  	1320, 44, 3351, 3127, 3101, 3417, 764, 761, 2376, 1321,
  1829  	2095, 3142, 3143, 2095, 1321, 3144, 2691, 2692, 3131, 2375,
  1830  	3400, 3401, 760, 2058, 2059, 1520, 3402, 1519, 2834, 1958,
  1831  	1298, 3139, 3121, 1318, 1295, 1319, 1320, 1321, 2374, 3146,
  1832  	3493, 1321, 1824, 191, 92, 1321, 191, 35, 3117, 643,
  1833  	34, 33, 32, 31, 649, 2816, 2817, 25, 2371, 1318,
  1834  	24, 1319, 1320, 23, 22, 191, 21, 28, 3129, 20,
  1835  	1318, 19, 1319, 1320, 18, 1521, 1517, 2856, 2850, 1321,
  1836  	191, 3513, 3554, 119, 53, 3160, 3138, 2864, 50, 1318,
  1837  	1518, 1319, 1320, 2370, 48, 127, 126, 1321, 2369, 51,
  1838  	1885, 1321, 47, 1883, 3189, 649, 191, 649, 1067, 1318,
  1839  	45, 1319, 1320, 30, 1321, 1514, 1515, 1520, 2746, 1519,
  1840  	2923, 2367, 29, 17, 16, 2363, 3181, 15, 14, 2362,
  1841  	40, 3161, 3170, 3169, 2932, 13, 3185, 12, 3183, 11,
  1842  	3177, 3179, 7, 6, 1318, 38, 1319, 1320, 37, 1318,
  1843  	27, 1319, 1320, 36, 26, 4, 2550, 2749, 2190, 0,
  1844  	3290, 2749, 3277, 2358, 0, 0, 0, 3193, 0, 3297,
  1845  	3190, 3191, 1318, 0, 1319, 1320, 1318, 0, 1319, 1320,
  1846  	1318, 2356, 1319, 1320, 0, 2321, 0, 0, 0, 3307,
  1847  	3308, 0, 3310, 0, 3311, 3312, 0, 3272, 2310, 3315,
  1848  	3316, 3317, 3274, 3319, 3322, 3320, 3321, 3273, 0, 1885,
  1849  	0, 3289, 1883, 3324, 1318, 0, 1319, 1320, 0, 3331,
  1850  	3333, 3334, 3336, 3338, 3339, 3341, 3301, 3294, 3281, 3293,
  1851  	0, 0, 1318, 0, 1319, 1320, 1318, 0, 1319, 1320,
  1852  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1318,
  1853  	0, 1319, 1320, 0, 0, 0, 0, 0, 0, 3325,
  1854  	0, 0, 0, 3371, 0, 0, 0, 0, 0, 3327,
  1855  	0, 0, 0, 3330, 3367, 0, 0, 3349, 3346, 3347,
  1856  	0, 0, 0, 0, 0, 3348, 0, 2095, 0, 0,
  1857  	3355, 0, 3366, 0, 0, 0, 0, 0, 0, 0,
  1858  	3035, 0, 0, 0, 3364, 3074, 0, 0, 0, 3370,
  1859  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1860  	3048, 3049, 0, 0, 0, 0, 0, 2749, 186, 0,
  1861  	0, 0, 0, 0, 0, 0, 0, 0, 3098, 0,
  1862  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1863  	0, 0, 125, 0, 0, 3372, 0, 0, 0, 0,
  1864  	0, 0, 0, 0, 0, 168, 0, 0, 0, 0,
  1865  	0, 0, 0, 3082, 0, 0, 0, 3086, 3087, 3088,
  1866  	0, 0, 0, 0, 0, 0, 0, 0, 0, 3391,
  1867  	0, 3396, 0, 3118, 0, 3119, 0, 0, 3120, 0,
  1868  	0, 3123, 3124, 0, 3386, 0, 0, 3383, 2510, 0,
  1869  	3128, 3412, 3388, 0, 0, 0, 40, 3413, 3414, 0,
  1870  	3130, 165, 0, 0, 166, 0, 0, 3379, 0, 0,
  1871  	0, 0, 0, 0, 0, 0, 0, 0, 0, 3425,
  1872  	0, 0, 3406, 3147, 3395, 3407, 3148, 185, 3149, 3150,
  1873  	0, 3151, 3405, 3152, 0, 0, 0, 0, 3153, 0,
  1874  	0, 3415, 0, 0, 0, 3450, 3451, 0, 0, 0,
  1875  	0, 0, 0, 2746, 3422, 0, 0, 3427, 0, 3460,
  1876  	3462, 3464, 3432, 3178, 3457, 3458, 3435, 3443, 3430, 3440,
  1877  	3437, 3436, 40, 3434, 3186, 3439, 3438, 3188, 0, 3154,
  1878  	0, 3158, 3159, 0, 3492, 0, 0, 0, 0, 3192,
  1879  	0, 3301, 3445, 3468, 0, 0, 0, 0, 0, 0,
  1880  	0, 3471, 0, 3479, 2750, 3489, 83, 3269, 2750, 3484,
  1881  	0, 0, 0, 0, 3498, 3457, 3458, 0, 0, 0,
  1882  	0, 3496, 0, 3509, 0, 0, 0, 0, 0, 0,
  1883  	0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
  1884  	1372, 3507, 0, 3512, 0, 0, 0, 0, 175, 0,
  1885  	0, 0, 0, 0, 0, 3530, 3532, 3534, 3525, 0,
  1886  	0, 0, 191, 0, 191, 1885, 3527, 191, 1883, 3539,
  1887  	0, 0, 0, 0, 0, 3282, 0, 3538, 3536, 3535,
  1888  	3542, 3540, 0, 0, 0, 0, 3553, 3284, 3285, 3286,
  1889  	3550, 3457, 3458, 0, 0, 0, 0, 0, 649, 3556,
  1890  	649, 649, 3565, 3566, 3562, 0, 3564, 0, 0, 0,
  1891  	0, 0, 0, 0, 0, 0, 0, 3354, 0, 1885,
  1892  	649, 191, 1883, 3571, 3573, 3574, 3321, 0, 3572, 0,
  1893  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1894  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1364,
  1895  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1896  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1897  	0, 0, 160, 0, 2750, 0, 0, 0, 0, 0,
  1898  	0, 0, 0, 0, 0, 0, 0, 0, 1387, 1388,
  1899  	1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398,
  1900  	1399, 1400, 1401, 1402, 1406, 1407, 1408, 1409, 1410, 1411,
  1901  	1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
  1902  	1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431,
  1903  	1432, 1433, 1434, 1435, 1437, 1438, 1439, 1440, 1441, 1442,
  1904  	1443, 1444, 1445, 1446, 1447, 1448, 1466, 1467, 1468, 1469,
  1905  	1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479,
  1906  	0, 0, 0, 3394, 0, 0, 0, 0, 0, 0,
  1907  	0, 0, 0, 0, 3381, 0, 0, 0, 0, 0,
  1908  	0, 0, 0, 0, 0, 0, 3408, 0, 0, 3409,
  1909  	0, 3410, 83, 1364, 0, 0, 0, 3211, 3213, 3212,
  1910  	3230, 3231, 3232, 3233, 3234, 3235, 3236, 716, 0, 0,
  1911  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1912  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1913  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1914  	0, 0, 0, 0, 161, 0, 0, 0, 0, 0,
  1915  	191, 173, 0, 0, 649, 649, 0, 0, 0, 0,
  1916  	0, 0, 0, 3426, 0, 0, 0, 0, 83, 0,
  1917  	191, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1918  	0, 0, 0, 0, 0, 3490, 0, 0, 0, 0,
  1919  	649, 0, 181, 191, 0, 0, 0, 0, 0, 0,
  1920  	0, 0, 0, 0, 0, 649, 0, 0, 0, 0,
  1921  	0, 191, 0, 0, 0, 3504, 0, 3505, 0, 3506,
  1922  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1923  	0, 0, 0, 0, 0, 162, 167, 164, 170, 171,
  1924  	172, 174, 176, 177, 178, 179, 0, 0, 649, 0,
  1925  	0, 180, 182, 183, 184, 0, 0, 0, 812, 0,
  1926  	0, 1364, 0, 0, 3508, 0, 0, 649, 649, 0,
  1927  	649, 0, 649, 649, 0, 649, 649, 649, 649, 649,
  1928  	649, 0, 0, 0, 0, 3551, 0, 3552, 1364, 0,
  1929  	0, 1364, 649, 1364, 191, 0, 0, 0, 0, 0,
  1930  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1931  	0, 0, 0, 0, 191, 0, 0, 628, 0, 0,
  1932  	0, 0, 0, 648, 0, 0, 0, 649, 0, 191,
  1933  	0, 3217, 0, 0, 0, 0, 0, 0, 0, 0,
  1934  	0, 0, 0, 649, 0, 191, 3225, 3226, 0, 0,
  1935  	3251, 3250, 0, 0, 0, 0, 0, 0, 0, 0,
  1936  	0, 191, 0, 0, 0, 0, 0, 0, 191, 0,
  1937  	0, 0, 0, 0, 648, 0, 648, 191, 191, 191,
  1938  	191, 191, 191, 191, 191, 191, 649, 0, 0, 0,
  1939  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1940  	0, 0, 0, 0, 0, 0, 0, 0, 784, 0,
  1941  	695, 788, 697, 785, 786, 0, 693, 696, 787, 0,
  1942  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1943  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1944  	0, 0, 0, 0, 714, 715, 3210, 3214, 3215, 3216,
  1945  	3227, 3228, 3229, 3237, 3239, 747, 3238, 3240, 3241, 3242,
  1946  	3245, 3246, 3247, 3248, 3243, 3244, 3249, 3194, 3198, 3195,
  1947  	3196, 3197, 3209, 3199, 3200, 3201, 3202, 3203, 3204, 3205,
  1948  	3206, 3207, 3208, 3252, 3253, 3254, 3255, 3256, 3257, 3220,
  1949  	3224, 3223, 3221, 3222, 3218, 3219, 0, 0, 0, 2786,
  1950  	0, 0, 0, 1498, 0, 0, 0, 0, 789, 0,
  1951  	790, 0, 0, 794, 0, 0, 0, 796, 795, 0,
  1952  	797, 763, 762, 0, 0, 791, 792, 0, 793, 0,
  1953  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1954  	0, 0, 0, 0, 2787, 0, 0, 0, 0, 0,
  1955  	0, 649, 649, 0, 0, 0, 0, 0, 0, 0,
  1956  	595, 0, 0, 0, 649, 0, 0, 0, 2789, 0,
  1957  	0, 0, 0, 191, 0, 0, 0, 0, 0, 882,
  1958  	0, 0, 0, 0, 0, 0, 2784, 0, 0, 0,
  1959  	0, 0, 0, 3258, 3259, 3260, 3261, 3262, 3263, 3264,
  1960  	3265, 0, 0, 2800, 2801, 0, 0, 0, 0, 0,
  1961  	2785, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1962  	948, 649, 0, 0, 0, 0, 0, 0, 0, 0,
  1963  	0, 1364, 0, 0, 0, 0, 0, 0, 0, 0,
  1964  	0, 0, 649, 2791, 0, 0, 0, 0, 1364, 0,
  1965  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1966  	186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1967  	0, 2556, 0, 649, 649, 0, 0, 0, 0, 0,
  1968  	0, 0, 0, 0, 125, 0, 147, 0, 0, 0,
  1969  	0, 0, 0, 0, 0, 0, 0, 168, 0, 0,
  1970  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1971  	0, 2799, 0, 0, 0, 0, 0, 0, 0, 0,
  1972  	0, 0, 0, 2802, 0, 2018, 0, 0, 158, 0,
  1973  	0, 0, 0, 0, 146, 0, 0, 0, 0, 0,
  1974  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1975  	0, 0, 0, 165, 0, 0, 166, 0, 0, 0,
  1976  	0, 0, 0, 0, 186, 0, 0, 0, 191, 0,
  1977  	0, 0, 0, 649, 0, 1648, 1649, 157, 156, 185,
  1978  	0, 0, 0, 0, 0, 0, 0, 0, 125, 0,
  1979  	0, 0, 0, 0, 0, 0, 0, 191, 0, 0,
  1980  	649, 168, 0, 0, 0, 0, 0, 0, 0, 0,
  1981  	191, 0, 0, 0, 649, 0, 0, 2018, 191, 0,
  1982  	191, 0, 191, 191, 0, 0, 0, 0, 0, 0,
  1983  	0, 0, 0, 0, 0, 0, 0, 649, 0, 2788,
  1984  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1985  	0, 0, 0, 0, 0, 0, 0, 165, 0, 0,
  1986  	166, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1987  	0, 0, 0, 0, 0, 0, 0, 0, 151, 1650,
  1988  	154, 0, 1647, 185, 152, 153, 0, 648, 1281, 648,
  1989  	648, 169, 0, 0, 649, 0, 0, 0, 0, 0,
  1990  	175, 0, 0, 0, 0, 0, 0, 0, 0, 648,
  1991  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1992  	0, 649, 0, 0, 0, 0, 0, 649, 0, 0,
  1993  	0, 0, 0, 0, 0, 0, 769, 0, 1363, 0,
  1994  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1995  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1996  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1997  	0, 0, 0, 0, 649, 0, 0, 0, 0, 649,
  1998  	0, 0, 0, 649, 649, 0, 0, 0, 0, 0,
  1999  	0, 0, 0, 0, 0, 169, 0, 0, 0, 0,
  2000  	0, 647, 0, 0, 175, 0, 0, 0, 0, 0,
  2001  	0, 0, 0, 0, 2792, 0, 0, 0, 2796, 0,
  2002  	0, 191, 0, 0, 160, 2795, 0, 0, 191, 0,
  2003  	0, 0, 0, 0, 0, 0, 0, 191, 191, 0,
  2004  	0, 191, 0, 191, 0, 0, 0, 0, 0, 0,
  2005  	191, 0, 944, 0, 951, 0, 0, 191, 0, 2797,
  2006  	0, 0, 0, 0, 2793, 0, 0, 0, 0, 2794,
  2007  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2008  	0, 0, 1363, 191, 0, 0, 0, 0, 0, 0,
  2009  	0, 0, 649, 0, 0, 0, 1068, 0, 1074, 0,
  2010  	0, 1076, 155, 0, 0, 0, 0, 0, 0, 0,
  2011  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2012  	0, 0, 0, 0, 0, 0, 0, 0, 160, 0,
  2013  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2014  	0, 0, 0, 648, 648, 0, 0, 0, 0, 0,
  2015  	0, 0, 0, 0, 0, 1294, 0, 0, 1364, 0,
  2016  	2018, 0, 0, 148, 0, 0, 149, 0, 0, 0,
  2017  	0, 0, 0, 0, 0, 0, 0, 0, 0, 648,
  2018  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2019  	0, 0, 0, 0, 648, 0, 161, 0, 0, 0,
  2020  	0, 0, 0, 173, 1621, 0, 0, 0, 0, 0,
  2021  	0, 0, 0, 0, 1630, 0, 0, 0, 0, 0,
  2022  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2023  	0, 0, 0, 0, 0, 0, 0, 648, 0, 1656,
  2024  	0, 0, 0, 0, 181, 0, 0, 1665, 0, 0,
  2025  	1363, 1667, 0, 0, 1670, 1671, 648, 648, 0, 648,
  2026  	0, 648, 648, 0, 648, 648, 648, 648, 648, 648,
  2027  	0, 0, 0, 0, 0, 0, 0, 1363, 1702, 1703,
  2028  	1363, 648, 1363, 0, 1708, 0, 0, 162, 167, 164,
  2029  	170, 171, 172, 174, 176, 177, 178, 179, 0, 0,
  2030  	161, 0, 0, 180, 182, 183, 184, 173, 0, 0,
  2031  	0, 191, 0, 0, 0, 0, 648, 0, 0, 191,
  2032  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1770,
  2033  	649, 0, 648, 0, 0, 0, 0, 0, 0, 0,
  2034  	0, 649, 0, 0, 0, 0, 0, 0, 181, 0,
  2035  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2036  	0, 0, 0, 0, 0, 191, 0, 0, 0, 0,
  2037  	191, 0, 0, 0, 0, 648, 0, 0, 0, 0,
  2038  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2039  	0, 162, 167, 164, 170, 171, 172, 174, 176, 177,
  2040  	178, 179, 0, 0, 0, 0, 0, 180, 182, 183,
  2041  	184, 0, 0, 0, 770, 0, 0, 0, 0, 0,
  2042  	0, 0, 0, 0, 0, 0, 0, 1551, 0, 0,
  2043  	0, 0, 0, 0, 0, 0, 0, 0, 649, 0,
  2044  	0, 0, 0, 0, 191, 1568, 0, 0, 0, 0,
  2045  	0, 191, 0, 0, 0, 0, 0, 0, 0, 0,
  2046  	0, 0, 0, 0, 0, 649, 0, 0, 189, 0,
  2047  	0, 596, 649, 0, 0, 0, 0, 0, 0, 0,
  2048  	0, 649, 0, 0, 0, 0, 0, 0, 0, 0,
  2049  	596, 0, 0, 0, 0, 0, 0, 1364, 0, 0,
  2050  	0, 0, 0, 0, 0, 902, 0, 0, 0, 0,
  2051  	191, 191, 191, 191, 191, 0, 0, 0, 0, 0,
  2052  	0, 0, 921, 921, 0, 0, 0, 0, 1707, 0,
  2053  	0, 596, 0, 0, 191, 191, 0, 0, 0, 0,
  2054  	648, 648, 0, 0, 0, 0, 0, 0, 0, 0,
  2055  	0, 0, 0, 648, 0, 0, 0, 191, 0, 0,
  2056  	0, 0, 0, 1752, 0, 1130, 0, 1130, 1130, 0,
  2057  	0, 0, 0, 0, 0, 0, 0, 0, 649, 0,
  2058  	0, 0, 0, 0, 0, 0, 0, 1293, 0, 0,
  2059  	0, 0, 0, 0, 0, 1786, 0, 0, 0, 0,
  2060  	0, 0, 1790, 0, 0, 0, 0, 0, 0, 0,
  2061  	648, 0, 0, 1801, 1802, 1803, 1804, 1805, 1806, 1807,
  2062  	1363, 0, 0, 0, 0, 649, 0, 0, 0, 1893,
  2063  	0, 648, 0, 0, 0, 0, 0, 1363, 0, 0,
  2064  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2065  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2066  	0, 0, 648, 648, 0, 649, 0, 0, 0, 0,
  2067  	0, 0, 0, 649, 0, 0, 0, 0, 0, 0,
  2068  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2069  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2070  	0, 0, 0, 0, 649, 0, 0, 0, 0, 0,
  2071  	0, 0, 0, 0, 648, 0, 0, 0, 191, 0,
  2072  	0, 0, 649, 0, 0, 0, 0, 0, 0, 0,
  2073  	0, 0, 0, 0, 0, 0, 649, 0, 0, 0,
  2074  	1364, 0, 0, 649, 649, 1364, 191, 191, 191, 191,
  2075  	191, 0, 0, 0, 0, 0, 0, 0, 191, 0,
  2076  	0, 0, 648, 0, 191, 0, 191, 0, 0, 191,
  2077  	191, 191, 0, 0, 0, 0, 0, 0, 0, 0,
  2078  	0, 0, 0, 0, 0, 0, 0, 0, 0, 648,
  2079  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2080  	0, 0, 0, 648, 0, 0, 648, 1837, 0, 0,
  2081  	0, 0, 0, 0, 0, 191, 0, 0, 0, 0,
  2082  	0, 1501, 1502, 0, 0, 0, 648, 0, 649, 0,
  2083  	0, 1364, 0, 0, 0, 0, 649, 0, 0, 0,
  2084  	0, 191, 0, 0, 0, 0, 0, 0, 0, 0,
  2085  	0, 0, 0, 0, 0, 191, 0, 1545, 0, 0,
  2086  	82, 42, 43, 84, 0, 0, 0, 0, 0, 0,
  2087  	0, 0, 1563, 0, 191, 0, 0, 191, 0, 0,
  2088  	88, 0, 0, 648, 46, 73, 74, 0, 71, 75,
  2089  	2178, 2179, 2180, 0, 0, 0, 0, 72, 0, 0,
  2090  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2091  	648, 0, 0, 0, 0, 944, 648, 1665, 0, 0,
  2092  	1665, 0, 1665, 0, 0, 0, 59, 0, 2210, 0,
  2093  	0, 0, 0, 0, 1673, 1673, 0, 1673, 91, 1673,
  2094  	1673, 0, 1682, 1673, 1673, 1673, 1673, 1673, 0, 0,
  2095  	0, 0, 0, 0, 0, 0, 0, 0, 649, 944,
  2096  	0, 0, 0, 648, 0, 0, 0, 0, 648, 0,
  2097  	0, 0, 648, 648, 0, 0, 0, 0, 0, 0,
  2098  	0, 0, 0, 0, 0, 0, 0, 191, 0, 0,
  2099  	0, 0, 0, 0, 1750, 0, 0, 0, 0, 0,
  2100  	0, 0, 0, 0, 0, 0, 0, 596, 0, 596,
  2101  	1774, 0, 596, 0, 0, 0, 0, 0, 0, 0,
  2102  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2103  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2104  	0, 0, 0, 191, 2081, 0, 0, 0, 0, 0,
  2105  	0, 0, 2085, 1130, 2088, 0, 0, 1837, 0, 0,
  2106  	0, 0, 0, 0, 0, 0, 596, 0, 0, 0,
  2107  	0, 0, 191, 0, 0, 0, 49, 52, 55, 54,
  2108  	57, 648, 70, 0, 0, 79, 76, 0, 830, 0,
  2109  	2010, 0, 191, 831, 1365, 191, 191, 191, 0, 0,
  2110  	0, 0, 0, 1884, 0, 649, 649, 0, 0, 58,
  2111  	87, 86, 0, 0, 68, 69, 56, 0, 0, 0,
  2112  	0, 0, 77, 78, 0, 0, 0, 0, 0, 0,
  2113  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2114  	0, 0, 0, 0, 0, 0, 0, 1363, 0, 648,
  2115  	0, 0, 649, 649, 649, 649, 0, 0, 0, 0,
  2116  	0, 0, 0, 0, 60, 61, 0, 62, 63, 64,
  2117  	65, 0, 0, 0, 0, 0, 837, 838, 839, 840,
  2118  	841, 842, 843, 844, 845, 846, 847, 848, 849, 850,
  2119  	851, 852, 853, 854, 855, 856, 857, 858, 859, 860,
  2120  	861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
  2121  	871, 872, 873, 874, 875, 876, 877, 878, 1130, 1130,
  2122  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2123  	0, 1825, 0, 0, 0, 0, 0, 0, 1365, 0,
  2124  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2125  	0, 0, 0, 0, 0, 1837, 0, 0, 0, 191,
  2126  	0, 0, 2245, 0, 0, 0, 0, 0, 0, 0,
  2127  	0, 2262, 2263, 0, 0, 2267, 0, 0, 1364, 0,
  2128  	0, 0, 0, 649, 2270, 649, 0, 0, 1879, 0,
  2129  	0, 2273, 0, 0, 0, 596, 0, 0, 0, 0,
  2130  	85, 0, 0, 0, 0, 0, 0, 0, 0, 1895,
  2131  	0, 0, 0, 0, 0, 902, 0, 2276, 0, 648,
  2132  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2133  	648, 0, 0, 0, 0, 0, 0, 0, 596, 0,
  2134  	1928, 1929, 0, 0, 0, 649, 0, 0, 0, 0,
  2135  	0, 0, 0, 0, 0, 0, 596, 0, 191, 0,
  2136  	0, 649, 90, 0, 0, 0, 0, 0, 0, 0,
  2137  	0, 0, 0, 0, 649, 2507, 0, 0, 0, 0,
  2138  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2139  	0, 0, 1130, 0, 0, 0, 0, 0, 0, 0,
  2140  	0, 0, 0, 0, 0, 0, 1365, 0, 0, 0,
  2141  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2142  	0, 0, 0, 0, 649, 0, 0, 648, 649, 649,
  2143  	0, 0, 0, 1365, 0, 0, 1365, 0, 1365, 596,
  2144  	2055, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2145  	0, 0, 0, 0, 648, 0, 0, 649, 0, 1724,
  2146  	0, 648, 0, 0, 0, 1665, 1665, 2067, 67, 0,
  2147  	648, 0, 0, 0, 596, 0, 0, 0, 0, 0,
  2148  	0, 1545, 0, 0, 1130, 0, 1363, 2580, 0, 0,
  2149  	1776, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2150  	0, 0, 0, 0, 944, 0, 596, 0, 0, 0,
  2151  	0, 0, 0, 596, 0, 0, 0, 0, 0, 0,
  2152  	0, 0, 1799, 1800, 596, 596, 596, 596, 596, 596,
  2153  	596, 0, 0, 0, 0, 0, 0, 0, 649, 0,
  2154  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2155  	0, 0, 0, 0, 191, 0, 0, 0, 0, 0,
  2156  	0, 951, 0, 0, 0, 0, 0, 648, 0, 0,
  2157  	0, 0, 649, 191, 0, 0, 0, 0, 0, 0,
  2158  	0, 0, 0, 0, 0, 0, 0, 0, 944, 0,
  2159  	0, 0, 0, 0, 951, 0, 0, 0, 0, 0,
  2160  	0, 0, 0, 0, 2494, 0, 0, 0, 0, 0,
  2161  	0, 0, 0, 0, 648, 0, 0, 0, 0, 0,
  2162  	0, 0, 0, 649, 0, 0, 0, 0, 0, 0,
  2163  	0, 0, 0, 1364, 0, 649, 0, 0, 0, 0,
  2164  	0, 944, 0, 0, 0, 0, 1879, 0, 0, 0,
  2165  	1879, 1879, 0, 0, 648, 0, 0, 0, 0, 649,
  2166  	649, 0, 648, 0, 0, 0, 0, 0, 0, 0,
  2167  	0, 0, 0, 0, 0, 0, 0, 0, 2543, 0,
  2168  	0, 649, 0, 0, 0, 0, 0, 0, 0, 0,
  2169  	0, 0, 0, 648, 0, 191, 649, 0, 0, 0,
  2170  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2171  	0, 648, 0, 0, 0, 0, 0, 0, 596, 0,
  2172  	0, 0, 0, 0, 0, 648, 0, 0, 0, 1363,
  2173  	0, 0, 648, 648, 1363, 0, 0, 0, 0, 649,
  2174  	0, 0, 0, 0, 2592, 2593, 2594, 2595, 2596, 0,
  2175  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2279,
  2176  	0, 649, 0, 0, 0, 0, 0, 0, 1837, 2606,
  2177  	0, 0, 0, 0, 0, 0, 1365, 0, 649, 0,
  2178  	649, 0, 0, 0, 0, 0, 0, 0, 921, 921,
  2179  	0, 2614, 186, 1365, 0, 2819, 0, 0, 0, 0,
  2180  	0, 0, 0, 1644, 0, 0, 0, 0, 0, 0,
  2181  	0, 0, 0, 0, 0, 0, 125, 648, 147, 0,
  2182  	1363, 0, 0, 0, 0, 648, 0, 1130, 0, 168,
  2183  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2184  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2185  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2186  	158, 0, 0, 0, 0, 0, 146, 0, 0, 921,
  2187  	1776, 921, 921, 921, 921, 921, 2898, 0, 0, 0,
  2188  	0, 0, 0, 0, 0, 165, 0, 0, 166, 0,
  2189  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2190  	0, 0, 0, 0, 0, 0, 0, 1648, 1649, 157,
  2191  	156, 185, 0, 1724, 0, 0, 0, 0, 0, 0,
  2192  	0, 0, 0, 0, 0, 0, 0, 0, 921, 0,
  2193  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2194  	0, 0, 902, 0, 0, 0, 0, 648, 0, 0,
  2195  	0, 0, 0, 0, 0, 596, 0, 0, 0, 0,
  2196  	0, 0, 1776, 596, 0, 596, 0, 596, 2104, 0,
  2197  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2198  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2199  	0, 0, 0, 0, 0, 0, 0, 2442, 0, 0,
  2200  	0, 0, 0, 0, 0, 0, 0, 0, 2457, 0,
  2201  	151, 1650, 154, 0, 1647, 0, 152, 153, 0, 0,
  2202  	0, 0, 0, 169, 0, 0, 0, 0, 0, 0,
  2203  	0, 0, 175, 0, 0, 0, 0, 0, 0, 0,
  2204  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2824,
  2205  	3042, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2206  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2207  	0, 0, 0, 0, 0, 2862, 0, 0, 0, 0,
  2208  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2874,
  2209  	0, 0, 0, 0, 648, 648, 0, 0, 0, 0,
  2210  	0, 0, 0, 0, 0, 2539, 0, 0, 2891, 0,
  2211  	0, 2894, 0, 0, 0, 0, 0, 0, 0, 0,
  2212  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2213  	0, 0, 2067, 0, 0, 0, 0, 0, 0, 2564,
  2214  	0, 648, 648, 648, 648, 0, 0, 0, 2569, 0,
  2215  	0, 0, 0, 0, 0, 0, 160, 0, 0, 0,
  2216  	0, 0, 0, 0, 0, 0, 596, 0, 0, 0,
  2217  	0, 0, 0, 596, 0, 0, 0, 0, 0, 0,
  2218  	0, 0, 596, 596, 0, 0, 596, 0, 2269, 0,
  2219  	0, 0, 0, 0, 0, 596, 0, 0, 0, 0,
  2220  	0, 0, 596, 0, 0, 0, 0, 0, 0, 0,
  2221  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2222  	3511, 2991, 0, 0, 0, 0, 0, 0, 596, 0,
  2223  	1590, 0, 0, 0, 155, 0, 0, 0, 0, 0,
  2224  	0, 0, 0, 0, 0, 1879, 0, 0, 0, 0,
  2225  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2226  	0, 0, 0, 0, 0, 0, 0, 1363, 0, 0,
  2227  	0, 0, 648, 0, 648, 0, 0, 0, 0, 0,
  2228  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2229  	0, 0, 1879, 0, 0, 148, 0, 0, 149, 0,
  2230  	0, 0, 0, 1365, 0, 1776, 3052, 0, 0, 0,
  2231  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2232  	0, 0, 0, 0, 0, 0, 3067, 0, 161, 3068,
  2233  	3069, 3070, 2689, 0, 648, 173, 0, 0, 0, 0,
  2234  	1130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2235  	648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2236  	0, 0, 0, 648, 0, 0, 0, 0, 0, 0,
  2237  	0, 1673, 0, 0, 1578, 0, 181, 0, 0, 0,
  2238  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2726,
  2239  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2240  	0, 0, 0, 1130, 0, 0, 0, 0, 0, 0,
  2241  	2753, 1673, 0, 648, 0, 0, 0, 648, 648, 162,
  2242  	167, 164, 170, 171, 172, 174, 176, 177, 178, 179,
  2243  	0, 0, 0, 0, 0, 180, 182, 183, 184, 0,
  2244  	0, 0, 0, 0, 0, 0, 648, 0, 0, 0,
  2245  	0, 0, 0, 0, 0, 0, 596, 0, 1591, 0,
  2246  	0, 0, 0, 0, 1724, 0, 0, 0, 0, 0,
  2247  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2248  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2249  	0, 0, 0, 0, 0, 944, 0, 0, 0, 0,
  2250  	0, 0, 0, 2067, 0, 0, 0, 0, 0, 0,
  2251  	596, 0, 0, 0, 0, 596, 0, 0, 0, 0,
  2252  	1604, 1607, 1608, 1609, 1610, 1611, 1612, 648, 1613, 1614,
  2253  	1616, 1617, 1615, 1618, 1619, 1592, 1593, 1594, 1595, 1576,
  2254  	1577, 1605, 0, 1579, 0, 1580, 1581, 1582, 1583, 1584,
  2255  	1585, 1586, 1587, 1588, 0, 0, 1589, 1596, 1597, 1598,
  2256  	1599, 648, 1600, 1601, 1602, 1603, 0, 0, 0, 0,
  2257  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2258  	0, 0, 0, 0, 0, 0, 0, 0, 0, 596,
  2259  	0, 0, 0, 0, 0, 0, 2549, 0, 0, 0,
  2260  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2261  	0, 0, 648, 0, 0, 0, 0, 0, 0, 0,
  2262  	0, 0, 1363, 0, 648, 2962, 0, 0, 0, 0,
  2263  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2264  	0, 0, 1365, 0, 0, 0, 0, 0, 648, 648,
  2265  	0, 0, 0, 0, 0, 596, 596, 596, 596, 596,
  2266  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2267  	648, 0, 0, 0, 0, 0, 0, 0, 0, 596,
  2268  	596, 0, 0, 0, 0, 648, 0, 0, 0, 0,
  2269  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2270  	0, 0, 596, 0, 0, 0, 1606, 0, 0, 0,
  2271  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2272  	0, 0, 0, 0, 0, 0, 921, 0, 648, 0,
  2273  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2274  	0, 0, 0, 0, 1590, 0, 0, 0, 0, 0,
  2275  	648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2276  	0, 0, 0, 0, 0, 0, 0, 648, 0, 648,
  2277  	0, 0, 2067, 2067, 0, 0, 0, 0, 0, 0,
  2278  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2279  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2280  	0, 0, 0, 0, 0, 0, 0, 3392, 0, 0,
  2281  	0, 0, 0, 0, 0, 0, 0, 921, 0, 3106,
  2282  	3107, 3108, 3109, 0, 0, 0, 0, 0, 0, 0,
  2283  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2284  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2285  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2286  	0, 0, 0, 596, 0, 0, 0, 0, 0, 0,
  2287  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2288  	0, 0, 0, 0, 0, 1365, 0, 0, 1578, 0,
  2289  	1365, 596, 596, 596, 596, 596, 0, 0, 0, 0,
  2290  	0, 0, 0, 2769, 0, 0, 0, 0, 0, 1724,
  2291  	0, 596, 0, 0, 596, 2777, 1776, 0, 0, 0,
  2292  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2293  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2294  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2295  	3182, 0, 3184, 0, 0, 0, 0, 0, 0, 0,
  2296  	596, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2297  	0, 0, 1591, 0, 0, 0, 1365, 0, 0, 0,
  2298  	0, 0, 0, 0, 0, 0, 596, 0, 0, 0,
  2299  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2300  	596, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2301  	0, 0, 2067, 0, 0, 0, 0, 0, 0, 596,
  2302  	0, 0, 596, 0, 0, 0, 0, 0, 3292, 0,
  2303  	0, 0, 0, 0, 1604, 1607, 1608, 1609, 1610, 1611,
  2304  	1612, 1130, 1613, 1614, 1616, 1617, 1615, 1618, 1619, 1592,
  2305  	1593, 1594, 1595, 1576, 1577, 1605, 0, 1579, 0, 1580,
  2306  	1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 0, 0,
  2307  	1589, 1596, 1597, 1598, 1599, 0, 1600, 1601, 1602, 1603,
  2308  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2309  	0, 3342, 0, 0, 0, 3342, 3342, 0, 0, 0,
  2310  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2311  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2312  	0, 0, 0, 0, 2067, 0, 0, 0, 0, 0,
  2313  	0, 0, 596, 0, 0, 0, 0, 0, 0, 0,
  2314  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2315  	0, 0, 0, 0, 0, 830, 0, 0, 0, 0,
  2316  	831, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2317  	1884, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2318  	0, 0, 0, 0, 0, 0, 0, 0, 596, 0,
  2319  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2320  	0, 0, 0, 0, 0, 2067, 0, 0, 0, 0,
  2321  	0, 0, 0, 0, 0, 0, 0, 596, 0, 0,
  2322  	1606, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2323  	0, 0, 0, 0, 0, 0, 0, 596, 0, 2067,
  2324  	596, 596, 596, 837, 838, 839, 840, 841, 842, 843,
  2325  	844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
  2326  	854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
  2327  	864, 865, 866, 867, 868, 869, 870, 871, 872, 873,
  2328  	874, 875, 876, 877, 878, 0, 0, 0, 0, 0,
  2329  	3419, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2330  	0, 0, 3423, 0, 0, 0, 0, 0, 0, 0,
  2331  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2332  	0, 0, 0, 0, 0, 0, 1130, 1130, 0, 0,
  2333  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2334  	0, 0, 0, 0, 0, 0, 0, 0, 3466, 0,
  2335  	0, 0, 0, 0, 0, 0, 0, 91, 0, 0,
  2336  	830, 0, 0, 3474, 818, 831, 832, 833, 834, 819,
  2337  	0, 0, 820, 821, 0, 822, 0, 0, 0, 0,
  2338  	0, 0, 0, 0, 0, 0, 0, 0, 0, 827,
  2339  	835, 836, 0, 0, 0, 0, 0, 0, 0, 0,
  2340  	0, 0, 0, 0, 1724, 0, 3419, 0, 0, 0,
  2341  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2342  	0, 0, 0, 1365, 0, 0, 0, 0, 2067, 0,
  2343  	0, 0, 0, 0, 0, 0, 2868, 2869, 0, 0,
  2344  	0, 0, 0, 0, 0, 2962, 0, 3474, 837, 838,
  2345  	839, 840, 841, 842, 843, 844, 845, 846, 847, 848,
  2346  	849, 850, 851, 852, 853, 854, 855, 856, 857, 858,
  2347  	859, 860, 861, 862, 863, 864, 865, 866, 867, 868,
  2348  	869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
  2349  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2350  	0, 0, 0, 1724, 0, 0, 0, 0, 0, 0,
  2351  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2352  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2353  	0, 2870, 0, 0, 0, 0, 0, 0, 0, 0,
  2354  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2355  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2356  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2357  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2358  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2359  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2360  	0, 0, 0, 0, 0, 0, 0, 0, 2871, 2872,
  2361  	0, 0, 0, 0, 0, 383, 0, 0, 0, 1264,
  2362  	1249, 502, 0, 1192, 1267, 1161, 1180, 1277, 1183, 1186,
  2363  	1228, 1140, 1206, 402, 1177, 1133, 1165, 1135, 1172, 1136,
  2364  	1163, 1194, 260, 1160, 1251, 1210, 1266, 353, 257, 1142,
  2365  	1166, 416, 1182, 198, 1230, 471, 244, 364, 361, 510,
  2366  	272, 263, 259, 242, 306, 372, 414, 492, 408, 1273,
  2367  	357, 1216, 0, 481, 387, 0, 0, 0, 1196, 1255,
  2368  	1204, 1242, 1191, 1229, 1150, 1215, 1268, 1178, 1225, 1269,
  2369  	312, 240, 314, 197, 399, 482, 276, 0, 0, 1724,
  2370  	0, 3446, 638, 0, 0, 0, 0, 3447, 0, 0,
  2371  	0, 0, 230, 0, 0, 237, 0, 0, 596, 338,
  2372  	347, 346, 327, 328, 330, 332, 337, 344, 350, 1174,
  2373  	1222, 1263, 1175, 1224, 255, 310, 262, 254, 507, 1274,
  2374  	1254, 1139, 1203, 1262, 0, 0, 221, 1265, 1198, 0,
  2375  	1227, 0, 1280, 1134, 1218, 0, 1137, 1141, 1276, 1258,
  2376  	1169, 265, 0, 0, 0, 0, 0, 0, 0, 1195,
  2377  	1205, 1239, 1243, 1189, 0, 0, 0, 0, 1365, 0,
  2378  	0, 1167, 0, 1214, 0, 0, 0, 1146, 1138, 0,
  2379  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2380  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2381  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2382  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2383  	0, 1193, 0, 0, 0, 0, 1149, 0, 1168, 1240,
  2384  	1724, 1132, 287, 1143, 388, 247, 0, 438, 1247, 1257,
  2385  	1190, 549, 1261, 1188, 1187, 1234, 1147, 1253, 1181, 352,
  2386  	1145, 319, 193, 217, 0, 1179, 398, 446, 458, 1252,
  2387  	1164, 1173, 245, 1171, 456, 412, 527, 225, 274, 443,
  2388  	418, 454, 426, 277, 1213, 1232, 455, 359, 512, 436,
  2389  	524, 550, 551, 253, 392, 536, 496, 544, 568, 218,
  2390  	250, 406, 489, 530, 478, 384, 508, 509, 318, 477,
  2391  	285, 196, 356, 556, 216, 464, 358, 234, 223, 514,
  2392  	533, 279, 441, 563, 205, 491, 522, 231, 468, 0,
  2393  	0, 570, 239, 488, 207, 519, 487, 380, 315, 316,
  2394  	206, 0, 442, 258, 283, 0, 0, 248, 401, 516,
  2395  	517, 246, 571, 220, 543, 212, 1144, 542, 394, 511,
  2396  	520, 381, 370, 211, 518, 379, 369, 323, 342, 343,
  2397  	270, 296, 433, 362, 434, 295, 297, 390, 389, 391,
  2398  	200, 531, 0, 201, 0, 483, 532, 572, 226, 227,
  2399  	229, 1159, 269, 273, 281, 284, 292, 293, 302, 354,
  2400  	405, 432, 428, 437, 1248, 506, 525, 537, 548, 554,
  2401  	555, 557, 558, 559, 560, 561, 564, 562, 393, 300,
  2402  	479, 322, 360, 1237, 1279, 411, 457, 232, 529, 480,
  2403  	1154, 1158, 1152, 1219, 1153, 1208, 1209, 1155, 1270, 1271,
  2404  	1272, 573, 574, 575, 576, 577, 578, 579, 580, 581,
  2405  	582, 583, 584, 585, 586, 587, 588, 589, 590, 0,
  2406  	1241, 1148, 0, 1156, 1157, 1250, 1259, 1260, 591, 371,
  2407  	470, 526, 324, 336, 339, 329, 348, 0, 349, 325,
  2408  	326, 331, 333, 334, 335, 340, 341, 345, 351, 241,
  2409  	203, 377, 385, 505, 301, 208, 209, 210, 498, 499,
  2410  	500, 501, 540, 541, 545, 447, 448, 449, 450, 282,
  2411  	535, 298, 453, 452, 320, 321, 366, 435, 1212, 192,
  2412  	213, 355, 1275, 439, 278, 569, 539, 534, 199, 215,
  2413  	1151, 252, 1162, 1170, 0, 1176, 1184, 1185, 1197, 1199,
  2414  	1200, 1201, 1202, 1220, 1221, 1223, 1231, 1233, 1236, 1238,
  2415  	1245, 1256, 1278, 194, 195, 202, 214, 224, 228, 235,
  2416  	251, 266, 268, 275, 288, 299, 307, 308, 311, 317,
  2417  	367, 373, 374, 375, 376, 395, 396, 397, 400, 403,
  2418  	404, 407, 409, 410, 413, 417, 421, 422, 423, 425,
  2419  	427, 429, 440, 445, 459, 460, 461, 462, 463, 466,
  2420  	467, 472, 473, 474, 475, 476, 484, 485, 490, 513,
  2421  	515, 528, 546, 552, 465, 290, 291, 430, 431, 303,
  2422  	304, 566, 567, 289, 523, 553, 521, 565, 547, 424,
  2423  	365, 1211, 1217, 368, 271, 294, 309, 1226, 538, 486,
  2424  	219, 451, 280, 243, 1244, 1246, 204, 238, 222, 249,
  2425  	264, 267, 313, 378, 386, 415, 420, 286, 261, 236,
  2426  	444, 233, 469, 493, 494, 495, 497, 382, 256, 419,
  2427  	1207, 1235, 363, 503, 504, 305, 383, 0, 0, 0,
  2428  	1264, 1249, 502, 0, 1192, 1267, 1161, 1180, 1277, 1183,
  2429  	1186, 1228, 1140, 1206, 402, 1177, 1133, 1165, 1135, 1172,
  2430  	1136, 1163, 1194, 260, 1160, 1251, 1210, 1266, 353, 257,
  2431  	1142, 1166, 416, 1182, 198, 1230, 471, 244, 364, 361,
  2432  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  2433  	1273, 357, 1216, 0, 481, 387, 0, 0, 0, 1196,
  2434  	1255, 1204, 1242, 1191, 1229, 1150, 1215, 1268, 1178, 1225,
  2435  	1269, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  2436  	0, 0, 0, 190, 0, 0, 0, 0, 0, 0,
  2437  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  2438  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  2439  	1174, 1222, 1263, 1175, 1224, 255, 310, 262, 254, 507,
  2440  	1274, 1254, 1139, 1203, 1262, 0, 0, 221, 1265, 1198,
  2441  	0, 1227, 0, 1280, 1134, 1218, 0, 1137, 1141, 1276,
  2442  	1258, 1169, 265, 0, 0, 0, 0, 0, 0, 0,
  2443  	1195, 1205, 1239, 1243, 1189, 0, 0, 0, 0, 0,
  2444  	2778, 0, 1167, 0, 1214, 0, 0, 0, 1146, 1138,
  2445  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2446  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2447  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2448  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2449  	0, 0, 1193, 0, 0, 0, 0, 1149, 0, 1168,
  2450  	1240, 0, 1132, 287, 1143, 388, 247, 0, 438, 1247,
  2451  	1257, 1190, 549, 1261, 1188, 1187, 1234, 1147, 1253, 1181,
  2452  	352, 1145, 319, 193, 217, 0, 1179, 398, 446, 458,
  2453  	1252, 1164, 1173, 245, 1171, 456, 412, 527, 225, 274,
  2454  	443, 418, 454, 426, 277, 1213, 1232, 455, 359, 512,
  2455  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  2456  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  2457  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  2458  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  2459  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  2460  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  2461  	516, 517, 246, 571, 220, 543, 212, 1144, 542, 394,
  2462  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  2463  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  2464  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  2465  	227, 229, 1159, 269, 273, 281, 284, 292, 293, 302,
  2466  	354, 405, 432, 428, 437, 1248, 506, 525, 537, 548,
  2467  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  2468  	300, 479, 322, 360, 1237, 1279, 411, 457, 232, 529,
  2469  	480, 1154, 1158, 1152, 1219, 1153, 1208, 1209, 1155, 1270,
  2470  	1271, 1272, 573, 574, 575, 576, 577, 578, 579, 580,
  2471  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  2472  	0, 1241, 1148, 0, 1156, 1157, 1250, 1259, 1260, 591,
  2473  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  2474  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  2475  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  2476  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  2477  	282, 535, 298, 453, 452, 320, 321, 366, 435, 1212,
  2478  	192, 213, 355, 1275, 439, 278, 569, 539, 534, 199,
  2479  	215, 1151, 252, 1162, 1170, 0, 1176, 1184, 1185, 1197,
  2480  	1199, 1200, 1201, 1202, 1220, 1221, 1223, 1231, 1233, 1236,
  2481  	1238, 1245, 1256, 1278, 194, 195, 202, 214, 224, 228,
  2482  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  2483  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  2484  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  2485  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  2486  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  2487  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  2488  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  2489  	424, 365, 1211, 1217, 368, 271, 294, 309, 1226, 538,
  2490  	486, 219, 451, 280, 243, 1244, 1246, 204, 238, 222,
  2491  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  2492  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  2493  	419, 1207, 1235, 363, 503, 504, 305, 383, 0, 0,
  2494  	0, 1264, 1249, 502, 0, 1192, 1267, 1161, 1180, 1277,
  2495  	1183, 1186, 1228, 1140, 1206, 402, 1177, 1133, 1165, 1135,
  2496  	1172, 1136, 1163, 1194, 260, 1160, 1251, 1210, 1266, 353,
  2497  	257, 1142, 1166, 416, 1182, 198, 1230, 471, 244, 364,
  2498  	361, 510, 272, 263, 259, 242, 306, 372, 414, 492,
  2499  	408, 1273, 357, 1216, 0, 481, 387, 0, 0, 0,
  2500  	1196, 1255, 1204, 1242, 1191, 1229, 1150, 1215, 1268, 1178,
  2501  	1225, 1269, 312, 240, 314, 197, 399, 482, 276, 0,
  2502  	0, 0, 0, 0, 638, 0, 0, 0, 0, 0,
  2503  	0, 0, 0, 0, 230, 0, 0, 237, 0, 0,
  2504  	0, 338, 347, 346, 327, 328, 330, 332, 337, 344,
  2505  	350, 1174, 1222, 1263, 1175, 1224, 255, 310, 262, 254,
  2506  	507, 1274, 1254, 1139, 1203, 1262, 0, 0, 221, 1265,
  2507  	1198, 0, 1227, 0, 1280, 1134, 1218, 0, 1137, 1141,
  2508  	1276, 1258, 1169, 265, 0, 0, 0, 0, 0, 0,
  2509  	0, 1195, 1205, 1239, 1243, 1189, 0, 0, 0, 0,
  2510  	0, 2739, 0, 1167, 0, 1214, 0, 0, 0, 1146,
  2511  	1138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2512  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2513  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2514  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2515  	0, 0, 0, 1193, 0, 0, 0, 0, 1149, 0,
  2516  	1168, 1240, 0, 1132, 287, 1143, 388, 247, 0, 438,
  2517  	1247, 1257, 1190, 549, 1261, 1188, 1187, 1234, 1147, 1253,
  2518  	1181, 352, 1145, 319, 193, 217, 0, 1179, 398, 446,
  2519  	458, 1252, 1164, 1173, 245, 1171, 456, 412, 527, 225,
  2520  	274, 443, 418, 454, 426, 277, 1213, 1232, 455, 359,
  2521  	512, 436, 524, 550, 551, 253, 392, 536, 496, 544,
  2522  	568, 218, 250, 406, 489, 530, 478, 384, 508, 509,
  2523  	318, 477, 285, 196, 356, 556, 216, 464, 358, 234,
  2524  	223, 514, 533, 279, 441, 563, 205, 491, 522, 231,
  2525  	468, 0, 0, 570, 239, 488, 207, 519, 487, 380,
  2526  	315, 316, 206, 0, 442, 258, 283, 0, 0, 248,
  2527  	401, 516, 517, 246, 571, 220, 543, 212, 1144, 542,
  2528  	394, 511, 520, 381, 370, 211, 518, 379, 369, 323,
  2529  	342, 343, 270, 296, 433, 362, 434, 295, 297, 390,
  2530  	389, 391, 200, 531, 0, 201, 0, 483, 532, 572,
  2531  	226, 227, 229, 1159, 269, 273, 281, 284, 292, 293,
  2532  	302, 354, 405, 432, 428, 437, 1248, 506, 525, 537,
  2533  	548, 554, 555, 557, 558, 559, 560, 561, 564, 562,
  2534  	393, 300, 479, 322, 360, 1237, 1279, 411, 457, 232,
  2535  	529, 480, 1154, 1158, 1152, 1219, 1153, 1208, 1209, 1155,
  2536  	1270, 1271, 1272, 573, 574, 575, 576, 577, 578, 579,
  2537  	580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
  2538  	590, 0, 1241, 1148, 0, 1156, 1157, 1250, 1259, 1260,
  2539  	591, 371, 470, 526, 324, 336, 339, 329, 348, 0,
  2540  	349, 325, 326, 331, 333, 334, 335, 340, 341, 345,
  2541  	351, 241, 203, 377, 385, 505, 301, 208, 209, 210,
  2542  	498, 499, 500, 501, 540, 541, 545, 447, 448, 449,
  2543  	450, 282, 535, 298, 453, 452, 320, 321, 366, 435,
  2544  	1212, 192, 213, 355, 1275, 439, 278, 569, 539, 534,
  2545  	199, 215, 1151, 252, 1162, 1170, 0, 1176, 1184, 1185,
  2546  	1197, 1199, 1200, 1201, 1202, 1220, 1221, 1223, 1231, 1233,
  2547  	1236, 1238, 1245, 1256, 1278, 194, 195, 202, 214, 224,
  2548  	228, 235, 251, 266, 268, 275, 288, 299, 307, 308,
  2549  	311, 317, 367, 373, 374, 375, 376, 395, 396, 397,
  2550  	400, 403, 404, 407, 409, 410, 413, 417, 421, 422,
  2551  	423, 425, 427, 429, 440, 445, 459, 460, 461, 462,
  2552  	463, 466, 467, 472, 473, 474, 475, 476, 484, 485,
  2553  	490, 513, 515, 528, 546, 552, 465, 290, 291, 430,
  2554  	431, 303, 304, 566, 567, 289, 523, 553, 521, 565,
  2555  	547, 424, 365, 1211, 1217, 368, 271, 294, 309, 1226,
  2556  	538, 486, 219, 451, 280, 243, 1244, 1246, 204, 238,
  2557  	222, 249, 264, 267, 313, 378, 386, 415, 420, 286,
  2558  	261, 236, 444, 233, 469, 493, 494, 495, 497, 382,
  2559  	256, 419, 1207, 1235, 363, 503, 504, 305, 383, 0,
  2560  	0, 0, 1264, 1249, 502, 0, 1192, 1267, 1161, 1180,
  2561  	1277, 1183, 1186, 1228, 1140, 1206, 402, 1177, 1133, 1165,
  2562  	1135, 1172, 1136, 1163, 1194, 260, 1160, 1251, 1210, 1266,
  2563  	353, 257, 1142, 1166, 416, 1182, 198, 1230, 471, 244,
  2564  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  2565  	492, 408, 1273, 357, 1216, 0, 481, 387, 0, 0,
  2566  	0, 1196, 1255, 1204, 1242, 1191, 1229, 1150, 1215, 1268,
  2567  	1178, 1225, 1269, 312, 240, 314, 197, 399, 482, 276,
  2568  	0, 0, 0, 0, 0, 814, 0, 0, 0, 0,
  2569  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  2570  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  2571  	344, 350, 1174, 1222, 1263, 1175, 1224, 255, 310, 262,
  2572  	254, 507, 1274, 1254, 1139, 1203, 1262, 0, 0, 221,
  2573  	1265, 1198, 0, 1227, 0, 1280, 1134, 1218, 0, 1137,
  2574  	1141, 1276, 1258, 1169, 265, 0, 0, 0, 0, 0,
  2575  	0, 0, 1195, 1205, 1239, 1243, 1189, 0, 0, 0,
  2576  	0, 0, 2083, 0, 1167, 0, 1214, 0, 0, 0,
  2577  	1146, 1138, 0, 0, 0, 0, 0, 0, 0, 0,
  2578  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2579  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2580  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2581  	0, 0, 0, 0, 1193, 0, 0, 0, 0, 1149,
  2582  	0, 1168, 1240, 0, 1132, 287, 1143, 388, 247, 0,
  2583  	438, 1247, 1257, 1190, 549, 1261, 1188, 1187, 1234, 1147,
  2584  	1253, 1181, 352, 1145, 319, 193, 217, 0, 1179, 398,
  2585  	446, 458, 1252, 1164, 1173, 245, 1171, 456, 412, 527,
  2586  	225, 274, 443, 418, 454, 426, 277, 1213, 1232, 455,
  2587  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  2588  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  2589  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  2590  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  2591  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  2592  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  2593  	248, 401, 516, 517, 246, 571, 220, 543, 212, 1144,
  2594  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  2595  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  2596  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  2597  	572, 226, 227, 229, 1159, 269, 273, 281, 284, 292,
  2598  	293, 302, 354, 405, 432, 428, 437, 1248, 506, 525,
  2599  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  2600  	562, 393, 300, 479, 322, 360, 1237, 1279, 411, 457,
  2601  	232, 529, 480, 1154, 1158, 1152, 1219, 1153, 1208, 1209,
  2602  	1155, 1270, 1271, 1272, 573, 574, 575, 576, 577, 578,
  2603  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  2604  	589, 590, 0, 1241, 1148, 0, 1156, 1157, 1250, 1259,
  2605  	1260, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  2606  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  2607  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  2608  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  2609  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  2610  	435, 1212, 192, 213, 355, 1275, 439, 278, 569, 539,
  2611  	534, 199, 215, 1151, 252, 1162, 1170, 0, 1176, 1184,
  2612  	1185, 1197, 1199, 1200, 1201, 1202, 1220, 1221, 1223, 1231,
  2613  	1233, 1236, 1238, 1245, 1256, 1278, 194, 195, 202, 214,
  2614  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  2615  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  2616  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  2617  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  2618  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  2619  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  2620  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  2621  	565, 547, 424, 365, 1211, 1217, 368, 271, 294, 309,
  2622  	1226, 538, 486, 219, 451, 280, 243, 1244, 1246, 204,
  2623  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  2624  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  2625  	382, 256, 419, 1207, 1235, 363, 503, 504, 305, 383,
  2626  	0, 0, 0, 1264, 1249, 502, 0, 1192, 1267, 1161,
  2627  	1180, 1277, 1183, 1186, 1228, 1140, 1206, 402, 1177, 1133,
  2628  	1165, 1135, 1172, 1136, 1163, 1194, 260, 1160, 1251, 1210,
  2629  	1266, 353, 257, 1142, 1166, 416, 1182, 198, 1230, 471,
  2630  	244, 364, 361, 510, 272, 263, 259, 242, 306, 372,
  2631  	414, 492, 408, 1273, 357, 1216, 0, 481, 387, 0,
  2632  	0, 0, 1196, 1255, 1204, 1242, 1191, 1229, 1150, 1215,
  2633  	1268, 1178, 1225, 1269, 312, 240, 314, 197, 399, 482,
  2634  	276, 0, 91, 0, 0, 0, 638, 0, 0, 0,
  2635  	0, 0, 0, 0, 0, 0, 230, 0, 0, 237,
  2636  	0, 0, 0, 338, 347, 346, 327, 328, 330, 332,
  2637  	337, 344, 350, 1174, 1222, 1263, 1175, 1224, 255, 310,
  2638  	262, 254, 507, 1274, 1254, 1139, 1203, 1262, 0, 0,
  2639  	221, 1265, 1198, 0, 1227, 0, 1280, 1134, 1218, 0,
  2640  	1137, 1141, 1276, 1258, 1169, 265, 0, 0, 0, 0,
  2641  	0, 0, 0, 1195, 1205, 1239, 1243, 1189, 0, 0,
  2642  	0, 0, 0, 0, 0, 1167, 0, 1214, 0, 0,
  2643  	0, 1146, 1138, 0, 0, 0, 0, 0, 0, 0,
  2644  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2645  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2646  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2647  	0, 0, 0, 0, 0, 1193, 0, 0, 0, 0,
  2648  	1149, 0, 1168, 1240, 0, 1132, 287, 1143, 388, 247,
  2649  	0, 438, 1247, 1257, 1190, 549, 1261, 1188, 1187, 1234,
  2650  	1147, 1253, 1181, 352, 1145, 319, 193, 217, 0, 1179,
  2651  	398, 446, 458, 1252, 1164, 1173, 245, 1171, 456, 412,
  2652  	527, 225, 274, 443, 418, 454, 426, 277, 1213, 1232,
  2653  	455, 359, 512, 436, 524, 550, 551, 253, 392, 536,
  2654  	496, 544, 568, 218, 250, 406, 489, 530, 478, 384,
  2655  	508, 509, 318, 477, 285, 196, 356, 556, 216, 464,
  2656  	358, 234, 223, 514, 533, 279, 441, 563, 205, 491,
  2657  	522, 231, 468, 0, 0, 570, 239, 488, 207, 519,
  2658  	487, 380, 315, 316, 206, 0, 442, 258, 283, 0,
  2659  	0, 248, 401, 516, 517, 246, 571, 220, 543, 212,
  2660  	1144, 542, 394, 511, 520, 381, 370, 211, 518, 379,
  2661  	369, 323, 342, 343, 270, 296, 433, 362, 434, 295,
  2662  	297, 390, 389, 391, 200, 531, 0, 201, 0, 483,
  2663  	532, 572, 226, 227, 229, 1159, 269, 273, 281, 284,
  2664  	292, 293, 302, 354, 405, 432, 428, 437, 1248, 506,
  2665  	525, 537, 548, 554, 555, 557, 558, 559, 560, 561,
  2666  	564, 562, 393, 300, 479, 322, 360, 1237, 1279, 411,
  2667  	457, 232, 529, 480, 1154, 1158, 1152, 1219, 1153, 1208,
  2668  	1209, 1155, 1270, 1271, 1272, 573, 574, 575, 576, 577,
  2669  	578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
  2670  	588, 589, 590, 0, 1241, 1148, 0, 1156, 1157, 1250,
  2671  	1259, 1260, 591, 371, 470, 526, 324, 336, 339, 329,
  2672  	348, 0, 349, 325, 326, 331, 333, 334, 335, 340,
  2673  	341, 345, 351, 241, 203, 377, 385, 505, 301, 208,
  2674  	209, 210, 498, 499, 500, 501, 540, 541, 545, 447,
  2675  	448, 449, 450, 282, 535, 298, 453, 452, 320, 321,
  2676  	366, 435, 1212, 192, 213, 355, 1275, 439, 278, 569,
  2677  	539, 534, 199, 215, 1151, 252, 1162, 1170, 0, 1176,
  2678  	1184, 1185, 1197, 1199, 1200, 1201, 1202, 1220, 1221, 1223,
  2679  	1231, 1233, 1236, 1238, 1245, 1256, 1278, 194, 195, 202,
  2680  	214, 224, 228, 235, 251, 266, 268, 275, 288, 299,
  2681  	307, 308, 311, 317, 367, 373, 374, 375, 376, 395,
  2682  	396, 397, 400, 403, 404, 407, 409, 410, 413, 417,
  2683  	421, 422, 423, 425, 427, 429, 440, 445, 459, 460,
  2684  	461, 462, 463, 466, 467, 472, 473, 474, 475, 476,
  2685  	484, 485, 490, 513, 515, 528, 546, 552, 465, 290,
  2686  	291, 430, 431, 303, 304, 566, 567, 289, 523, 553,
  2687  	521, 565, 547, 424, 365, 1211, 1217, 368, 271, 294,
  2688  	309, 1226, 538, 486, 219, 451, 280, 243, 1244, 1246,
  2689  	204, 238, 222, 249, 264, 267, 313, 378, 386, 415,
  2690  	420, 286, 261, 236, 444, 233, 469, 493, 494, 495,
  2691  	497, 382, 256, 419, 1207, 1235, 363, 503, 504, 305,
  2692  	383, 0, 0, 0, 1264, 1249, 502, 0, 1192, 1267,
  2693  	1161, 1180, 1277, 1183, 1186, 1228, 1140, 1206, 402, 1177,
  2694  	1133, 1165, 1135, 1172, 1136, 1163, 1194, 260, 1160, 1251,
  2695  	1210, 1266, 353, 257, 1142, 1166, 416, 1182, 198, 1230,
  2696  	471, 244, 364, 361, 510, 272, 263, 259, 242, 306,
  2697  	372, 414, 492, 408, 1273, 357, 1216, 0, 481, 387,
  2698  	0, 0, 0, 1196, 1255, 1204, 1242, 1191, 1229, 1150,
  2699  	1215, 1268, 1178, 1225, 1269, 312, 240, 314, 197, 399,
  2700  	482, 276, 0, 0, 0, 0, 0, 638, 0, 0,
  2701  	0, 0, 0, 0, 0, 0, 0, 230, 0, 0,
  2702  	237, 0, 0, 0, 338, 347, 346, 327, 328, 330,
  2703  	332, 337, 344, 350, 1174, 1222, 1263, 1175, 1224, 255,
  2704  	310, 262, 254, 507, 1274, 1254, 1139, 1203, 1262, 0,
  2705  	0, 221, 1265, 1198, 0, 1227, 0, 1280, 1134, 1218,
  2706  	0, 1137, 1141, 1276, 1258, 1169, 265, 0, 0, 0,
  2707  	0, 0, 0, 0, 1195, 1205, 1239, 1243, 1189, 0,
  2708  	0, 0, 0, 0, 0, 0, 1167, 0, 1214, 0,
  2709  	0, 0, 1146, 1138, 0, 0, 0, 0, 0, 0,
  2710  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2711  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2712  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2713  	0, 0, 0, 0, 0, 0, 1193, 0, 0, 0,
  2714  	0, 1149, 0, 1168, 1240, 0, 1132, 287, 1143, 388,
  2715  	247, 0, 438, 1247, 1257, 1190, 549, 1261, 1188, 1187,
  2716  	1234, 1147, 1253, 1181, 352, 1145, 319, 193, 217, 0,
  2717  	1179, 398, 446, 458, 1252, 1164, 1173, 245, 1171, 456,
  2718  	412, 527, 225, 274, 443, 418, 454, 426, 277, 1213,
  2719  	1232, 455, 359, 512, 436, 524, 550, 551, 253, 392,
  2720  	536, 496, 544, 568, 218, 250, 406, 489, 530, 478,
  2721  	384, 508, 509, 318, 477, 285, 196, 356, 556, 216,
  2722  	464, 358, 234, 223, 514, 533, 279, 441, 563, 205,
  2723  	491, 522, 231, 468, 0, 0, 570, 239, 488, 207,
  2724  	519, 487, 380, 315, 316, 206, 0, 442, 258, 283,
  2725  	0, 0, 248, 401, 516, 517, 246, 571, 220, 543,
  2726  	212, 1144, 542, 394, 511, 520, 381, 370, 211, 518,
  2727  	379, 369, 323, 342, 343, 270, 296, 433, 362, 434,
  2728  	295, 297, 390, 389, 391, 200, 531, 0, 201, 0,
  2729  	483, 532, 572, 226, 227, 229, 1159, 269, 273, 281,
  2730  	284, 292, 293, 302, 354, 405, 432, 428, 437, 1248,
  2731  	506, 525, 537, 548, 554, 555, 557, 558, 559, 560,
  2732  	561, 564, 562, 393, 300, 479, 322, 360, 1237, 1279,
  2733  	411, 457, 232, 529, 480, 1154, 1158, 1152, 1219, 1153,
  2734  	1208, 1209, 1155, 1270, 1271, 1272, 573, 574, 575, 576,
  2735  	577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
  2736  	587, 588, 589, 590, 0, 1241, 1148, 0, 1156, 1157,
  2737  	1250, 1259, 1260, 591, 371, 470, 526, 324, 336, 339,
  2738  	329, 348, 0, 349, 325, 326, 331, 333, 334, 335,
  2739  	340, 341, 345, 351, 241, 203, 377, 385, 505, 301,
  2740  	208, 209, 210, 498, 499, 500, 501, 540, 541, 545,
  2741  	447, 448, 449, 450, 282, 535, 298, 453, 452, 320,
  2742  	321, 366, 435, 1212, 192, 213, 355, 1275, 439, 278,
  2743  	569, 539, 534, 199, 215, 1151, 252, 1162, 1170, 0,
  2744  	1176, 1184, 1185, 1197, 1199, 1200, 1201, 1202, 1220, 1221,
  2745  	1223, 1231, 1233, 1236, 1238, 1245, 1256, 1278, 194, 195,
  2746  	202, 214, 224, 228, 235, 251, 266, 268, 275, 288,
  2747  	299, 307, 308, 311, 317, 367, 373, 374, 375, 376,
  2748  	395, 396, 397, 400, 403, 404, 407, 409, 410, 413,
  2749  	417, 421, 422, 423, 425, 427, 429, 440, 445, 459,
  2750  	460, 461, 462, 463, 466, 467, 472, 473, 474, 475,
  2751  	476, 484, 485, 490, 513, 515, 528, 546, 552, 465,
  2752  	290, 291, 430, 431, 303, 304, 566, 567, 289, 523,
  2753  	553, 521, 565, 547, 424, 365, 1211, 1217, 368, 271,
  2754  	294, 309, 1226, 538, 486, 219, 451, 280, 243, 1244,
  2755  	1246, 204, 238, 222, 249, 264, 267, 313, 378, 386,
  2756  	415, 420, 286, 261, 236, 444, 233, 469, 493, 494,
  2757  	495, 497, 382, 256, 419, 1207, 1235, 363, 503, 504,
  2758  	305, 383, 0, 0, 0, 1264, 1249, 502, 0, 1192,
  2759  	1267, 1161, 1180, 1277, 1183, 1186, 1228, 1140, 1206, 402,
  2760  	1177, 1133, 1165, 1135, 1172, 1136, 1163, 1194, 260, 1160,
  2761  	1251, 1210, 1266, 353, 257, 1142, 1166, 416, 1182, 198,
  2762  	1230, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  2763  	306, 372, 414, 492, 408, 1273, 357, 1216, 0, 481,
  2764  	387, 0, 0, 0, 1196, 1255, 1204, 1242, 1191, 1229,
  2765  	1150, 1215, 1268, 1178, 1225, 1269, 312, 240, 314, 197,
  2766  	399, 482, 276, 0, 0, 0, 0, 0, 814, 0,
  2767  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  2768  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  2769  	330, 332, 337, 344, 350, 1174, 1222, 1263, 1175, 1224,
  2770  	255, 310, 262, 254, 507, 1274, 1254, 1139, 1203, 1262,
  2771  	0, 0, 221, 1265, 1198, 0, 1227, 0, 1280, 1134,
  2772  	1218, 0, 1137, 1141, 1276, 1258, 1169, 265, 0, 0,
  2773  	0, 0, 0, 0, 0, 1195, 1205, 1239, 1243, 1189,
  2774  	0, 0, 0, 0, 0, 0, 0, 1167, 0, 1214,
  2775  	0, 0, 0, 1146, 1138, 0, 0, 0, 0, 0,
  2776  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2777  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2778  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2779  	0, 0, 0, 0, 0, 0, 0, 1193, 0, 0,
  2780  	0, 0, 1149, 0, 1168, 1240, 0, 1132, 287, 1143,
  2781  	388, 247, 0, 438, 1247, 1257, 1190, 549, 1261, 1188,
  2782  	1187, 1234, 1147, 1253, 1181, 352, 1145, 319, 193, 217,
  2783  	0, 1179, 398, 446, 458, 1252, 1164, 1173, 245, 1171,
  2784  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  2785  	1213, 1232, 455, 359, 512, 436, 524, 550, 551, 253,
  2786  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  2787  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  2788  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  2789  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  2790  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  2791  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  2792  	543, 212, 1144, 542, 394, 511, 520, 381, 370, 211,
  2793  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  2794  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  2795  	0, 483, 532, 572, 226, 227, 229, 1159, 269, 273,
  2796  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  2797  	1248, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  2798  	560, 561, 564, 562, 393, 300, 479, 322, 360, 1237,
  2799  	1279, 411, 457, 232, 529, 480, 1154, 1158, 1152, 1219,
  2800  	1153, 1208, 1209, 1155, 1270, 1271, 1272, 573, 574, 575,
  2801  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  2802  	586, 587, 588, 589, 590, 0, 1241, 1148, 0, 1156,
  2803  	1157, 1250, 1259, 1260, 591, 371, 470, 526, 324, 336,
  2804  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  2805  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  2806  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  2807  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  2808  	320, 321, 366, 435, 1212, 192, 213, 355, 1275, 439,
  2809  	278, 569, 539, 534, 199, 215, 1151, 252, 1162, 1170,
  2810  	0, 1176, 1184, 1185, 1197, 1199, 1200, 1201, 1202, 1220,
  2811  	1221, 1223, 1231, 1233, 1236, 1238, 1245, 1256, 1278, 194,
  2812  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  2813  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  2814  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  2815  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  2816  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  2817  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  2818  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  2819  	523, 553, 521, 565, 547, 424, 365, 1211, 1217, 368,
  2820  	271, 294, 309, 1226, 538, 486, 219, 451, 280, 243,
  2821  	1244, 1246, 204, 238, 222, 249, 264, 267, 313, 378,
  2822  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  2823  	494, 495, 497, 382, 256, 419, 1207, 1235, 363, 503,
  2824  	504, 305, 383, 0, 0, 0, 1264, 1249, 502, 0,
  2825  	1192, 1267, 1161, 1180, 1277, 1183, 1186, 1228, 1140, 1206,
  2826  	402, 1177, 1133, 1165, 1135, 1172, 1136, 1163, 1194, 260,
  2827  	1160, 1251, 1210, 1266, 353, 257, 1142, 1166, 416, 1182,
  2828  	198, 1230, 471, 244, 364, 361, 510, 272, 263, 259,
  2829  	242, 306, 372, 414, 492, 408, 1273, 357, 1216, 0,
  2830  	481, 387, 0, 0, 0, 1196, 1255, 1204, 1242, 1191,
  2831  	1229, 1150, 1215, 1268, 1178, 1225, 1269, 312, 240, 314,
  2832  	197, 399, 482, 276, 0, 0, 0, 0, 0, 190,
  2833  	0, 0, 0, 0, 0, 0, 0, 0, 0, 230,
  2834  	0, 0, 237, 0, 0, 0, 338, 347, 346, 327,
  2835  	328, 330, 332, 337, 344, 350, 1174, 1222, 1263, 1175,
  2836  	1224, 255, 310, 262, 254, 507, 1274, 1254, 1139, 1203,
  2837  	1262, 0, 0, 221, 1265, 1198, 0, 1227, 0, 1280,
  2838  	1134, 1218, 0, 1137, 1141, 1276, 1258, 1169, 265, 0,
  2839  	0, 0, 0, 0, 0, 0, 1195, 1205, 1239, 1243,
  2840  	1189, 0, 0, 0, 0, 0, 0, 0, 1167, 0,
  2841  	1214, 0, 0, 0, 1146, 1138, 0, 0, 0, 0,
  2842  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2843  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2844  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2845  	0, 0, 0, 0, 0, 0, 0, 0, 1193, 0,
  2846  	0, 0, 0, 1149, 0, 1168, 1240, 0, 1132, 287,
  2847  	1143, 388, 247, 0, 438, 1247, 1257, 1190, 549, 1261,
  2848  	1188, 1187, 1234, 1147, 1253, 1181, 352, 1145, 319, 193,
  2849  	217, 0, 1179, 398, 446, 458, 1252, 1164, 1173, 245,
  2850  	1171, 456, 412, 527, 225, 274, 443, 418, 454, 426,
  2851  	277, 1213, 1232, 455, 359, 512, 436, 524, 550, 551,
  2852  	253, 392, 536, 496, 544, 568, 218, 250, 406, 489,
  2853  	530, 478, 384, 508, 509, 318, 477, 285, 196, 356,
  2854  	556, 216, 464, 358, 234, 223, 514, 533, 279, 441,
  2855  	563, 205, 491, 522, 231, 468, 0, 0, 570, 239,
  2856  	488, 207, 519, 487, 380, 315, 316, 206, 0, 442,
  2857  	258, 283, 0, 0, 248, 401, 516, 517, 246, 571,
  2858  	220, 543, 212, 1144, 542, 394, 511, 520, 381, 370,
  2859  	211, 518, 379, 369, 323, 342, 343, 270, 296, 433,
  2860  	362, 434, 295, 297, 390, 389, 391, 200, 531, 0,
  2861  	201, 0, 483, 532, 572, 226, 227, 229, 1159, 269,
  2862  	273, 281, 284, 292, 293, 302, 354, 405, 432, 428,
  2863  	437, 1248, 506, 525, 537, 548, 554, 555, 557, 558,
  2864  	559, 560, 561, 564, 562, 393, 300, 479, 322, 360,
  2865  	1237, 1279, 411, 457, 232, 529, 480, 1154, 1158, 1152,
  2866  	1219, 1153, 1208, 1209, 1155, 1270, 1271, 1272, 573, 574,
  2867  	575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
  2868  	585, 586, 587, 588, 589, 590, 0, 1241, 1148, 0,
  2869  	1156, 1157, 1250, 1259, 1260, 591, 371, 470, 526, 324,
  2870  	336, 339, 329, 348, 0, 349, 325, 326, 331, 333,
  2871  	334, 335, 340, 341, 345, 351, 241, 203, 377, 385,
  2872  	505, 301, 208, 209, 210, 498, 499, 500, 501, 540,
  2873  	541, 545, 447, 448, 449, 450, 282, 535, 298, 453,
  2874  	452, 320, 321, 366, 435, 1212, 192, 213, 355, 1275,
  2875  	439, 278, 569, 539, 534, 199, 215, 1151, 252, 1162,
  2876  	1170, 0, 1176, 1184, 1185, 1197, 1199, 1200, 1201, 1202,
  2877  	1220, 1221, 1223, 1231, 1233, 1236, 1238, 1245, 1256, 1278,
  2878  	194, 195, 202, 214, 224, 228, 235, 251, 266, 268,
  2879  	275, 288, 299, 307, 308, 311, 317, 367, 373, 374,
  2880  	375, 376, 395, 396, 397, 400, 403, 404, 407, 409,
  2881  	410, 413, 417, 421, 422, 423, 425, 427, 429, 440,
  2882  	445, 459, 460, 461, 462, 463, 466, 467, 472, 473,
  2883  	474, 475, 476, 484, 485, 490, 513, 515, 528, 546,
  2884  	552, 465, 290, 291, 430, 431, 303, 304, 566, 567,
  2885  	289, 523, 553, 521, 565, 547, 424, 365, 1211, 1217,
  2886  	368, 271, 294, 309, 1226, 538, 486, 219, 451, 280,
  2887  	243, 1244, 1246, 204, 238, 222, 249, 264, 267, 313,
  2888  	378, 386, 415, 420, 286, 261, 236, 444, 233, 469,
  2889  	493, 494, 495, 497, 382, 256, 419, 1207, 1235, 363,
  2890  	503, 504, 305, 383, 0, 0, 0, 0, 0, 502,
  2891  	0, 691, 0, 0, 0, 0, 0, 0, 0, 0,
  2892  	0, 402, 0, 0, 0, 0, 678, 0, 0, 0,
  2893  	260, 683, 0, 0, 0, 353, 257, 0, 0, 416,
  2894  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  2895  	259, 242, 306, 372, 414, 492, 408, 690, 357, 0,
  2896  	0, 481, 387, 0, 0, 0, 0, 0, 686, 687,
  2897  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  2898  	314, 197, 399, 482, 276, 0, 91, 0, 0, 830,
  2899  	814, 780, 781, 818, 831, 832, 833, 834, 819, 0,
  2900  	230, 820, 821, 237, 822, 0, 779, 718, 720, 719,
  2901  	737, 738, 739, 740, 741, 742, 743, 716, 827, 835,
  2902  	836, 0, 255, 310, 262, 254, 507, 0, 0, 1960,
  2903  	1961, 1962, 0, 0, 221, 0, 0, 0, 0, 0,
  2904  	0, 0, 660, 675, 0, 689, 0, 0, 0, 265,
  2905  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2906  	0, 0, 0, 0, 0, 672, 673, 0, 0, 0,
  2907  	0, 774, 0, 674, 0, 0, 682, 837, 838, 839,
  2908  	840, 841, 842, 843, 844, 845, 846, 847, 848, 849,
  2909  	850, 851, 852, 853, 854, 855, 856, 857, 858, 859,
  2910  	860, 861, 862, 863, 864, 865, 866, 867, 868, 869,
  2911  	870, 871, 872, 873, 874, 875, 876, 877, 878, 685,
  2912  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2913  	287, 0, 388, 247, 0, 438, 773, 0, 0, 549,
  2914  	0, 0, 771, 0, 0, 0, 0, 352, 0, 319,
  2915  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  2916  	824, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  2917  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  2918  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  2919  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  2920  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  2921  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  2922  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  2923  	442, 258, 283, 0, 0, 248, 401, 825, 826, 246,
  2924  	571, 724, 543, 212, 0, 542, 394, 511, 520, 381,
  2925  	370, 211, 518, 379, 369, 323, 732, 733, 270, 296,
  2926  	759, 758, 434, 295, 297, 390, 389, 391, 200, 531,
  2927  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  2928  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  2929  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  2930  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  2931  	360, 0, 0, 411, 457, 232, 529, 480, 784, 772,
  2932  	695, 788, 697, 785, 786, 692, 693, 696, 787, 573,
  2933  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  2934  	584, 585, 586, 587, 588, 589, 590, 0, 775, 681,
  2935  	680, 0, 688, 0, 714, 715, 717, 721, 722, 723,
  2936  	734, 735, 736, 744, 746, 747, 745, 748, 749, 750,
  2937  	753, 754, 755, 756, 751, 752, 757, 698, 702, 699,
  2938  	700, 701, 713, 703, 704, 705, 706, 707, 708, 709,
  2939  	710, 711, 712, 798, 799, 800, 801, 802, 803, 727,
  2940  	731, 730, 728, 729, 725, 726, 679, 192, 213, 355,
  2941  	0, 439, 278, 569, 539, 534, 199, 215, 789, 252,
  2942  	790, 0, 0, 794, 0, 0, 0, 796, 795, 0,
  2943  	797, 763, 762, 0, 0, 791, 792, 0, 793, 0,
  2944  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  2945  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  2946  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  2947  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  2948  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  2949  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  2950  	546, 552, 465, 804, 805, 806, 807, 808, 809, 810,
  2951  	811, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  2952  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  2953  	280, 243, 829, 0, 204, 238, 222, 249, 264, 267,
  2954  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  2955  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  2956  	363, 503, 504, 305, 502, 0, 691, 0, 0, 0,
  2957  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  2958  	0, 678, 0, 0, 0, 260, 683, 0, 0, 0,
  2959  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  2960  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  2961  	492, 408, 690, 357, 0, 0, 481, 387, 0, 0,
  2962  	0, 0, 0, 686, 687, 0, 0, 0, 0, 0,
  2963  	0, 2112, 0, 312, 240, 314, 197, 399, 482, 276,
  2964  	0, 91, 0, 0, 830, 814, 780, 781, 818, 831,
  2965  	832, 833, 834, 819, 0, 230, 820, 821, 237, 822,
  2966  	0, 779, 718, 720, 719, 737, 738, 739, 740, 741,
  2967  	742, 743, 716, 827, 835, 836, 2113, 255, 310, 262,
  2968  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  2969  	0, 0, 0, 0, 0, 0, 0, 660, 675, 0,
  2970  	689, 0, 0, 0, 265, 0, 0, 0, 0, 0,
  2971  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2972  	672, 673, 0, 0, 0, 0, 774, 0, 674, 0,
  2973  	0, 682, 837, 838, 839, 840, 841, 842, 843, 844,
  2974  	845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
  2975  	855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
  2976  	865, 866, 867, 868, 869, 870, 871, 872, 873, 874,
  2977  	875, 876, 877, 878, 685, 0, 0, 0, 0, 0,
  2978  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  2979  	438, 773, 0, 0, 549, 0, 0, 771, 0, 0,
  2980  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  2981  	446, 458, 0, 0, 0, 824, 0, 456, 412, 527,
  2982  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  2983  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  2984  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  2985  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  2986  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  2987  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  2988  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  2989  	248, 401, 825, 826, 246, 571, 724, 543, 212, 0,
  2990  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  2991  	323, 732, 733, 270, 296, 759, 758, 434, 295, 297,
  2992  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  2993  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  2994  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  2995  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  2996  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  2997  	232, 529, 480, 784, 772, 695, 788, 697, 785, 786,
  2998  	692, 693, 696, 787, 573, 574, 575, 576, 577, 578,
  2999  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  3000  	589, 590, 0, 775, 681, 680, 0, 688, 0, 714,
  3001  	715, 717, 721, 722, 723, 734, 735, 736, 744, 746,
  3002  	747, 745, 748, 749, 750, 753, 754, 755, 756, 751,
  3003  	752, 757, 698, 702, 699, 700, 701, 713, 703, 704,
  3004  	705, 706, 707, 708, 709, 710, 711, 712, 798, 799,
  3005  	800, 801, 802, 803, 727, 731, 730, 728, 729, 725,
  3006  	726, 679, 192, 213, 355, 0, 439, 278, 569, 539,
  3007  	534, 199, 215, 789, 252, 790, 0, 0, 794, 0,
  3008  	0, 0, 796, 795, 0, 797, 763, 762, 0, 0,
  3009  	791, 792, 0, 793, 0, 0, 194, 195, 202, 214,
  3010  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  3011  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  3012  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  3013  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  3014  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  3015  	485, 490, 513, 515, 528, 546, 552, 465, 804, 805,
  3016  	806, 807, 808, 809, 810, 811, 289, 523, 553, 521,
  3017  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  3018  	0, 538, 486, 219, 451, 280, 243, 829, 0, 204,
  3019  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  3020  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  3021  	382, 256, 419, 0, 383, 363, 503, 504, 305, 82,
  3022  	502, 0, 691, 0, 0, 0, 0, 0, 0, 0,
  3023  	0, 0, 402, 0, 0, 0, 0, 678, 0, 0,
  3024  	0, 260, 683, 0, 0, 0, 353, 257, 0, 0,
  3025  	416, 0, 198, 0, 471, 244, 364, 361, 510, 272,
  3026  	263, 259, 242, 306, 372, 414, 492, 408, 690, 357,
  3027  	0, 0, 481, 387, 0, 0, 0, 0, 0, 686,
  3028  	687, 0, 0, 0, 0, 0, 0, 0, 0, 312,
  3029  	240, 314, 197, 399, 482, 276, 0, 91, 0, 0,
  3030  	830, 814, 780, 781, 818, 831, 832, 833, 834, 819,
  3031  	0, 230, 820, 821, 237, 822, 0, 779, 718, 720,
  3032  	719, 737, 738, 739, 740, 741, 742, 743, 716, 827,
  3033  	835, 836, 0, 255, 310, 262, 254, 507, 0, 0,
  3034  	0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
  3035  	0, 0, 0, 660, 675, 0, 689, 0, 0, 0,
  3036  	265, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3037  	0, 0, 0, 0, 0, 0, 672, 673, 0, 0,
  3038  	0, 0, 774, 0, 674, 0, 0, 682, 837, 838,
  3039  	839, 840, 841, 842, 843, 844, 845, 846, 847, 848,
  3040  	849, 850, 851, 852, 853, 854, 855, 856, 857, 858,
  3041  	859, 860, 861, 862, 863, 864, 865, 866, 867, 868,
  3042  	869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
  3043  	685, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3044  	0, 287, 0, 388, 247, 0, 438, 773, 0, 0,
  3045  	549, 0, 0, 771, 0, 0, 0, 0, 352, 0,
  3046  	319, 193, 217, 0, 0, 398, 446, 458, 0, 0,
  3047  	0, 824, 0, 456, 412, 527, 225, 274, 443, 418,
  3048  	454, 426, 277, 0, 0, 455, 359, 512, 436, 524,
  3049  	550, 551, 253, 392, 536, 496, 544, 568, 218, 250,
  3050  	406, 489, 530, 478, 384, 508, 509, 318, 477, 285,
  3051  	196, 356, 556, 216, 464, 358, 234, 223, 514, 533,
  3052  	279, 441, 563, 205, 491, 522, 231, 468, 0, 0,
  3053  	570, 239, 488, 207, 519, 487, 380, 315, 316, 206,
  3054  	0, 442, 258, 283, 0, 0, 248, 401, 825, 826,
  3055  	246, 571, 724, 543, 212, 0, 542, 394, 511, 520,
  3056  	381, 370, 211, 518, 379, 369, 323, 732, 733, 270,
  3057  	296, 759, 758, 434, 295, 297, 390, 389, 391, 200,
  3058  	531, 0, 201, 0, 483, 532, 572, 226, 227, 229,
  3059  	0, 269, 273, 281, 284, 292, 293, 302, 354, 405,
  3060  	432, 428, 437, 0, 506, 525, 537, 548, 554, 555,
  3061  	557, 558, 559, 560, 561, 564, 562, 393, 300, 479,
  3062  	322, 360, 0, 0, 411, 457, 232, 529, 480, 784,
  3063  	772, 695, 788, 697, 785, 786, 692, 693, 696, 787,
  3064  	573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
  3065  	583, 584, 585, 586, 587, 588, 589, 590, 0, 775,
  3066  	681, 680, 0, 688, 0, 714, 715, 717, 721, 722,
  3067  	723, 734, 735, 736, 744, 746, 747, 745, 748, 749,
  3068  	750, 753, 754, 755, 756, 751, 752, 757, 698, 702,
  3069  	699, 700, 701, 713, 703, 704, 705, 706, 707, 708,
  3070  	709, 710, 711, 712, 798, 799, 800, 801, 802, 803,
  3071  	727, 731, 730, 728, 729, 725, 726, 679, 192, 213,
  3072  	355, 90, 439, 278, 569, 539, 534, 199, 215, 789,
  3073  	252, 790, 0, 0, 794, 0, 0, 0, 796, 795,
  3074  	0, 797, 763, 762, 0, 0, 791, 792, 0, 793,
  3075  	0, 0, 194, 195, 202, 214, 224, 228, 235, 251,
  3076  	266, 268, 275, 288, 299, 307, 308, 311, 317, 367,
  3077  	373, 374, 375, 376, 395, 396, 397, 400, 403, 404,
  3078  	407, 409, 410, 413, 417, 421, 422, 423, 425, 427,
  3079  	429, 440, 445, 459, 460, 461, 462, 463, 466, 467,
  3080  	472, 473, 474, 475, 476, 484, 485, 490, 513, 515,
  3081  	528, 546, 552, 465, 804, 805, 806, 807, 808, 809,
  3082  	810, 811, 289, 523, 553, 521, 565, 547, 424, 365,
  3083  	0, 0, 368, 271, 294, 309, 0, 538, 486, 219,
  3084  	451, 280, 243, 829, 0, 204, 238, 222, 249, 264,
  3085  	267, 313, 378, 386, 415, 420, 286, 261, 236, 444,
  3086  	233, 469, 493, 494, 495, 497, 382, 256, 419, 383,
  3087  	0, 363, 503, 504, 305, 502, 0, 691, 0, 0,
  3088  	0, 0, 0, 0, 0, 0, 0, 402, 0, 0,
  3089  	0, 0, 678, 0, 0, 0, 260, 683, 0, 0,
  3090  	0, 353, 257, 0, 0, 416, 0, 198, 0, 471,
  3091  	244, 364, 361, 510, 272, 263, 259, 242, 306, 372,
  3092  	414, 492, 408, 690, 357, 0, 0, 481, 387, 0,
  3093  	0, 0, 0, 0, 686, 687, 0, 0, 0, 0,
  3094  	0, 0, 0, 0, 312, 240, 314, 197, 399, 482,
  3095  	276, 0, 91, 0, 0, 830, 814, 780, 781, 818,
  3096  	831, 832, 833, 834, 819, 0, 230, 820, 821, 237,
  3097  	822, 0, 779, 718, 720, 719, 737, 738, 739, 740,
  3098  	741, 742, 743, 716, 827, 835, 836, 0, 255, 310,
  3099  	262, 254, 507, 0, 0, 0, 0, 0, 0, 0,
  3100  	221, 0, 0, 0, 0, 0, 0, 0, 660, 675,
  3101  	0, 689, 0, 0, 0, 265, 0, 0, 0, 0,
  3102  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3103  	0, 672, 673, 0, 0, 0, 0, 774, 0, 674,
  3104  	0, 0, 682, 837, 838, 839, 840, 841, 842, 843,
  3105  	844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
  3106  	854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
  3107  	864, 865, 866, 867, 868, 869, 870, 871, 872, 873,
  3108  	874, 875, 876, 877, 878, 685, 0, 0, 0, 0,
  3109  	0, 0, 0, 0, 0, 0, 287, 0, 388, 247,
  3110  	0, 438, 773, 0, 0, 549, 0, 0, 771, 0,
  3111  	0, 0, 0, 352, 0, 319, 193, 217, 0, 0,
  3112  	398, 446, 458, 0, 0, 0, 824, 0, 456, 412,
  3113  	527, 225, 274, 443, 418, 454, 426, 277, 3433, 0,
  3114  	455, 359, 512, 436, 524, 550, 551, 253, 392, 536,
  3115  	496, 544, 568, 218, 250, 406, 489, 530, 478, 384,
  3116  	508, 509, 318, 477, 285, 196, 356, 556, 216, 464,
  3117  	358, 234, 223, 514, 533, 279, 441, 563, 205, 491,
  3118  	522, 231, 468, 0, 0, 570, 239, 488, 207, 519,
  3119  	487, 380, 315, 316, 206, 0, 442, 258, 283, 0,
  3120  	0, 248, 401, 825, 826, 246, 571, 724, 543, 212,
  3121  	0, 542, 394, 511, 520, 381, 370, 211, 518, 379,
  3122  	369, 323, 732, 733, 270, 296, 759, 758, 434, 295,
  3123  	297, 390, 389, 391, 200, 531, 0, 201, 0, 483,
  3124  	532, 572, 226, 227, 229, 0, 269, 273, 281, 284,
  3125  	292, 293, 302, 354, 405, 432, 428, 437, 0, 506,
  3126  	525, 537, 548, 554, 555, 557, 558, 559, 560, 561,
  3127  	564, 562, 393, 300, 479, 322, 360, 0, 0, 411,
  3128  	457, 232, 529, 480, 784, 772, 695, 788, 697, 785,
  3129  	786, 692, 693, 696, 787, 573, 574, 575, 576, 577,
  3130  	578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
  3131  	588, 589, 590, 0, 775, 681, 680, 0, 688, 0,
  3132  	714, 715, 717, 721, 722, 723, 734, 735, 736, 744,
  3133  	746, 747, 745, 748, 749, 750, 753, 754, 755, 756,
  3134  	751, 752, 757, 698, 702, 699, 700, 701, 713, 703,
  3135  	704, 705, 706, 707, 708, 709, 710, 711, 712, 798,
  3136  	799, 800, 801, 802, 803, 727, 731, 730, 728, 729,
  3137  	725, 726, 679, 192, 213, 355, 0, 439, 278, 569,
  3138  	539, 534, 199, 215, 789, 252, 790, 0, 0, 794,
  3139  	0, 0, 0, 796, 795, 0, 797, 763, 762, 0,
  3140  	0, 791, 792, 0, 793, 0, 0, 194, 195, 202,
  3141  	214, 224, 228, 235, 251, 266, 268, 275, 288, 299,
  3142  	307, 308, 311, 317, 367, 373, 374, 375, 376, 395,
  3143  	396, 397, 400, 403, 404, 407, 409, 410, 413, 417,
  3144  	421, 422, 423, 425, 427, 429, 440, 445, 459, 460,
  3145  	461, 462, 463, 466, 467, 472, 473, 474, 475, 476,
  3146  	484, 485, 490, 513, 515, 528, 546, 552, 465, 804,
  3147  	805, 806, 807, 808, 809, 810, 811, 289, 523, 553,
  3148  	521, 565, 547, 424, 365, 0, 0, 368, 271, 294,
  3149  	309, 0, 538, 486, 219, 451, 280, 243, 829, 0,
  3150  	204, 238, 222, 249, 264, 267, 313, 378, 386, 415,
  3151  	420, 286, 261, 236, 444, 233, 469, 493, 494, 495,
  3152  	497, 382, 256, 419, 383, 0, 363, 503, 504, 305,
  3153  	502, 0, 691, 0, 0, 0, 0, 0, 0, 0,
  3154  	0, 0, 402, 0, 0, 0, 0, 678, 0, 0,
  3155  	0, 260, 683, 0, 0, 0, 353, 257, 0, 0,
  3156  	416, 0, 198, 0, 471, 244, 364, 361, 510, 272,
  3157  	263, 259, 242, 306, 372, 414, 492, 408, 690, 357,
  3158  	0, 0, 481, 387, 0, 0, 0, 0, 0, 686,
  3159  	687, 0, 0, 0, 0, 0, 0, 0, 0, 312,
  3160  	240, 314, 197, 399, 482, 276, 0, 91, 0, 1523,
  3161  	830, 814, 780, 781, 818, 831, 832, 833, 834, 819,
  3162  	0, 230, 820, 821, 237, 822, 0, 779, 718, 720,
  3163  	719, 737, 738, 739, 740, 741, 742, 743, 716, 827,
  3164  	835, 836, 0, 255, 310, 262, 254, 507, 0, 0,
  3165  	0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
  3166  	0, 0, 0, 660, 675, 0, 689, 0, 0, 0,
  3167  	265, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3168  	0, 0, 0, 0, 0, 0, 672, 673, 0, 0,
  3169  	0, 0, 774, 0, 674, 0, 0, 682, 837, 838,
  3170  	839, 840, 841, 842, 843, 844, 845, 846, 847, 848,
  3171  	849, 850, 851, 852, 853, 854, 855, 856, 857, 858,
  3172  	859, 860, 861, 862, 863, 864, 865, 866, 867, 868,
  3173  	869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
  3174  	685, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3175  	0, 287, 0, 388, 247, 0, 438, 773, 0, 0,
  3176  	549, 0, 0, 771, 0, 0, 0, 0, 352, 0,
  3177  	319, 193, 217, 0, 0, 398, 446, 458, 0, 0,
  3178  	0, 824, 0, 456, 412, 527, 225, 274, 443, 418,
  3179  	454, 426, 277, 0, 0, 455, 359, 512, 436, 524,
  3180  	550, 551, 253, 392, 536, 496, 544, 568, 218, 250,
  3181  	406, 489, 530, 478, 384, 508, 509, 318, 477, 285,
  3182  	196, 356, 556, 216, 464, 358, 234, 223, 514, 533,
  3183  	279, 441, 563, 205, 491, 522, 231, 468, 0, 0,
  3184  	570, 239, 488, 207, 519, 487, 380, 315, 316, 206,
  3185  	0, 442, 258, 283, 0, 0, 248, 401, 825, 826,
  3186  	246, 571, 724, 543, 212, 0, 542, 394, 511, 520,
  3187  	381, 370, 211, 518, 379, 369, 323, 732, 733, 270,
  3188  	296, 759, 758, 434, 295, 297, 390, 389, 391, 200,
  3189  	531, 0, 201, 0, 483, 532, 572, 226, 227, 229,
  3190  	0, 269, 273, 281, 284, 292, 293, 302, 354, 405,
  3191  	432, 428, 437, 0, 506, 525, 537, 548, 554, 555,
  3192  	557, 558, 559, 560, 561, 564, 562, 393, 300, 479,
  3193  	322, 360, 0, 0, 411, 457, 232, 529, 480, 784,
  3194  	772, 695, 788, 697, 785, 786, 692, 693, 696, 787,
  3195  	573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
  3196  	583, 584, 585, 586, 587, 588, 589, 590, 0, 775,
  3197  	681, 680, 0, 688, 0, 714, 715, 717, 721, 722,
  3198  	723, 734, 735, 736, 744, 746, 747, 745, 748, 749,
  3199  	750, 753, 754, 755, 756, 751, 752, 757, 698, 702,
  3200  	699, 700, 701, 713, 703, 704, 705, 706, 707, 708,
  3201  	709, 710, 711, 712, 798, 799, 800, 801, 802, 803,
  3202  	727, 731, 730, 728, 729, 725, 726, 679, 192, 213,
  3203  	355, 0, 439, 278, 569, 539, 534, 199, 215, 789,
  3204  	252, 790, 0, 0, 794, 0, 0, 0, 796, 795,
  3205  	0, 797, 763, 762, 0, 0, 791, 792, 0, 793,
  3206  	0, 0, 194, 195, 202, 214, 224, 228, 235, 251,
  3207  	266, 268, 275, 288, 299, 307, 308, 311, 317, 367,
  3208  	373, 374, 375, 376, 395, 396, 397, 400, 403, 404,
  3209  	407, 409, 410, 413, 417, 421, 422, 423, 425, 427,
  3210  	429, 440, 445, 459, 460, 461, 462, 463, 466, 467,
  3211  	472, 473, 474, 475, 476, 484, 485, 490, 513, 515,
  3212  	528, 546, 552, 465, 804, 805, 806, 807, 808, 809,
  3213  	810, 811, 289, 523, 553, 521, 565, 547, 424, 365,
  3214  	0, 0, 368, 271, 294, 309, 0, 538, 486, 219,
  3215  	451, 280, 243, 829, 0, 204, 238, 222, 249, 264,
  3216  	267, 313, 378, 386, 415, 420, 286, 261, 236, 444,
  3217  	233, 469, 493, 494, 495, 497, 382, 256, 419, 383,
  3218  	0, 363, 503, 504, 305, 502, 0, 691, 0, 0,
  3219  	0, 0, 0, 0, 0, 0, 0, 402, 0, 0,
  3220  	0, 0, 678, 0, 0, 0, 260, 683, 0, 0,
  3221  	0, 353, 257, 0, 0, 416, 0, 198, 0, 471,
  3222  	244, 364, 361, 510, 272, 263, 259, 242, 306, 372,
  3223  	414, 492, 408, 690, 357, 0, 0, 481, 387, 0,
  3224  	0, 0, 0, 0, 686, 687, 0, 0, 0, 0,
  3225  	0, 0, 0, 0, 312, 240, 314, 197, 399, 482,
  3226  	276, 0, 91, 0, 0, 830, 814, 780, 781, 818,
  3227  	831, 832, 833, 834, 819, 0, 230, 820, 821, 237,
  3228  	822, 0, 779, 718, 720, 719, 737, 738, 739, 740,
  3229  	741, 742, 743, 716, 827, 835, 836, 0, 255, 310,
  3230  	262, 254, 507, 0, 0, 0, 0, 0, 0, 0,
  3231  	221, 0, 0, 0, 0, 0, 0, 0, 660, 675,
  3232  	0, 689, 0, 0, 0, 265, 0, 0, 0, 0,
  3233  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3234  	0, 672, 673, 919, 0, 0, 0, 774, 0, 674,
  3235  	0, 0, 682, 837, 838, 839, 840, 841, 842, 843,
  3236  	844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
  3237  	854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
  3238  	864, 865, 866, 867, 868, 869, 870, 871, 872, 873,
  3239  	874, 875, 876, 877, 878, 685, 0, 0, 0, 0,
  3240  	0, 0, 0, 0, 0, 0, 287, 0, 388, 247,
  3241  	0, 438, 773, 0, 0, 549, 0, 0, 771, 0,
  3242  	0, 0, 0, 352, 0, 319, 193, 217, 0, 0,
  3243  	398, 446, 458, 0, 0, 0, 824, 0, 456, 412,
  3244  	527, 225, 274, 443, 418, 454, 426, 277, 0, 0,
  3245  	455, 359, 512, 436, 524, 550, 551, 253, 392, 536,
  3246  	496, 544, 568, 218, 250, 406, 489, 530, 478, 384,
  3247  	508, 509, 318, 477, 285, 196, 356, 556, 216, 464,
  3248  	358, 234, 223, 514, 533, 279, 441, 563, 205, 491,
  3249  	522, 231, 468, 0, 0, 570, 239, 488, 207, 519,
  3250  	487, 380, 315, 316, 206, 0, 442, 258, 283, 0,
  3251  	0, 248, 401, 825, 826, 246, 571, 724, 543, 212,
  3252  	0, 542, 394, 511, 520, 381, 370, 211, 518, 379,
  3253  	369, 323, 732, 733, 270, 296, 759, 758, 434, 295,
  3254  	297, 390, 389, 391, 200, 531, 0, 201, 0, 483,
  3255  	532, 572, 226, 227, 229, 0, 269, 273, 281, 284,
  3256  	292, 293, 302, 354, 405, 432, 428, 437, 0, 506,
  3257  	525, 537, 548, 554, 555, 557, 558, 559, 560, 561,
  3258  	564, 562, 393, 300, 479, 322, 360, 0, 0, 411,
  3259  	457, 232, 529, 480, 784, 772, 695, 788, 697, 785,
  3260  	786, 692, 693, 696, 787, 573, 574, 575, 576, 577,
  3261  	578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
  3262  	588, 589, 590, 0, 775, 681, 680, 0, 688, 0,
  3263  	714, 715, 717, 721, 722, 723, 734, 735, 736, 744,
  3264  	746, 747, 745, 748, 749, 750, 753, 754, 755, 756,
  3265  	751, 752, 757, 698, 702, 699, 700, 701, 713, 703,
  3266  	704, 705, 706, 707, 708, 709, 710, 711, 712, 798,
  3267  	799, 800, 801, 802, 803, 727, 731, 730, 728, 729,
  3268  	725, 726, 679, 192, 213, 355, 0, 439, 278, 569,
  3269  	539, 534, 199, 215, 789, 252, 790, 0, 0, 794,
  3270  	0, 0, 0, 796, 795, 0, 797, 763, 762, 0,
  3271  	0, 791, 792, 0, 793, 0, 0, 194, 195, 202,
  3272  	214, 224, 228, 235, 251, 266, 268, 275, 288, 299,
  3273  	307, 308, 311, 317, 367, 373, 374, 375, 376, 395,
  3274  	396, 397, 400, 403, 404, 407, 409, 410, 413, 417,
  3275  	421, 422, 423, 425, 427, 429, 440, 445, 459, 460,
  3276  	461, 462, 463, 466, 467, 472, 473, 474, 475, 476,
  3277  	484, 485, 490, 513, 515, 528, 546, 552, 465, 804,
  3278  	805, 806, 807, 808, 809, 810, 811, 289, 523, 553,
  3279  	521, 565, 547, 424, 365, 0, 0, 368, 271, 294,
  3280  	309, 0, 538, 486, 219, 451, 280, 243, 829, 0,
  3281  	204, 238, 222, 249, 264, 267, 313, 378, 386, 415,
  3282  	420, 286, 261, 236, 444, 233, 469, 493, 494, 495,
  3283  	497, 382, 256, 419, 383, 0, 363, 503, 504, 305,
  3284  	502, 0, 691, 0, 0, 0, 0, 0, 0, 0,
  3285  	0, 0, 402, 0, 0, 0, 0, 678, 0, 0,
  3286  	0, 260, 683, 0, 0, 0, 353, 257, 0, 0,
  3287  	416, 0, 198, 0, 471, 244, 364, 361, 510, 272,
  3288  	263, 259, 242, 306, 372, 414, 492, 408, 690, 357,
  3289  	0, 0, 481, 387, 0, 0, 0, 0, 0, 686,
  3290  	687, 0, 0, 0, 0, 0, 0, 0, 0, 312,
  3291  	240, 314, 197, 399, 482, 276, 0, 91, 0, 0,
  3292  	830, 814, 780, 781, 818, 831, 832, 833, 834, 819,
  3293  	0, 230, 820, 821, 237, 822, 0, 779, 718, 720,
  3294  	719, 737, 738, 739, 740, 741, 742, 743, 716, 827,
  3295  	835, 836, 0, 255, 310, 262, 254, 507, 0, 0,
  3296  	0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
  3297  	0, 0, 0, 660, 675, 0, 689, 0, 0, 0,
  3298  	265, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3299  	0, 0, 0, 0, 0, 0, 672, 673, 0, 0,
  3300  	0, 0, 774, 0, 674, 0, 0, 682, 837, 838,
  3301  	839, 840, 841, 842, 843, 844, 845, 846, 847, 848,
  3302  	849, 850, 851, 852, 853, 854, 855, 856, 857, 858,
  3303  	859, 860, 861, 862, 863, 864, 865, 866, 867, 868,
  3304  	869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
  3305  	685, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3306  	0, 287, 0, 388, 247, 0, 438, 773, 0, 0,
  3307  	549, 0, 0, 771, 0, 0, 0, 0, 352, 0,
  3308  	319, 193, 217, 0, 0, 398, 446, 458, 0, 0,
  3309  	0, 824, 0, 456, 412, 527, 225, 274, 443, 418,
  3310  	454, 426, 277, 0, 0, 455, 359, 512, 436, 524,
  3311  	550, 551, 253, 392, 536, 496, 544, 568, 218, 250,
  3312  	406, 489, 530, 478, 384, 508, 509, 318, 477, 285,
  3313  	196, 356, 556, 216, 464, 358, 234, 223, 514, 533,
  3314  	279, 441, 563, 205, 491, 522, 231, 468, 0, 0,
  3315  	570, 239, 488, 207, 519, 487, 380, 315, 316, 206,
  3316  	0, 442, 258, 283, 0, 0, 248, 401, 825, 826,
  3317  	246, 571, 724, 543, 212, 0, 542, 394, 511, 520,
  3318  	381, 370, 211, 518, 379, 369, 323, 732, 733, 270,
  3319  	296, 759, 758, 434, 295, 297, 390, 389, 391, 200,
  3320  	531, 0, 201, 0, 483, 532, 572, 226, 227, 229,
  3321  	0, 269, 273, 281, 284, 292, 293, 302, 354, 405,
  3322  	432, 428, 437, 0, 506, 525, 537, 548, 554, 555,
  3323  	557, 558, 559, 560, 561, 564, 562, 393, 300, 479,
  3324  	322, 360, 0, 0, 411, 457, 232, 529, 480, 784,
  3325  	772, 695, 788, 697, 785, 786, 692, 693, 696, 787,
  3326  	573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
  3327  	583, 584, 585, 586, 587, 588, 589, 590, 0, 775,
  3328  	681, 680, 0, 688, 0, 714, 715, 717, 721, 722,
  3329  	723, 734, 735, 736, 744, 746, 747, 745, 748, 749,
  3330  	750, 753, 754, 755, 756, 751, 752, 757, 698, 702,
  3331  	699, 700, 701, 713, 703, 704, 705, 706, 707, 708,
  3332  	709, 710, 711, 712, 798, 799, 800, 801, 802, 803,
  3333  	727, 731, 730, 728, 729, 725, 726, 679, 192, 213,
  3334  	355, 0, 439, 278, 569, 539, 534, 199, 215, 789,
  3335  	252, 790, 0, 0, 794, 0, 0, 0, 796, 795,
  3336  	0, 797, 763, 762, 0, 0, 791, 792, 0, 793,
  3337  	0, 0, 194, 195, 202, 214, 224, 228, 235, 251,
  3338  	266, 268, 275, 288, 299, 307, 308, 311, 317, 367,
  3339  	373, 374, 375, 376, 395, 396, 397, 400, 403, 404,
  3340  	407, 409, 410, 413, 417, 421, 422, 423, 425, 427,
  3341  	429, 440, 445, 459, 460, 461, 462, 463, 466, 467,
  3342  	472, 473, 474, 475, 476, 484, 485, 490, 513, 515,
  3343  	528, 546, 552, 465, 804, 805, 806, 807, 808, 809,
  3344  	810, 811, 289, 523, 553, 521, 565, 547, 424, 365,
  3345  	0, 0, 368, 271, 294, 309, 0, 538, 486, 219,
  3346  	451, 280, 243, 829, 0, 204, 238, 222, 249, 264,
  3347  	267, 313, 378, 386, 415, 420, 286, 261, 236, 444,
  3348  	233, 469, 493, 494, 495, 497, 382, 256, 419, 383,
  3349  	0, 363, 503, 504, 305, 502, 0, 691, 0, 0,
  3350  	0, 0, 0, 0, 0, 0, 0, 402, 0, 0,
  3351  	0, 0, 678, 0, 0, 0, 260, 683, 0, 0,
  3352  	0, 353, 257, 0, 0, 416, 0, 198, 0, 471,
  3353  	244, 364, 361, 510, 272, 263, 259, 242, 306, 372,
  3354  	414, 492, 408, 690, 357, 0, 0, 481, 387, 0,
  3355  	0, 0, 0, 0, 686, 687, 0, 0, 0, 0,
  3356  	0, 0, 0, 0, 312, 240, 314, 197, 399, 482,
  3357  	276, 0, 91, 0, 0, 830, 814, 780, 781, 818,
  3358  	831, 832, 833, 834, 819, 0, 230, 820, 821, 237,
  3359  	822, 0, 779, 718, 720, 719, 737, 738, 739, 740,
  3360  	741, 742, 743, 716, 827, 835, 836, 0, 255, 310,
  3361  	262, 254, 507, 0, 0, 0, 0, 0, 0, 0,
  3362  	221, 0, 0, 0, 0, 0, 0, 0, 0, 675,
  3363  	0, 689, 0, 0, 0, 265, 0, 0, 0, 0,
  3364  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3365  	0, 672, 673, 0, 0, 0, 0, 774, 0, 674,
  3366  	0, 0, 682, 837, 838, 839, 840, 841, 842, 843,
  3367  	844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
  3368  	854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
  3369  	864, 865, 866, 867, 868, 869, 870, 871, 872, 873,
  3370  	874, 875, 876, 877, 878, 685, 0, 0, 0, 0,
  3371  	0, 0, 0, 0, 0, 0, 287, 0, 388, 247,
  3372  	0, 438, 773, 0, 0, 549, 0, 0, 771, 0,
  3373  	0, 0, 0, 352, 0, 319, 193, 217, 0, 0,
  3374  	398, 446, 458, 0, 0, 0, 824, 0, 456, 412,
  3375  	527, 225, 274, 443, 418, 454, 426, 277, 0, 0,
  3376  	455, 359, 512, 436, 524, 550, 551, 253, 392, 536,
  3377  	496, 544, 568, 218, 250, 406, 489, 530, 478, 384,
  3378  	508, 509, 318, 477, 285, 196, 356, 556, 216, 464,
  3379  	358, 234, 223, 514, 533, 279, 441, 563, 205, 491,
  3380  	522, 231, 468, 0, 0, 570, 239, 488, 207, 519,
  3381  	487, 380, 315, 316, 206, 0, 442, 258, 283, 0,
  3382  	0, 248, 401, 825, 826, 246, 571, 724, 543, 212,
  3383  	0, 542, 394, 511, 520, 381, 370, 211, 518, 379,
  3384  	369, 323, 732, 733, 270, 296, 759, 758, 434, 295,
  3385  	297, 390, 389, 391, 200, 531, 0, 201, 0, 483,
  3386  	532, 572, 226, 227, 229, 0, 269, 273, 281, 284,
  3387  	292, 293, 302, 354, 405, 432, 428, 437, 0, 506,
  3388  	525, 537, 548, 554, 555, 557, 558, 559, 560, 561,
  3389  	564, 562, 393, 300, 479, 322, 360, 0, 0, 411,
  3390  	457, 232, 529, 480, 784, 772, 695, 788, 697, 785,
  3391  	786, 692, 693, 696, 787, 573, 574, 575, 576, 577,
  3392  	578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
  3393  	588, 589, 590, 0, 775, 681, 680, 0, 688, 0,
  3394  	714, 715, 717, 721, 722, 723, 734, 735, 736, 744,
  3395  	746, 747, 745, 748, 749, 750, 753, 754, 755, 756,
  3396  	751, 752, 757, 698, 702, 699, 700, 701, 713, 703,
  3397  	704, 705, 706, 707, 708, 709, 710, 711, 712, 798,
  3398  	799, 800, 801, 802, 803, 727, 731, 730, 728, 729,
  3399  	725, 726, 679, 192, 213, 355, 0, 439, 278, 569,
  3400  	539, 534, 199, 215, 789, 252, 790, 0, 0, 794,
  3401  	0, 0, 0, 796, 795, 0, 797, 763, 762, 0,
  3402  	0, 791, 792, 0, 793, 0, 0, 194, 195, 202,
  3403  	214, 224, 228, 235, 251, 266, 268, 275, 288, 299,
  3404  	307, 308, 311, 317, 367, 373, 374, 375, 376, 395,
  3405  	396, 397, 400, 403, 404, 407, 409, 410, 413, 417,
  3406  	421, 422, 423, 425, 427, 429, 440, 445, 459, 460,
  3407  	461, 462, 463, 466, 467, 472, 473, 474, 475, 476,
  3408  	484, 485, 490, 513, 515, 528, 546, 552, 465, 804,
  3409  	805, 806, 807, 808, 809, 810, 811, 289, 523, 553,
  3410  	521, 565, 547, 424, 365, 0, 0, 368, 271, 294,
  3411  	309, 0, 538, 486, 219, 451, 280, 243, 829, 0,
  3412  	204, 238, 222, 249, 264, 267, 313, 378, 386, 415,
  3413  	420, 286, 261, 236, 444, 233, 469, 493, 494, 495,
  3414  	497, 382, 256, 419, 383, 0, 363, 503, 504, 305,
  3415  	502, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3416  	0, 0, 402, 0, 0, 0, 0, 0, 0, 0,
  3417  	0, 260, 0, 0, 0, 0, 353, 257, 0, 0,
  3418  	416, 0, 198, 0, 471, 244, 364, 361, 510, 272,
  3419  	263, 259, 242, 306, 372, 414, 492, 408, 0, 357,
  3420  	0, 0, 481, 387, 0, 0, 0, 0, 0, 0,
  3421  	0, 0, 0, 0, 0, 0, 0, 0, 0, 312,
  3422  	240, 314, 197, 399, 482, 276, 0, 0, 0, 0,
  3423  	0, 638, 0, 0, 0, 0, 0, 0, 0, 0,
  3424  	0, 230, 0, 0, 237, 0, 0, 0, 338, 347,
  3425  	346, 327, 328, 330, 332, 337, 344, 350, 0, 0,
  3426  	0, 0, 0, 255, 310, 262, 254, 507, 0, 0,
  3427  	0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
  3428  	1337, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3429  	265, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3430  	0, 0, 0, 1338, 1339, 1340, 1341, 1342, 1343, 1344,
  3431  	1346, 1345, 1347, 1348, 0, 0, 0, 0, 0, 0,
  3432  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3433  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3434  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3435  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3436  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3437  	0, 287, 0, 388, 247, 0, 438, 0, 0, 0,
  3438  	549, 0, 0, 0, 0, 0, 0, 0, 352, 0,
  3439  	319, 193, 217, 0, 0, 398, 446, 458, 0, 0,
  3440  	0, 245, 0, 456, 412, 527, 225, 274, 443, 418,
  3441  	454, 426, 277, 0, 0, 455, 359, 512, 436, 524,
  3442  	550, 551, 253, 392, 536, 496, 544, 568, 218, 250,
  3443  	406, 489, 530, 478, 384, 508, 509, 318, 477, 285,
  3444  	196, 356, 556, 216, 464, 358, 234, 223, 514, 533,
  3445  	279, 441, 563, 205, 491, 522, 231, 468, 0, 0,
  3446  	570, 239, 488, 207, 519, 487, 380, 315, 316, 206,
  3447  	0, 442, 258, 283, 0, 0, 248, 401, 516, 517,
  3448  	246, 571, 220, 543, 212, 0, 542, 394, 511, 520,
  3449  	381, 370, 211, 518, 379, 369, 323, 342, 343, 270,
  3450  	296, 433, 362, 434, 295, 297, 390, 389, 391, 200,
  3451  	531, 0, 201, 0, 483, 532, 572, 226, 227, 229,
  3452  	0, 269, 273, 281, 284, 292, 293, 302, 354, 405,
  3453  	432, 428, 437, 0, 506, 525, 537, 548, 554, 555,
  3454  	557, 558, 559, 560, 561, 564, 562, 393, 300, 479,
  3455  	322, 360, 0, 0, 411, 457, 232, 529, 480, 0,
  3456  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3457  	573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
  3458  	583, 584, 585, 586, 587, 588, 589, 590, 0, 0,
  3459  	0, 0, 0, 0, 0, 0, 0, 591, 371, 470,
  3460  	526, 324, 336, 339, 329, 348, 0, 349, 325, 326,
  3461  	331, 333, 334, 335, 340, 341, 345, 351, 241, 203,
  3462  	377, 385, 505, 301, 208, 209, 210, 498, 499, 500,
  3463  	501, 540, 541, 545, 447, 448, 449, 450, 282, 535,
  3464  	298, 453, 452, 320, 321, 366, 435, 0, 192, 213,
  3465  	355, 0, 439, 278, 569, 539, 534, 199, 215, 0,
  3466  	252, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3467  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3468  	0, 0, 194, 195, 202, 214, 224, 228, 235, 251,
  3469  	266, 268, 275, 288, 299, 307, 308, 311, 317, 367,
  3470  	373, 374, 375, 376, 395, 396, 397, 400, 403, 404,
  3471  	407, 409, 410, 413, 417, 421, 422, 423, 425, 427,
  3472  	429, 440, 445, 459, 460, 461, 462, 463, 466, 467,
  3473  	472, 473, 474, 475, 476, 484, 485, 490, 513, 515,
  3474  	528, 546, 552, 465, 290, 291, 430, 431, 303, 304,
  3475  	566, 567, 289, 523, 553, 521, 565, 547, 424, 365,
  3476  	0, 0, 368, 271, 294, 309, 0, 538, 486, 219,
  3477  	451, 280, 243, 0, 0, 204, 238, 222, 249, 264,
  3478  	267, 313, 378, 386, 415, 420, 286, 261, 236, 444,
  3479  	233, 469, 493, 494, 495, 497, 382, 256, 419, 383,
  3480  	0, 363, 503, 504, 305, 502, 0, 0, 0, 0,
  3481  	0, 0, 0, 0, 0, 0, 0, 402, 0, 0,
  3482  	0, 0, 0, 0, 0, 0, 260, 0, 0, 0,
  3483  	0, 353, 257, 0, 0, 416, 0, 198, 0, 471,
  3484  	244, 364, 361, 510, 272, 263, 259, 242, 306, 372,
  3485  	414, 492, 408, 0, 357, 0, 0, 481, 387, 0,
  3486  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3487  	0, 0, 0, 0, 312, 240, 314, 197, 399, 482,
  3488  	276, 0, 0, 0, 0, 0, 638, 0, 0, 0,
  3489  	0, 0, 0, 0, 0, 0, 230, 0, 0, 237,
  3490  	0, 0, 0, 338, 347, 346, 327, 328, 330, 332,
  3491  	337, 344, 350, 0, 0, 0, 0, 0, 255, 310,
  3492  	262, 254, 507, 0, 0, 0, 0, 0, 0, 0,
  3493  	221, 0, 990, 0, 0, 0, 0, 0, 0, 0,
  3494  	0, 0, 0, 0, 0, 265, 0, 0, 0, 0,
  3495  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3496  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3497  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3498  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3499  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3500  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3501  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3502  	0, 0, 0, 0, 0, 0, 287, 0, 388, 247,
  3503  	0, 438, 0, 0, 989, 549, 0, 0, 0, 0,
  3504  	0, 986, 987, 352, 947, 319, 193, 217, 980, 984,
  3505  	398, 446, 458, 0, 0, 0, 245, 0, 456, 412,
  3506  	527, 225, 274, 443, 418, 454, 426, 277, 0, 0,
  3507  	455, 359, 512, 436, 524, 550, 551, 253, 392, 536,
  3508  	496, 544, 568, 218, 250, 406, 489, 530, 478, 384,
  3509  	508, 509, 318, 477, 285, 196, 356, 556, 216, 464,
  3510  	358, 234, 223, 514, 533, 279, 441, 563, 205, 491,
  3511  	522, 231, 468, 0, 0, 570, 239, 488, 207, 519,
  3512  	487, 380, 315, 316, 206, 0, 442, 258, 283, 0,
  3513  	0, 248, 401, 516, 517, 246, 571, 220, 543, 212,
  3514  	0, 542, 394, 511, 520, 381, 370, 211, 518, 379,
  3515  	369, 323, 342, 343, 270, 296, 433, 362, 434, 295,
  3516  	297, 390, 389, 391, 200, 531, 0, 201, 0, 483,
  3517  	532, 572, 226, 227, 229, 0, 269, 273, 281, 284,
  3518  	292, 293, 302, 354, 405, 432, 428, 437, 0, 506,
  3519  	525, 537, 548, 554, 555, 557, 558, 559, 560, 561,
  3520  	564, 562, 393, 300, 479, 322, 360, 0, 0, 411,
  3521  	457, 232, 529, 480, 0, 0, 0, 0, 0, 0,
  3522  	0, 0, 0, 0, 0, 573, 574, 575, 576, 577,
  3523  	578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
  3524  	588, 589, 590, 0, 0, 0, 0, 0, 0, 0,
  3525  	0, 0, 591, 371, 470, 526, 324, 336, 339, 329,
  3526  	348, 0, 349, 325, 326, 331, 333, 334, 335, 340,
  3527  	341, 345, 351, 241, 203, 377, 385, 505, 301, 208,
  3528  	209, 210, 498, 499, 500, 501, 540, 541, 545, 447,
  3529  	448, 449, 450, 282, 535, 298, 453, 452, 320, 321,
  3530  	366, 435, 0, 192, 213, 355, 0, 439, 278, 569,
  3531  	539, 534, 199, 215, 0, 252, 0, 0, 0, 0,
  3532  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3533  	0, 0, 0, 0, 0, 0, 0, 194, 195, 202,
  3534  	214, 224, 228, 235, 251, 266, 268, 275, 288, 299,
  3535  	307, 308, 311, 317, 367, 373, 374, 375, 376, 395,
  3536  	396, 397, 400, 403, 404, 407, 409, 410, 413, 417,
  3537  	421, 422, 423, 425, 427, 429, 440, 445, 459, 460,
  3538  	461, 462, 463, 466, 467, 472, 473, 474, 475, 476,
  3539  	484, 485, 490, 513, 515, 528, 546, 552, 465, 290,
  3540  	291, 430, 431, 303, 304, 566, 567, 289, 523, 553,
  3541  	521, 565, 547, 424, 365, 0, 0, 368, 271, 294,
  3542  	309, 0, 538, 486, 219, 451, 280, 243, 0, 0,
  3543  	204, 238, 222, 249, 264, 267, 313, 378, 386, 415,
  3544  	420, 286, 261, 236, 444, 233, 469, 493, 494, 495,
  3545  	497, 382, 256, 419, 383, 0, 363, 503, 504, 305,
  3546  	502, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3547  	0, 0, 402, 0, 0, 0, 0, 0, 0, 0,
  3548  	0, 260, 0, 0, 0, 0, 353, 257, 0, 0,
  3549  	416, 0, 198, 0, 471, 244, 364, 361, 510, 272,
  3550  	263, 259, 242, 306, 372, 414, 492, 408, 0, 357,
  3551  	0, 0, 481, 387, 0, 0, 0, 0, 0, 0,
  3552  	0, 0, 0, 0, 0, 0, 0, 0, 0, 312,
  3553  	240, 314, 197, 399, 482, 276, 0, 0, 0, 0,
  3554  	1486, 814, 0, 0, 1483, 0, 0, 0, 0, 1481,
  3555  	0, 230, 1482, 1480, 237, 1485, 0, 779, 338, 347,
  3556  	346, 327, 328, 330, 332, 337, 344, 350, 0, 0,
  3557  	0, 0, 0, 255, 310, 262, 254, 507, 0, 0,
  3558  	0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
  3559  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3560  	265, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3561  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3562  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3563  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3564  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3565  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3566  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3567  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3568  	0, 287, 0, 388, 247, 0, 438, 0, 0, 0,
  3569  	549, 0, 0, 0, 0, 0, 0, 0, 352, 0,
  3570  	319, 193, 217, 0, 0, 398, 446, 458, 0, 0,
  3571  	0, 245, 0, 456, 412, 527, 225, 274, 443, 418,
  3572  	454, 426, 277, 0, 0, 455, 359, 512, 436, 524,
  3573  	550, 551, 253, 392, 536, 496, 544, 568, 218, 250,
  3574  	406, 489, 530, 478, 384, 508, 509, 318, 477, 285,
  3575  	196, 356, 556, 216, 464, 358, 234, 223, 514, 533,
  3576  	279, 441, 563, 205, 491, 522, 231, 468, 0, 0,
  3577  	570, 239, 488, 207, 519, 487, 380, 315, 316, 206,
  3578  	0, 442, 258, 283, 0, 0, 248, 401, 516, 517,
  3579  	246, 571, 220, 543, 212, 0, 542, 394, 511, 520,
  3580  	381, 370, 211, 518, 379, 369, 323, 342, 343, 270,
  3581  	296, 433, 362, 434, 295, 297, 390, 389, 391, 200,
  3582  	531, 0, 201, 0, 483, 532, 572, 226, 227, 229,
  3583  	0, 269, 273, 281, 284, 292, 293, 302, 354, 405,
  3584  	432, 428, 437, 0, 506, 525, 537, 548, 554, 555,
  3585  	557, 558, 559, 560, 561, 564, 562, 393, 300, 479,
  3586  	322, 360, 0, 0, 411, 457, 232, 529, 480, 0,
  3587  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3588  	573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
  3589  	583, 584, 585, 586, 587, 588, 589, 590, 0, 0,
  3590  	0, 0, 0, 0, 0, 0, 0, 591, 371, 470,
  3591  	526, 324, 336, 339, 329, 348, 0, 349, 325, 326,
  3592  	331, 333, 334, 335, 340, 341, 345, 351, 241, 203,
  3593  	377, 385, 505, 301, 208, 209, 210, 498, 499, 500,
  3594  	501, 540, 541, 545, 447, 448, 449, 450, 282, 535,
  3595  	298, 453, 452, 320, 321, 366, 435, 0, 192, 213,
  3596  	355, 0, 439, 278, 569, 539, 534, 199, 215, 0,
  3597  	252, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3598  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3599  	0, 0, 194, 195, 202, 214, 224, 228, 235, 251,
  3600  	266, 268, 275, 288, 299, 307, 308, 311, 317, 367,
  3601  	373, 374, 375, 376, 395, 396, 397, 400, 403, 404,
  3602  	407, 409, 410, 413, 417, 421, 422, 423, 425, 427,
  3603  	429, 440, 445, 459, 460, 461, 462, 463, 466, 467,
  3604  	472, 473, 474, 475, 476, 484, 485, 490, 513, 515,
  3605  	528, 546, 552, 465, 290, 291, 430, 431, 303, 304,
  3606  	566, 567, 289, 523, 553, 521, 565, 547, 424, 365,
  3607  	0, 0, 368, 271, 294, 309, 0, 538, 486, 219,
  3608  	451, 280, 243, 0, 0, 204, 238, 222, 249, 264,
  3609  	267, 313, 378, 386, 415, 420, 286, 261, 236, 444,
  3610  	233, 469, 493, 494, 495, 497, 382, 256, 419, 0,
  3611  	383, 363, 503, 504, 305, 82, 502, 0, 0, 0,
  3612  	0, 0, 0, 0, 0, 0, 0, 0, 402, 0,
  3613  	0, 0, 0, 0, 0, 0, 0, 260, 0, 0,
  3614  	0, 0, 353, 257, 0, 0, 416, 0, 198, 0,
  3615  	471, 244, 364, 361, 510, 272, 263, 259, 242, 306,
  3616  	372, 414, 492, 408, 0, 357, 0, 0, 481, 387,
  3617  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3618  	0, 0, 0, 0, 0, 312, 240, 314, 197, 399,
  3619  	482, 276, 0, 91, 0, 0, 0, 190, 0, 0,
  3620  	0, 0, 0, 0, 0, 0, 0, 230, 0, 0,
  3621  	237, 0, 0, 0, 338, 347, 346, 327, 328, 330,
  3622  	332, 337, 344, 350, 0, 0, 0, 0, 0, 255,
  3623  	310, 262, 254, 507, 0, 0, 0, 0, 0, 0,
  3624  	0, 221, 0, 0, 0, 0, 0, 0, 0, 0,
  3625  	0, 0, 0, 0, 0, 0, 265, 0, 0, 0,
  3626  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3627  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3628  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3629  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3630  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3631  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3632  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3633  	0, 0, 0, 0, 0, 0, 0, 287, 0, 388,
  3634  	247, 0, 438, 0, 0, 0, 549, 0, 0, 0,
  3635  	0, 0, 0, 0, 352, 0, 319, 193, 217, 0,
  3636  	0, 398, 446, 458, 0, 0, 0, 245, 0, 456,
  3637  	412, 527, 225, 274, 443, 418, 454, 426, 277, 0,
  3638  	0, 455, 359, 512, 436, 524, 550, 551, 253, 392,
  3639  	536, 496, 544, 568, 218, 250, 406, 489, 530, 478,
  3640  	384, 508, 509, 318, 477, 285, 196, 356, 556, 216,
  3641  	464, 358, 234, 223, 514, 533, 279, 441, 563, 205,
  3642  	491, 522, 231, 468, 0, 0, 570, 239, 488, 207,
  3643  	519, 487, 380, 315, 316, 206, 0, 442, 258, 283,
  3644  	0, 0, 248, 401, 516, 517, 246, 571, 220, 543,
  3645  	212, 0, 542, 394, 511, 520, 381, 370, 211, 518,
  3646  	379, 369, 323, 342, 343, 270, 296, 433, 362, 434,
  3647  	295, 297, 390, 389, 391, 200, 531, 0, 201, 0,
  3648  	483, 532, 572, 226, 227, 229, 0, 269, 273, 281,
  3649  	284, 292, 293, 302, 354, 405, 432, 428, 437, 0,
  3650  	506, 525, 537, 548, 554, 555, 557, 558, 559, 560,
  3651  	561, 564, 562, 393, 300, 479, 322, 360, 0, 0,
  3652  	411, 457, 232, 529, 480, 0, 0, 0, 0, 0,
  3653  	0, 0, 0, 0, 0, 0, 573, 574, 575, 576,
  3654  	577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
  3655  	587, 588, 589, 590, 0, 0, 0, 0, 0, 0,
  3656  	0, 0, 0, 591, 371, 470, 526, 324, 336, 339,
  3657  	329, 348, 0, 349, 325, 326, 331, 333, 334, 335,
  3658  	340, 341, 345, 351, 241, 203, 377, 385, 505, 301,
  3659  	208, 209, 210, 498, 499, 500, 501, 540, 541, 545,
  3660  	447, 448, 449, 450, 282, 535, 298, 453, 452, 320,
  3661  	321, 366, 435, 0, 192, 213, 355, 90, 439, 278,
  3662  	569, 539, 534, 199, 215, 0, 252, 0, 0, 0,
  3663  	0, 0, 0, 2099, 0, 0, 2098, 0, 0, 0,
  3664  	0, 0, 0, 0, 0, 0, 0, 0, 194, 195,
  3665  	202, 214, 224, 228, 235, 251, 266, 268, 275, 288,
  3666  	299, 307, 308, 311, 317, 367, 373, 374, 375, 376,
  3667  	395, 396, 397, 400, 403, 404, 407, 409, 410, 413,
  3668  	417, 421, 422, 423, 425, 427, 429, 440, 445, 459,
  3669  	460, 461, 462, 463, 466, 467, 472, 473, 474, 475,
  3670  	476, 484, 485, 490, 513, 515, 528, 546, 552, 465,
  3671  	290, 291, 430, 431, 303, 304, 566, 567, 289, 523,
  3672  	553, 521, 565, 547, 424, 365, 0, 0, 368, 271,
  3673  	294, 309, 0, 538, 486, 219, 451, 280, 243, 0,
  3674  	0, 204, 238, 222, 249, 264, 267, 313, 378, 386,
  3675  	415, 420, 286, 261, 236, 444, 233, 469, 493, 494,
  3676  	495, 497, 382, 256, 419, 1542, 0, 363, 503, 504,
  3677  	305, 502, 0, 0, 0, 0, 0, 0, 0, 0,
  3678  	0, 0, 0, 402, 0, 0, 0, 1544, 0, 0,
  3679  	0, 0, 260, 0, 0, 0, 0, 353, 257, 0,
  3680  	0, 416, 0, 198, 0, 471, 244, 364, 361, 510,
  3681  	272, 263, 259, 242, 306, 372, 414, 492, 408, 0,
  3682  	357, 0, 0, 481, 387, 0, 0, 0, 0, 0,
  3683  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3684  	312, 240, 314, 197, 399, 482, 276, 0, 0, 0,
  3685  	0, 1546, 638, 0, 0, 0, 0, 0, 0, 0,
  3686  	0, 0, 230, 0, 0, 237, 0, 0, 0, 338,
  3687  	347, 346, 327, 328, 330, 332, 337, 344, 350, 0,
  3688  	0, 0, 0, 0, 255, 310, 262, 254, 507, 0,
  3689  	0, 0, 0, 0, 0, 0, 221, 0, 0, 0,
  3690  	1318, 0, 1319, 1320, 0, 0, 0, 0, 0, 0,
  3691  	0, 265, 0, 0, 0, 0, 0, 0, 0, 0,
  3692  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3693  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3694  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3695  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3696  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3697  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3698  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3699  	0, 0, 287, 0, 388, 247, 0, 438, 0, 0,
  3700  	0, 549, 0, 0, 0, 0, 0, 0, 0, 352,
  3701  	0, 319, 193, 217, 0, 0, 398, 446, 458, 0,
  3702  	0, 0, 245, 0, 456, 412, 527, 225, 274, 443,
  3703  	418, 454, 426, 277, 0, 0, 455, 359, 512, 436,
  3704  	524, 550, 551, 253, 392, 536, 496, 544, 568, 218,
  3705  	250, 406, 489, 530, 478, 384, 508, 509, 318, 477,
  3706  	285, 196, 356, 556, 216, 464, 358, 234, 223, 514,
  3707  	533, 279, 441, 563, 205, 491, 522, 231, 468, 0,
  3708  	0, 570, 239, 488, 207, 519, 487, 380, 315, 316,
  3709  	206, 0, 442, 258, 283, 0, 0, 248, 401, 516,
  3710  	517, 246, 571, 220, 543, 212, 0, 542, 394, 511,
  3711  	520, 381, 370, 211, 518, 379, 369, 323, 342, 343,
  3712  	270, 296, 433, 362, 434, 295, 297, 390, 389, 391,
  3713  	200, 531, 0, 201, 0, 483, 532, 572, 226, 227,
  3714  	229, 0, 269, 273, 281, 284, 292, 293, 302, 354,
  3715  	405, 432, 428, 437, 0, 506, 525, 537, 548, 554,
  3716  	555, 557, 558, 559, 560, 561, 564, 562, 393, 300,
  3717  	479, 322, 360, 0, 0, 411, 457, 232, 529, 480,
  3718  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3719  	0, 573, 574, 575, 576, 577, 578, 579, 580, 581,
  3720  	582, 583, 584, 585, 586, 587, 588, 589, 590, 0,
  3721  	0, 0, 0, 0, 0, 0, 0, 0, 591, 371,
  3722  	470, 526, 324, 336, 339, 329, 348, 0, 349, 325,
  3723  	326, 331, 333, 334, 335, 340, 341, 345, 351, 241,
  3724  	203, 377, 385, 505, 301, 208, 209, 210, 498, 499,
  3725  	500, 501, 540, 541, 545, 447, 448, 449, 450, 282,
  3726  	535, 298, 453, 452, 320, 321, 366, 435, 0, 192,
  3727  	213, 355, 0, 439, 278, 569, 539, 534, 199, 215,
  3728  	0, 252, 0, 0, 0, 0, 0, 0, 0, 0,
  3729  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3730  	0, 0, 0, 194, 195, 202, 214, 224, 228, 235,
  3731  	251, 266, 268, 275, 288, 299, 307, 308, 311, 317,
  3732  	367, 373, 374, 375, 376, 395, 396, 397, 400, 403,
  3733  	404, 407, 409, 410, 413, 417, 421, 422, 423, 425,
  3734  	427, 429, 440, 445, 459, 460, 461, 462, 463, 466,
  3735  	467, 472, 473, 474, 475, 476, 484, 485, 490, 513,
  3736  	515, 528, 546, 552, 465, 290, 291, 430, 431, 303,
  3737  	304, 566, 567, 289, 523, 553, 521, 565, 547, 424,
  3738  	365, 0, 0, 368, 271, 294, 309, 0, 538, 486,
  3739  	219, 451, 280, 243, 0, 0, 204, 238, 222, 249,
  3740  	264, 267, 313, 378, 386, 415, 420, 286, 261, 236,
  3741  	444, 233, 469, 493, 494, 495, 497, 382, 256, 419,
  3742  	0, 383, 363, 503, 504, 305, 82, 502, 0, 0,
  3743  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  3744  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  3745  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  3746  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  3747  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  3748  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3749  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  3750  	399, 482, 276, 0, 91, 0, 1523, 0, 638, 0,
  3751  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  3752  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  3753  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  3754  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  3755  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  3756  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  3757  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3758  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3759  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3760  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3761  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3762  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3763  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3764  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  3765  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  3766  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  3767  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  3768  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  3769  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  3770  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  3771  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  3772  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  3773  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  3774  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  3775  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  3776  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  3777  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  3778  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  3779  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  3780  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  3781  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  3782  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  3783  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  3784  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  3785  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  3786  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  3787  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  3788  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  3789  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  3790  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  3791  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  3792  	320, 321, 366, 435, 0, 192, 213, 355, 90, 439,
  3793  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  3794  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3795  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  3796  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  3797  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  3798  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  3799  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  3800  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  3801  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  3802  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  3803  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  3804  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  3805  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  3806  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  3807  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  3808  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  3809  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  3810  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  3811  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  3812  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  3813  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  3814  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3815  	0, 312, 240, 314, 197, 399, 482, 276, 0, 91,
  3816  	0, 0, 0, 190, 0, 0, 0, 0, 0, 0,
  3817  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  3818  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  3819  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  3820  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  3821  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3822  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  3823  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3824  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3825  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3826  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3827  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3828  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3829  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3830  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  3831  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  3832  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  3833  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  3834  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  3835  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  3836  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  3837  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  3838  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  3839  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  3840  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  3841  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  3842  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  3843  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  3844  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  3845  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  3846  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  3847  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  3848  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  3849  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3850  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  3851  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  3852  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  3853  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  3854  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  3855  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  3856  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  3857  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  3858  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  3859  	215, 0, 252, 0, 0, 0, 0, 0, 0, 2099,
  3860  	0, 0, 2098, 0, 0, 0, 0, 0, 0, 0,
  3861  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  3862  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  3863  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  3864  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  3865  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  3866  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  3867  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  3868  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  3869  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  3870  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  3871  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  3872  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  3873  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  3874  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  3875  	0, 0, 0, 2049, 0, 0, 0, 0, 260, 0,
  3876  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  3877  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  3878  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  3879  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3880  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  3881  	399, 482, 276, 0, 0, 0, 0, 1725, 190, 0,
  3882  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  3883  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  3884  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  3885  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  3886  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  3887  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  3888  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3889  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3890  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3891  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3892  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3893  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3894  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3895  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  3896  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  3897  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  3898  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  3899  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  3900  	0, 2047, 455, 359, 512, 436, 524, 550, 551, 253,
  3901  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  3902  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  3903  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  3904  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  3905  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  3906  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  3907  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  3908  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  3909  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  3910  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  3911  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  3912  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  3913  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  3914  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  3915  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  3916  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  3917  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  3918  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  3919  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  3920  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  3921  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  3922  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  3923  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  3924  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  3925  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3926  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  3927  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  3928  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  3929  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  3930  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  3931  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  3932  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  3933  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  3934  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  3935  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  3936  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  3937  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  3938  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  3939  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  3940  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  3941  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  3942  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  3943  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  3944  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  3945  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3946  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  3947  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  3948  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  3949  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  3950  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  3951  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  3952  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3953  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  3954  	0, 941, 0, 0, 0, 0, 0, 0, 0, 0,
  3955  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3956  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3957  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3958  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3959  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3960  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3961  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  3962  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  3963  	352, 947, 319, 193, 217, 945, 0, 398, 446, 458,
  3964  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  3965  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  3966  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  3967  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  3968  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  3969  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  3970  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  3971  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  3972  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  3973  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  3974  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  3975  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  3976  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  3977  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  3978  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  3979  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  3980  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3981  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  3982  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  3983  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  3984  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  3985  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  3986  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  3987  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  3988  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  3989  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  3990  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  3991  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3992  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  3993  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  3994  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  3995  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  3996  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  3997  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  3998  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  3999  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4000  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4001  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4002  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4003  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4004  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4005  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4006  	0, 0, 0, 2049, 0, 0, 0, 0, 260, 0,
  4007  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4008  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4009  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4010  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4011  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4012  	399, 482, 276, 0, 0, 0, 0, 1725, 190, 0,
  4013  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  4014  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  4015  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4016  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4017  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4018  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4019  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4020  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4021  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4022  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4023  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4024  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4025  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4026  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4027  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4028  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4029  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4030  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4031  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4032  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4033  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4034  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4035  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4036  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4037  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4038  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4039  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4040  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4041  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4042  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4043  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4044  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4045  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4046  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4047  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4048  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4049  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4050  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4051  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4052  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4053  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4054  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4055  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4056  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4057  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4058  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4059  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4060  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4061  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4062  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4063  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4064  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4065  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4066  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4067  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4068  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4069  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4070  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  4071  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  4072  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  4073  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4074  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4075  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4076  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4077  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4078  	0, 1523, 0, 638, 0, 0, 0, 0, 0, 0,
  4079  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4080  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4081  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4082  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  4083  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4084  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  4085  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4086  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4087  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4088  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4089  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4090  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4091  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4092  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  4093  	0, 0, 549, 0, 0, 0, 3343, 0, 0, 0,
  4094  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  4095  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  4096  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  4097  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  4098  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  4099  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  4100  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  4101  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  4102  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  4103  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  4104  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  4105  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  4106  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  4107  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  4108  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  4109  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  4110  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  4111  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4112  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  4113  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  4114  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  4115  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  4116  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  4117  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  4118  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  4119  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  4120  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  4121  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  4122  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4123  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  4124  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  4125  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  4126  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  4127  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  4128  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  4129  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  4130  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4131  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4132  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4133  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4134  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4135  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4136  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4137  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  4138  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4139  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4140  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4141  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4142  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4143  	399, 482, 276, 0, 0, 0, 0, 1880, 638, 0,
  4144  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  4145  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  4146  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4147  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4148  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4149  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4150  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4151  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4152  	0, 0, 0, 0, 1881, 0, 0, 0, 0, 0,
  4153  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4154  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4155  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4156  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4157  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4158  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4159  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4160  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4161  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4162  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4163  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4164  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4165  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4166  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4167  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4168  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4169  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4170  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4171  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4172  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4173  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4174  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4175  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4176  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4177  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4178  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4179  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4180  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4181  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4182  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4183  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4184  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4185  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4186  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4187  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4188  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4189  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4190  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4191  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4192  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4193  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4194  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4195  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4196  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4197  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4198  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4199  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4200  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4201  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  4202  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  4203  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  4204  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4205  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4206  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4207  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4208  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4209  	0, 0, 2458, 638, 0, 0, 0, 0, 0, 0,
  4210  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4211  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4212  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4213  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  4214  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4215  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  4216  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4217  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2459,
  4218  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4219  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4220  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4221  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4222  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4223  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  4224  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  4225  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  4226  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  4227  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  4228  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  4229  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  4230  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  4231  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  4232  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  4233  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  4234  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  4235  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  4236  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  4237  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  4238  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  4239  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  4240  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  4241  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  4242  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4243  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  4244  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  4245  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  4246  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  4247  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  4248  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  4249  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  4250  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  4251  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  4252  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  4253  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4254  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  4255  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  4256  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  4257  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  4258  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  4259  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  4260  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  4261  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4262  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4263  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4264  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4265  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4266  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4267  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4268  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  4269  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4270  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4271  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4272  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4273  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4274  	399, 482, 276, 0, 0, 0, 0, 0, 638, 0,
  4275  	0, 0, 0, 2443, 0, 0, 0, 0, 230, 0,
  4276  	0, 237, 2444, 0, 0, 338, 347, 346, 327, 328,
  4277  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4278  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4279  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4280  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4281  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4282  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4283  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4284  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4285  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4286  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4287  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4288  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4289  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4290  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4291  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4292  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4293  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4294  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4295  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4296  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4297  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4298  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4299  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4300  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4301  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4302  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4303  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4304  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4305  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4306  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4307  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4308  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4309  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4310  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4311  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4312  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4313  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4314  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4315  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4316  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4317  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4318  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4319  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4320  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4321  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4322  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4323  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4324  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4325  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4326  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4327  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4328  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4329  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4330  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4331  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4332  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  4333  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  4334  	0, 0, 0, 260, 1565, 0, 0, 0, 353, 257,
  4335  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4336  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4337  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4338  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4339  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4340  	0, 0, 1564, 638, 0, 0, 0, 0, 0, 0,
  4341  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4342  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4343  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4344  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  4345  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4346  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  4347  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4348  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4349  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4350  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4351  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4352  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4353  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4354  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  4355  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  4356  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  4357  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  4358  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  4359  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  4360  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  4361  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  4362  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  4363  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  4364  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  4365  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  4366  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  4367  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  4368  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  4369  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  4370  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  4371  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  4372  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  4373  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4374  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  4375  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  4376  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  4377  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  4378  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  4379  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  4380  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  4381  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  4382  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  4383  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  4384  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4385  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  4386  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  4387  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  4388  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  4389  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  4390  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  4391  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  4392  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4393  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4394  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4395  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4396  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4397  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4398  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4399  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  4400  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4401  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4402  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4403  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4404  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4405  	399, 482, 276, 0, 0, 0, 0, 0, 640, 641,
  4406  	642, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  4407  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  4408  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4409  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4410  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4411  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4412  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4413  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4414  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4415  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4416  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4417  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4418  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4419  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4420  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4421  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4422  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4423  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4424  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4425  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4426  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4427  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4428  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4429  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4430  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4431  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4432  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4433  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4434  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4435  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4436  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4437  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4438  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4439  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4440  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4441  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4442  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4443  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4444  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4445  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4446  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4447  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4448  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4449  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4450  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4451  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4452  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4453  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4454  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4455  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4456  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4457  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4458  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4459  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4460  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4461  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4462  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4463  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  4464  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  4465  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  4466  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4467  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4468  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4469  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4470  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4471  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  4472  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4473  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4474  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4475  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  4476  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4477  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  4478  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4479  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4480  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4481  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4482  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4483  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4484  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4485  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  4486  	0, 0, 549, 0, 0, 0, 3467, 0, 0, 0,
  4487  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  4488  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  4489  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  4490  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  4491  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  4492  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  4493  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  4494  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  4495  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  4496  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  4497  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  4498  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  4499  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  4500  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  4501  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  4502  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  4503  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  4504  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4505  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  4506  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  4507  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  4508  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  4509  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  4510  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  4511  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  4512  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  4513  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  4514  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  4515  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4516  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  4517  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  4518  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  4519  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  4520  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  4521  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  4522  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  4523  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4524  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4525  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4526  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4527  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4528  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4529  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4530  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  4531  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4532  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4533  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4534  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4535  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4536  	399, 482, 276, 0, 0, 0, 0, 1725, 190, 0,
  4537  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  4538  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  4539  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4540  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4541  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4542  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4543  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4544  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4545  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4546  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4547  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4548  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4549  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4550  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4551  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4552  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4553  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4554  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4555  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4556  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4557  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4558  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4559  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4560  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4561  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4562  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4563  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4564  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4565  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4566  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4567  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4568  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4569  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4570  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4571  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4572  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4573  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4574  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4575  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4576  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4577  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4578  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4579  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4580  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4581  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4582  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4583  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4584  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4585  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4586  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4587  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4588  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4589  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4590  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4591  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4592  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4593  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4594  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  4595  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  4596  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  4597  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4598  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4599  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4600  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4601  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4602  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  4603  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4604  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4605  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4606  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  4607  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4608  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  4609  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4610  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4611  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4612  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4613  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4614  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4615  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4616  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  4617  	0, 0, 549, 0, 0, 0, 3343, 0, 0, 0,
  4618  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  4619  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  4620  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  4621  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  4622  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  4623  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  4624  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  4625  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  4626  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  4627  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  4628  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  4629  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  4630  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  4631  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  4632  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  4633  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  4634  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  4635  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4636  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  4637  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  4638  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  4639  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  4640  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  4641  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  4642  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  4643  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  4644  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  4645  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  4646  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4647  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  4648  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  4649  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  4650  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  4651  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  4652  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  4653  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  4654  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4655  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4656  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4657  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4658  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4659  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4660  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4661  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  4662  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4663  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4664  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4665  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4666  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4667  	399, 482, 276, 0, 91, 0, 0, 0, 638, 0,
  4668  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  4669  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  4670  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4671  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4672  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4673  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4674  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4675  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4676  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4677  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4678  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4679  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4680  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4681  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4682  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4683  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4684  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4685  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4686  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4687  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4688  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4689  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4690  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4691  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4692  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4693  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4694  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4695  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4696  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4697  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4698  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4699  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4700  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4701  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4702  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4703  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4704  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4705  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4706  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4707  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4708  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4709  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4710  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4711  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4712  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4713  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4714  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4715  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4716  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4717  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4718  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4719  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4720  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4721  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4722  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4723  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4724  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4725  	504, 305, 502, 0, 0, 0, 0, 2100, 0, 0,
  4726  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  4727  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  4728  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4729  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4730  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4731  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4732  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4733  	0, 0, 0, 190, 0, 0, 0, 0, 0, 0,
  4734  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4735  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4736  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4737  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  4738  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4739  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  4740  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4741  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4742  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4743  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4744  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4745  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4746  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4747  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  4748  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  4749  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  4750  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  4751  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  4752  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  4753  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  4754  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  4755  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  4756  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  4757  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  4758  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  4759  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  4760  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  4761  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  4762  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  4763  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  4764  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  4765  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  4766  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4767  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  4768  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  4769  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  4770  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  4771  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  4772  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  4773  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  4774  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  4775  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  4776  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  4777  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4778  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  4779  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  4780  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  4781  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  4782  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  4783  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  4784  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  4785  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4786  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4787  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4788  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4789  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4790  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4791  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4792  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  4793  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4794  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4795  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4796  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4797  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4798  	399, 482, 276, 0, 0, 0, 0, 1546, 638, 0,
  4799  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  4800  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  4801  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4802  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4803  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4804  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4805  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4806  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4807  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4808  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4809  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4810  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4811  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4812  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4813  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4814  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4815  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4816  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4817  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4818  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4819  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4820  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4821  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4822  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4823  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4824  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4825  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4826  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4827  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4828  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4829  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4830  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4831  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4832  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4833  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4834  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4835  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4836  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4837  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4838  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4839  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4840  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4841  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4842  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4843  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4844  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4845  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4846  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4847  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4848  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4849  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4850  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4851  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4852  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4853  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4854  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4855  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4856  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  4857  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  4858  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  4859  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4860  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4861  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4862  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4863  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4864  	0, 0, 0, 190, 0, 0, 0, 0, 0, 0,
  4865  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4866  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4867  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4868  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  4869  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4870  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  4871  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4872  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4873  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4874  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4875  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4876  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4877  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4878  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  4879  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  4880  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  4881  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  4882  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  4883  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  4884  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  4885  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  4886  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  4887  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  4888  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  4889  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  4890  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  4891  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  4892  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  4893  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  4894  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  4895  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  4896  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  4897  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4898  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  4899  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  4900  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  4901  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  4902  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  4903  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  4904  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  4905  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  4906  	192, 213, 355, 1835, 439, 278, 569, 539, 534, 199,
  4907  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  4908  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4909  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  4910  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  4911  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  4912  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  4913  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  4914  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  4915  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  4916  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  4917  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  4918  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  4919  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  4920  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  4921  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  4922  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  4923  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  4924  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  4925  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  4926  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  4927  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4928  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  4929  	399, 482, 276, 0, 0, 0, 0, 1826, 638, 0,
  4930  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  4931  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  4932  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  4933  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  4934  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  4935  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  4936  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4937  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4938  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4939  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4940  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4941  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4942  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4943  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  4944  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  4945  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  4946  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  4947  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  4948  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  4949  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  4950  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  4951  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  4952  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  4953  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  4954  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  4955  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  4956  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  4957  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  4958  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  4959  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  4960  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  4961  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  4962  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  4963  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  4964  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  4965  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  4966  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  4967  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  4968  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  4969  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  4970  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  4971  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  4972  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  4973  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4974  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  4975  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  4976  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  4977  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  4978  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  4979  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  4980  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  4981  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  4982  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  4983  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  4984  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  4985  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  4986  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  4987  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  4988  	0, 0, 0, 0, 402, 0, 1692, 0, 0, 0,
  4989  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  4990  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  4991  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  4992  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  4993  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4994  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  4995  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  4996  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  4997  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  4998  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  4999  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5000  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5001  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5002  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5003  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5004  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5005  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5006  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5007  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5008  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5009  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5010  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5011  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5012  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5013  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5014  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5015  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5016  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5017  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5018  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5019  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5020  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5021  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5022  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5023  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5024  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5025  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5026  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5027  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5028  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5029  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5030  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5031  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5032  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5033  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5034  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5035  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5036  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5037  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5038  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5039  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5040  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5041  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5042  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  5043  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5044  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5045  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5046  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5047  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5048  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5049  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5050  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5051  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5052  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5053  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5054  	0, 1690, 0, 0, 0, 0, 0, 0, 260, 0,
  5055  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5056  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5057  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5058  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5059  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5060  	399, 482, 276, 0, 0, 0, 0, 0, 638, 0,
  5061  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5062  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5063  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5064  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5065  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5066  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5067  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5068  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5069  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5070  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5071  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5072  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5073  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5074  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  5075  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  5076  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5077  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5078  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5079  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5080  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5081  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5082  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  5083  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  5084  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  5085  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  5086  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  5087  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  5088  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  5089  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  5090  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  5091  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  5092  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  5093  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  5094  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  5095  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  5096  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  5097  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  5098  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  5099  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  5100  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  5101  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  5102  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  5103  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  5104  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5105  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  5106  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  5107  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  5108  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  5109  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  5110  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  5111  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  5112  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  5113  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  5114  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  5115  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  5116  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  5117  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  5118  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  5119  	0, 0, 0, 0, 402, 0, 1688, 0, 0, 0,
  5120  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  5121  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  5122  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  5123  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  5124  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5125  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  5126  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  5127  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  5128  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  5129  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  5130  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5131  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5132  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5133  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5134  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5135  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5136  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5137  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5138  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5139  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5140  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5141  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5142  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5143  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5144  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5145  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5146  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5147  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5148  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5149  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5150  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5151  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5152  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5153  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5154  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5155  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5156  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5157  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5158  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5159  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5160  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5161  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5162  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5163  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5164  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5165  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5166  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5167  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5168  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5169  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5170  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5171  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5172  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5173  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  5174  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5175  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5176  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5177  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5178  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5179  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5180  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5181  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5182  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5183  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5184  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5185  	0, 1686, 0, 0, 0, 0, 0, 0, 260, 0,
  5186  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5187  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5188  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5189  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5190  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5191  	399, 482, 276, 0, 0, 0, 0, 0, 638, 0,
  5192  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5193  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5194  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5195  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5196  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5197  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5198  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5199  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5200  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5201  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5202  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5203  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5204  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5205  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  5206  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  5207  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5208  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5209  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5210  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5211  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5212  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5213  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  5214  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  5215  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  5216  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  5217  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  5218  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  5219  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  5220  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  5221  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  5222  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  5223  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  5224  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  5225  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  5226  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  5227  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  5228  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  5229  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  5230  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  5231  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  5232  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  5233  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  5234  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  5235  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5236  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  5237  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  5238  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  5239  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  5240  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  5241  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  5242  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  5243  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  5244  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  5245  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  5246  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  5247  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  5248  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  5249  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  5250  	0, 0, 0, 0, 402, 0, 1684, 0, 0, 0,
  5251  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  5252  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  5253  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  5254  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  5255  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5256  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  5257  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  5258  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  5259  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  5260  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  5261  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5262  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5263  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5264  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5265  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5266  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5267  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5268  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5269  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5270  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5271  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5272  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5273  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5274  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5275  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5276  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5277  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5278  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5279  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5280  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5281  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5282  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5283  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5284  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5285  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5286  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5287  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5288  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5289  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5290  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5291  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5292  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5293  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5294  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5295  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5296  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5297  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5298  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5299  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5300  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5301  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5302  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5303  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5304  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  5305  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5306  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5307  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5308  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5309  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5310  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5311  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5312  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5313  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5314  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5315  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5316  	0, 1680, 0, 0, 0, 0, 0, 0, 260, 0,
  5317  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5318  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5319  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5320  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5321  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5322  	399, 482, 276, 0, 0, 0, 0, 0, 638, 0,
  5323  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5324  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5325  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5326  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5327  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5328  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5329  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5330  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5331  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5332  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5333  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5334  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5335  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5336  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  5337  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  5338  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5339  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5340  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5341  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5342  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5343  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5344  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  5345  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  5346  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  5347  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  5348  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  5349  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  5350  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  5351  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  5352  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  5353  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  5354  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  5355  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  5356  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  5357  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  5358  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  5359  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  5360  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  5361  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  5362  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  5363  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  5364  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  5365  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  5366  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5367  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  5368  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  5369  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  5370  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  5371  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  5372  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  5373  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  5374  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  5375  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  5376  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  5377  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  5378  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  5379  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  5380  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  5381  	0, 0, 0, 0, 402, 0, 1678, 0, 0, 0,
  5382  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  5383  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  5384  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  5385  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  5386  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5387  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  5388  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  5389  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  5390  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  5391  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  5392  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5393  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5394  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5395  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5396  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5397  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5398  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5399  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5400  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5401  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5402  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5403  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5404  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5405  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5406  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5407  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5408  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5409  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5410  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5411  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5412  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5413  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5414  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5415  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5416  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5417  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5418  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5419  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5420  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5421  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5422  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5423  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5424  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5425  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5426  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5427  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5428  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5429  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5430  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5431  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5432  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5433  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5434  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5435  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  5436  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5437  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5438  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5439  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5440  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5441  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5442  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5443  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5444  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5445  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5446  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5447  	0, 1676, 0, 0, 0, 0, 0, 0, 260, 0,
  5448  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5449  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5450  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5451  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5452  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5453  	399, 482, 276, 0, 0, 0, 0, 0, 638, 0,
  5454  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5455  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5456  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5457  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5458  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5459  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5460  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5461  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5462  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5463  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5464  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5465  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5466  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5467  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  5468  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  5469  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5470  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5471  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5472  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5473  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5474  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5475  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  5476  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  5477  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  5478  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  5479  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  5480  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  5481  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  5482  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  5483  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  5484  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  5485  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  5486  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  5487  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  5488  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  5489  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  5490  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  5491  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  5492  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  5493  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  5494  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  5495  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  5496  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  5497  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5498  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  5499  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  5500  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  5501  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  5502  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  5503  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  5504  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  5505  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  5506  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  5507  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  5508  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  5509  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  5510  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  5511  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  5512  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  5513  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  5514  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  5515  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  5516  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  5517  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5518  	0, 312, 240, 314, 197, 399, 482, 276, 0, 1651,
  5519  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  5520  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  5521  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  5522  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  5523  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5524  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5525  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5526  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5527  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5528  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5529  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5530  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5531  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5532  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5533  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5534  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5535  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5536  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5537  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5538  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5539  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5540  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5541  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5542  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5543  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5544  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5545  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5546  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5547  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5548  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5549  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5550  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5551  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5552  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5553  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5554  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5555  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5556  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5557  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5558  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5559  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5560  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5561  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5562  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5563  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5564  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5565  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5566  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  5567  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5568  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5569  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5570  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5571  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5572  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5573  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5574  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5575  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5576  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5577  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5578  	0, 0, 0, 0, 0, 0, 0, 1550, 260, 0,
  5579  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5580  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5581  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5582  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5583  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5584  	399, 482, 276, 0, 0, 0, 0, 0, 190, 0,
  5585  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5586  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5587  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5588  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5589  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5590  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5591  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5592  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5593  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5594  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5595  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5596  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5597  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5598  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  5599  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  5600  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5601  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5602  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5603  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5604  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5605  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5606  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  5607  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  5608  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  5609  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  5610  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  5611  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  5612  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  5613  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  5614  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  5615  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  5616  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  5617  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  5618  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  5619  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  5620  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  5621  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  5622  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  5623  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  5624  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  5625  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  5626  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  5627  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  5628  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5629  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  5630  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  5631  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  5632  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  5633  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  5634  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  5635  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  5636  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  5637  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  5638  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  5639  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  5640  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  5641  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  5642  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  5643  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  5644  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  5645  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  5646  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  5647  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  5648  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5649  	0, 312, 240, 314, 197, 399, 482, 276, 0, 91,
  5650  	0, 0, 0, 814, 0, 0, 0, 0, 0, 0,
  5651  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  5652  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  5653  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  5654  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5655  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5656  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5657  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5658  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5659  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5660  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5661  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5662  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5663  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5664  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5665  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5666  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5667  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5668  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5669  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5670  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5671  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5672  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5673  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5674  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5675  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5676  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5677  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5678  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5679  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5680  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5681  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5682  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5683  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5684  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5685  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5686  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5687  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5688  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5689  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5690  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5691  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5692  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5693  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5694  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5695  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5696  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5697  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  5698  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5699  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5700  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5701  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5702  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5703  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5704  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5705  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5706  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5707  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5708  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5709  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  5710  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5711  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5712  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5713  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5714  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5715  	399, 482, 276, 0, 0, 0, 0, 0, 190, 0,
  5716  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5717  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5718  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5719  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5720  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5721  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5722  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5723  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5724  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5725  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5726  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5727  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5728  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5729  	0, 0, 0, 0, 0, 0, 1297, 0, 287, 0,
  5730  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  5731  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5732  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5733  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5734  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5735  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5736  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5737  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  5738  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  5739  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  5740  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  5741  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  5742  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  5743  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  5744  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  5745  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  5746  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  5747  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  5748  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  5749  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  5750  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  5751  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  5752  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  5753  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  5754  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  5755  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  5756  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  5757  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  5758  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  5759  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5760  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  5761  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  5762  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  5763  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  5764  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  5765  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  5766  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  5767  	465, 290, 291, 430, 431, 303, 304, 566, 567, 1296,
  5768  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  5769  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  5770  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  5771  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  5772  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  5773  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  5774  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  5775  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  5776  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  5777  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  5778  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  5779  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5780  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  5781  	0, 0, 0, 190, 0, 0, 0, 0, 0, 0,
  5782  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  5783  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  5784  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  5785  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5786  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5787  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5788  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5789  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5790  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5791  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5792  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5793  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5794  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5795  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5796  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5797  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5798  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5799  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5800  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5801  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5802  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5803  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5804  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5805  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5806  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5807  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5808  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5809  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5810  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5811  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5812  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5813  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5814  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5815  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5816  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5817  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5818  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5819  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5820  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5821  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5822  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5823  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5824  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5825  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5826  	900, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5827  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5828  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  5829  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5830  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5831  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5832  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5833  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5834  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5835  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5836  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5837  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5838  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5839  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5840  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  5841  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5842  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5843  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5844  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5845  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5846  	399, 482, 276, 0, 0, 0, 0, 0, 190, 0,
  5847  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5848  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5849  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5850  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5851  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5852  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5853  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5854  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5855  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5856  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5857  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5858  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5859  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5860  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  5861  	388, 247, 0, 438, 0, 594, 0, 549, 0, 0,
  5862  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5863  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5864  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5865  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5866  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5867  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5868  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  5869  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  5870  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  5871  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  5872  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  5873  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  5874  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  5875  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  5876  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  5877  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  5878  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  5879  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  5880  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  5881  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  5882  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  5883  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  5884  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  5885  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  5886  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  5887  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  5888  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  5889  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  5890  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5891  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  5892  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  5893  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  5894  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  5895  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  5896  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  5897  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  5898  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  5899  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  5900  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  5901  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  5902  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  5903  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  5904  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  5905  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  5906  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  5907  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  5908  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  5909  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  5910  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5911  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  5912  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  5913  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  5914  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  5915  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  5916  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  5917  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5918  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  5919  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5920  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5921  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5922  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5923  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5924  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5925  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5926  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  5927  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  5928  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  5929  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  5930  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  5931  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  5932  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  5933  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  5934  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  5935  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  5936  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  5937  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  5938  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  5939  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  5940  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  5941  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  5942  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  5943  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  5944  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  5945  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5946  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  5947  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  5948  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  5949  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  5950  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  5951  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  5952  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  5953  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  5954  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  5955  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  5956  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5957  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  5958  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  5959  	317, 367, 373, 374, 375, 376, 3475, 396, 397, 400,
  5960  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  5961  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  5962  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  5963  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  5964  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  5965  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  5966  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  5967  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  5968  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  5969  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  5970  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  5971  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  5972  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  5973  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  5974  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  5975  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5976  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  5977  	399, 482, 276, 0, 0, 0, 0, 0, 638, 0,
  5978  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  5979  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  5980  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  5981  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  5982  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  5983  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  5984  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5985  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5986  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5987  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5988  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5989  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5990  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5991  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  5992  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  5993  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  5994  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  5995  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  5996  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  5997  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  5998  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  5999  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  6000  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  6001  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  6002  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  6003  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  6004  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  6005  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  6006  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  6007  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  6008  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  6009  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  6010  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  6011  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  6012  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  6013  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  6014  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  6015  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  6016  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  6017  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  6018  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  6019  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  6020  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  6021  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6022  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  6023  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  6024  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  6025  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  6026  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  6027  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  6028  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  6029  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  6030  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  6031  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  6032  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  6033  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  6034  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  6035  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  6036  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  6037  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  6038  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  6039  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  6040  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  6041  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6042  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  6043  	0, 0, 0, 814, 0, 0, 0, 0, 0, 0,
  6044  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  6045  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  6046  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  6047  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  6048  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6049  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  6050  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6051  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6052  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6053  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6054  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6055  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6056  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6057  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  6058  	0, 0, 549, 0, 0, 0, 0, 0, 0, 0,
  6059  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  6060  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  6061  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  6062  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  6063  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  6064  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  6065  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  6066  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  6067  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  6068  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  6069  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  6070  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  6071  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  6072  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  6073  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  6074  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  6075  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  6076  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6077  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  6078  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  6079  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  6080  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  6081  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  6082  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  6083  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  6084  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  6085  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  6086  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  6087  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6088  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  6089  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  6090  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  6091  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  6092  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  6093  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  6094  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  6095  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  6096  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  6097  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  6098  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  6099  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  6100  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  6101  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  6102  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  6103  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  6104  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  6105  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  6106  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6107  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  6108  	399, 482, 276, 0, 0, 0, 0, 0, 190, 0,
  6109  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  6110  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  6111  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  6112  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  6113  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  6114  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  6115  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6116  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6117  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6118  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6119  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6120  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6121  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6122  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  6123  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  6124  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  6125  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  6126  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  6127  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  6128  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  6129  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  6130  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  6131  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  6132  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  6133  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  6134  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  6135  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  6136  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  6137  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  6138  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  6139  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  6140  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  6141  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  6142  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  6143  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  6144  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  6145  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  6146  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  6147  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  6148  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  6149  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  6150  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  6151  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  6152  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6153  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  6154  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  6155  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  6156  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  6157  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  6158  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  6159  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  6160  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  6161  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  6162  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  6163  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  6164  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  6165  	494, 495, 497, 382, 256, 419, 0, 0, 363, 503,
  6166  	504, 305, 91, 0, 0, 830, 0, 0, 0, 818,
  6167  	831, 832, 833, 834, 819, 0, 0, 820, 821, 0,
  6168  	822, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6169  	0, 0, 0, 0, 827, 835, 836, 0, 0, 0,
  6170  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6171  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6172  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6173  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6174  	0, 2868, 2869, 0, 0, 0, 0, 0, 0, 0,
  6175  	0, 0, 0, 837, 838, 839, 840, 841, 842, 843,
  6176  	844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
  6177  	854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
  6178  	864, 865, 866, 867, 868, 869, 870, 871, 872, 873,
  6179  	874, 875, 876, 877, 878, 0, 0, 0, 0, 0,
  6180  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6181  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6182  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6183  	0, 0, 0, 0, 0, 0, 2870, 0, 0, 0,
  6184  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6185  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6186  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6187  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6188  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6189  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6190  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6191  	0, 0, 0, 2871, 2872, 0, 0, 0, 0, 0,
  6192  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6193  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6194  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6195  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6196  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6197  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6198  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6199  	0, 0, 0, 0, 784, 0, 0, 788, 0, 785,
  6200  	786, 0, 0, 0, 787,
  6201  }
  6202  
  6203  var yyPact = [...]int{
  6204  	-1000, -1000, 5501, -1000, -466, -1000, -1000, -1000, -1000, -1000,
  6205  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6206  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6207  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2327,
  6208  	2352, -1000, -1000, -1000, -1000, 2444, -1000, 841, 1948, -1000,
  6209  	2246, 196, -1000, 45647, 585, -1000, 43027, 581, 189, 28617,
  6210  	-1000, 206, -1000, 197, 44337, 198, -1000, -1000, -1000, -1000,
  6211  	-342, 17480, 2165, 71, 64, 45647, -1000, -1000, -1000, -1000,
  6212  	2396, 1905, -1000, 369, -1000, -1000, -1000, -1000, -1000, -1000,
  6213  	42372, -1000, 950, -1000, -1000, 2256, 2238, 2451, 758, 2195,
  6214  	-1000, 2353, 1905, -1000, 17480, 2382, 2315, 16825, 16825, 504,
  6215  	-1000, -1000, 203, -1000, -1000, 24032, 45647, 31237, 511, -1000,
  6216  	2246, -1000, -1000, -1000, 87, -1000, 374, 1824, -1000, 1823,
  6217  	-1000, 793, 842, 406, 515, 486, 404, 403, 402, 401,
  6218  	400, 399, 397, 385, 421, -1000, 783, 783, -158, -163,
  6219  	4406, 548, 466, 466, 749, 539, 2213, 2211, -1000, -1000,
  6220  	783, 783, 783, 379, 783, 783, 783, 783, 291, 289,
  6221  	783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
  6222  	783, 783, 783, 783, 783, 783, 783, 518, 2246, 275,
  6223  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6224  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6225  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6226  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6227  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6228  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6229  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6230  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6231  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6232  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6233  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6234  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6235  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6236  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6237  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6238  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6239  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6240  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6241  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6242  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6243  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6244  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6245  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6246  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6247  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6248  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6249  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6250  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6251  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6252  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6253  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6254  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6255  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6256  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6257  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6258  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6259  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6260  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6261  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6262  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6263  	-1000, -1000, 45647, 233, 45647, -1000, 675, 45647, 911, 911,
  6264  	104, 911, 911, 911, 911, 208, 705, 60, -1000, 199,
  6265  	271, 152, 273, 895, 259, -1000, -1000, 265, 895, 1620,
  6266  	-1000, 770, 269, 166, -1000, 911, 911, -1000, 10905, 147,
  6267  	10905, 10905, -1000, 2243, -1000, -1000, -1000, -1000, -1000, 1176,
  6268  	-1000, -1000, -1000, -1000, -43, 527, -1000, -1000, -1000, -1000,
  6269  	44337, 41717, 246, -1000, -1000, 42, -1000, -1000, 1652, 1094,
  6270  	17480, 1451, -1000, 1270, 728, -1000, -1000, -1000, -1000, -1000,
  6271  	645, -1000, 18135, 18135, 18135, 18135, -1000, -1000, 1826, 41062,
  6272  	1826, 1826, 18135, 1826, -1000, 18135, 1826, 1826, 1826, 17480,
  6273  	1826, 1826, 1826, 1826, -1000, 1826, 1826, 1826, 1826, 1826,
  6274  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6275  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6276  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6277  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6278  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6279  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6280  	1826, 1826, 1826, 1826, 1826, -1000, -1000, -1000, -1000, 1826,
  6281  	674, 1826, 1826, 1826, 1826, 1826, -1000, -1000, -1000, -1000,
  6282  	-1000, -1000, -1000, -1000, 1826, 1826, 1826, 1826, 1826, -1000,
  6283  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1826, 1826,
  6284  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6285  	1826, 1826, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6286  	-1000, -1000, -1000, 20100, 1400, 1397, 1338, -1000, 14860, 1826,
  6287  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6288  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6289  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6290  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6291  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6292  	45647, -1000, 1826, 224, 44337, 44337, 378, 2353, 1905, -1000,
  6293  	2396, 2360, 369, -1000, 2981, 1974, 1499, 1196, 1905, 1797,
  6294  	45647, -1000, 1851, -1000, -1000, -1000, -1000, 2115, 1303, 1617,
  6295  	-1000, -1000, -1000, -1000, 1911, 17480, -1000, -1000, 2432, -1000,
  6296  	21411, 663, 2426, 40407, -1000, 504, 504, 1819, 428, 65,
  6297  	-1000, -1000, -1000, -1000, 832, 27962, -1000, -1000, -1000, -1000,
  6298  	1648, 45647, -1000, -1000, 7361, 1185, -1000, 1942, -1000, 1626,
  6299  	-1000, 1888, 17480, 1960, 575, 1185, 553, 552, 513, -1000,
  6300  	-61, -1000, -1000, -1000, -1000, -1000, -1000, 783, 783, 783,
  6301  	-1000, 412, 2381, 196, 6434, -1000, -1000, -1000, 39752, 1941,
  6302  	1185, -1000, 1932, -1000, 892, 573, 667, 667, 1185, -1000,
  6303  	-1000, 44992, 1185, 891, 889, 1185, 1185, 44337, 44337, -1000,
  6304  	39097, -1000, 38442, 37787, 1145, 44337, 37132, 36477, 35822, 35167,
  6305  	34512, -1000, 2149, -1000, 1976, -1000, -1000, -1000, 44992, 1185,
  6306  	1185, 44992, 44337, 44992, 45647, 1185, -1000, -1000, 372, -1000,
  6307  	-1000, 1144, 1042, 1032, 783, 783, 1030, 1610, 1606, 1605,
  6308  	783, 783, 1023, 1601, 29927, 1587, 353, 1022, 1019, 1018,
  6309  	1224, 1585, 205, 1580, 1195, 1190, 1008, 44337, 1931, 45647,
  6310  	-1000, 261, 779, 476, 831, 2246, 2163, 1814, 520, 567,
  6311  	1185, 469, 469, 44337, -1000, 12888, -1000, -1000, 1576, 17480,
  6312  	-1000, 897, 895, 895, -1000, -1000, -1000, -1000, -1000, -1000,
  6313  	911, 45647, 897, -1000, -1000, -1000, 895, 911, 45647, 911,
  6314  	911, 911, 911, 895, 895, 895, 911, 45647, 45647, 45647,
  6315  	45647, 45647, 45647, 45647, 45647, 45647, 10905, 770, 911, -358,
  6316  	-1000, 1571, -1000, -1000, 2040, -1000, -1000, -1000, -1000, -1000,
  6317  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6318  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6319  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6320  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6321  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6322  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6323  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6324  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6325  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6326  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6327  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6328  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6329  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6330  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6331  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6332  	-1000, 10905, 10905, -1000, -1000, -1000, -1000, -1000, 1808, -1000,
  6333  	179, 17, 191, -1000, 33857, 352, 830, -1000, 352, -1000,
  6334  	-1000, -1000, 1807, 33202, -1000, -360, -364, -367, -373, -1000,
  6335  	-1000, -1000, -386, -387, -1000, -1000, -1000, 17480, 17480, 17480,
  6336  	17480, -194, -1000, 882, 18135, -1000, -1000, -1000, -1000, -1000,
  6337  	-1000, -1000, 139, 811, 18135, 18135, 18135, 18135, 18135, 18135,
  6338  	18135, 18135, 18135, 18135, 18135, 18135, 18135, 18135, 18135, -1000,
  6339  	-1000, 25997, 7715, 7715, 728, 728, 728, 728, -1000, -127,
  6340  	1801, 44992, -1000, -1000, -1000, 662, 17480, 17480, 728, -1000,
  6341  	1185, 14860, 18790, 16825, 16825, 17480, 785, 1094, 44992, 17480,
  6342  	-1000, 1196, -1000, -1000, -1000, 1170, -1000, 883, 2215, 2215,
  6343  	2215, 2215, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480,
  6344  	17480, 17480, 2215, 44337, 44337, 1199, 17480, 17480, 17480, 17480,
  6345  	17480, 17480, 13549, 17480, 17480, 18135, 17480, 17480, 17480, 1196,
  6346  	17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480,
  6347  	17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480,
  6348  	17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 1196,
  6349  	17480, 1220, 17480, 17480, 16825, 12227, 16825, 16825, 16825, 16825,
  6350  	16825, -1000, -1000, -1000, -1000, -1000, 17480, 17480, 17480, 17480,
  6351  	17480, 17480, 17480, 17480, 1196, 17480, 17480, 17480, 17480, 17480,
  6352  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6353  	1477, 1450, 1306, 17480, -1000, 1799, -1000, -131, 23377, 17480,
  6354  	1564, 2425, 1967, 44337, -1000, -1000, -1000, 2353, -1000, 2353,
  6355  	1477, 2889, 2122, 16825, -1000, -1000, 2889, -1000, -1000, -1000,
  6356  	-1000, -1000, -1000, -1000, -1000, 1629, -1000, 45647, 1797, 2298,
  6357  	44337, 2113, 1537, 375, -1000, 17480, 17480, 1777, -1000, 1523,
  6358  	45647, -1000, -194, -1000, 32547, -1000, -1000, 10244, 45647, 349,
  6359  	45647, -1000, 22722, 31892, 254, -1000, 65, 1701, -1000, -1,
  6360  	-9, 14204, 723, -1000, -1000, -1000, 4406, 19445, 1649, 723,
  6361  	111, -1000, -1000, -1000, 1888, -1000, 1888, 1888, 1888, 1888,
  6362  	375, 375, 375, 375, -1000, -1000, -1000, -1000, -1000, 1925,
  6363  	1924, -1000, 1888, 1888, 1888, 1888, -1000, -1000, -1000, -1000,
  6364  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6365  	-1000, -1000, -1000, 1923, 1923, 1923, 1922, 1922, 1890, 1890,
  6366  	446, -1000, 17480, 356, 31237, 2280, 1006, 1764, 261, 478,
  6367  	1965, 1185, 1185, 1185, 478, -1000, 1244, 1240, 1227, -1000,
  6368  	-454, 1771, -1000, -1000, 2380, -1000, -1000, 672, 914, 910,
  6369  	1084, 44337, 231, 329, -1000, 442, -1000, 31237, 1185, 886,
  6370  	667, 1185, -1000, 1185, -1000, -1000, -1000, -1000, -1000, 1185,
  6371  	-1000, -1000, 1763, -1000, 1656, 942, 907, 922, 906, 1763,
  6372  	-1000, -1000, -143, 1763, -1000, 1763, -1000, 1763, -1000, 1763,
  6373  	-1000, 1763, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6374  	-1000, 797, 192, -254, 44337, 231, 512, -1000, 510, 25997,
  6375  	-1000, -1000, -1000, 25997, 25997, -1000, -1000, -1000, -1000, 1526,
  6376  	1524, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6377  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6378  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6379  	-443, 45647, -1000, 262, 829, 306, 371, 309, 45647, 380,
  6380  	2341, 2340, 2325, 2317, 2313, 239, 283, 45647, 45647, 469,
  6381  	2018, 45647, 2278, 45647, -1000, -1000, -1000, -1000, -1000, 1094,
  6382  	45647, -1000, -1000, 911, 911, -1000, -1000, 45647, 911, -1000,
  6383  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 911, -1000, -1000,
  6384  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6385  	-1000, -1000, -1000, 45647, -1000, -1000, -1000, -1000, -43, 184,
  6386  	-1000, -1000, 44337, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6387  	-1000, -1000, -72, -1000, 75, 5, 354, -1000, -1000, -1000,
  6388  	-1000, -1000, 2335, -1000, 1094, 873, 853, -1000, 1826, -1000,
  6389  	-1000, 1118, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 139,
  6390  	18135, 18135, 18135, 1589, 532, 1940, 796, 1291, 1410, 1410,
  6391  	781, 781, 732, 732, 732, 732, 732, -1000, -1000, -1000,
  6392  	-1000, -1000, -1000, -1000, -1000, 1520, -1000, 1826, 44992, 1596,
  6393  	12227, 1759, 2244, 1196, 3040, -1000, 1569, -1000, 1569, 2123,
  6394  	838, -1000, 17480, 1196, 3027, -1000, -1000, 1196, 1196, 1196,
  6395  	17480, -1000, -1000, 17480, 17480, 17480, 17480, 1764, 1764, 1764,
  6396  	1764, 1764, 1764, 1764, 1764, 1764, 1764, 17480, 1739, 1707,
  6397  	2424, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6398  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6399  	-1000, -1000, 1563, 1764, 1764, 1764, 1764, 1764, 17480, 1476,
  6400  	-1000, -1000, -1000, 1272, 3023, 1346, 3005, 1764, 1764, -1000,
  6401  	1764, 2971, 2967, 1196, 1652, 1196, 1705, -1000, 2963, 1764,
  6402  	2940, 2935, 2900, 2171, 2880, 2861, 2850, 1764, 1764, 1764,
  6403  	2162, 2824, 2788, 2768, 2754, 2749, 2744, 2732, 2694, 2666,
  6404  	1764, 1306, 2508, -196, 1764, 1196, -1000, -1000, -1000, -1000,
  6405  	-1000, 2491, 2148, 1196, 1703, 1826, 660, -1000, -1000, 1569,
  6406  	1196, 1196, 1569, 1569, 2467, 2463, 2458, 2415, 2394, 2366,
  6407  	1764, 1764, -1000, 1764, 2348, 2344, 2143, 2132, 1196, -1000,
  6408  	1306, 45647, -1000, -334, -1000, -23, 701, 1826, -1000, 29927,
  6409  	1196, -1000, 5648, -1000, 1172, -1000, -1000, -1000, -1000, -1000,
  6410  	27307, 1653, 2889, -1000, -1000, 1826, 1560, -1000, -1000, 375,
  6411  	90, 26652, 689, 689, 133, 1094, 1094, 17480, -1000, -1000,
  6412  	-1000, -1000, -1000, -1000, 654, 2395, 361, 1826, -1000, 1679,
  6413  	2543, -1000, -1000, -1000, 2297, 20756, -1000, -1000, 1826, 1826,
  6414  	45647, 1873, 1871, -1000, 653, -1000, 1193, 1701, 65, 3,
  6415  	-1000, -1000, -1000, -1000, 1094, -1000, 1205, 382, 3250, -1000,
  6416  	465, -1000, -1000, -1000, -1000, 2181, 105, -1000, -1000, -1000,
  6417  	236, 375, -1000, -1000, -1000, -1000, -1000, -1000, 1478, 1478,
  6418  	-1000, -1000, -1000, -1000, -1000, 1004, -1000, -1000, -1000, -1000,
  6419  	1003, -1000, -1000, 996, -1000, -1000, 2334, 1993, 356, -1000,
  6420  	-1000, 783, 1460, -1000, -1000, 2184, 783, 783, 44337, -1000,
  6421  	-1000, 1592, 2280, 262, 45647, 846, 2017, -1000, 1965, 1965,
  6422  	1965, 45647, -1000, -1000, -1000, -1000, -1000, -1000, -445, 61,
  6423  	391, -1000, -1000, -1000, 4302, 44337, 1536, -1000, 229, -1000,
  6424  	1485, -1000, 44337, -1000, 1532, 1907, 1185, 1185, -1000, -1000,
  6425  	-1000, 44337, 1826, -1000, -1000, -1000, -1000, 562, 2245, 260,
  6426  	-1000, -1000, -214, -1000, -1000, 231, 229, 44992, 1185, 723,
  6427  	-1000, -1000, -1000, -1000, -1000, -446, 1508, 546, 238, 301,
  6428  	45647, 45647, 45647, 45647, 45647, 598, -1000, -1000, 18, -1000,
  6429  	-1000, 213, -1000, -1000, -1000, -1000, 213, -1000, -1000, -1000,
  6430  	-1000, 279, 508, -1000, 45647, 45647, 625, -1000, -1000, -1000,
  6431  	895, -1000, -1000, 895, -1000, -1000, -1000, -1000, -1000, -1000,
  6432  	-1000, -1000, -1000, -1000, -1000, -1000, 2222, 45647, 4, -410,
  6433  	-1000, -400, 17480, -1000, -1000, -1000, -1000, 1138, 528, 1940,
  6434  	18135, 18135, 18135, -1000, -1000, -1000, 680, 680, 25997, -1000,
  6435  	17480, 16825, -1000, -1000, 17480, 17480, 834, -1000, 17480, 1263,
  6436  	-1000, 17480, -1000, -1000, -1000, 1306, 1764, 1764, 1764, 1764,
  6437  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6438  	1767, 17480, 17480, 17480, 1196, 318, -1000, -1000, -1000, -1000,
  6439  	-1000, 2411, -1000, 17480, -1000, 25997, 17480, 17480, 17480, -1000,
  6440  	-1000, -1000, 17480, 17480, -1000, -1000, 17480, 17480, -1000, 17480,
  6441  	17480, 17480, -1000, 17480, 17480, 17480, 17480, -1000, -1000, -1000,
  6442  	-1000, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480,
  6443  	17480, -1000, -1000, 17480, -1000, 31237, 73, -196, 1220, 73,
  6444  	1220, -1000, 16825, 11566, -1000, -1000, -1000, -1000, -1000, 17480,
  6445  	17480, 17480, 17480, 17480, 17480, -1000, -1000, -1000, 17480, 17480,
  6446  	-1000, 17480, -1000, 17480, -1000, -1000, -1000, -1000, -1000, 701,
  6447  	-1000, 667, 667, 667, 44337, -1000, -1000, -1000, -1000, 1700,
  6448  	-1000, 2319, -1000, 2130, 2129, 2409, 2395, -1000, 22722, 2889,
  6449  	-1000, -1000, 44337, -321, -1000, 2159, 2185, 689, 689, -1000,
  6450  	-1000, -1000, -1000, -1000, -1000, -1000, 9583, 2353, 17480, 2016,
  6451  	44992, 140, -1000, 22067, 44337, 44992, 22722, 22722, 22722, 22722,
  6452  	22722, -1000, 2094, 2091, -1000, 2056, 2054, 2081, 45647, -1000,
  6453  	1477, 1505, -1000, 17480, 24687, 1694, 22722, -1000, -1000, 22722,
  6454  	45647, 8922, -1000, -1000, -19, -17, -1000, -1000, -1000, -1000,
  6455  	4406, -1000, -1000, 4117, 2295, 2175, -1000, -1000, -1000, -1000,
  6456  	-1000, 1497, -1000, 1484, 1685, 1470, 1468, 192, -1000, 1933,
  6457  	2219, 783, 783, -1000, 994, -1000, 1185, 1455, 1448, -1000,
  6458  	-1000, -1000, 519, -1000, 2264, 45647, 2013, 2012, 2007, -1000,
  6459  	-459, 989, 1899, 1916, 17480, 1898, 2377, 1676, 44337, -1000,
  6460  	-1000, 44992, -1000, 156, -1000, 356, 44337, -1000, -1000, -1000,
  6461  	329, 45647, -1000, 7920, -1000, -1000, -1000, 229, -1000, -1000,
  6462  	-1000, -1000, -1000, -1000, -1000, 45647, 243, -1000, 1891, 1173,
  6463  	-1000, -1000, 1869, -1000, -1000, -1000, -1000, 235, 303, 1440,
  6464  	209, 1438, 209, -1000, 45647, 555, 1993, 45647, -1000, -1000,
  6465  	-1000, 911, 911, -1000, -1000, 2207, -1000, 1185, 1764, 18135,
  6466  	18135, -1000, 728, 566, -175, 1888, 1888, -1000, 1888, 1890,
  6467  	-1000, 1888, 177, 1888, 162, 1888, -1000, -1000, 1196, 1196,
  6468  	1306, -1000, 2116, 1358, -1000, 1094, 17480, 2311, -1000, -1000,
  6469  	-1000, -1000, -1000, -67, 2296, 2292, 1764, -1000, 1886, 1885,
  6470  	17480, 1764, 1196, 2052, 1764, 1764, 1764, 1764, -1000, 1094,
  6471  	1306, 2279, 1306, 1764, 1764, 2275, 310, 1764, 1465, 1465,
  6472  	1465, 1465, 1465, 1306, 1306, 1306, 1306, 1764, 44337, -1000,
  6473  	-196, -1000, -1000, -233, -235, -1000, 1196, -196, 1678, 1196,
  6474  	-1000, 2044, 2026, 2271, 2003, 1764, 2266, 1764, 1764, 1764,
  6475  	1983, -1000, 2328, 2328, 2328, 1453, 1172, 45647, -1000, -1000,
  6476  	-1000, -1000, 2395, 2392, 1677, -1000, -1000, 90, 435, -1000,
  6477  	2151, 2185, -1000, 2376, 2145, 2375, -1000, -1000, -1000, -1000,
  6478  	-1000, 1094, -1000, 2249, 1510, -1000, 806, 1655, -1000, -1000,
  6479  	16170, 1459, 2126, 621, 1453, 1729, 2543, 1999, 2005, 2086,
  6480  	-1000, -1000, -1000, -1000, 2062, -1000, 2029, -1000, -1000, 1851,
  6481  	-1000, 2214, 349, 22722, 1718, 1718, -1000, 605, -1000, -1000,
  6482  	-1000, -1000, -1000, -1000, -1000, 926, 46225, 2450, -1000, 1435,
  6483  	-1000, 1203, 212, 986, -1000, -1000, 783, 783, -1000, 884,
  6484  	871, -1000, 45647, 1883, -1000, 375, 1434, 375, 984, -1000,
  6485  	-1000, 983, -1000, -1000, -1000, -1000, 1860, 2117, -1000, -1000,
  6486  	-1000, -1000, 45647, -1000, -1000, 45647, 45647, 45647, 1876, 2374,
  6487  	-1000, 17480, 1865, 786, 2205, 44337, 44337, -1000, -1000, -1000,
  6488  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 495, 783,
  6489  	-425, 282, 281, 783, 783, 783, -460, -1000, -1000, 1432,
  6490  	1417, -1000, -160, -1000, 17480, -1000, -1000, -1000, 1174, 1174,
  6491  	1400, 1397, 1338, -1000, 1851, -1000, -1000, -1000, 1454, -1000,
  6492  	-1000, -148, 44337, 44337, 44337, 44337, -1000, -1000, 964, -1000,
  6493  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6494  	-1000, 728, 1196, 312, -150, 1196, -1000, -1000, 375, -1000,
  6495  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17480,
  6496  	-1000, 17480, -1000, 1094, 17480, 2353, 1313, 17480, 17480, -1000,
  6497  	980, 975, 1764, -1000, -1000, -1000, 17480, -1000, -1000, -1000,
  6498  	-1000, -1000, 17480, -1000, -1000, -1000, 17480, 237, 680, -1000,
  6499  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6500  	1196, 348, -1000, -1000, -1000, -1000, 2407, -1000, 1196, 17480,
  6501  	-1000, -1000, 17480, -1000, 17480, 17480, -1000, 17480, -1000, 17480,
  6502  	-1000, -1000, -1000, -1000, 17480, 1826, 2152, 1826, 1826, 24687,
  6503  	-1000, -1000, 2392, 2388, 2372, 2136, 2139, 2139, 2151, -1000,
  6504  	2370, 2367, -1000, 1298, 2358, 1276, 868, -1000, 44992, 17480,
  6505  	140, -1000, 392, 44337, 140, 44337, -1000, 2384, -1000, -1000,
  6506  	17480, 1859, -1000, 17480, -1000, -1000, -1000, -1000, 7715, 2395,
  6507  	1718, -1000, -1000, 741, -1000, 17480, -1000, -1000, -1000, 3639,
  6508  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1258, 1255,
  6509  	-1000, -1000, 1854, 17480, -1000, -1000, -1000, 1359, 1337, -1000,
  6510  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 1851, -1000, -1000,
  6511  	-1000, -1000, 329, -450, 2127, 44337, 972, -1000, 1413, 1676,
  6512  	319, 140, 1237, 783, 783, 783, 960, 957, 29927, 1388,
  6513  	-1000, 44337, 436, -1000, 329, -1000, -166, -172, 1764, -1000,
  6514  	-1000, 2290, -1000, -1000, 11566, -1000, -1000, 1850, 1962, -1000,
  6515  	-1000, -1000, -1000, 2111, -135, -154, -1000, -1000, 1764, 1764,
  6516  	1591, 1196, -1000, 1764, 1764, 1311, 1296, -1000, 1764, 1306,
  6517  	1977, -1000, 237, 1196, 2004, -1000, -1000, 7715, -1000, -1000,
  6518  	2384, 2357, 73, -1000, -1000, 223, 73, 1094, 1958, 1764,
  6519  	1928, 1609, 1764, 1764, 25342, -1000, 2356, 2349, 30582, 30582,
  6520  	701, 2388, -204, 17480, 17480, 2134, 967, -1000, -1000, -1000,
  6521  	-1000, 1234, 1232, -1000, 1225, -1000, 2448, -1000, 1094, -1000,
  6522  	140, -1000, 603, 1655, -1000, 2353, 1094, 44337, 1094, 76,
  6523  	2384, -1000, 1764, -1000, 1826, 1826, 1826, 1826, 1826, 1826,
  6524  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6525  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6526  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6527  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6528  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6529  	1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
  6530  	1826, 1826, 1826, 1826, 1826, 1826, -1000, -1000, 44337, 2084,
  6531  	-1000, -1000, 2285, 1379, 58, -1000, 1264, 1676, -1000, -1000,
  6532  	129, -1000, 17480, -1000, 29927, 1207, 1200, -1000, -1000, -1000,
  6533  	-1000, -460, -1000, -1000, -1000, -1000, -1000, -1000, 369, 1661,
  6534  	-1000, 782, 44337, 45647, -1000, 2099, -1000, -1000, -1000, 17480,
  6535  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17480, -1000,
  6536  	1196, 2002, -1000, -290, -1000, -426, 17480, -196, -1000, -1000,
  6537  	-196, -1000, 17480, -1000, -1000, 17480, -1000, 17480, -1000, -1000,
  6538  	1377, -1000, -1000, -1000, -1000, -1000, 1377, 1377, -1000, -204,
  6539  	-1000, 1659, -1000, 44337, 1094, 1652, -1000, 966, -1000, -1000,
  6540  	-1000, -1000, -1000, 44992, 1655, 44337, -1000, 1356, 1196, 1826,
  6541  	2353, -1000, 1336, -1000, 369, -1000, 1842, 1916, -1000, -1000,
  6542  	-1000, 15515, -1000, -1000, -1000, -1000, -1000, 172, -146, 11566,
  6543  	8261, 1318, -1000, -144, 1764, 1306, -1000, -390, -1000, -1000,
  6544  	-1000, -1000, 163, -1000, -1000, 1652, -1000, -1000, 1567, 1393,
  6545  	1310, 29272, -1000, -1000, -1000, -1000, -204, -1000, -1000, 2281,
  6546  	-1000, -1000, 1611, -1000, -1000, 24687, 43682, -1000, -123, 742,
  6547  	-146, 17480, 1829, 1196, -1000, -1000, -1000, -1000, -1000, -1000,
  6548  	-1000, -1000, -2, -1000, -1000, -1000, -1000, -1000, 1869, -157,
  6549  	-1000, -1000, -1000, 178, -415, -225, -228, -1000, -1000, 18135,
  6550  	-1000, 17480, -1000, 17480, -1000, 17480, -1000, -1000, -1000, 44337,
  6551  	1826, -1000, 1295, -1000, 6847, -245, 1987, -1000, -82, -1000,
  6552  	-1000, -1000, 900, 1197, -1000, -1000, -1000, -1000, -1000, -1000,
  6553  	1944, 44337, -1000, 444, -1000, -1000, -148, -155, 849, -1000,
  6554  	-1000, -1000, -1000, -1000, 1275, 1210, 1764, -1000, 44337, -1000,
  6555  	43682, -240, 723, 7715, -1000, 1985, 1972, 2416, -1000, -1000,
  6556  	-1000, -1000, -1000, -1000, -463, 1252, 255, -1000, -1000, 178,
  6557  	-1000, 17480, -1000, 17480, -1000, 1196, -1000, -1000, 2261, 76,
  6558  	-1000, 2447, -1000, 2435, 690, 690, -1000, 956, -463, -1000,
  6559  	-1000, 1764, 1764, -1000, -259, -1000, -1000, -1000, -1000, -1000,
  6560  	443, 1194, -1000, -1000, -1000, -1000, -1000, 7715, -1000, -1000,
  6561  	-1000, 222, 222, -1000, -1000,
  6562  }
  6563  
  6564  var yyPgo = [...]int{
  6565  	0, 3088, 3086, 34, 7, 38, 37, 3085, 47, 106,
  6566  	185, 43, 184, 104, 3084, 173, 3083, 3080, 3078, 3075,
  6567  	3073, 3072, 2519, 2466, 2465, 3069, 3067, 3065, 3058, 3057,
  6568  	3054, 3053, 3052, 3043, 3040, 175, 166, 182, 3038, 3032,
  6569  	3029, 119, 250, 92, 95, 251, 3026, 3025, 84, 3024,
  6570  	3018, 3014, 197, 196, 192, 846, 3013, 191, 117, 58,
  6571  	3012, 3011, 3008, 3004, 3001, 2999, 2997, 2996, 2994, 2993,
  6572  	2990, 2987, 2983, 2982, 2981, 2980, 2977, 329, 2974, 2972,
  6573  	24, 2970, 88, 2964, 2960, 2959, 2956, 2952, 10, 2951,
  6574  	2950, 20, 44, 2947, 2946, 56, 2945, 2942, 2941, 2937,
  6575  	2936, 21, 2935, 26, 2932, 41, 2931, 2926, 125, 2925,
  6576  	2918, 2916, 42, 2911, 2908, 2905, 2900, 2899, 2898, 2894,
  6577  	144, 2889, 2887, 2882, 172, 187, 2879, 2878, 162, 111,
  6578  	116, 2870, 2869, 109, 179, 2868, 121, 2867, 2866, 2864,
  6579  	147, 2863, 403, 2855, 2851, 75, 71, 2849, 30, 2847,
  6580  	2844, 12, 91, 72, 11, 4, 5, 2843, 2841, 73,
  6581  	87, 2840, 112, 2834, 2831, 107, 74, 2830, 108, 103,
  6582  	2819, 2811, 17, 9, 2810, 2, 6, 3, 78, 2804,
  6583  	2803, 126, 2802, 2798, 2796, 99, 2795, 2794, 4153, 2791,
  6584  	97, 136, 110, 86, 2784, 54, 70, 2783, 2781, 2776,
  6585  	2775, 2773, 57, 2769, 2768, 2765, 140, 55, 167, 2764,
  6586  	53, 76, 60, 137, 2763, 39, 98, 183, 169, 2759,
  6587  	2756, 143, 139, 2750, 2749, 68, 45, 48, 2744, 101,
  6588  	135, 120, 36, 100, 152, 2743, 2741, 65, 81, 2740,
  6589  	2739, 2738, 2737, 170, 2734, 2733, 80, 2732, 63, 2731,
  6590  	168, 2729, 16, 59, 2727, 49, 158, 2724, 82, 2717,
  6591  	2714, 77, 102, 79, 40, 2704, 154, 165, 130, 180,
  6592  	2701, 2699, 61, 2695, 2693, 2690, 181, 301, 2689, 2677,
  6593  	289, 174, 161, 146, 90, 2672, 307, 2669, 2661, 134,
  6594  	2919, 4586, 2660, 51, 156, 2658, 2655, 5064, 145, 52,
  6595  	25, 2654, 177, 2653, 2652, 2648, 2642, 186, 171, 220,
  6596  	164, 67, 2638, 2637, 2635, 18, 2634, 2631, 2629, 2628,
  6597  	2627, 2626, 94, 35, 33, 32, 189, 69, 14, 105,
  6598  	253, 151, 83, 2624, 2622, 2603, 123, 298, 2595, 160,
  6599  	159, 124, 133, 2594, 176, 223, 128, 2593, 453, 31,
  6600  	2590, 2589, 2586, 2575, 96, 2573, 2572, 2570, 2569, 155,
  6601  	149, 122, 93, 2568, 85, 118, 163, 153, 64, 2562,
  6602  	62, 2561, 2560, 28, 246, 27, 2558, 19, 113, 114,
  6603  	2552, 3908, 231, 2550, 22, 306, 157, 2549, 2545, 8,
  6604  	13, 15, 2541, 2538, 2534, 2532, 138, 2506, 2502, 2494,
  6605  	2493, 29, 66, 23, 1, 115, 89, 2488, 2484, 148,
  6606  	2479, 2478, 443, 0, 132, 2477, 194,
  6607  }
  6608  
  6609  //line sql.y:7990
  6610  type yySymType struct {
  6611  	union             any
  6612  	empty             struct{}
  6613  	LengthScaleOption LengthScaleOption
  6614  	tableName         TableName
  6615  	identifierCS      IdentifierCS
  6616  	str               string
  6617  	strs              []string
  6618  	vindexParam       VindexParam
  6619  	jsonObjectParam   *JSONObjectParam
  6620  	identifierCI      IdentifierCI
  6621  	joinCondition     *JoinCondition
  6622  	databaseOption    DatabaseOption
  6623  	columnType        *ColumnType
  6624  	columnCharset     ColumnCharset
  6625  	yys               int
  6626  }
  6627  
  6628  func (st *yySymType) JSONTableExprUnion() *JSONTableExpr {
  6629  	v, _ := st.union.(*JSONTableExpr)
  6630  	return v
  6631  }
  6632  
  6633  func (st *yySymType) aliasedTableNameUnion() *AliasedTableExpr {
  6634  	v, _ := st.union.(*AliasedTableExpr)
  6635  	return v
  6636  }
  6637  
  6638  func (st *yySymType) alterDatabaseUnion() *AlterDatabase {
  6639  	v, _ := st.union.(*AlterDatabase)
  6640  	return v
  6641  }
  6642  
  6643  func (st *yySymType) alterMigrationUnion() *AlterMigration {
  6644  	v, _ := st.union.(*AlterMigration)
  6645  	return v
  6646  }
  6647  
  6648  func (st *yySymType) alterOptionUnion() AlterOption {
  6649  	v, _ := st.union.(AlterOption)
  6650  	return v
  6651  }
  6652  
  6653  func (st *yySymType) alterOptionsUnion() []AlterOption {
  6654  	v, _ := st.union.([]AlterOption)
  6655  	return v
  6656  }
  6657  
  6658  func (st *yySymType) alterTableUnion() *AlterTable {
  6659  	v, _ := st.union.(*AlterTable)
  6660  	return v
  6661  }
  6662  
  6663  func (st *yySymType) argumentLessWindowExprTypeUnion() ArgumentLessWindowExprType {
  6664  	v, _ := st.union.(ArgumentLessWindowExprType)
  6665  	return v
  6666  }
  6667  
  6668  func (st *yySymType) boolValUnion() BoolVal {
  6669  	v, _ := st.union.(BoolVal)
  6670  	return v
  6671  }
  6672  
  6673  func (st *yySymType) booleanUnion() bool {
  6674  	v, _ := st.union.(bool)
  6675  	return v
  6676  }
  6677  
  6678  func (st *yySymType) colKeyOptUnion() ColumnKeyOption {
  6679  	v, _ := st.union.(ColumnKeyOption)
  6680  	return v
  6681  }
  6682  
  6683  func (st *yySymType) colNameUnion() *ColName {
  6684  	v, _ := st.union.(*ColName)
  6685  	return v
  6686  }
  6687  
  6688  func (st *yySymType) colNamesUnion() []*ColName {
  6689  	v, _ := st.union.([]*ColName)
  6690  	return v
  6691  }
  6692  
  6693  func (st *yySymType) colTupleUnion() ColTuple {
  6694  	v, _ := st.union.(ColTuple)
  6695  	return v
  6696  }
  6697  
  6698  func (st *yySymType) columnDefinitionUnion() *ColumnDefinition {
  6699  	v, _ := st.union.(*ColumnDefinition)
  6700  	return v
  6701  }
  6702  
  6703  func (st *yySymType) columnDefinitionsUnion() []*ColumnDefinition {
  6704  	v, _ := st.union.([]*ColumnDefinition)
  6705  	return v
  6706  }
  6707  
  6708  func (st *yySymType) columnFormatUnion() ColumnFormat {
  6709  	v, _ := st.union.(ColumnFormat)
  6710  	return v
  6711  }
  6712  
  6713  func (st *yySymType) columnStorageUnion() ColumnStorage {
  6714  	v, _ := st.union.(ColumnStorage)
  6715  	return v
  6716  }
  6717  
  6718  func (st *yySymType) columnTypeOptionsUnion() *ColumnTypeOptions {
  6719  	v, _ := st.union.(*ColumnTypeOptions)
  6720  	return v
  6721  }
  6722  
  6723  func (st *yySymType) columnsUnion() Columns {
  6724  	v, _ := st.union.(Columns)
  6725  	return v
  6726  }
  6727  
  6728  func (st *yySymType) comparisonExprOperatorUnion() ComparisonExprOperator {
  6729  	v, _ := st.union.(ComparisonExprOperator)
  6730  	return v
  6731  }
  6732  
  6733  func (st *yySymType) constraintDefinitionUnion() *ConstraintDefinition {
  6734  	v, _ := st.union.(*ConstraintDefinition)
  6735  	return v
  6736  }
  6737  
  6738  func (st *yySymType) constraintInfoUnion() ConstraintInfo {
  6739  	v, _ := st.union.(ConstraintInfo)
  6740  	return v
  6741  }
  6742  
  6743  func (st *yySymType) convertTypeUnion() *ConvertType {
  6744  	v, _ := st.union.(*ConvertType)
  6745  	return v
  6746  }
  6747  
  6748  func (st *yySymType) createDatabaseUnion() *CreateDatabase {
  6749  	v, _ := st.union.(*CreateDatabase)
  6750  	return v
  6751  }
  6752  
  6753  func (st *yySymType) createTableUnion() *CreateTable {
  6754  	v, _ := st.union.(*CreateTable)
  6755  	return v
  6756  }
  6757  
  6758  func (st *yySymType) cteUnion() *CommonTableExpr {
  6759  	v, _ := st.union.(*CommonTableExpr)
  6760  	return v
  6761  }
  6762  
  6763  func (st *yySymType) ctesUnion() []*CommonTableExpr {
  6764  	v, _ := st.union.([]*CommonTableExpr)
  6765  	return v
  6766  }
  6767  
  6768  func (st *yySymType) databaseOptionsUnion() []DatabaseOption {
  6769  	v, _ := st.union.([]DatabaseOption)
  6770  	return v
  6771  }
  6772  
  6773  func (st *yySymType) definerUnion() *Definer {
  6774  	v, _ := st.union.(*Definer)
  6775  	return v
  6776  }
  6777  
  6778  func (st *yySymType) derivedTableUnion() *DerivedTable {
  6779  	v, _ := st.union.(*DerivedTable)
  6780  	return v
  6781  }
  6782  
  6783  func (st *yySymType) explainTypeUnion() ExplainType {
  6784  	v, _ := st.union.(ExplainType)
  6785  	return v
  6786  }
  6787  
  6788  func (st *yySymType) exprUnion() Expr {
  6789  	v, _ := st.union.(Expr)
  6790  	return v
  6791  }
  6792  
  6793  func (st *yySymType) exprsUnion() Exprs {
  6794  	v, _ := st.union.(Exprs)
  6795  	return v
  6796  }
  6797  
  6798  func (st *yySymType) firstOrLastValueExprTypeUnion() FirstOrLastValueExprType {
  6799  	v, _ := st.union.(FirstOrLastValueExprType)
  6800  	return v
  6801  }
  6802  
  6803  func (st *yySymType) frameClauseUnion() *FrameClause {
  6804  	v, _ := st.union.(*FrameClause)
  6805  	return v
  6806  }
  6807  
  6808  func (st *yySymType) framePointUnion() *FramePoint {
  6809  	v, _ := st.union.(*FramePoint)
  6810  	return v
  6811  }
  6812  
  6813  func (st *yySymType) framePointTypeUnion() FramePointType {
  6814  	v, _ := st.union.(FramePointType)
  6815  	return v
  6816  }
  6817  
  6818  func (st *yySymType) frameUnitTypeUnion() FrameUnitType {
  6819  	v, _ := st.union.(FrameUnitType)
  6820  	return v
  6821  }
  6822  
  6823  func (st *yySymType) fromFirstLastClauseUnion() *FromFirstLastClause {
  6824  	v, _ := st.union.(*FromFirstLastClause)
  6825  	return v
  6826  }
  6827  
  6828  func (st *yySymType) fromFirstLastTypeUnion() FromFirstLastType {
  6829  	v, _ := st.union.(FromFirstLastType)
  6830  	return v
  6831  }
  6832  
  6833  func (st *yySymType) ignoreUnion() Ignore {
  6834  	v, _ := st.union.(Ignore)
  6835  	return v
  6836  }
  6837  
  6838  func (st *yySymType) indexColumnUnion() *IndexColumn {
  6839  	v, _ := st.union.(*IndexColumn)
  6840  	return v
  6841  }
  6842  
  6843  func (st *yySymType) indexColumnsUnion() []*IndexColumn {
  6844  	v, _ := st.union.([]*IndexColumn)
  6845  	return v
  6846  }
  6847  
  6848  func (st *yySymType) indexDefinitionUnion() *IndexDefinition {
  6849  	v, _ := st.union.(*IndexDefinition)
  6850  	return v
  6851  }
  6852  
  6853  func (st *yySymType) indexHintUnion() *IndexHint {
  6854  	v, _ := st.union.(*IndexHint)
  6855  	return v
  6856  }
  6857  
  6858  func (st *yySymType) indexHintForTypeUnion() IndexHintForType {
  6859  	v, _ := st.union.(IndexHintForType)
  6860  	return v
  6861  }
  6862  
  6863  func (st *yySymType) indexHintsUnion() IndexHints {
  6864  	v, _ := st.union.(IndexHints)
  6865  	return v
  6866  }
  6867  
  6868  func (st *yySymType) indexInfoUnion() *IndexInfo {
  6869  	v, _ := st.union.(*IndexInfo)
  6870  	return v
  6871  }
  6872  
  6873  func (st *yySymType) indexOptionUnion() *IndexOption {
  6874  	v, _ := st.union.(*IndexOption)
  6875  	return v
  6876  }
  6877  
  6878  func (st *yySymType) indexOptionsUnion() []*IndexOption {
  6879  	v, _ := st.union.([]*IndexOption)
  6880  	return v
  6881  }
  6882  
  6883  func (st *yySymType) insUnion() *Insert {
  6884  	v, _ := st.union.(*Insert)
  6885  	return v
  6886  }
  6887  
  6888  func (st *yySymType) insertActionUnion() InsertAction {
  6889  	v, _ := st.union.(InsertAction)
  6890  	return v
  6891  }
  6892  
  6893  func (st *yySymType) integerUnion() int {
  6894  	v, _ := st.union.(int)
  6895  	return v
  6896  }
  6897  
  6898  func (st *yySymType) intervalTypeUnion() IntervalTypes {
  6899  	v, _ := st.union.(IntervalTypes)
  6900  	return v
  6901  }
  6902  
  6903  func (st *yySymType) isExprOperatorUnion() IsExprOperator {
  6904  	v, _ := st.union.(IsExprOperator)
  6905  	return v
  6906  }
  6907  
  6908  func (st *yySymType) joinTypeUnion() JoinType {
  6909  	v, _ := st.union.(JoinType)
  6910  	return v
  6911  }
  6912  
  6913  func (st *yySymType) jsonObjectParamsUnion() []*JSONObjectParam {
  6914  	v, _ := st.union.([]*JSONObjectParam)
  6915  	return v
  6916  }
  6917  
  6918  func (st *yySymType) jtColumnDefinitionUnion() *JtColumnDefinition {
  6919  	v, _ := st.union.(*JtColumnDefinition)
  6920  	return v
  6921  }
  6922  
  6923  func (st *yySymType) jtColumnListUnion() []*JtColumnDefinition {
  6924  	v, _ := st.union.([]*JtColumnDefinition)
  6925  	return v
  6926  }
  6927  
  6928  func (st *yySymType) jtOnResponseUnion() *JtOnResponse {
  6929  	v, _ := st.union.(*JtOnResponse)
  6930  	return v
  6931  }
  6932  
  6933  func (st *yySymType) lagLeadExprTypeUnion() LagLeadExprType {
  6934  	v, _ := st.union.(LagLeadExprType)
  6935  	return v
  6936  }
  6937  
  6938  func (st *yySymType) limitUnion() *Limit {
  6939  	v, _ := st.union.(*Limit)
  6940  	return v
  6941  }
  6942  
  6943  func (st *yySymType) literalUnion() *Literal {
  6944  	v, _ := st.union.(*Literal)
  6945  	return v
  6946  }
  6947  
  6948  func (st *yySymType) lockUnion() Lock {
  6949  	v, _ := st.union.(Lock)
  6950  	return v
  6951  }
  6952  
  6953  func (st *yySymType) lockTypeUnion() LockType {
  6954  	v, _ := st.union.(LockType)
  6955  	return v
  6956  }
  6957  
  6958  func (st *yySymType) matchActionUnion() MatchAction {
  6959  	v, _ := st.union.(MatchAction)
  6960  	return v
  6961  }
  6962  
  6963  func (st *yySymType) matchExprOptionUnion() MatchExprOption {
  6964  	v, _ := st.union.(MatchExprOption)
  6965  	return v
  6966  }
  6967  
  6968  func (st *yySymType) namedWindowUnion() *NamedWindow {
  6969  	v, _ := st.union.(*NamedWindow)
  6970  	return v
  6971  }
  6972  
  6973  func (st *yySymType) namedWindowsUnion() NamedWindows {
  6974  	v, _ := st.union.(NamedWindows)
  6975  	return v
  6976  }
  6977  
  6978  func (st *yySymType) nullTreatmentClauseUnion() *NullTreatmentClause {
  6979  	v, _ := st.union.(*NullTreatmentClause)
  6980  	return v
  6981  }
  6982  
  6983  func (st *yySymType) nullTreatmentTypeUnion() NullTreatmentType {
  6984  	v, _ := st.union.(NullTreatmentType)
  6985  	return v
  6986  }
  6987  
  6988  func (st *yySymType) optLikeUnion() *OptLike {
  6989  	v, _ := st.union.(*OptLike)
  6990  	return v
  6991  }
  6992  
  6993  func (st *yySymType) optValUnion() Expr {
  6994  	v, _ := st.union.(Expr)
  6995  	return v
  6996  }
  6997  
  6998  func (st *yySymType) orderUnion() *Order {
  6999  	v, _ := st.union.(*Order)
  7000  	return v
  7001  }
  7002  
  7003  func (st *yySymType) orderByUnion() OrderBy {
  7004  	v, _ := st.union.(OrderBy)
  7005  	return v
  7006  }
  7007  
  7008  func (st *yySymType) orderDirectionUnion() OrderDirection {
  7009  	v, _ := st.union.(OrderDirection)
  7010  	return v
  7011  }
  7012  
  7013  func (st *yySymType) overClauseUnion() *OverClause {
  7014  	v, _ := st.union.(*OverClause)
  7015  	return v
  7016  }
  7017  
  7018  func (st *yySymType) partDefUnion() *PartitionDefinition {
  7019  	v, _ := st.union.(*PartitionDefinition)
  7020  	return v
  7021  }
  7022  
  7023  func (st *yySymType) partDefsUnion() []*PartitionDefinition {
  7024  	v, _ := st.union.([]*PartitionDefinition)
  7025  	return v
  7026  }
  7027  
  7028  func (st *yySymType) partSpecUnion() *PartitionSpec {
  7029  	v, _ := st.union.(*PartitionSpec)
  7030  	return v
  7031  }
  7032  
  7033  func (st *yySymType) partSpecsUnion() []*PartitionSpec {
  7034  	v, _ := st.union.([]*PartitionSpec)
  7035  	return v
  7036  }
  7037  
  7038  func (st *yySymType) partitionByTypeUnion() PartitionByType {
  7039  	v, _ := st.union.(PartitionByType)
  7040  	return v
  7041  }
  7042  
  7043  func (st *yySymType) partitionDefinitionOptionsUnion() *PartitionDefinitionOptions {
  7044  	v, _ := st.union.(*PartitionDefinitionOptions)
  7045  	return v
  7046  }
  7047  
  7048  func (st *yySymType) partitionEngineUnion() *PartitionEngine {
  7049  	v, _ := st.union.(*PartitionEngine)
  7050  	return v
  7051  }
  7052  
  7053  func (st *yySymType) partitionOptionUnion() *PartitionOption {
  7054  	v, _ := st.union.(*PartitionOption)
  7055  	return v
  7056  }
  7057  
  7058  func (st *yySymType) partitionValueRangeUnion() *PartitionValueRange {
  7059  	v, _ := st.union.(*PartitionValueRange)
  7060  	return v
  7061  }
  7062  
  7063  func (st *yySymType) partitionsUnion() Partitions {
  7064  	v, _ := st.union.(Partitions)
  7065  	return v
  7066  }
  7067  
  7068  func (st *yySymType) referenceActionUnion() ReferenceAction {
  7069  	v, _ := st.union.(ReferenceAction)
  7070  	return v
  7071  }
  7072  
  7073  func (st *yySymType) referenceDefinitionUnion() *ReferenceDefinition {
  7074  	v, _ := st.union.(*ReferenceDefinition)
  7075  	return v
  7076  }
  7077  
  7078  func (st *yySymType) renameTablePairsUnion() []*RenameTablePair {
  7079  	v, _ := st.union.([]*RenameTablePair)
  7080  	return v
  7081  }
  7082  
  7083  func (st *yySymType) revertMigrationUnion() *RevertMigration {
  7084  	v, _ := st.union.(*RevertMigration)
  7085  	return v
  7086  }
  7087  
  7088  func (st *yySymType) scopeUnion() Scope {
  7089  	v, _ := st.union.(Scope)
  7090  	return v
  7091  }
  7092  
  7093  func (st *yySymType) selStmtUnion() SelectStatement {
  7094  	v, _ := st.union.(SelectStatement)
  7095  	return v
  7096  }
  7097  
  7098  func (st *yySymType) selectExprUnion() SelectExpr {
  7099  	v, _ := st.union.(SelectExpr)
  7100  	return v
  7101  }
  7102  
  7103  func (st *yySymType) selectExprsUnion() SelectExprs {
  7104  	v, _ := st.union.(SelectExprs)
  7105  	return v
  7106  }
  7107  
  7108  func (st *yySymType) selectIntoUnion() *SelectInto {
  7109  	v, _ := st.union.(*SelectInto)
  7110  	return v
  7111  }
  7112  
  7113  func (st *yySymType) setExprUnion() *SetExpr {
  7114  	v, _ := st.union.(*SetExpr)
  7115  	return v
  7116  }
  7117  
  7118  func (st *yySymType) setExprsUnion() SetExprs {
  7119  	v, _ := st.union.(SetExprs)
  7120  	return v
  7121  }
  7122  
  7123  func (st *yySymType) showFilterUnion() *ShowFilter {
  7124  	v, _ := st.union.(*ShowFilter)
  7125  	return v
  7126  }
  7127  
  7128  func (st *yySymType) starExprUnion() StarExpr {
  7129  	v, _ := st.union.(StarExpr)
  7130  	return v
  7131  }
  7132  
  7133  func (st *yySymType) statementUnion() Statement {
  7134  	v, _ := st.union.(Statement)
  7135  	return v
  7136  }
  7137  
  7138  func (st *yySymType) subPartitionUnion() *SubPartition {
  7139  	v, _ := st.union.(*SubPartition)
  7140  	return v
  7141  }
  7142  
  7143  func (st *yySymType) subPartitionDefinitionUnion() *SubPartitionDefinition {
  7144  	v, _ := st.union.(*SubPartitionDefinition)
  7145  	return v
  7146  }
  7147  
  7148  func (st *yySymType) subPartitionDefinitionOptionsUnion() *SubPartitionDefinitionOptions {
  7149  	v, _ := st.union.(*SubPartitionDefinitionOptions)
  7150  	return v
  7151  }
  7152  
  7153  func (st *yySymType) subPartitionDefinitionsUnion() SubPartitionDefinitions {
  7154  	v, _ := st.union.(SubPartitionDefinitions)
  7155  	return v
  7156  }
  7157  
  7158  func (st *yySymType) subqueryUnion() *Subquery {
  7159  	v, _ := st.union.(*Subquery)
  7160  	return v
  7161  }
  7162  
  7163  func (st *yySymType) tableAndLockTypeUnion() *TableAndLockType {
  7164  	v, _ := st.union.(*TableAndLockType)
  7165  	return v
  7166  }
  7167  
  7168  func (st *yySymType) tableAndLockTypesUnion() TableAndLockTypes {
  7169  	v, _ := st.union.(TableAndLockTypes)
  7170  	return v
  7171  }
  7172  
  7173  func (st *yySymType) tableExprUnion() TableExpr {
  7174  	v, _ := st.union.(TableExpr)
  7175  	return v
  7176  }
  7177  
  7178  func (st *yySymType) tableExprsUnion() TableExprs {
  7179  	v, _ := st.union.(TableExprs)
  7180  	return v
  7181  }
  7182  
  7183  func (st *yySymType) tableNamesUnion() TableNames {
  7184  	v, _ := st.union.(TableNames)
  7185  	return v
  7186  }
  7187  
  7188  func (st *yySymType) tableOptionUnion() *TableOption {
  7189  	v, _ := st.union.(*TableOption)
  7190  	return v
  7191  }
  7192  
  7193  func (st *yySymType) tableOptionsUnion() TableOptions {
  7194  	v, _ := st.union.(TableOptions)
  7195  	return v
  7196  }
  7197  
  7198  func (st *yySymType) tableSpecUnion() *TableSpec {
  7199  	v, _ := st.union.(*TableSpec)
  7200  	return v
  7201  }
  7202  
  7203  func (st *yySymType) trimTypeUnion() TrimType {
  7204  	v, _ := st.union.(TrimType)
  7205  	return v
  7206  }
  7207  
  7208  func (st *yySymType) txAccessModeUnion() TxAccessMode {
  7209  	v, _ := st.union.(TxAccessMode)
  7210  	return v
  7211  }
  7212  
  7213  func (st *yySymType) txAccessModesUnion() []TxAccessMode {
  7214  	v, _ := st.union.([]TxAccessMode)
  7215  	return v
  7216  }
  7217  
  7218  func (st *yySymType) updateExprUnion() *UpdateExpr {
  7219  	v, _ := st.union.(*UpdateExpr)
  7220  	return v
  7221  }
  7222  
  7223  func (st *yySymType) updateExprsUnion() UpdateExprs {
  7224  	v, _ := st.union.(UpdateExprs)
  7225  	return v
  7226  }
  7227  
  7228  func (st *yySymType) valTupleUnion() ValTuple {
  7229  	v, _ := st.union.(ValTuple)
  7230  	return v
  7231  }
  7232  
  7233  func (st *yySymType) valuesUnion() Values {
  7234  	v, _ := st.union.(Values)
  7235  	return v
  7236  }
  7237  
  7238  func (st *yySymType) variableUnion() *Variable {
  7239  	v, _ := st.union.(*Variable)
  7240  	return v
  7241  }
  7242  
  7243  func (st *yySymType) variablesUnion() []*Variable {
  7244  	v, _ := st.union.([]*Variable)
  7245  	return v
  7246  }
  7247  
  7248  func (st *yySymType) vexplainTypeUnion() VExplainType {
  7249  	v, _ := st.union.(VExplainType)
  7250  	return v
  7251  }
  7252  
  7253  func (st *yySymType) vindexParamsUnion() []VindexParam {
  7254  	v, _ := st.union.([]VindexParam)
  7255  	return v
  7256  }
  7257  
  7258  func (st *yySymType) whenUnion() *When {
  7259  	v, _ := st.union.(*When)
  7260  	return v
  7261  }
  7262  
  7263  func (st *yySymType) whensUnion() []*When {
  7264  	v, _ := st.union.([]*When)
  7265  	return v
  7266  }
  7267  
  7268  func (st *yySymType) windowDefinitionUnion() *WindowDefinition {
  7269  	v, _ := st.union.(*WindowDefinition)
  7270  	return v
  7271  }
  7272  
  7273  func (st *yySymType) windowDefinitionsUnion() WindowDefinitions {
  7274  	v, _ := st.union.(WindowDefinitions)
  7275  	return v
  7276  }
  7277  
  7278  func (st *yySymType) windowSpecificationUnion() *WindowSpecification {
  7279  	v, _ := st.union.(*WindowSpecification)
  7280  	return v
  7281  }
  7282  
  7283  func (st *yySymType) withUnion() *With {
  7284  	v, _ := st.union.(*With)
  7285  	return v
  7286  }
  7287  
  7288  var yyR1 = [...]int{
  7289  	0, 410, 411, 411, 7, 7, 7, 7, 7, 7,
  7290  	7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
  7291  	7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
  7292  	7, 7, 7, 7, 7, 7, 7, 7, 7, 258,
  7293  	381, 382, 382, 256, 256, 33, 72, 35, 35, 34,
  7294  	34, 37, 37, 36, 8, 8, 8, 9, 9, 9,
  7295  	9, 9, 9, 9, 9, 10, 10, 10, 10, 10,
  7296  	11, 11, 11, 11, 13, 13, 13, 13, 13, 20,
  7297  	21, 12, 12, 22, 22, 106, 106, 23, 24, 24,
  7298  	24, 24, 414, 414, 183, 183, 181, 181, 182, 182,
  7299  	261, 261, 25, 265, 265, 267, 267, 267, 267, 257,
  7300  	257, 257, 26, 26, 266, 266, 268, 268, 268, 271,
  7301  	271, 271, 271, 310, 310, 310, 27, 27, 27, 27,
  7302  	27, 126, 126, 384, 384, 383, 377, 377, 376, 376,
  7303  	375, 380, 380, 379, 379, 378, 39, 40, 49, 49,
  7304  	49, 49, 50, 51, 385, 385, 350, 56, 56, 55,
  7305  	55, 55, 55, 55, 55, 57, 57, 53, 53, 52,
  7306  	52, 54, 54, 352, 352, 338, 338, 351, 351, 351,
  7307  	351, 351, 351, 351, 337, 337, 137, 137, 235, 235,
  7308  	235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
  7309  	235, 235, 235, 235, 235, 400, 400, 400, 399, 399,
  7310  	236, 236, 236, 236, 236, 236, 236, 236, 147, 147,
  7311  	159, 159, 159, 159, 159, 145, 145, 146, 144, 144,
  7312  	144, 153, 153, 153, 153, 153, 153, 153, 153, 153,
  7313  	153, 153, 153, 153, 153, 153, 153, 153, 404, 404,
  7314  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7315  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7316  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7317  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7318  	158, 158, 154, 154, 154, 155, 155, 155, 156, 156,
  7319  	401, 401, 401, 401, 315, 315, 315, 315, 318, 318,
  7320  	316, 316, 316, 316, 316, 316, 316, 316, 316, 317,
  7321  	317, 317, 317, 317, 317, 317, 319, 319, 319, 319,
  7322  	319, 320, 320, 320, 320, 320, 320, 320, 320, 320,
  7323  	320, 320, 320, 320, 320, 320, 320, 321, 321, 321,
  7324  	321, 321, 321, 321, 321, 336, 336, 322, 322, 330,
  7325  	330, 331, 331, 332, 332, 332, 333, 333, 333, 334,
  7326  	334, 327, 327, 327, 327, 327, 327, 327, 327, 327,
  7327  	329, 329, 328, 328, 328, 339, 364, 364, 363, 363,
  7328  	361, 361, 361, 361, 361, 361, 361, 361, 348, 348,
  7329  	358, 358, 358, 358, 358, 347, 347, 343, 343, 343,
  7330  	344, 344, 345, 345, 342, 342, 346, 346, 360, 360,
  7331  	359, 359, 340, 340, 341, 341, 366, 402, 402, 402,
  7332  	402, 402, 403, 403, 367, 392, 394, 394, 394, 393,
  7333  	393, 390, 391, 389, 389, 389, 389, 389, 82, 82,
  7334  	82, 284, 284, 285, 285, 356, 356, 355, 355, 355,
  7335  	357, 357, 354, 354, 354, 354, 354, 354, 354, 354,
  7336  	354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
  7337  	354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
  7338  	354, 354, 354, 279, 279, 279, 388, 388, 388, 388,
  7339  	388, 388, 387, 387, 387, 353, 353, 353, 386, 386,
  7340  	58, 58, 216, 216, 405, 405, 406, 406, 406, 46,
  7341  	46, 46, 46, 46, 46, 45, 45, 45, 41, 41,
  7342  	41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
  7343  	41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
  7344  	41, 41, 41, 41, 41, 41, 41, 41, 41, 47,
  7345  	47, 42, 42, 42, 42, 42, 42, 42, 42, 42,
  7346  	42, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  7347  	28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  7348  	28, 28, 28, 28, 28, 28, 28, 28, 28, 108,
  7349  	108, 109, 109, 109, 109, 111, 111, 111, 369, 369,
  7350  	59, 59, 3, 3, 171, 173, 174, 174, 172, 172,
  7351  	172, 172, 172, 172, 61, 61, 60, 60, 176, 175,
  7352  	177, 177, 177, 1, 1, 2, 2, 4, 4, 374,
  7353  	374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
  7354  	374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
  7355  	374, 335, 335, 335, 368, 368, 370, 110, 110, 110,
  7356  	110, 110, 110, 110, 110, 110, 110, 114, 113, 113,
  7357  	112, 115, 115, 115, 115, 115, 115, 115, 115, 372,
  7358  	372, 372, 62, 62, 373, 323, 324, 325, 5, 6,
  7359  	349, 371, 122, 122, 29, 38, 38, 30, 30, 30,
  7360  	30, 31, 31, 63, 64, 64, 64, 64, 64, 64,
  7361  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7362  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7363  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7364  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7365  	64, 64, 64, 64, 64, 64, 278, 278, 287, 287,
  7366  	277, 277, 302, 302, 302, 280, 280, 280, 281, 281,
  7367  	398, 398, 398, 274, 274, 65, 65, 65, 303, 303,
  7368  	303, 303, 67, 67, 407, 407, 408, 408, 409, 409,
  7369  	409, 68, 69, 69, 305, 305, 306, 306, 70, 71,
  7370  	83, 83, 83, 83, 83, 83, 83, 84, 84, 84,
  7371  	84, 107, 107, 107, 15, 15, 15, 15, 79, 79,
  7372  	79, 14, 14, 17, 66, 66, 73, 395, 395, 396,
  7373  	397, 397, 397, 397, 74, 76, 32, 32, 32, 32,
  7374  	32, 32, 132, 132, 120, 120, 120, 120, 120, 120,
  7375  	120, 120, 120, 120, 120, 120, 127, 127, 127, 121,
  7376  	121, 415, 77, 78, 78, 125, 125, 125, 118, 118,
  7377  	118, 124, 124, 124, 16, 16, 18, 260, 260, 19,
  7378  	19, 129, 129, 131, 131, 131, 131, 131, 133, 133,
  7379  	133, 133, 133, 133, 133, 128, 128, 130, 130, 130,
  7380  	130, 295, 295, 295, 294, 294, 165, 165, 167, 166,
  7381  	166, 168, 168, 169, 169, 169, 169, 214, 214, 191,
  7382  	191, 253, 253, 254, 254, 252, 252, 259, 259, 255,
  7383  	255, 255, 255, 262, 262, 170, 170, 170, 170, 178,
  7384  	178, 179, 179, 180, 180, 304, 304, 300, 300, 300,
  7385  	299, 299, 184, 184, 184, 186, 185, 185, 185, 185,
  7386  	187, 187, 189, 189, 188, 188, 190, 195, 195, 194,
  7387  	194, 192, 192, 192, 192, 193, 193, 193, 193, 196,
  7388  	196, 142, 142, 142, 142, 142, 142, 142, 157, 157,
  7389  	157, 157, 160, 160, 160, 160, 160, 160, 160, 160,
  7390  	160, 160, 160, 243, 243, 148, 148, 148, 148, 148,
  7391  	148, 148, 148, 148, 148, 148, 148, 148, 152, 152,
  7392  	152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
  7393  	152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
  7394  	152, 152, 152, 151, 219, 219, 218, 218, 85, 85,
  7395  	85, 86, 86, 87, 87, 87, 87, 87, 88, 88,
  7396  	88, 88, 88, 143, 143, 90, 90, 89, 89, 209,
  7397  	209, 292, 292, 91, 92, 92, 95, 95, 94, 93,
  7398  	93, 99, 99, 96, 96, 98, 98, 97, 100, 100,
  7399  	101, 102, 102, 275, 275, 197, 197, 205, 205, 205,
  7400  	205, 198, 198, 198, 198, 198, 198, 198, 206, 206,
  7401  	206, 213, 207, 207, 203, 203, 201, 201, 201, 201,
  7402  	201, 201, 201, 201, 201, 201, 202, 202, 202, 202,
  7403  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7404  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7405  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7406  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7407  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7408  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7409  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7410  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7411  	202, 202, 202, 202, 162, 162, 162, 162, 224, 224,
  7412  	149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
  7413  	149, 149, 149, 149, 149, 150, 150, 163, 163, 163,
  7414  	163, 164, 164, 164, 164, 164, 164, 164, 312, 312,
  7415  	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
  7416  	117, 117, 116, 116, 116, 116, 116, 116, 116, 116,
  7417  	116, 416, 416, 326, 326, 326, 326, 204, 204, 204,
  7418  	204, 204, 123, 123, 123, 123, 123, 309, 309, 309,
  7419  	313, 313, 313, 311, 311, 311, 311, 311, 311, 311,
  7420  	311, 311, 311, 311, 311, 311, 311, 311, 314, 314,
  7421  	222, 222, 119, 119, 220, 220, 221, 223, 223, 215,
  7422  	215, 215, 215, 217, 217, 200, 200, 200, 225, 225,
  7423  	226, 226, 103, 104, 104, 105, 105, 227, 227, 229,
  7424  	228, 228, 230, 231, 231, 231, 232, 232, 233, 233,
  7425  	233, 48, 48, 48, 48, 48, 43, 43, 43, 43,
  7426  	44, 44, 44, 44, 134, 134, 134, 134, 136, 136,
  7427  	135, 135, 80, 80, 81, 81, 81, 140, 140, 141,
  7428  	141, 141, 138, 138, 139, 139, 250, 250, 234, 234,
  7429  	234, 241, 241, 241, 237, 237, 239, 239, 239, 240,
  7430  	240, 240, 238, 247, 247, 249, 249, 248, 248, 244,
  7431  	244, 245, 245, 246, 246, 246, 242, 242, 199, 199,
  7432  	199, 199, 199, 251, 251, 251, 251, 263, 263, 210,
  7433  	210, 212, 212, 211, 211, 161, 264, 264, 272, 269,
  7434  	269, 270, 270, 296, 296, 296, 273, 273, 286, 286,
  7435  	282, 282, 283, 283, 276, 276, 288, 288, 288, 75,
  7436  	208, 208, 365, 365, 362, 291, 291, 293, 293, 297,
  7437  	297, 301, 301, 298, 298, 289, 289, 289, 289, 289,
  7438  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7439  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7440  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7441  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7442  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7443  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7444  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7445  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7446  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7447  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7448  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7449  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7450  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7451  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7452  	289, 289, 289, 289, 290, 290, 290, 290, 290, 290,
  7453  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7454  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7455  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7456  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7457  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7458  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7459  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7460  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7461  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7462  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7463  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7464  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7465  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7466  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7467  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7468  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7469  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7470  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7471  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7472  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7473  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7474  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7475  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7476  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7477  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7478  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7479  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7480  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7481  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7482  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7483  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7484  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7485  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7486  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7487  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7488  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7489  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7490  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7491  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7492  	290, 290, 290, 290, 412, 413, 307, 308, 308, 308,
  7493  }
  7494  
  7495  var yyR2 = [...]int{
  7496  	0, 3, 0, 1, 1, 1, 1, 1, 1, 1,
  7497  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7498  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7499  	1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
  7500  	1, 0, 1, 1, 1, 2, 3, 2, 3, 0,
  7501  	1, 3, 1, 4, 3, 3, 4, 3, 2, 3,
  7502  	4, 3, 4, 2, 7, 1, 3, 3, 3, 3,
  7503  	1, 2, 1, 1, 3, 2, 3, 3, 2, 5,
  7504  	7, 10, 9, 7, 8, 1, 1, 10, 11, 9,
  7505  	8, 8, 1, 1, 1, 3, 1, 3, 1, 3,
  7506  	0, 4, 3, 1, 3, 3, 3, 3, 3, 1,
  7507  	1, 2, 5, 4, 1, 3, 3, 2, 2, 2,
  7508  	2, 2, 1, 1, 1, 1, 2, 2, 6, 12,
  7509  	2, 0, 2, 0, 2, 1, 0, 2, 1, 3,
  7510  	3, 0, 1, 1, 3, 3, 6, 4, 7, 8,
  7511  	8, 8, 6, 3, 1, 1, 5, 0, 1, 1,
  7512  	1, 1, 2, 2, 2, 0, 1, 4, 4, 4,
  7513  	4, 4, 4, 2, 4, 1, 3, 1, 1, 3,
  7514  	4, 3, 3, 3, 5, 10, 0, 2, 0, 2,
  7515  	3, 5, 3, 4, 2, 3, 2, 3, 3, 3,
  7516  	3, 2, 2, 4, 4, 1, 1, 1, 1, 1,
  7517  	0, 2, 2, 3, 3, 2, 2, 2, 1, 1,
  7518  	2, 2, 2, 2, 2, 1, 1, 1, 1, 2,
  7519  	2, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  7520  	2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
  7521  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7522  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7523  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7524  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7525  	1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
  7526  	2, 1, 2, 1, 3, 1, 1, 1, 2, 1,
  7527  	1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  7528  	2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
  7529  	2, 3, 3, 3, 2, 2, 2, 2, 2, 2,
  7530  	1, 1, 1, 1, 1, 5, 5, 1, 1, 1,
  7531  	1, 1, 1, 1, 1, 1, 3, 0, 3, 0,
  7532  	5, 1, 3, 0, 3, 5, 0, 1, 1, 0,
  7533  	1, 0, 3, 3, 2, 2, 2, 1, 2, 2,
  7534  	0, 1, 0, 2, 2, 5, 0, 1, 1, 2,
  7535  	1, 3, 2, 1, 1, 3, 3, 3, 0, 1,
  7536  	4, 3, 3, 4, 2, 0, 2, 1, 1, 1,
  7537  	1, 1, 0, 1, 1, 1, 0, 1, 1, 3,
  7538  	3, 4, 3, 1, 3, 1, 7, 6, 7, 7,
  7539  	8, 8, 0, 1, 5, 2, 1, 1, 1, 0,
  7540  	1, 3, 3, 1, 1, 2, 2, 2, 0, 1,
  7541  	1, 1, 2, 0, 1, 0, 1, 1, 3, 2,
  7542  	1, 2, 3, 3, 3, 4, 4, 3, 3, 3,
  7543  	3, 4, 4, 3, 3, 3, 3, 3, 3, 3,
  7544  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  7545  	3, 4, 5, 0, 2, 2, 1, 1, 1, 1,
  7546  	1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
  7547  	0, 1, 0, 2, 0, 2, 0, 2, 2, 0,
  7548  	1, 5, 1, 3, 7, 1, 3, 3, 1, 2,
  7549  	2, 2, 5, 5, 5, 6, 8, 5, 5, 4,
  7550  	4, 4, 6, 5, 5, 5, 2, 2, 2, 2,
  7551  	3, 3, 3, 4, 3, 3, 1, 3, 5, 1,
  7552  	3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
  7553  	2, 3, 4, 4, 2, 11, 3, 6, 8, 6,
  7554  	6, 6, 13, 8, 6, 10, 5, 5, 5, 7,
  7555  	5, 5, 5, 5, 5, 7, 7, 5, 5, 0,
  7556  	6, 5, 6, 4, 5, 0, 8, 9, 0, 3,
  7557  	0, 1, 0, 3, 8, 4, 1, 3, 3, 6,
  7558  	7, 7, 8, 4, 0, 1, 0, 1, 3, 3,
  7559  	1, 1, 2, 1, 1, 0, 2, 0, 2, 5,
  7560  	3, 7, 4, 4, 4, 4, 3, 3, 3, 7,
  7561  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  7562  	2, 0, 2, 2, 1, 3, 2, 0, 2, 2,
  7563  	2, 2, 2, 2, 2, 2, 2, 3, 1, 3,
  7564  	3, 0, 2, 2, 2, 2, 2, 2, 2, 4,
  7565  	4, 3, 0, 1, 4, 3, 4, 4, 3, 3,
  7566  	3, 2, 1, 3, 3, 3, 5, 7, 7, 6,
  7567  	5, 3, 2, 3, 3, 3, 7, 3, 3, 3,
  7568  	3, 4, 7, 5, 2, 4, 4, 4, 4, 4,
  7569  	5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
  7570  	2, 2, 4, 4, 4, 4, 4, 2, 3, 3,
  7571  	3, 3, 5, 2, 3, 3, 2, 3, 4, 4,
  7572  	4, 3, 4, 4, 5, 3, 0, 1, 0, 1,
  7573  	1, 1, 0, 2, 2, 0, 2, 2, 0, 2,
  7574  	0, 1, 1, 1, 1, 2, 1, 3, 1, 1,
  7575  	1, 1, 1, 3, 0, 1, 1, 3, 3, 2,
  7576  	2, 1, 1, 5, 0, 1, 0, 1, 2, 3,
  7577  	0, 3, 3, 3, 3, 3, 1, 0, 1, 1,
  7578  	1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
  7579  	1, 4, 4, 4, 2, 2, 3, 1, 3, 2,
  7580  	1, 2, 1, 2, 2, 4, 3, 3, 6, 4,
  7581  	7, 6, 1, 3, 2, 2, 2, 2, 1, 1,
  7582  	1, 3, 2, 1, 1, 1, 0, 1, 1, 0,
  7583  	3, 0, 2, 0, 2, 1, 2, 2, 0, 1,
  7584  	1, 0, 1, 1, 5, 5, 4, 0, 2, 4,
  7585  	4, 0, 1, 0, 1, 2, 3, 4, 1, 1,
  7586  	1, 1, 1, 1, 1, 1, 3, 1, 2, 3,
  7587  	5, 0, 1, 2, 1, 1, 0, 1, 2, 1,
  7588  	3, 1, 1, 1, 4, 3, 1, 1, 2, 3,
  7589  	7, 0, 3, 0, 1, 1, 3, 1, 3, 1,
  7590  	1, 3, 3, 1, 3, 4, 4, 4, 3, 2,
  7591  	4, 0, 1, 0, 2, 0, 1, 0, 1, 2,
  7592  	1, 1, 1, 2, 2, 1, 2, 3, 2, 3,
  7593  	2, 2, 2, 1, 1, 3, 3, 0, 1, 1,
  7594  	2, 6, 5, 6, 6, 0, 2, 3, 3, 0,
  7595  	2, 3, 3, 3, 2, 3, 1, 6, 3, 4,
  7596  	3, 1, 3, 4, 5, 6, 3, 4, 5, 6,
  7597  	3, 4, 1, 1, 1, 3, 3, 3, 3, 3,
  7598  	3, 3, 3, 3, 3, 3, 3, 1, 1, 1,
  7599  	1, 1, 3, 1, 1, 1, 2, 2, 2, 2,
  7600  	1, 1, 2, 7, 7, 6, 6, 2, 2, 1,
  7601  	6, 3, 3, 3, 1, 3, 1, 3, 1, 1,
  7602  	1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
  7603  	2, 2, 2, 1, 1, 0, 1, 2, 5, 0,
  7604  	3, 0, 1, 4, 4, 2, 0, 1, 1, 2,
  7605  	2, 1, 1, 2, 2, 0, 1, 1, 1, 1,
  7606  	5, 1, 3, 0, 3, 1, 1, 1, 2, 1,
  7607  	2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7608  	1, 1, 1, 3, 4, 6, 4, 4, 8, 6,
  7609  	8, 6, 5, 4, 10, 2, 2, 1, 2, 2,
  7610  	2, 4, 5, 5, 5, 5, 5, 4, 4, 4,
  7611  	4, 4, 4, 4, 4, 4, 4, 8, 8, 8,
  7612  	6, 5, 4, 4, 4, 4, 4, 7, 4, 4,
  7613  	6, 6, 6, 8, 6, 6, 4, 4, 3, 4,
  7614  	6, 6, 4, 4, 4, 6, 8, 6, 4, 6,
  7615  	6, 8, 10, 7, 8, 8, 9, 4, 4, 4,
  7616  	4, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  7617  	6, 4, 4, 6, 4, 6, 5, 9, 6, 9,
  7618  	1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
  7619  	6, 8, 10, 12, 14, 6, 8, 8, 10, 12,
  7620  	14, 6, 8, 10, 12, 6, 8, 4, 4, 3,
  7621  	4, 6, 6, 4, 6, 4, 6, 8, 0, 2,
  7622  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7623  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7624  	1, 0, 2, 0, 2, 3, 3, 4, 4, 4,
  7625  	4, 4, 0, 3, 4, 7, 3, 1, 1, 1,
  7626  	0, 5, 5, 2, 3, 1, 2, 2, 1, 2,
  7627  	1, 2, 2, 1, 2, 2, 1, 1, 0, 1,
  7628  	0, 1, 0, 2, 1, 2, 4, 0, 2, 1,
  7629  	1, 3, 5, 1, 1, 1, 2, 2, 0, 3,
  7630  	0, 2, 2, 1, 3, 0, 1, 0, 1, 3,
  7631  	1, 3, 2, 0, 1, 1, 0, 1, 2, 4,
  7632  	4, 0, 2, 2, 1, 1, 3, 3, 3, 3,
  7633  	3, 3, 3, 3, 0, 3, 3, 3, 0, 3,
  7634  	1, 1, 0, 4, 0, 1, 1, 0, 3, 1,
  7635  	3, 2, 1, 1, 0, 1, 2, 4, 9, 3,
  7636  	5, 0, 3, 3, 0, 1, 0, 2, 2, 0,
  7637  	2, 2, 2, 0, 2, 1, 2, 3, 3, 0,
  7638  	2, 1, 2, 3, 4, 3, 0, 1, 2, 1,
  7639  	5, 4, 4, 1, 3, 3, 5, 0, 5, 1,
  7640  	3, 1, 2, 3, 4, 1, 1, 3, 3, 1,
  7641  	2, 1, 1, 1, 1, 1, 1, 1, 0, 1,
  7642  	0, 2, 0, 3, 0, 1, 0, 1, 1, 5,
  7643  	0, 1, 0, 1, 2, 1, 1, 1, 1, 1,
  7644  	1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
  7645  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7646  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7647  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7648  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7649  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7650  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7651  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7652  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7653  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7654  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7655  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7656  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7657  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7658  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7659  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7660  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7661  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7662  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7663  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7664  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7665  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7666  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7667  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7668  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7669  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7670  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7671  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7672  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7673  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7674  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7675  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7676  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7677  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7678  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7679  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7680  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7681  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7682  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7683  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7684  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7685  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7686  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7687  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7688  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7689  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7690  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7691  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7692  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7693  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7694  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7695  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7696  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7697  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7698  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7699  	1, 1, 1, 1, 1, 1, 0, 0, 1, 1,
  7700  }
  7701  
  7702  var yyChk = [...]int{
  7703  	-1000, -410, -77, -415, -7, -11, -20, -21, -22, -23,
  7704  	-24, -25, -26, -27, -28, -29, -30, -31, -63, -64,
  7705  	-65, -67, -68, -69, -70, -71, -14, -17, -66, -32,
  7706  	-33, -72, -73, -74, -75, -76, -16, -18, -19, -9,
  7707  	-8, -13, 10, 11, -106, -34, 33, -39, -49, 225,
  7708  	-50, -40, 226, -51, 228, 227, 265, 229, 258, 75,
  7709  	313, 314, 316, 317, 318, 319, -107, 617, 263, 264,
  7710  	231, 37, 46, 34, 35, 38, 235, 271, 272, 234,
  7711  	-10, -35, 9, -412, 12, 449, 260, 259, 29, -12,
  7712  	511, 87, -78, -411, 665, -250, -234, 23, 34, 30,
  7713  	-233, -229, -125, -234, 21, 19, 8, -77, -77, -77,
  7714  	13, 14, -77, -350, -352, 87, 159, 87, -77, -56,
  7715  	-55, -53, -52, -54, -57, 32, -46, -47, -374, -45,
  7716  	-42, 230, 227, 275, 123, 124, 265, 266, 267, 229,
  7717  	249, 264, 268, 263, 284, -41, 82, 34, 511, 514,
  7718  	-357, 226, 232, 233, 228, 450, 126, 125, 76, -354,
  7719  	372, 544, 635, -57, 637, 101, 104, 636, 45, 239,
  7720  	638, 639, 640, 551, 641, 248, 642, 643, 644, 645,
  7721  	651, 592, 652, 653, 654, 127, 8, -77, -301, -297,
  7722  	91, -290, 508, 251, 542, 543, 300, 82, 42, 517,
  7723  	369, 372, 544, 479, 635, 313, 329, 323, 484, 485,
  7724  	486, 352, 344, 509, 545, 518, 303, 252, 288, 629,
  7725  	342, 135, 637, 307, 546, 266, 377, 378, 547, 379,
  7726  	101, 316, 416, 650, 306, 548, 648, 104, 636, 321,
  7727  	80, 478, 52, 632, 45, 261, 340, 234, 336, 638,
  7728  	289, 549, 520, 282, 126, 123, 657, 37, 332, 51,
  7729  	31, 647, 125, 50, 639, 150, 550, 640, 551, 381,
  7730  	359, 623, 49, 382, 267, 552, 85, 272, 513, 310,
  7731  	631, 383, 498, 333, 384, 299, 646, 231, 553, 612,
  7732  	604, 605, 385, 386, 624, 364, 360, 365, 500, 554,
  7733  	408, 483, 387, 608, 609, 664, 53, 555, 556, 625,
  7734  	124, 557, 79, 641, 81, 327, 328, 558, 297, 250,
  7735  	503, 504, 410, 356, 461, 468, 469, 111, 112, 464,
  7736  	113, 470, 114, 471, 472, 473, 462, 115, 108, 463,
  7737  	474, 475, 357, 358, 116, 476, 110, 109, 465, 467,
  7738  	117, 477, 248, 36, 388, 510, 301, 59, 305, 276,
  7739  	411, 47, 362, 661, 46, 619, 505, 559, 622, 355,
  7740  	351, 458, 54, 560, 561, 562, 563, 480, 642, 354,
  7741  	326, 350, 656, 4, 294, 481, 643, 63, 233, 367,
  7742  	366, 368, 283, 407, 347, 564, 565, 566, 255, 83,
  7743  	567, 337, 22, 568, 569, 389, 290, 570, 57, 571,
  7744  	572, 414, 264, 573, 55, 644, 40, 574, 269, 658,
  7745  	645, 575, 576, 577, 618, 578, 271, 579, 391, 580,
  7746  	606, 607, 390, 361, 363, 506, 278, 392, 236, 512,
  7747  	581, 311, 331, 268, 649, 582, 256, 494, 495, 496,
  7748  	497, 630, 502, 501, 270, 275, 263, 415, 257, 583,
  7749  	584, 585, 586, 587, 304, 603, 588, 589, 317, 651,
  7750  	459, 44, 590, 591, 592, 593, 594, 298, 293, 409,
  7751  	418, 62, 84, 374, 595, 596, 628, 325, 322, 291,
  7752  	597, 314, 56, 652, 653, 654, 285, 655, 487, 488,
  7753  	489, 490, 10, 662, 663, 482, 394, 127, 295, 296,
  7754  	48, 348, 277, 598, 308, 599, 338, 339, 353, 324,
  7755  	349, 615, 315, 613, 279, 395, 460, 265, 600, 417,
  7756  	292, 370, 375, 309, 516, 499, 284, 396, 627, 515,
  7757  	491, 492, 346, 343, 286, 493, 601, 617, 397, 240,
  7758  	280, 281, 602, 614, 398, 399, 302, 400, 401, 402,
  7759  	403, 404, 406, 312, 405, 616, 610, 611, 287, 514,
  7760  	320, 341, 376, 430, 431, 432, 433, 434, 435, 436,
  7761  	437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
  7762  	447, 457, 238, -77, 238, -188, -297, 238, -269, 378,
  7763  	-287, 380, 393, 388, 398, 386, -278, 389, 391, 278,
  7764  	-398, 408, 238, 395, 225, 381, 390, 399, 400, 302,
  7765  	406, 401, 312, 405, 287, 402, 403, 404, -381, 177,
  7766  	640, 655, 135, 345, 385, 383, 409, 619, 91, -303,
  7767  	91, 92, 93, -290, 315, -305, 320, -291, -381, -290,
  7768  	318, -77, -77, -307, -307, -127, 619, 621, -207, -142,
  7769  	143, -157, -160, -148, -152, -201, -202, -203, -204, -158,
  7770  	-217, -256, 166, 167, 174, 144, -213, -161, 27, 507,
  7771  	451, 450, 177, 32, -151, 220, 69, 70, 453, 146,
  7772  	58, 12, 426, 427, -159, 421, 428, 423, 478, 480,
  7773  	481, 482, 479, 484, 485, 486, 487, 488, 489, 490,
  7774  	491, 492, 493, 483, 455, 456, 118, 457, 108, 110,
  7775  	109, 458, 459, 460, 342, 505, 506, 500, 503, 504,
  7776  	502, 501, 357, 358, 461, 462, 463, 111, 112, 113,
  7777  	114, 115, 116, 117, 464, 467, 465, 466, 468, 469,
  7778  	470, 475, 476, 471, 472, 473, 474, 477, 362, 361,
  7779  	-87, -99, 533, 532, -100, -149, -150, -163, -164, -291,
  7780  	-297, 243, 420, 237, 172, 449, -153, -146, -215, 107,
  7781  	92, 93, -8, -211, 419, 424, 425, 429, 422, 519,
  7782  	521, 536, 537, 539, 524, 529, 528, 531, 494, 495,
  7783  	496, 497, 498, 499, 604, 605, 606, 607, 608, 609,
  7784  	610, 611, -381, -290, 91, -155, -154, -197, 94, 99,
  7785  	102, 103, 105, -404, 261, 338, 339, 119, -412, 633,
  7786  	90, 95, 96, 97, 98, 120, 121, 178, 179, 180,
  7787  	181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
  7788  	191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
  7789  	201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
  7790  	211, 212, 213, 214, 215, 216, 217, 218, 219, 45,
  7791  	394, 394, -188, -77, -77, -77, -77, -227, -125, -229,
  7792  	-10, -8, -412, 9, -77, -8, -9, -13, -35, -37,
  7793  	538, -36, -297, 100, -234, -250, 13, 162, 43, 51,
  7794  	-232, -233, -12, -8, -142, 20, 24, 25, -130, 168,
  7795  	-142, -297, -130, -276, 242, -77, -77, -265, -310, 315,
  7796  	-267, 409, 619, 408, -257, -270, 91, -256, -269, 407,
  7797  	-351, 159, -337, -341, -291, 253, -367, 249, -188, -360,
  7798  	-359, -291, -412, -126, -286, 239, 247, 246, 136, -385,
  7799  	139, 295, 420, 237, -52, -53, -54, -269, 176, 639,
  7800  	-108, 270, 274, 88, 88, -341, -340, -339, -386, 274,
  7801  	253, -366, -358, 245, 254, -347, 246, 247, -342, 239,
  7802  	137, -386, -342, 244, 254, 249, 253, 274, 274, 127,
  7803  	274, 127, 274, 274, 274, 274, 274, 274, 274, 274,
  7804  	274, 269, -348, 151, -348, 515, 515, -354, -386, 249,
  7805  	239, -386, -386, 245, -288, -342, 241, 26, 241, 36,
  7806  	36, -348, -348, -348, -269, 176, -348, -348, -348, -348,
  7807  	282, 282, -348, -348, -348, -348, -348, -348, -348, -348,
  7808  	-348, -348, -348, -348, -348, -348, -348, -348, -348, 238,
  7809  	-385, -134, 405, 302, 82, -55, 284, -38, -188, -286,
  7810  	239, 240, -385, 271, -188, 221, -188, -280, 159, 16,
  7811  	-280, -277, 394, 392, 379, 384, -280, -280, -280, -280,
  7812  	285, 377, -343, 239, 36, 250, 394, 285, 377, 285,
  7813  	286, 285, 286, 387, 397, 285, -302, 15, 162, 420,
  7814  	382, 386, 278, 238, 279, 240, 396, 286, -302, 90,
  7815  	-281, 159, 285, 394, 281, -280, -280, -308, -412, -293,
  7816  	-291, -289, 230, 24, 142, 26, 28, 145, 177, 130,
  7817  	20, 146, 38, 232, 345, 249, 176, 245, 450, 225,
  7818  	73, 519, 421, 423, 419, 426, 452, 453, 420, 380,
  7819  	32, 14, 521, 29, 259, 25, 39, 170, 227, 149,
  7820  	522, 262, 27, 260, 118, 121, 524, 23, 76, 254,
  7821  	15, 247, 41, 17, 525, 526, 18, 243, 242, 162,
  7822  	239, 71, 12, 220, 30, 158, 67, 527, 137, 528,
  7823  	529, 530, 531, 131, 69, 159, 21, 659, 424, 425,
  7824  	34, 620, 507, 273, 172, 74, 60, 621, 143, 422,
  7825  	532, 533, 119, 534, 122, 77, 626, 139, 19, 72,
  7826  	43, 535, 274, 536, 244, 660, 537, 412, 538, 160,
  7827  	228, 449, 70, 161, 633, 539, 634, 237, 393, 9,
  7828  	454, 33, 258, 246, 129, 68, 540, 238, 148, 455,
  7829  	456, 241, 132, 120, 8, 136, 35, 13, 75, 78,
  7830  	427, 428, 429, 58, 128, 511, 147, 16, 541, 413,
  7831  	141, -381, 622, -308, -308, 33, 92, -407, -408, -409,
  7832  	511, 412, 241, -291, -188, -83, 612, 229, -84, 618,
  7833  	24, 236, -132, 394, -120, 177, 640, 623, 624, 625,
  7834  	622, 391, 630, 628, 626, 285, 627, 88, 139, 141,
  7835  	142, 4, -142, 158, -198, 151, 152, 153, 154, 155,
  7836  	156, 157, 162, 143, 145, 159, -243, 140, 163, 164,
  7837  	165, 166, 167, 168, 169, 171, 170, 172, 173, 160,
  7838  	161, 176, 223, 224, -152, -152, -152, -152, -213, -219,
  7839  	-218, -412, -215, -381, -290, -297, -412, -412, -152, -275,
  7840  	-412, -412, -148, -412, -412, -412, -222, -142, -412, -412,
  7841  	-416, -412, -416, -416, -326, -412, -326, -412, -412, -412,
  7842  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7843  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7844  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7845  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7846  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7847  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7848  	-412, -412, -412, -412, -412, 221, -412, -412, -412, -412,
  7849  	-412, -326, -326, -326, -326, -326, -412, -412, -412, -412,
  7850  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7851  	103, 99, 102, 94, -217, 105, 90, 90, 90, 90,
  7852  	-8, -9, -207, -412, -307, -395, -396, -191, -188, -412,
  7853  	302, -291, -291, 271, -232, -12, -8, -227, -233, -229,
  7854  	-8, -77, -118, -131, 64, 65, -133, 25, 39, 68,
  7855  	66, 24, -413, 89, -413, -250, -413, 88, -37, -253,
  7856  	87, 62, 44, 90, 90, 88, 22, -228, -230, -142,
  7857  	15, -295, 4, -294, 26, -291, 90, 221, 15, -189,
  7858  	30, -188, -276, -276, 88, 91, 315, -266, -268, 410,
  7859  	412, 151, -296, -291, 90, 32, 89, 88, -188, -315,
  7860  	-318, -320, -319, -321, -316, -317, 342, 343, 177, 346,
  7861  	348, 349, 350, 351, 352, 353, 354, 355, 356, 359,
  7862  	33, 261, 338, 339, 340, 341, 360, 361, 362, 363,
  7863  	365, 366, 367, 368, 323, 344, 509, 324, 325, 326,
  7864  	327, 328, 329, 331, 332, 335, 333, 334, 336, 337,
  7865  	-382, -381, 87, 89, 88, -322, 87, -142, -134, 238,
  7866  	-381, 239, 239, 239, -77, 449, -348, -348, -348, 269,
  7867  	20, -45, -42, -374, 19, -41, -42, 230, 123, 124,
  7868  	227, 87, -337, 87, -346, -382, -381, 87, 137, 244,
  7869  	136, -345, -342, -345, -346, -381, -215, -381, 137, 137,
  7870  	-381, -381, -262, -291, -262, -262, 24, -262, 24, -262,
  7871  	24, 96, -291, -262, 24, -262, 24, -262, 24, -262,
  7872  	24, -262, 24, 32, 79, 80, 81, 32, 83, 84,
  7873  	85, -215, -381, -381, -215, -337, -215, -188, -381, -269,
  7874  	96, 96, 96, -348, -348, 96, 90, 90, 90, -348,
  7875  	-348, 96, 90, -299, -297, 90, 90, -387, 255, 299,
  7876  	301, 96, 96, 96, 96, 32, 90, -388, 32, 647,
  7877  	646, 648, 649, 650, 90, 96, 32, 96, 32, 96,
  7878  	-291, 87, -188, -140, 289, 225, 227, 230, 77, 90,
  7879  	305, 306, 303, 308, 309, 151, 45, 88, 241, 238,
  7880  	-381, -282, 243, -282, -291, -298, -297, -289, 90, -142,
  7881  	-344, 15, 162, -302, -302, -280, -188, -344, -302, -280,
  7882  	-188, -280, -280, -280, -280, -302, -302, -302, -280, -297,
  7883  	-297, -188, -188, -188, -188, -188, -188, -188, -308, -281,
  7884  	-280, 622, 90, -274, 15, 77, -308, -308, 88, 321,
  7885  	413, 414, -306, 318, -79, -291, 90, -15, -11, -23,
  7886  	-22, -24, 151, -15, 88, 511, -181, -188, 622, 622,
  7887  	622, 622, 622, 622, -142, -142, -142, -142, 534, -205,
  7888  	119, 143, 120, 121, -160, -206, -211, -213, 106, 162,
  7889  	145, 159, -243, -148, -152, -148, -148, -148, -148, -148,
  7890  	-148, -148, -148, -148, -148, -148, -148, -148, -309, -291,
  7891  	90, 177, -156, -155, 105, -404, -156, 508, 88, -218,
  7892  	221, -142, -142, -381, -142, -291, -128, -130, -128, -142,
  7893  	-220, -221, 147, -215, -142, -413, -413, 96, 105, 168,
  7894  	-124, 25, 39, -124, -124, -124, -124, -142, -142, -142,
  7895  	-142, -142, -142, -142, -142, -142, -142, -124, -291, -291,
  7896  	-117, -116, 431, 432, 433, 434, 436, 437, 438, 441,
  7897  	442, 446, 447, 430, 448, 435, 440, 443, 444, 445,
  7898  	439, 341, -142, -142, -142, -142, -142, -142, -85, -142,
  7899  	130, 131, 132, -207, -142, -148, -142, -142, -142, -413,
  7900  	-142, -142, -142, -208, -207, -380, -379, -378, -142, -142,
  7901  	-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
  7902  	-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
  7903  	-142, -207, -142, -413, -142, -162, -146, 96, -258, 105,
  7904  	92, -142, -142, -129, -128, -293, -298, -289, -290, -128,
  7905  	-129, -129, -128, -128, -142, -142, -142, -142, -142, -142,
  7906  	-142, -142, -413, -142, -142, -142, -142, -142, -250, -413,
  7907  	-207, 88, -397, 412, 413, 620, -300, 274, -299, 26,
  7908  	-208, 90, 15, -260, 78, -291, -232, -232, 64, 65,
  7909  	60, -128, -133, -413, -36, 26, -252, -291, 63, 90,
  7910  	-327, -269, 369, 370, 177, -142, -142, 88, -231, 28,
  7911  	29, -188, -294, 168, -298, -188, -261, 274, -188, -166,
  7912  	-168, -169, -170, -191, -214, -412, -171, -8, 530, 527,
  7913  	15, -181, -182, -190, -297, -267, -310, -266, 88, 411,
  7914  	413, 414, 77, 122, -142, -328, 176, -356, -355, -354,
  7915  	-337, -339, -340, -341, 89, -328, -333, 375, 374, -322,
  7916  	-322, -322, -322, -322, -327, -327, -327, -327, 87, 87,
  7917  	-322, -322, -322, -322, -330, 87, -330, -330, -331, -330,
  7918  	87, -331, -332, 87, -332, -367, -142, -364, -363, -361,
  7919  	-362, 248, 101, 602, 558, 511, 551, 592, 78, -359,
  7920  	-231, 96, -413, -140, -283, 243, -365, -362, -381, -381,
  7921  	-381, -283, 91, 90, 91, 90, 91, 90, -109, -59,
  7922  	-1, 659, 660, 661, 88, 20, -338, -337, -58, 299,
  7923  	-370, -371, 274, -366, -360, -346, 137, -345, -346, -346,
  7924  	-381, 88, 30, 127, 127, 127, 127, 511, 227, 33,
  7925  	-284, 550, 143, 602, 558, -337, -58, 241, 241, -309,
  7926  	-309, -309, 90, 90, -279, 655, -181, -136, 291, 151,
  7927  	280, 280, 238, 238, 293, -188, 304, 307, 305, 306,
  7928  	303, 308, 309, 24, 24, 24, 24, 24, 292, 294,
  7929  	296, 282, -188, -188, -282, 77, -183, -188, 27, -297,
  7930  	-188, -280, -280, -188, -280, -280, -188, -409, 322, -291,
  7931  	356, 613, 614, 616, 615, -120, 412, 88, 511, 23,
  7932  	-121, 23, -412, 119, 120, 121, -206, -148, -152, -148,
  7933  	142, 262, -412, -215, -413, -293, 26, 88, 78, -413,
  7934  	88, 88, -413, -413, 88, 15, -223, -221, 149, -142,
  7935  	-413, 88, -413, -413, -413, -207, -142, -142, -142, -142,
  7936  	-413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
  7937  	-207, 88, 88, 15, -313, 26, -413, -413, -413, -413,
  7938  	-413, -222, -413, 15, -413, 78, 88, 162, 88, -413,
  7939  	-413, -413, 88, 88, -413, -413, 88, 88, -413, 88,
  7940  	88, 88, -413, 88, 88, 88, 88, -413, -413, -413,
  7941  	-413, 88, 88, 88, 88, 88, 88, 88, 88, 88,
  7942  	88, -413, -413, 88, -92, 535, -413, -413, 88, -413,
  7943  	88, -413, -412, 221, -413, -413, -413, -413, -413, 88,
  7944  	88, 88, 88, 88, 88, -413, -413, -413, 88, 88,
  7945  	-413, 88, -413, 88, -413, -396, 619, 413, -195, -194,
  7946  	-192, 75, 242, 76, -412, -299, -413, -156, -258, -259,
  7947  	-258, -200, -291, 96, 105, -234, -165, -167, 15, -133,
  7948  	-213, 89, 88, -327, -238, -244, -277, -291, 90, 177,
  7949  	-329, 177, -329, 369, 370, -230, 221, -196, 16, -199,
  7950  	33, 58, -11, -412, -412, 33, 88, -184, -186, -185,
  7951  	-187, 67, 71, 73, 68, 69, 70, 74, -304, 26,
  7952  	-8, -166, -8, -412, -188, -181, -414, 15, 78, -414,
  7953  	88, 221, -268, -271, 415, 412, 418, -381, 90, -108,
  7954  	88, -354, -341, -235, -137, 41, -334, 376, -327, 518,
  7955  	-327, -336, 90, -336, 96, 96, 96, 89, -48, -43,
  7956  	-44, 34, 82, -361, -348, 90, 40, -348, -348, -291,
  7957  	89, -231, -136, -188, 143, 77, -365, -365, -365, -297,
  7958  	-2, 658, 664, 137, 87, 379, 19, -252, 88, 89,
  7959  	-216, 300, 89, -110, -291, 89, 87, -346, -346, -291,
  7960  	-412, 238, 32, 32, 602, 558, 550, -58, -216, -215,
  7961  	-381, -328, 657, 656, 89, 240, 298, -141, 426, -138,
  7962  	90, 91, -188, -188, -188, -188, -188, 230, 227, 402,
  7963  	-405, 310, -405, 283, 241, -181, -188, 88, -82, 257,
  7964  	252, -302, -302, 34, -188, 412, 631, 629, -142, 142,
  7965  	262, -160, -152, -148, -311, 177, 342, 261, 340, 336,
  7966  	356, 347, 374, 338, 375, 333, 332, 331, -311, -309,
  7967  	-207, -130, -142, -142, 150, -142, 148, -142, -413, -413,
  7968  	-413, -413, -413, -227, -142, -142, -142, -413, 177, 342,
  7969  	15, -142, -309, -142, -142, -142, -142, -142, -378, -142,
  7970  	-207, -142, -207, -142, -142, -142, -142, -142, -379, -379,
  7971  	-379, -379, -379, -207, -207, -207, -207, -142, -412, -291,
  7972  	-95, -94, -93, 585, 242, -92, -162, -95, -162, -129,
  7973  	-293, -142, -142, -142, -142, -142, -142, -142, -142, -142,
  7974  	-142, -192, -342, -342, -342, -262, 88, -273, 23, 15,
  7975  	58, 58, -165, -196, -166, -133, -291, -241, 612, -247,
  7976  	47, -245, -246, 48, -242, 49, 57, -329, -329, 168,
  7977  	-232, -142, -263, 77, -264, -272, -215, -210, -212, -211,
  7978  	-412, -251, -413, -291, -262, -264, -168, -169, -169, -168,
  7979  	-169, 67, 67, 67, 72, 67, 72, 67, -185, -297,
  7980  	-413, -142, -300, 78, -166, -166, -190, -297, 168, 412,
  7981  	416, 417, -354, -403, 119, 143, 32, 77, 372, 101,
  7982  	-401, 176, 547, 597, 602, 558, 551, 592, -402, 244,
  7983  	136, 137, 256, 26, 42, 89, 88, 89, 88, 89,
  7984  	89, 88, -285, -284, -44, -43, -348, -348, 96, -381,
  7985  	90, 90, 240, 27, -188, 77, 77, 77, -111, 662,
  7986  	96, 87, -3, 82, -142, 87, 20, -337, -215, -372,
  7987  	-323, -373, -324, -325, -5, -6, -349, -114, 58, 101,
  7988  	-62, 45, 239, 642, 643, 127, -412, 655, -364, -252,
  7989  	-368, -370, -188, -145, -412, -144, -146, -153, 166, 167,
  7990  	261, 338, 339, -216, -188, -135, 289, 297, 87, -139,
  7991  	92, -384, 78, 280, 372, 280, 90, -406, 311, 90,
  7992  	-406, -188, -82, -48, -188, -280, -280, 34, -381, -413,
  7993  	-160, -152, -123, 162, 511, -314, 517, -322, -322, -322,
  7994  	-332, -322, 328, -322, 328, -322, -413, -413, -413, 88,
  7995  	-413, 23, -413, -142, 88, -119, 454, 88, 88, -413,
  7996  	87, 87, -142, -413, -413, -413, 88, -413, -413, -413,
  7997  	-413, -413, 88, -413, -413, -413, 88, -312, 603, -413,
  7998  	-413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
  7999  	-91, -292, -291, -92, 567, 567, -413, -92, -224, 88,
  8000  	-413, -413, 88, -413, 88, 88, -413, 88, -413, 88,
  8001  	-413, -413, -413, -413, 88, -193, 23, -193, -193, -413,
  8002  	-258, -188, -196, -225, 17, -238, 52, 348, -249, -248,
  8003  	56, 48, -246, 20, 50, 20, 31, -263, 88, 151,
  8004  	88, -413, -413, 88, 58, 221, -413, -196, -179, -178,
  8005  	77, 78, -180, 77, -178, 67, 67, -253, 88, -261,
  8006  	-166, -196, -196, 221, 119, -412, -147, -159, -145, 13,
  8007  	90, 90, -381, -400, 646, 647, 32, 96, -348, -348,
  8008  	137, 137, -188, 87, -327, 90, -327, 96, 96, 32,
  8009  	83, 84, 85, 32, 79, 80, 81, -188, -188, -188,
  8010  	-188, -369, 87, 20, -142, 87, 151, 89, -252, -252,
  8011  	276, 162, -348, 640, 282, 282, -348, -348, -348, -113,
  8012  	-112, 662, 89, -413, 88, -335, 511, 514, -142, -154,
  8013  	-154, -253, 89, -377, 511, -383, -291, -291, -291, -291,
  8014  	96, 98, -413, 509, 74, 512, -413, -327, -142, -142,
  8015  	-142, -232, 90, -142, -142, 96, 96, -413, -142, -207,
  8016  	-142, -413, -176, -175, -177, 623, 119, 32, -311, -413,
  8017  	-209, 274, -98, -97, -96, 15, -413, -142, -142, -142,
  8018  	-142, -142, -142, -142, -412, 67, 19, 17, -412, -412,
  8019  	-300, -225, -226, 18, 20, -239, 54, -237, 53, -237,
  8020  	-248, 20, 20, 90, 20, 90, 137, -272, -142, -212,
  8021  	58, -11, -291, -210, -291, -227, -142, 87, -142, -156,
  8022  	-196, -196, -142, -202, 478, 480, 481, 482, 479, 484,
  8023  	485, 486, 487, 488, 489, 490, 491, 492, 493, 483,
  8024  	457, 108, 110, 109, 458, 459, 460, 342, 505, 506,
  8025  	500, 503, 504, 502, 501, 357, 358, 461, 462, 463,
  8026  	111, 112, 113, 114, 115, 116, 117, 464, 467, 465,
  8027  	468, 469, 470, 475, 476, 471, 472, 473, 474, 477,
  8028  	362, 361, 494, 495, 496, 497, 498, 499, 604, 605,
  8029  	606, 607, 608, 609, 610, 611, 90, 90, 87, -142,
  8030  	89, 89, -253, -368, -59, 89, -254, -252, 96, 89,
  8031  	277, -211, -412, 90, -348, -348, -348, 96, 96, -299,
  8032  	-413, 88, -291, -402, -370, 515, 515, -413, 26, -376,
  8033  	-375, -293, 87, 78, 63, 510, 513, -413, -413, 88,
  8034  	-413, -413, -413, 89, 89, -413, -413, -413, 88, -413,
  8035  	-175, -177, -413, 77, -156, -227, 20, -95, 299, 301,
  8036  	-95, -413, 88, -413, -413, 88, -413, 88, -413, -413,
  8037  	-255, -413, -291, 244, 20, 20, -255, -255, -195, -226,
  8038  	-105, -104, -103, 541, -142, -207, -240, 55, 77, 122,
  8039  	90, 90, 90, 13, -210, 221, -232, -252, -173, 379,
  8040  	-227, -413, -252, 89, 26, 89, 664, 137, 89, -211,
  8041  	-122, -412, 273, -299, 90, 90, -112, -115, -11, 88,
  8042  	151, -252, -188, 63, -142, -207, -413, 77, 522, 623,
  8043  	-90, -89, -86, 634, 660, -207, -92, -92, -142, -142,
  8044  	-142, 88, -413, -413, -413, -105, 88, -102, -101, -291,
  8045  	77, 122, -264, -291, 89, -413, -412, -232, 89, -236,
  8046  	-11, 87, -3, 273, -323, -373, -324, -325, -5, -6,
  8047  	-349, -80, 511, -375, -353, -293, 90, 96, 89, 511,
  8048  	-413, -413, -88, 145, 632, 600, -143, -154, -151, 220,
  8049  	-413, 88, -413, 88, -413, 88, -291, 244, -103, 88,
  8050  	26, -300, -174, -172, -291, 564, -393, -392, 507, -403,
  8051  	-399, 119, 143, 101, -401, 602, 558, 128, 129, -80,
  8052  	-142, 87, -413, -81, 288, 619, -384, 512, -88, 633,
  8053  	578, 553, 578, 553, -142, -142, -142, -101, -412, -413,
  8054  	88, 23, -315, -61, 575, -390, -391, 77, -394, 385,
  8055  	574, 595, 119, 90, 89, -252, 249, -377, 513, 142,
  8056  	-413, 88, -413, 88, -413, -91, -172, 571, -328, -156,
  8057  	-391, 77, -390, 77, 14, 13, -4, 663, 89, 290,
  8058  	-88, -142, -142, -413, -60, 27, -173, -389, 257, 252,
  8059  	255, 33, -389, 96, -4, -413, -413, 575, 251, 32,
  8060  	119, -156, -176, -175, -175,
  8061  }
  8062  
  8063  var yyDef = [...]int{
  8064  	871, -2, -2, 873, 2, 4, 5, 6, 7, 8,
  8065  	9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
  8066  	19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
  8067  	29, 30, 31, 32, 33, 34, 35, 36, 37, 70,
  8068  	72, 73, 871, 871, 871, 0, 871, 0, 0, 871,
  8069  	-2, -2, 871, 1481, 0, 871, 0, 0, -2, 786,
  8070  	792, 0, 801, -2, 0, 0, 871, 871, 2036, 2036,
  8071  	866, 0, 0, 0, 0, 0, 871, 871, 871, 871,
  8072  	1347, 50, 871, 0, 85, 86, 821, 822, 823, 65,
  8073  	0, 2034, 872, 1, 3, 71, 75, 0, 0, 0,
  8074  	58, 1356, 0, 78, 0, 0, 875, 0, 0, 1464,
  8075  	871, 871, 0, 126, 127, 0, 0, 0, -2, 130,
  8076  	-2, 159, 160, 161, 0, 166, 599, 522, 574, 520,
  8077  	559, -2, 508, 0, 0, 0, 0, 0, 0, 0,
  8078  	0, 0, 0, 0, 0, 525, 398, 398, 0, 0,
  8079  	-2, 508, 508, 508, 1466, 0, 0, 0, 556, 460,
  8080  	398, 398, 398, 0, 398, 398, 398, 398, 0, 0,
  8081  	398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
  8082  	398, 398, 398, 398, 398, 398, 398, 1374, 165, 1482,
  8083  	1479, 1480, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641,
  8084  	1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651,
  8085  	1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661,
  8086  	1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671,
  8087  	1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681,
  8088  	1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691,
  8089  	1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701,
  8090  	1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
  8091  	1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
  8092  	1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731,
  8093  	1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741,
  8094  	1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751,
  8095  	1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761,
  8096  	1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771,
  8097  	1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781,
  8098  	1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791,
  8099  	1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801,
  8100  	1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811,
  8101  	1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821,
  8102  	1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831,
  8103  	1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841,
  8104  	1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851,
  8105  	1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861,
  8106  	1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871,
  8107  	1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881,
  8108  	1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891,
  8109  	1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901,
  8110  	1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911,
  8111  	1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,
  8112  	1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931,
  8113  	1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941,
  8114  	1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951,
  8115  	1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961,
  8116  	1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971,
  8117  	1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981,
  8118  	1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991,
  8119  	1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
  8120  	2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
  8121  	2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021,
  8122  	2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031,
  8123  	2032, 2033, 0, 1458, 0, 712, 974, 0, 775, 775,
  8124  	0, 775, 775, 775, 775, 0, 0, 0, 724, 0,
  8125  	0, 0, 0, 772, 0, 740, 741, 0, 772, 0,
  8126  	747, 778, 0, 0, 753, 775, 775, 756, 2037, 0,
  8127  	2037, 2037, 1449, 0, 769, 767, 781, 782, 40, 785,
  8128  	788, 789, 790, 791, 794, 0, 805, 808, 1475, 1476,
  8129  	0, 810, 817, 834, 835, 0, 867, 868, 45, 1122,
  8130  	0, 996, 1001, 1012, 1027, 1028, 1029, 1030, 1031, 1033,
  8131  	1034, 1035, 0, 0, 0, 0, 1040, 1041, 0, 0,
  8132  	0, 0, 0, 1103, 1049, 0, 0, 0, 0, 1320,
  8133  	0, 0, 1281, 1281, 1137, 1281, 1283, 1283, 1683, 1819,
  8134  	1827, 1947, 1645, 1650, 1651, 1652, 1940, 1941, 1942, 1943,
  8135  	1982, 1983, 1987, 1743, 0, 0, 0, 2033, 1780, 1788,
  8136  	1789, 1813, 1912, 1968, 1662, 1808, 1877, 1740, 1762, 1763,
  8137  	1894, 1895, 1784, 1785, 1766, 1778, 1781, 1769, 1770, 1772,
  8138  	1774, 1779, 1786, 1792, 1771, 1791, 1790, 0, 1767, 1768,
  8139  	1773, 1783, 1787, 1775, 1776, 1777, 1782, 1793, 1804, 1875,
  8140  	0, 0, 0, 0, 0, 1220, 1221, 1222, 1223, 0,
  8141  	0, 0, 0, 0, 0, 0, 290, 291, 1333, 1334,
  8142  	43, 44, 1121, 1445, 1283, 1283, 1283, 1283, 1283, 1063,
  8143  	1064, 1065, 1066, 1067, 1091, 1092, 1098, 1099, 1889, 1890,
  8144  	1891, 1892, 1724, 1977, 1732, 1733, 1872, 1873, 1745, 1746,
  8145  	2008, 2009, -2, -2, -2, 231, 232, 233, 234, 235,
  8146  	236, 237, 238, 0, 1687, 1958, 1959, 227, 0, 0,
  8147  	295, 296, 292, 293, 294, 1105, 1106, 248, 249, 250,
  8148  	251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
  8149  	261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
  8150  	271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
  8151  	281, 282, 283, 284, 285, 286, 287, 288, 289, 2036,
  8152  	0, 844, 0, 0, 0, 0, 0, 1356, 0, 1348,
  8153  	1347, 63, 0, 871, -2, 0, 0, 0, 0, 47,
  8154  	0, 52, 931, 874, 77, 76, 1396, 0, 0, 0,
  8155  	59, 1357, 67, 69, 1358, 0, 876, 877, 0, 907,
  8156  	911, 0, 0, 0, 1465, 1464, 1464, 102, 0, 0,
  8157  	103, 123, 124, 125, 0, 0, 109, 110, 1451, 1452,
  8158  	0, 0, 177, 178, 0, 41, 425, 0, 173, 0,
  8159  	418, 357, 0, 1374, 0, 0, 0, 0, 0, 871,
  8160  	0, 1459, 154, 155, 162, 163, 164, 398, 398, 398,
  8161  	571, 0, 0, 165, 165, 529, 530, 531, 0, 0,
  8162  	-2, 423, 0, 509, 0, 0, 412, 412, 416, 414,
  8163  	415, 0, 0, 0, 0, 0, 0, 0, 0, 548,
  8164  	0, 549, 0, 0, 0, 0, 0, 0, 0, 0,
  8165  	0, 660, 0, 399, 0, 569, 570, 461, 0, 0,
  8166  	0, 0, 0, 0, 0, 0, 1467, 1468, 0, 546,
  8167  	547, 0, 0, 0, 398, 398, 0, 0, 0, 0,
  8168  	398, 398, 0, 0, 0, 0, 0, 0, 0, 0,
  8169  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8170  	153, 1387, 0, 0, 0, -2, 0, 704, 0, 0,
  8171  	0, 1460, 1460, 0, 711, 0, 713, 714, 0, 0,
  8172  	715, 0, 772, 772, 770, 771, 717, 718, 719, 720,
  8173  	775, 0, 0, 407, 408, 409, 772, 775, 0, 775,
  8174  	775, 775, 775, 772, 772, 772, 775, 0, 0, 0,
  8175  	0, 0, 0, 0, 0, 0, 2037, 778, 775, 0,
  8176  	748, 0, 749, 750, 751, 754, 755, 757, 2038, 2039,
  8177  	1477, 1478, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492,
  8178  	1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502,
  8179  	1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512,
  8180  	1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522,
  8181  	1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532,
  8182  	1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542,
  8183  	1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
  8184  	1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562,
  8185  	1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572,
  8186  	1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
  8187  	1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592,
  8188  	1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602,
  8189  	1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612,
  8190  	1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622,
  8191  	1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
  8192  	1633, 2037, 2037, 761, 765, 1450, 787, 793, 795, 796,
  8193  	0, 0, 806, 809, 828, 49, 1731, 816, 49, 818,
  8194  	819, 820, 846, 847, 852, 0, 0, 0, 0, 858,
  8195  	859, 860, 0, 0, 863, 864, 865, 0, 0, 0,
  8196  	0, 0, 994, 0, 0, 1111, 1112, 1113, 1114, 1115,
  8197  	1116, 1117, 0, 0, 0, 0, 0, 0, 0, 0,
  8198  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1013,
  8199  	1014, 0, 0, 0, 1036, 1037, 1038, 1039, 1042, 0,
  8200  	1054, 0, 1056, 1329, -2, 0, 0, 0, 1047, 1048,
  8201  	0, 0, 0, 0, 0, 0, 0, 1321, 0, 0,
  8202  	1135, 0, 1136, 1138, 1139, 0, 1140, 881, 881, 881,
  8203  	881, 881, 0, 0, 0, 0, 0, 0, 0, 0,
  8204  	0, 0, 881, 0, 0, 0, 0, 0, 0, 0,
  8205  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8206  	0, 0, 0, 1470, 141, 0, 0, 0, 0, 0,
  8207  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8208  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8209  	0, 0, 0, 0, 891, 0, 0, 891, 891, 0,
  8210  	0, 220, 221, 222, 223, 224, 0, 0, 0, 0,
  8211  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8212  	239, 240, 241, 242, 243, 244, 297, 245, 246, 247,
  8213  	1121, 0, 0, 0, 46, 836, 837, 0, 957, 1470,
  8214  	0, 0, 887, 0, 57, 66, 68, 1356, 61, 1356,
  8215  	0, 893, 0, 0, -2, -2, 894, 900, 901, 902,
  8216  	903, 904, 54, 2035, 55, 0, 74, 0, 48, 0,
  8217  	0, 0, 0, 371, 1399, 0, 0, 1349, 1350, 1353,
  8218  	0, 908, 1825, 912, 0, 914, 915, 0, 0, 100,
  8219  	0, 973, 0, 0, 0, 111, 0, 113, 114, 0,
  8220  	0, 0, 382, 1453, 1454, 1455, -2, 405, 0, 382,
  8221  	366, 305, 306, 307, 357, 309, 357, 357, 357, 357,
  8222  	371, 371, 371, 371, 340, 341, 342, 343, 344, 0,
  8223  	0, 326, 357, 357, 357, 357, 347, 348, 349, 350,
  8224  	351, 352, 353, 354, 310, 311, 312, 313, 314, 315,
  8225  	316, 317, 318, 359, 359, 359, 359, 359, 363, 363,
  8226  	0, 42, 0, 386, 0, 1353, 0, 0, 1387, 1462,
  8227  	1472, 0, 0, 0, 1462, 132, 0, 0, 0, 572,
  8228  	610, 523, 560, 573, 0, 526, 527, -2, 0, 0,
  8229  	508, 0, 510, 0, 406, 0, -2, 0, 416, 0,
  8230  	412, 416, 413, 416, 404, 417, 550, 551, 552, 0,
  8231  	554, 555, 640, 943, 0, 0, 0, 0, 0, 646,
  8232  	647, 648, 0, 650, 651, 652, 653, 654, 655, 656,
  8233  	657, 658, 659, 561, 562, 563, 564, 565, 566, 567,
  8234  	568, 0, 0, 0, 0, 510, 0, 557, 0, 0,
  8235  	462, 463, 464, 0, 0, 467, 468, 469, 470, 0,
  8236  	0, 473, 474, 475, 960, 961, 476, 477, 502, 503,
  8237  	504, 478, 479, 480, 481, 482, 483, 484, 496, 497,
  8238  	498, 499, 500, 501, 485, 486, 487, 488, 489, 490,
  8239  	493, 0, 147, 1378, 0, 0, 0, 0, 0, 0,
  8240  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1460,
  8241  	0, 0, 0, 0, 890, 975, 1483, 1484, 776, 777,
  8242  	0, 410, 411, 775, 775, 721, 762, 0, 775, 725,
  8243  	763, 726, 728, 727, 729, 742, 743, 775, 732, 773,
  8244  	774, 733, 734, 735, 736, 737, 738, 739, 758, 744,
  8245  	745, 746, 779, 0, 783, 784, 759, 760, 0, 0,
  8246  	799, 800, 0, 807, 831, 829, 830, 832, 824, 825,
  8247  	826, 827, 0, 833, 0, 0, 849, 96, 854, 855,
  8248  	856, 857, 869, 862, 1123, 991, 992, 993, 0, 995,
  8249  	998, 0, 1107, 1109, 1000, 1002, 1118, 1119, 1120, 0,
  8250  	0, 0, 0, 0, 1006, 1010, 1015, 1016, 1017, 1018,
  8251  	1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1032, 1297,
  8252  	1298, 1299, 1051, 298, 299, 0, 1052, 0, 0, 0,
  8253  	0, 0, 0, 0, 1122, 1053, 0, 905, 0, 0,
  8254  	1327, 1324, 0, 0, 0, 1282, 1284, 0, 0, 0,
  8255  	0, 882, 883, 0, 0, 0, 0, 0, 0, 0,
  8256  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8257  	0, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268,
  8258  	1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278,
  8259  	1279, 1280, 1300, 0, 0, 0, 0, 0, 1320, 0,
  8260  	1058, 1059, 1060, 0, 0, 0, 0, 0, 0, 1178,
  8261  	0, 0, 0, 0, 1471, 0, 142, 143, 0, 0,
  8262  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8263  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8264  	0, 0, 0, 0, 0, 0, 1224, 1225, 1226, 1227,
  8265  	39, 0, 0, 0, 892, 1331, 0, -2, -2, 0,
  8266  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8267  	0, 0, 1249, 0, 0, 0, 0, 0, 0, 1443,
  8268  	0, 0, 839, 840, 842, 0, 977, 0, 958, 0,
  8269  	0, 845, 0, 886, 0, 889, 60, 62, 898, 899,
  8270  	0, 916, 895, 56, 51, 0, 0, 935, 1397, 371,
  8271  	1419, 0, 380, 380, 377, 1359, 1360, 0, 1352, 1354,
  8272  	1355, 79, 913, 909, 0, 989, 0, 0, 972, 0,
  8273  	919, 921, 922, 923, 955, 0, 926, 927, 0, 0,
  8274  	0, 0, 0, 98, 974, 104, 0, 112, 0, 0,
  8275  	117, 118, 105, 106, 107, 108, 0, 599, -2, 457,
  8276  	179, 181, 182, 183, 174, -2, 369, 367, 368, 308,
  8277  	371, 371, 334, 335, 336, 337, 338, 339, 0, 0,
  8278  	327, 328, 329, 330, 319, 0, 320, 321, 322, 361,
  8279  	0, 323, 324, 0, 325, 424, 0, 1361, 387, 388,
  8280  	390, 398, 0, 393, 394, 0, 398, 398, 0, 419,
  8281  	420, 0, 1353, 1378, 0, 0, 0, 1473, 1472, 1472,
  8282  	1472, 0, 167, 168, 169, 170, 171, 172, 635, 0,
  8283  	0, 611, 633, 634, 165, 0, 0, 175, 512, 511,
  8284  	0, 667, 0, 422, 0, 0, 416, 416, 401, 402,
  8285  	553, 0, 0, 642, 643, 644, 645, 0, 0, 0,
  8286  	539, 451, 0, 540, 541, 510, 512, 0, 0, 382,
  8287  	465, 466, 471, 472, 491, 0, 0, 0, 0, 0,
  8288  	0, 0, 0, 0, 0, 0, 586, 587, 588, 591,
  8289  	593, 514, 597, 590, 592, 594, 514, 598, 1375, 1376,
  8290  	1377, 0, 0, 705, 0, 0, 448, 94, 1461, 710,
  8291  	772, 731, 764, 772, 723, 730, 752, 797, 798, 803,
  8292  	811, 812, 813, 814, 815, 853, 0, 0, 0, 0,
  8293  	861, 0, 0, 999, 1108, 1110, 1003, 0, 1007, 1011,
  8294  	0, 0, 0, 1057, 1055, 1331, 0, 0, 0, 1104,
  8295  	0, 0, 1126, 1127, 0, 0, 0, 1325, 0, 0,
  8296  	1133, 0, 1285, 1286, 1141, 0, 0, 0, 0, 0,
  8297  	1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156,
  8298  	1347, 0, 0, 0, 0, 0, 1162, 1163, 1164, 1165,
  8299  	1166, 0, 1168, 0, 1169, 0, 0, 0, 0, 1176,
  8300  	1177, 1179, 0, 0, 1182, 1183, 0, 0, 1184, 0,
  8301  	0, 0, 1188, 0, 0, 0, 0, 1197, 1198, 1199,
  8302  	1200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8303  	0, 1211, 1212, 0, 1214, 0, 1086, 0, 0, 1086,
  8304  	0, 1124, 891, 0, 1287, 1288, 1289, 1290, 1291, 0,
  8305  	0, 0, 0, 0, 0, 1247, 1248, 1250, 0, 0,
  8306  	1253, 0, 1255, 0, 1444, 838, 841, 843, 929, 978,
  8307  	979, 0, 0, 0, 0, 959, 1469, 884, 885, 888,
  8308  	937, 0, 1335, 0, 0, 916, 989, 917, 0, 896,
  8309  	53, 932, 0, 1401, 1400, 1413, 1426, 380, 380, 374,
  8310  	375, 381, 376, 378, 379, 1351, 0, 1356, 0, 1437,
  8311  	0, 0, 1429, 0, 0, 0, 0, 0, 0, 0,
  8312  	0, 962, 0, 0, 965, 0, 0, 0, 0, 956,
  8313  	927, 0, 928, 0, -2, 0, 0, 92, 93, 0,
  8314  	0, 0, 115, 116, 0, 0, 122, 383, 384, 156,
  8315  	165, 459, 180, 432, 0, 0, 304, 370, 331, 332,
  8316  	333, 0, 355, 0, 0, 0, 0, 453, 128, 1365,
  8317  	1364, 398, 398, 389, 0, 392, 0, 0, 0, 1474,
  8318  	358, 421, 0, 146, 0, 0, 0, 0, 0, 152,
  8319  	605, 0, 0, 612, 0, 0, 0, 521, 0, 532,
  8320  	533, 0, 639, -2, 701, 386, 0, 400, 403, 944,
  8321  	0, 0, 534, 0, 537, 538, 452, 512, 543, 544,
  8322  	558, 545, 494, 495, 492, 0, 0, 1388, 1389, 1394,
  8323  	1392, 1393, 133, 579, 581, 580, 584, 0, 0, 0,
  8324  	516, 0, 516, 577, 0, 448, 1361, 0, 709, 449,
  8325  	450, 775, 775, 848, 97, 0, 851, 0, 0, 0,
  8326  	0, 1004, 1008, 1292, 1318, 357, 357, 1305, 357, 363,
  8327  	1308, 357, 1310, 357, 1313, 357, 1316, 1317, 0, 0,
  8328  	0, 906, 0, 0, 1132, 1328, 0, 0, 1142, 1143,
  8329  	1144, 1145, 1146, 1322, 0, 0, 0, 1161, 0, 0,
  8330  	0, 0, 0, 0, 0, 0, 0, 0, 144, 145,
  8331  	0, 0, 0, 0, 0, 0, 1258, 0, 0, 0,
  8332  	0, 0, 0, 0, 0, 0, 0, 0, 1081, 1085,
  8333  	0, 1087, 1088, 0, 0, 1216, 0, 0, 1228, 0,
  8334  	1332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8335  	0, 980, 985, 985, 985, 0, 0, 0, 1456, 1457,
  8336  	1336, 1337, 989, 1338, 918, 897, 936, 1419, 0, 1412,
  8337  	0, -2, 1421, 0, 0, 0, 1427, 372, 373, 910,
  8338  	80, 990, 83, 0, 1437, 1446, 0, 1428, 1439, 1441,
  8339  	0, 0, 0, 1433, 0, 989, 920, 951, 953, 0,
  8340  	948, 963, 964, 966, 0, 968, 0, 970, 971, 931,
  8341  	925, 0, 100, 0, 989, 989, 99, 0, 976, 119,
  8342  	120, 121, 458, 184, 189, 0, 0, 0, 194, 0,
  8343  	196, 0, 0, 0, 201, 202, 398, 398, 433, 0,
  8344  	301, 303, 0, 0, 187, 371, 0, 371, 0, 362,
  8345  	364, 0, 434, 454, 1362, 1363, 0, 0, 391, 395,
  8346  	396, 397, 0, 1463, 148, 0, 0, 0, 608, 0,
  8347  	636, 0, 0, 0, 0, 0, 0, 176, 513, 668,
  8348  	669, 670, 671, 672, 673, 674, 675, 676, 0, 398,
  8349  	0, 0, 0, 398, 398, 398, 0, 693, 385, 0,
  8350  	0, 664, 661, 535, 0, 225, 226, 228, 0, 0,
  8351  	0, 0, 0, 542, 931, 1379, 1380, 1381, 0, 1391,
  8352  	1395, 136, 0, 0, 0, 0, 589, 595, 0, 515,
  8353  	596, 706, 707, 708, 95, 716, 722, 850, 870, 997,
  8354  	1005, 1009, 0, 0, 0, 0, 1319, 1303, 371, 1306,
  8355  	1307, 1309, 1311, 1312, 1314, 1315, 1045, 1046, 1050, 0,
  8356  	1129, 0, 1131, 1326, 0, 1356, 0, 0, 0, 1160,
  8357  	0, 0, 0, 1171, 1170, 1172, 0, 1174, 1175, 1180,
  8358  	1181, 1185, 0, 1187, 1189, 1190, 0, 0, 0, 1201,
  8359  	1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1213,
  8360  	0, 1079, 1082, 1215, 1089, 1090, 1095, 1218, 0, 0,
  8361  	1125, 1230, 0, 1235, 0, 0, 1241, 0, 1245, 0,
  8362  	1251, 1252, 1254, 1256, 0, 0, 0, 0, 0, 957,
  8363  	938, 64, 1338, 1340, 0, 1406, 1404, 1404, 1414, 1415,
  8364  	0, 0, 1422, 0, 0, 0, 0, 84, 0, 0,
  8365  	0, 1442, 0, 0, 0, 0, 101, 1347, 945, 952,
  8366  	0, 0, 946, 0, 947, 967, 969, 924, 0, 989,
  8367  	989, 90, 91, 0, 190, 0, 192, 218, 219, 0,
  8368  	195, 197, 198, 199, 205, 206, 207, 200, 0, 0,
  8369  	300, 302, 0, 0, 345, 356, 346, 0, 0, 1366,
  8370  	1367, 1368, 1369, 1370, 1371, 1372, 1373, 931, 149, 150,
  8371  	151, 600, 0, 610, 0, 933, 0, 603, 0, 524,
  8372  	0, 0, 0, 398, 398, 398, 0, 0, 0, 0,
  8373  	678, 0, 0, 641, 0, 649, 0, 0, 0, 229,
  8374  	230, 0, 1390, 578, 0, 134, 135, 0, 0, 583,
  8375  	517, 518, 1043, 0, 0, 0, 1044, 1304, 0, 0,
  8376  	0, 0, 1323, 0, 0, 0, 0, 1167, 0, 0,
  8377  	0, 1193, 0, 0, 0, 630, 631, 0, 1259, 1084,
  8378  	1347, 0, 1086, 1096, 1097, 0, 1086, 1229, 0, 0,
  8379  	0, 0, 0, 0, 0, 986, 0, 0, 0, 0,
  8380  	977, 1340, 1345, 0, 0, 1409, 0, 1402, 1405, 1403,
  8381  	1416, 0, 0, 1423, 0, 1425, 0, 1447, 1448, 1440,
  8382  	0, 1432, 1435, 1431, 1434, 1356, 949, 0, 954, 0,
  8383  	1347, 89, 0, 193, 0, 0, 0, 0, 0, 0,
  8384  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8385  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8386  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8387  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8388  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8389  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8390  	0, 0, 0, 0, 0, 0, 203, 204, 0, 0,
  8391  	360, 365, 0, 0, 0, 601, 0, 934, 613, 604,
  8392  	0, 691, 0, 695, 0, 0, 0, 698, 699, 700,
  8393  	677, 0, 681, 426, 665, 662, 663, 536, 0, 137,
  8394  	138, 0, 0, 0, 1293, 0, 1296, 1128, 1130, 0,
  8395  	1157, 1158, 1159, 1301, 1302, 1173, 1186, 1191, 0, 1194,
  8396  	0, 0, 1195, 0, 632, 1075, 0, 0, 1093, 1094,
  8397  	0, 1231, 0, 1236, 1237, 0, 1242, 0, 1246, 1257,
  8398  	0, 982, 939, 940, 987, 988, 0, 0, 930, 1345,
  8399  	82, 1346, 1343, 0, 1341, 1339, 1398, 0, 1407, 1408,
  8400  	1417, 1418, 1424, 0, 1430, 0, 87, 0, 0, 0,
  8401  	1356, 191, 0, 210, 0, 609, 0, 612, 602, 689,
  8402  	690, 0, 702, 694, 696, 697, 679, -2, 1382, 0,
  8403  	0, 0, 585, 1294, 0, 0, 1196, 0, 628, 629,
  8404  	1083, 1076, 0, 1061, 1062, 1080, 1217, 1219, 0, 0,
  8405  	0, 0, 981, 983, 984, 81, 0, 1342, 1101, 0,
  8406  	1410, 1411, 1438, 1436, 950, 957, 0, 88, 439, 432,
  8407  	1382, 0, 0, 0, 682, 683, 684, 685, 686, 687,
  8408  	688, 575, 1384, 139, 140, 505, 506, 507, 133, 0,
  8409  	1134, 1192, 1077, 0, 0, 0, 0, 1073, 1074, 0,
  8410  	1232, 0, 1238, 0, 1243, 0, 941, 942, 1344, 0,
  8411  	0, 614, 0, 616, 0, -2, 427, 440, 0, 185,
  8412  	211, 212, 0, 0, 215, 216, 217, 208, 209, 129,
  8413  	0, 0, 703, 0, 1385, 1386, 136, 0, 0, 1068,
  8414  	1069, 1070, 1071, 1072, 0, 0, 0, 1102, 1081, 615,
  8415  	0, 0, 382, 0, 625, 428, 429, 0, 435, 436,
  8416  	437, 438, 213, 214, 637, 0, 0, 582, 1295, 0,
  8417  	1233, 0, 1239, 0, 1244, 0, 617, 618, 626, 0,
  8418  	430, 0, 431, 0, 0, 0, 606, 0, 637, 1383,
  8419  	1078, 0, 0, 1100, 0, 627, 623, 441, 443, 444,
  8420  	0, 0, 442, 638, 607, 1234, 1240, 0, 445, 446,
  8421  	447, 619, 620, 621, 622,
  8422  }
  8423  
  8424  var yyTok1 = [...]int{
  8425  	1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8426  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8427  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8428  	3, 3, 3, 144, 3, 3, 3, 171, 163, 3,
  8429  	87, 89, 168, 166, 88, 167, 221, 169, 3, 3,
  8430  	3, 3, 3, 3, 3, 3, 3, 3, 3, 665,
  8431  	152, 151, 153, 3, 3, 3, 3, 3, 3, 3,
  8432  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8433  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8434  	3, 3, 3, 3, 173, 3, 3, 3, 3, 3,
  8435  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8436  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8437  	3, 3, 3, 3, 140, 3, 174,
  8438  }
  8439  
  8440  var yyTok2 = [...]int{
  8441  	2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
  8442  	12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
  8443  	22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  8444  	32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
  8445  	42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
  8446  	52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
  8447  	62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  8448  	72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
  8449  	82, 83, 84, 85, 86, 90, 91, 92, 93, 94,
  8450  	95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
  8451  	105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
  8452  	115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
  8453  	125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
  8454  	135, 136, 137, 138, 139, 141, 142, 143, 145, 146,
  8455  	147, 148, 149, 150, 154, 155, 156, 157, 158, 159,
  8456  	160, 161, 162, 164, 165, 170, 172, 175, 176, 177,
  8457  	178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
  8458  	188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
  8459  	198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
  8460  	208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
  8461  	218, 219, 220, 222, 223, 224, 225, 226, 227, 228,
  8462  	229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
  8463  	239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  8464  	249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
  8465  	259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
  8466  	269, 270, 271, 272, 273, 274,
  8467  }
  8468  
  8469  var yyTok3 = [...]int{
  8470  	57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279,
  8471  	57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284,
  8472  	57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289,
  8473  	57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294,
  8474  	57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299,
  8475  	57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304,
  8476  	57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309,
  8477  	57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314,
  8478  	57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319,
  8479  	57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324,
  8480  	57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329,
  8481  	57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334,
  8482  	57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339,
  8483  	57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344,
  8484  	57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349,
  8485  	57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354,
  8486  	57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359,
  8487  	57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364,
  8488  	57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369,
  8489  	57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374,
  8490  	57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379,
  8491  	57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384,
  8492  	57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389,
  8493  	57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394,
  8494  	57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399,
  8495  	57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404,
  8496  	57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409,
  8497  	57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414,
  8498  	57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419,
  8499  	57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424,
  8500  	57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429,
  8501  	57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434,
  8502  	57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439,
  8503  	57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444,
  8504  	57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449,
  8505  	57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454,
  8506  	57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459,
  8507  	57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464,
  8508  	57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469,
  8509  	57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474,
  8510  	57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479,
  8511  	57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484,
  8512  	57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489,
  8513  	57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494,
  8514  	57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499,
  8515  	57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504,
  8516  	57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509,
  8517  	57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514,
  8518  	57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519,
  8519  	57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524,
  8520  	57850, 525, 57851, 526, 57852, 527, 57853, 528, 57854, 529,
  8521  	57855, 530, 57856, 531, 57857, 532, 57858, 533, 57859, 534,
  8522  	57860, 535, 57861, 536, 57862, 537, 57863, 538, 57864, 539,
  8523  	57865, 540, 57866, 541, 57867, 542, 57868, 543, 57869, 544,
  8524  	57870, 545, 57871, 546, 57872, 547, 57873, 548, 57874, 549,
  8525  	57875, 550, 57876, 551, 57877, 552, 57878, 553, 57879, 554,
  8526  	57880, 555, 57881, 556, 57882, 557, 57883, 558, 57884, 559,
  8527  	57885, 560, 57886, 561, 57887, 562, 57888, 563, 57889, 564,
  8528  	57890, 565, 57891, 566, 57892, 567, 57893, 568, 57894, 569,
  8529  	57895, 570, 57896, 571, 57897, 572, 57898, 573, 57899, 574,
  8530  	57900, 575, 57901, 576, 57902, 577, 57903, 578, 57904, 579,
  8531  	57905, 580, 57906, 581, 57907, 582, 57908, 583, 57909, 584,
  8532  	57910, 585, 57911, 586, 57912, 587, 57913, 588, 57914, 589,
  8533  	57915, 590, 57916, 591, 57917, 592, 57918, 593, 57919, 594,
  8534  	57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599,
  8535  	57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604,
  8536  	57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609,
  8537  	57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614,
  8538  	57940, 615, 57941, 616, 57942, 617, 57943, 618, 57944, 619,
  8539  	57945, 620, 57946, 621, 57947, 622, 57948, 623, 57949, 624,
  8540  	57950, 625, 57951, 626, 57952, 627, 57953, 628, 57954, 629,
  8541  	57955, 630, 57956, 631, 57957, 632, 57958, 633, 57959, 634,
  8542  	57960, 635, 57961, 636, 57962, 637, 57963, 638, 57964, 639,
  8543  	57965, 640, 57966, 641, 57967, 642, 57968, 643, 57969, 644,
  8544  	57970, 645, 57971, 646, 57972, 647, 57973, 648, 57974, 649,
  8545  	57975, 650, 57976, 651, 57977, 652, 57978, 653, 57979, 654,
  8546  	57980, 655, 57981, 656, 57982, 657, 57983, 658, 57984, 659,
  8547  	57985, 660, 57986, 661, 57987, 662, 57988, 663, 57989, 664,
  8548  	0,
  8549  }
  8550  
  8551  var yyErrorMessages = [...]struct {
  8552  	state int
  8553  	token int
  8554  	msg   string
  8555  }{}
  8556  
  8557  //line yaccpar:1
  8558  
  8559  /*	parser for yacc output	*/
  8560  
  8561  func yyIaddr(v any) __yyunsafe__.Pointer {
  8562  	type h struct {
  8563  		t __yyunsafe__.Pointer
  8564  		p __yyunsafe__.Pointer
  8565  	}
  8566  	return (*h)(__yyunsafe__.Pointer(&v)).p
  8567  }
  8568  
  8569  var (
  8570  	yyDebug        = 0
  8571  	yyErrorVerbose = false
  8572  )
  8573  
  8574  type yyLexer interface {
  8575  	Lex(lval *yySymType) int
  8576  	Error(s string)
  8577  }
  8578  
  8579  type yyParser interface {
  8580  	Parse(yyLexer) int
  8581  	Lookahead() int
  8582  }
  8583  
  8584  type yyParserImpl struct {
  8585  	lval  yySymType
  8586  	stack [yyInitialStackSize]yySymType
  8587  	char  int
  8588  }
  8589  
  8590  func (p *yyParserImpl) Lookahead() int {
  8591  	return p.char
  8592  }
  8593  
  8594  func yyNewParser() yyParser {
  8595  	return &yyParserImpl{}
  8596  }
  8597  
  8598  const yyFlag = -1000
  8599  
  8600  func yyTokname(c int) string {
  8601  	if c >= 1 && c-1 < len(yyToknames) {
  8602  		if yyToknames[c-1] != "" {
  8603  			return yyToknames[c-1]
  8604  		}
  8605  	}
  8606  	return __yyfmt__.Sprintf("tok-%v", c)
  8607  }
  8608  
  8609  func yyStatname(s int) string {
  8610  	if s >= 0 && s < len(yyStatenames) {
  8611  		if yyStatenames[s] != "" {
  8612  			return yyStatenames[s]
  8613  		}
  8614  	}
  8615  	return __yyfmt__.Sprintf("state-%v", s)
  8616  }
  8617  
  8618  func yyErrorMessage(state, lookAhead int) string {
  8619  	const TOKSTART = 4
  8620  
  8621  	if !yyErrorVerbose {
  8622  		return "syntax error"
  8623  	}
  8624  
  8625  	for _, e := range yyErrorMessages {
  8626  		if e.state == state && e.token == lookAhead {
  8627  			return "syntax error: " + e.msg
  8628  		}
  8629  	}
  8630  
  8631  	res := "syntax error: unexpected " + yyTokname(lookAhead)
  8632  
  8633  	// To match Bison, suggest at most four expected tokens.
  8634  	expected := make([]int, 0, 4)
  8635  
  8636  	// Look for shiftable tokens.
  8637  	base := yyPact[state]
  8638  	for tok := TOKSTART; tok-1 < len(yyToknames); tok++ {
  8639  		if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok {
  8640  			if len(expected) == cap(expected) {
  8641  				return res
  8642  			}
  8643  			expected = append(expected, tok)
  8644  		}
  8645  	}
  8646  
  8647  	if yyDef[state] == -2 {
  8648  		i := 0
  8649  		for yyExca[i] != -1 || yyExca[i+1] != state {
  8650  			i += 2
  8651  		}
  8652  
  8653  		// Look for tokens that we accept or reduce.
  8654  		for i += 2; yyExca[i] >= 0; i += 2 {
  8655  			tok := yyExca[i]
  8656  			if tok < TOKSTART || yyExca[i+1] == 0 {
  8657  				continue
  8658  			}
  8659  			if len(expected) == cap(expected) {
  8660  				return res
  8661  			}
  8662  			expected = append(expected, tok)
  8663  		}
  8664  
  8665  		// If the default action is to accept or reduce, give up.
  8666  		if yyExca[i+1] != 0 {
  8667  			return res
  8668  		}
  8669  	}
  8670  
  8671  	for i, tok := range expected {
  8672  		if i == 0 {
  8673  			res += ", expecting "
  8674  		} else {
  8675  			res += " or "
  8676  		}
  8677  		res += yyTokname(tok)
  8678  	}
  8679  	return res
  8680  }
  8681  
  8682  func yylex1(lex yyLexer, lval *yySymType) (char, token int) {
  8683  	token = 0
  8684  	char = lex.Lex(lval)
  8685  	if char <= 0 {
  8686  		token = yyTok1[0]
  8687  		goto out
  8688  	}
  8689  	if char < len(yyTok1) {
  8690  		token = yyTok1[char]
  8691  		goto out
  8692  	}
  8693  	if char >= yyPrivate {
  8694  		if char < yyPrivate+len(yyTok2) {
  8695  			token = yyTok2[char-yyPrivate]
  8696  			goto out
  8697  		}
  8698  	}
  8699  	for i := 0; i < len(yyTok3); i += 2 {
  8700  		token = yyTok3[i+0]
  8701  		if token == char {
  8702  			token = yyTok3[i+1]
  8703  			goto out
  8704  		}
  8705  	}
  8706  
  8707  out:
  8708  	if token == 0 {
  8709  		token = yyTok2[1] /* unknown char */
  8710  	}
  8711  	if yyDebug >= 3 {
  8712  		__yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char))
  8713  	}
  8714  	return char, token
  8715  }
  8716  
  8717  func yyParse(yylex yyLexer) int {
  8718  	return yyNewParser().Parse(yylex)
  8719  }
  8720  
  8721  func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int {
  8722  	var yyn int
  8723  	var yyVAL yySymType
  8724  	var yyDollar []yySymType
  8725  	_ = yyDollar // silence set and not used
  8726  	yyS := yyrcvr.stack[:]
  8727  
  8728  	Nerrs := 0   /* number of errors */
  8729  	Errflag := 0 /* error recovery flag */
  8730  	yystate := 0
  8731  	yyrcvr.char = -1
  8732  	yytoken := -1 // yyrcvr.char translated into internal numbering
  8733  	defer func() {
  8734  		// Make sure we report no lookahead when not parsing.
  8735  		yystate = -1
  8736  		yyrcvr.char = -1
  8737  		yytoken = -1
  8738  	}()
  8739  	yyp := -1
  8740  	goto yystack
  8741  
  8742  ret0:
  8743  	return 0
  8744  
  8745  ret1:
  8746  	return 1
  8747  
  8748  yystack:
  8749  	/* put a state and value onto the stack */
  8750  	if yyDebug >= 4 {
  8751  		__yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate))
  8752  	}
  8753  
  8754  	yyp++
  8755  	if yyp >= len(yyS) {
  8756  		nyys := make([]yySymType, len(yyS)*2)
  8757  		copy(nyys, yyS)
  8758  		yyS = nyys
  8759  	}
  8760  	yyS[yyp] = yyVAL
  8761  	yyS[yyp].yys = yystate
  8762  
  8763  yynewstate:
  8764  	yyn = yyPact[yystate]
  8765  	if yyn <= yyFlag {
  8766  		goto yydefault /* simple state */
  8767  	}
  8768  	if yyrcvr.char < 0 {
  8769  		yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  8770  	}
  8771  	yyn += yytoken
  8772  	if yyn < 0 || yyn >= yyLast {
  8773  		goto yydefault
  8774  	}
  8775  	yyn = yyAct[yyn]
  8776  	if yyChk[yyn] == yytoken { /* valid shift */
  8777  		yyrcvr.char = -1
  8778  		yytoken = -1
  8779  		yyVAL = yyrcvr.lval
  8780  		yystate = yyn
  8781  		if Errflag > 0 {
  8782  			Errflag--
  8783  		}
  8784  		goto yystack
  8785  	}
  8786  
  8787  yydefault:
  8788  	/* default state action */
  8789  	yyn = yyDef[yystate]
  8790  	if yyn == -2 {
  8791  		if yyrcvr.char < 0 {
  8792  			yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  8793  		}
  8794  
  8795  		/* look through exception table */
  8796  		xi := 0
  8797  		for {
  8798  			if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate {
  8799  				break
  8800  			}
  8801  			xi += 2
  8802  		}
  8803  		for xi += 2; ; xi += 2 {
  8804  			yyn = yyExca[xi+0]
  8805  			if yyn < 0 || yyn == yytoken {
  8806  				break
  8807  			}
  8808  		}
  8809  		yyn = yyExca[xi+1]
  8810  		if yyn < 0 {
  8811  			goto ret0
  8812  		}
  8813  	}
  8814  	if yyn == 0 {
  8815  		/* error ... attempt to resume parsing */
  8816  		switch Errflag {
  8817  		case 0: /* brand new error */
  8818  			yylex.Error(yyErrorMessage(yystate, yytoken))
  8819  			Nerrs++
  8820  			if yyDebug >= 1 {
  8821  				__yyfmt__.Printf("%s", yyStatname(yystate))
  8822  				__yyfmt__.Printf(" saw %s\n", yyTokname(yytoken))
  8823  			}
  8824  			fallthrough
  8825  
  8826  		case 1, 2: /* incompletely recovered error ... try again */
  8827  			Errflag = 3
  8828  
  8829  			/* find a state where "error" is a legal shift action */
  8830  			for yyp >= 0 {
  8831  				yyn = yyPact[yyS[yyp].yys] + yyErrCode
  8832  				if yyn >= 0 && yyn < yyLast {
  8833  					yystate = yyAct[yyn] /* simulate a shift of "error" */
  8834  					if yyChk[yystate] == yyErrCode {
  8835  						goto yystack
  8836  					}
  8837  				}
  8838  
  8839  				/* the current p has no shift on "error", pop stack */
  8840  				if yyDebug >= 2 {
  8841  					__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
  8842  				}
  8843  				yyp--
  8844  			}
  8845  			/* there is no state on the stack with an error shift ... abort */
  8846  			goto ret1
  8847  
  8848  		case 3: /* no shift yet; clobber input char */
  8849  			if yyDebug >= 2 {
  8850  				__yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken))
  8851  			}
  8852  			if yytoken == yyEofCode {
  8853  				goto ret1
  8854  			}
  8855  			yyrcvr.char = -1
  8856  			yytoken = -1
  8857  			goto yynewstate /* try again in the same state */
  8858  		}
  8859  	}
  8860  
  8861  	/* reduction by production yyn */
  8862  	if yyDebug >= 2 {
  8863  		__yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate))
  8864  	}
  8865  
  8866  	yynt := yyn
  8867  	yypt := yyp
  8868  	_ = yypt // guard against "declared and not used"
  8869  
  8870  	yyp -= yyR2[yyn]
  8871  	// yyp is now the index of $0. Perform the default action. Iff the
  8872  	// reduced production is ε, $1 is possibly out of range.
  8873  	if yyp+1 >= len(yyS) {
  8874  		nyys := make([]yySymType, len(yyS)*2)
  8875  		copy(nyys, yyS)
  8876  		yyS = nyys
  8877  	}
  8878  	yyVAL = yyS[yyp+1]
  8879  
  8880  	/* consult goto table to find next state */
  8881  	yyn = yyR1[yyn]
  8882  	yyg := yyPgo[yyn]
  8883  	yyj := yyg + yyS[yyp].yys + 1
  8884  
  8885  	if yyj >= yyLast {
  8886  		yystate = yyAct[yyg]
  8887  	} else {
  8888  		yystate = yyAct[yyj]
  8889  		if yyChk[yystate] != -yyn {
  8890  			yystate = yyAct[yyg]
  8891  		}
  8892  	}
  8893  	// dummy call; replaced with literal code
  8894  	switch yynt {
  8895  
  8896  	case 1:
  8897  		yyDollar = yyS[yypt-3 : yypt+1]
  8898  //line sql.y:602
  8899  		{
  8900  			stmt := yyDollar[2].statementUnion()
  8901  			// If the statement is empty and we have comments
  8902  			// then we create a special struct which stores them.
  8903  			// This is required because we need to update the rows_returned
  8904  			// and other query stats and not return a `query was empty` error
  8905  			if stmt == nil && yyDollar[1].strs != nil {
  8906  				stmt = &CommentOnly{Comments: yyDollar[1].strs}
  8907  			}
  8908  			setParseTree(yylex, stmt)
  8909  		}
  8910  	case 2:
  8911  		yyDollar = yyS[yypt-0 : yypt+1]
  8912  //line sql.y:615
  8913  		{
  8914  		}
  8915  	case 3:
  8916  		yyDollar = yyS[yypt-1 : yypt+1]
  8917  //line sql.y:616
  8918  		{
  8919  		}
  8920  	case 4:
  8921  		yyDollar = yyS[yypt-1 : yypt+1]
  8922  		var yyLOCAL Statement
  8923  //line sql.y:620
  8924  		{
  8925  			yyLOCAL = yyDollar[1].selStmtUnion()
  8926  		}
  8927  		yyVAL.union = yyLOCAL
  8928  	case 38:
  8929  		yyDollar = yyS[yypt-0 : yypt+1]
  8930  //line sql.y:657
  8931  		{
  8932  			setParseTree(yylex, nil)
  8933  		}
  8934  	case 39:
  8935  		yyDollar = yyS[yypt-1 : yypt+1]
  8936  		var yyLOCAL *Variable
  8937  //line sql.y:663
  8938  		{
  8939  			yyLOCAL = NewVariableExpression(yyDollar[1].str, SingleAt)
  8940  		}
  8941  		yyVAL.union = yyLOCAL
  8942  	case 40:
  8943  		yyDollar = yyS[yypt-1 : yypt+1]
  8944  //line sql.y:669
  8945  		{
  8946  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
  8947  		}
  8948  	case 41:
  8949  		yyDollar = yyS[yypt-0 : yypt+1]
  8950  //line sql.y:674
  8951  		{
  8952  			yyVAL.identifierCI = NewIdentifierCI("")
  8953  		}
  8954  	case 42:
  8955  		yyDollar = yyS[yypt-1 : yypt+1]
  8956  //line sql.y:678
  8957  		{
  8958  			yyVAL.identifierCI = yyDollar[1].identifierCI
  8959  		}
  8960  	case 43:
  8961  		yyDollar = yyS[yypt-1 : yypt+1]
  8962  		var yyLOCAL *Variable
  8963  //line sql.y:684
  8964  		{
  8965  			yyLOCAL = NewVariableExpression(string(yyDollar[1].str), SingleAt)
  8966  		}
  8967  		yyVAL.union = yyLOCAL
  8968  	case 44:
  8969  		yyDollar = yyS[yypt-1 : yypt+1]
  8970  		var yyLOCAL *Variable
  8971  //line sql.y:688
  8972  		{
  8973  			yyLOCAL = NewVariableExpression(string(yyDollar[1].str), DoubleAt)
  8974  		}
  8975  		yyVAL.union = yyLOCAL
  8976  	case 45:
  8977  		yyDollar = yyS[yypt-2 : yypt+1]
  8978  		var yyLOCAL Statement
  8979  //line sql.y:694
  8980  		{
  8981  			yyLOCAL = &OtherAdmin{}
  8982  		}
  8983  		yyVAL.union = yyLOCAL
  8984  	case 46:
  8985  		yyDollar = yyS[yypt-3 : yypt+1]
  8986  		var yyLOCAL Statement
  8987  //line sql.y:700
  8988  		{
  8989  			yyLOCAL = &Load{}
  8990  		}
  8991  		yyVAL.union = yyLOCAL
  8992  	case 47:
  8993  		yyDollar = yyS[yypt-2 : yypt+1]
  8994  		var yyLOCAL *With
  8995  //line sql.y:706
  8996  		{
  8997  			yyLOCAL = &With{Ctes: yyDollar[2].ctesUnion(), Recursive: false}
  8998  		}
  8999  		yyVAL.union = yyLOCAL
  9000  	case 48:
  9001  		yyDollar = yyS[yypt-3 : yypt+1]
  9002  		var yyLOCAL *With
  9003  //line sql.y:710
  9004  		{
  9005  			yyLOCAL = &With{Ctes: yyDollar[3].ctesUnion(), Recursive: true}
  9006  		}
  9007  		yyVAL.union = yyLOCAL
  9008  	case 49:
  9009  		yyDollar = yyS[yypt-0 : yypt+1]
  9010  		var yyLOCAL *With
  9011  //line sql.y:715
  9012  		{
  9013  			yyLOCAL = nil
  9014  		}
  9015  		yyVAL.union = yyLOCAL
  9016  	case 50:
  9017  		yyDollar = yyS[yypt-1 : yypt+1]
  9018  		var yyLOCAL *With
  9019  //line sql.y:719
  9020  		{
  9021  			yyLOCAL = yyDollar[1].withUnion()
  9022  		}
  9023  		yyVAL.union = yyLOCAL
  9024  	case 51:
  9025  		yyDollar = yyS[yypt-3 : yypt+1]
  9026  //line sql.y:725
  9027  		{
  9028  			yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union))
  9029  			*yySLICE = append(*yySLICE, yyDollar[3].cteUnion())
  9030  		}
  9031  	case 52:
  9032  		yyDollar = yyS[yypt-1 : yypt+1]
  9033  		var yyLOCAL []*CommonTableExpr
  9034  //line sql.y:729
  9035  		{
  9036  			yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()}
  9037  		}
  9038  		yyVAL.union = yyLOCAL
  9039  	case 53:
  9040  		yyDollar = yyS[yypt-4 : yypt+1]
  9041  		var yyLOCAL *CommonTableExpr
  9042  //line sql.y:735
  9043  		{
  9044  			yyLOCAL = &CommonTableExpr{ID: yyDollar[1].identifierCS, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()}
  9045  		}
  9046  		yyVAL.union = yyLOCAL
  9047  	case 54:
  9048  		yyDollar = yyS[yypt-3 : yypt+1]
  9049  		var yyLOCAL SelectStatement
  9050  //line sql.y:741
  9051  		{
  9052  			yyLOCAL = yyDollar[2].selStmtUnion()
  9053  		}
  9054  		yyVAL.union = yyLOCAL
  9055  	case 55:
  9056  		yyDollar = yyS[yypt-3 : yypt+1]
  9057  		var yyLOCAL SelectStatement
  9058  //line sql.y:745
  9059  		{
  9060  			yyLOCAL = yyDollar[2].selStmtUnion()
  9061  		}
  9062  		yyVAL.union = yyLOCAL
  9063  	case 56:
  9064  		yyDollar = yyS[yypt-4 : yypt+1]
  9065  		var yyLOCAL SelectStatement
  9066  //line sql.y:749
  9067  		{
  9068  			setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion())
  9069  			yyLOCAL = yyDollar[2].selStmtUnion()
  9070  		}
  9071  		yyVAL.union = yyLOCAL
  9072  	case 57:
  9073  		yyDollar = yyS[yypt-3 : yypt+1]
  9074  		var yyLOCAL SelectStatement
  9075  //line sql.y:772
  9076  		{
  9077  			yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
  9078  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  9079  			yyLOCAL = yyDollar[1].selStmtUnion()
  9080  		}
  9081  		yyVAL.union = yyLOCAL
  9082  	case 58:
  9083  		yyDollar = yyS[yypt-2 : yypt+1]
  9084  		var yyLOCAL SelectStatement
  9085  //line sql.y:778
  9086  		{
  9087  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion())
  9088  			yyLOCAL = yyDollar[1].selStmtUnion()
  9089  		}
  9090  		yyVAL.union = yyLOCAL
  9091  	case 59:
  9092  		yyDollar = yyS[yypt-3 : yypt+1]
  9093  		var yyLOCAL SelectStatement
  9094  //line sql.y:783
  9095  		{
  9096  			yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
  9097  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  9098  			yyLOCAL = yyDollar[1].selStmtUnion()
  9099  		}
  9100  		yyVAL.union = yyLOCAL
  9101  	case 60:
  9102  		yyDollar = yyS[yypt-4 : yypt+1]
  9103  		var yyLOCAL SelectStatement
  9104  //line sql.y:789
  9105  		{
  9106  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9107  			yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
  9108  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion())
  9109  			yyLOCAL = yyDollar[2].selStmtUnion()
  9110  		}
  9111  		yyVAL.union = yyLOCAL
  9112  	case 61:
  9113  		yyDollar = yyS[yypt-3 : yypt+1]
  9114  		var yyLOCAL SelectStatement
  9115  //line sql.y:796
  9116  		{
  9117  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9118  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  9119  			yyLOCAL = yyDollar[2].selStmtUnion()
  9120  		}
  9121  		yyVAL.union = yyLOCAL
  9122  	case 62:
  9123  		yyDollar = yyS[yypt-4 : yypt+1]
  9124  		var yyLOCAL SelectStatement
  9125  //line sql.y:802
  9126  		{
  9127  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9128  			yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
  9129  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion())
  9130  			yyLOCAL = yyDollar[2].selStmtUnion()
  9131  		}
  9132  		yyVAL.union = yyLOCAL
  9133  	case 63:
  9134  		yyDollar = yyS[yypt-2 : yypt+1]
  9135  //line sql.y:809
  9136  		{
  9137  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9138  		}
  9139  	case 64:
  9140  		yyDollar = yyS[yypt-7 : yypt+1]
  9141  		var yyLOCAL SelectStatement
  9142  //line sql.y:813
  9143  		{
  9144  			yyLOCAL = NewSelect(Comments(yyDollar[2].strs), SelectExprs{&Nextval{Expr: yyDollar[5].exprUnion()}}, []string{yyDollar[3].str} /*options*/, nil, TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}, nil /*where*/, nil /*groupBy*/, nil /*having*/, nil)
  9145  		}
  9146  		yyVAL.union = yyLOCAL
  9147  	case 65:
  9148  		yyDollar = yyS[yypt-1 : yypt+1]
  9149  		var yyLOCAL SelectStatement
  9150  //line sql.y:819
  9151  		{
  9152  			yyLOCAL = yyDollar[1].selStmtUnion()
  9153  		}
  9154  		yyVAL.union = yyLOCAL
  9155  	case 66:
  9156  		yyDollar = yyS[yypt-3 : yypt+1]
  9157  		var yyLOCAL SelectStatement
  9158  //line sql.y:823
  9159  		{
  9160  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9161  		}
  9162  		yyVAL.union = yyLOCAL
  9163  	case 67:
  9164  		yyDollar = yyS[yypt-3 : yypt+1]
  9165  		var yyLOCAL SelectStatement
  9166  //line sql.y:827
  9167  		{
  9168  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9169  		}
  9170  		yyVAL.union = yyLOCAL
  9171  	case 68:
  9172  		yyDollar = yyS[yypt-3 : yypt+1]
  9173  		var yyLOCAL SelectStatement
  9174  //line sql.y:831
  9175  		{
  9176  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9177  		}
  9178  		yyVAL.union = yyLOCAL
  9179  	case 69:
  9180  		yyDollar = yyS[yypt-3 : yypt+1]
  9181  		var yyLOCAL SelectStatement
  9182  //line sql.y:835
  9183  		{
  9184  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9185  		}
  9186  		yyVAL.union = yyLOCAL
  9187  	case 70:
  9188  		yyDollar = yyS[yypt-1 : yypt+1]
  9189  		var yyLOCAL SelectStatement
  9190  //line sql.y:841
  9191  		{
  9192  			yyLOCAL = yyDollar[1].selStmtUnion()
  9193  		}
  9194  		yyVAL.union = yyLOCAL
  9195  	case 71:
  9196  		yyDollar = yyS[yypt-2 : yypt+1]
  9197  		var yyLOCAL SelectStatement
  9198  //line sql.y:845
  9199  		{
  9200  			setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion())
  9201  			yyLOCAL = yyDollar[1].selStmtUnion()
  9202  		}
  9203  		yyVAL.union = yyLOCAL
  9204  	case 72:
  9205  		yyDollar = yyS[yypt-1 : yypt+1]
  9206  		var yyLOCAL SelectStatement
  9207  //line sql.y:850
  9208  		{
  9209  			yyLOCAL = yyDollar[1].selStmtUnion()
  9210  		}
  9211  		yyVAL.union = yyLOCAL
  9212  	case 73:
  9213  		yyDollar = yyS[yypt-1 : yypt+1]
  9214  		var yyLOCAL SelectStatement
  9215  //line sql.y:854
  9216  		{
  9217  			yyLOCAL = yyDollar[1].selStmtUnion()
  9218  		}
  9219  		yyVAL.union = yyLOCAL
  9220  	case 74:
  9221  		yyDollar = yyS[yypt-3 : yypt+1]
  9222  		var yyLOCAL SelectStatement
  9223  //line sql.y:860
  9224  		{
  9225  			yyLOCAL = yyDollar[2].selStmtUnion()
  9226  		}
  9227  		yyVAL.union = yyLOCAL
  9228  	case 75:
  9229  		yyDollar = yyS[yypt-2 : yypt+1]
  9230  		var yyLOCAL SelectStatement
  9231  //line sql.y:864
  9232  		{
  9233  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  9234  			yyLOCAL = yyDollar[1].selStmtUnion()
  9235  		}
  9236  		yyVAL.union = yyLOCAL
  9237  	case 76:
  9238  		yyDollar = yyS[yypt-3 : yypt+1]
  9239  		var yyLOCAL SelectStatement
  9240  //line sql.y:869
  9241  		{
  9242  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  9243  			yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion())
  9244  			yyLOCAL = yyDollar[1].selStmtUnion()
  9245  		}
  9246  		yyVAL.union = yyLOCAL
  9247  	case 77:
  9248  		yyDollar = yyS[yypt-3 : yypt+1]
  9249  		var yyLOCAL SelectStatement
  9250  //line sql.y:875
  9251  		{
  9252  			yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion())
  9253  			yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion())
  9254  			yyLOCAL = yyDollar[1].selStmtUnion()
  9255  		}
  9256  		yyVAL.union = yyLOCAL
  9257  	case 78:
  9258  		yyDollar = yyS[yypt-2 : yypt+1]
  9259  		var yyLOCAL SelectStatement
  9260  //line sql.y:881
  9261  		{
  9262  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  9263  			yyLOCAL = yyDollar[1].selStmtUnion()
  9264  		}
  9265  		yyVAL.union = yyLOCAL
  9266  	case 79:
  9267  		yyDollar = yyS[yypt-5 : yypt+1]
  9268  		var yyLOCAL Statement
  9269  //line sql.y:888
  9270  		{
  9271  			yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName}
  9272  		}
  9273  		yyVAL.union = yyLOCAL
  9274  	case 80:
  9275  		yyDollar = yyS[yypt-7 : yypt+1]
  9276  		var yyLOCAL Statement
  9277  //line sql.y:894
  9278  		{
  9279  			yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()}
  9280  		}
  9281  		yyVAL.union = yyLOCAL
  9282  	case 81:
  9283  		yyDollar = yyS[yypt-10 : yypt+1]
  9284  		var yyLOCAL SelectStatement
  9285  //line sql.y:902
  9286  		{
  9287  			yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, yyDollar[5].selectIntoUnion() /*into*/, yyDollar[6].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[7].exprUnion()), GroupBy(yyDollar[8].exprsUnion()), NewWhere(HavingClause, yyDollar[9].exprUnion()), yyDollar[10].namedWindowsUnion())
  9288  		}
  9289  		yyVAL.union = yyLOCAL
  9290  	case 82:
  9291  		yyDollar = yyS[yypt-9 : yypt+1]
  9292  		var yyLOCAL SelectStatement
  9293  //line sql.y:906
  9294  		{
  9295  			yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, nil, yyDollar[5].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[6].exprUnion()), GroupBy(yyDollar[7].exprsUnion()), NewWhere(HavingClause, yyDollar[8].exprUnion()), yyDollar[9].namedWindowsUnion())
  9296  		}
  9297  		yyVAL.union = yyLOCAL
  9298  	case 83:
  9299  		yyDollar = yyS[yypt-7 : yypt+1]
  9300  		var yyLOCAL Statement
  9301  //line sql.y:912
  9302  		{
  9303  			// insert_data returns a *Insert pre-filled with Columns & Values
  9304  			ins := yyDollar[6].insUnion()
  9305  			ins.Action = yyDollar[1].insertActionUnion()
  9306  			ins.Comments = Comments(yyDollar[2].strs).Parsed()
  9307  			ins.Ignore = yyDollar[3].ignoreUnion()
  9308  			ins.Table = yyDollar[4].tableName
  9309  			ins.Partitions = yyDollar[5].partitionsUnion()
  9310  			ins.OnDup = OnDup(yyDollar[7].updateExprsUnion())
  9311  			yyLOCAL = ins
  9312  		}
  9313  		yyVAL.union = yyLOCAL
  9314  	case 84:
  9315  		yyDollar = yyS[yypt-8 : yypt+1]
  9316  		var yyLOCAL Statement
  9317  //line sql.y:924
  9318  		{
  9319  			cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion()))
  9320  			vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion()))
  9321  			for _, updateList := range yyDollar[7].updateExprsUnion() {
  9322  				cols = append(cols, updateList.Name.Name)
  9323  				vals = append(vals, updateList.Expr)
  9324  			}
  9325  			yyLOCAL = &Insert{Action: yyDollar[1].insertActionUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Ignore: yyDollar[3].ignoreUnion(), Table: yyDollar[4].tableName, Partitions: yyDollar[5].partitionsUnion(), Columns: cols, Rows: Values{vals}, OnDup: OnDup(yyDollar[8].updateExprsUnion())}
  9326  		}
  9327  		yyVAL.union = yyLOCAL
  9328  	case 85:
  9329  		yyDollar = yyS[yypt-1 : yypt+1]
  9330  		var yyLOCAL InsertAction
  9331  //line sql.y:936
  9332  		{
  9333  			yyLOCAL = InsertAct
  9334  		}
  9335  		yyVAL.union = yyLOCAL
  9336  	case 86:
  9337  		yyDollar = yyS[yypt-1 : yypt+1]
  9338  		var yyLOCAL InsertAction
  9339  //line sql.y:940
  9340  		{
  9341  			yyLOCAL = ReplaceAct
  9342  		}
  9343  		yyVAL.union = yyLOCAL
  9344  	case 87:
  9345  		yyDollar = yyS[yypt-10 : yypt+1]
  9346  		var yyLOCAL Statement
  9347  //line sql.y:946
  9348  		{
  9349  			yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: yyDollar[5].tableExprsUnion(), Exprs: yyDollar[7].updateExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion()), OrderBy: yyDollar[9].orderByUnion(), Limit: yyDollar[10].limitUnion()}
  9350  		}
  9351  		yyVAL.union = yyLOCAL
  9352  	case 88:
  9353  		yyDollar = yyS[yypt-11 : yypt+1]
  9354  		var yyLOCAL Statement
  9355  //line sql.y:952
  9356  		{
  9357  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].identifierCS}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()}
  9358  		}
  9359  		yyVAL.union = yyLOCAL
  9360  	case 89:
  9361  		yyDollar = yyS[yypt-9 : yypt+1]
  9362  		var yyLOCAL Statement
  9363  //line sql.y:956
  9364  		{
  9365  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())}
  9366  		}
  9367  		yyVAL.union = yyLOCAL
  9368  	case 90:
  9369  		yyDollar = yyS[yypt-8 : yypt+1]
  9370  		var yyLOCAL Statement
  9371  //line sql.y:960
  9372  		{
  9373  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
  9374  		}
  9375  		yyVAL.union = yyLOCAL
  9376  	case 91:
  9377  		yyDollar = yyS[yypt-8 : yypt+1]
  9378  		var yyLOCAL Statement
  9379  //line sql.y:964
  9380  		{
  9381  			yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
  9382  		}
  9383  		yyVAL.union = yyLOCAL
  9384  	case 92:
  9385  		yyDollar = yyS[yypt-1 : yypt+1]
  9386  //line sql.y:969
  9387  		{
  9388  		}
  9389  	case 93:
  9390  		yyDollar = yyS[yypt-1 : yypt+1]
  9391  //line sql.y:970
  9392  		{
  9393  		}
  9394  	case 94:
  9395  		yyDollar = yyS[yypt-1 : yypt+1]
  9396  		var yyLOCAL TableNames
  9397  //line sql.y:974
  9398  		{
  9399  			yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()}
  9400  		}
  9401  		yyVAL.union = yyLOCAL
  9402  	case 95:
  9403  		yyDollar = yyS[yypt-3 : yypt+1]
  9404  //line sql.y:978
  9405  		{
  9406  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  9407  			*yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName())
  9408  		}
  9409  	case 96:
  9410  		yyDollar = yyS[yypt-1 : yypt+1]
  9411  		var yyLOCAL TableNames
  9412  //line sql.y:984
  9413  		{
  9414  			yyLOCAL = TableNames{yyDollar[1].tableName}
  9415  		}
  9416  		yyVAL.union = yyLOCAL
  9417  	case 97:
  9418  		yyDollar = yyS[yypt-3 : yypt+1]
  9419  //line sql.y:988
  9420  		{
  9421  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  9422  			*yySLICE = append(*yySLICE, yyDollar[3].tableName)
  9423  		}
  9424  	case 98:
  9425  		yyDollar = yyS[yypt-1 : yypt+1]
  9426  		var yyLOCAL TableNames
  9427  //line sql.y:994
  9428  		{
  9429  			yyLOCAL = TableNames{yyDollar[1].tableName}
  9430  		}
  9431  		yyVAL.union = yyLOCAL
  9432  	case 99:
  9433  		yyDollar = yyS[yypt-3 : yypt+1]
  9434  //line sql.y:998
  9435  		{
  9436  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  9437  			*yySLICE = append(*yySLICE, yyDollar[3].tableName)
  9438  		}
  9439  	case 100:
  9440  		yyDollar = yyS[yypt-0 : yypt+1]
  9441  		var yyLOCAL Partitions
  9442  //line sql.y:1003
  9443  		{
  9444  			yyLOCAL = nil
  9445  		}
  9446  		yyVAL.union = yyLOCAL
  9447  	case 101:
  9448  		yyDollar = yyS[yypt-4 : yypt+1]
  9449  		var yyLOCAL Partitions
  9450  //line sql.y:1007
  9451  		{
  9452  			yyLOCAL = yyDollar[3].partitionsUnion()
  9453  		}
  9454  		yyVAL.union = yyLOCAL
  9455  	case 102:
  9456  		yyDollar = yyS[yypt-3 : yypt+1]
  9457  		var yyLOCAL Statement
  9458  //line sql.y:1013
  9459  		{
  9460  			yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[3].setExprsUnion())
  9461  		}
  9462  		yyVAL.union = yyLOCAL
  9463  	case 103:
  9464  		yyDollar = yyS[yypt-1 : yypt+1]
  9465  		var yyLOCAL SetExprs
  9466  //line sql.y:1019
  9467  		{
  9468  			yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
  9469  		}
  9470  		yyVAL.union = yyLOCAL
  9471  	case 104:
  9472  		yyDollar = yyS[yypt-3 : yypt+1]
  9473  //line sql.y:1023
  9474  		{
  9475  			yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
  9476  			*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
  9477  		}
  9478  	case 105:
  9479  		yyDollar = yyS[yypt-3 : yypt+1]
  9480  		var yyLOCAL *SetExpr
  9481  //line sql.y:1029
  9482  		{
  9483  			yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("on")}
  9484  		}
  9485  		yyVAL.union = yyLOCAL
  9486  	case 106:
  9487  		yyDollar = yyS[yypt-3 : yypt+1]
  9488  		var yyLOCAL *SetExpr
  9489  //line sql.y:1033
  9490  		{
  9491  			yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("off")}
  9492  		}
  9493  		yyVAL.union = yyLOCAL
  9494  	case 107:
  9495  		yyDollar = yyS[yypt-3 : yypt+1]
  9496  		var yyLOCAL *SetExpr
  9497  //line sql.y:1037
  9498  		{
  9499  			yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: yyDollar[3].exprUnion()}
  9500  		}
  9501  		yyVAL.union = yyLOCAL
  9502  	case 108:
  9503  		yyDollar = yyS[yypt-3 : yypt+1]
  9504  		var yyLOCAL *SetExpr
  9505  //line sql.y:1041
  9506  		{
  9507  			yyLOCAL = &SetExpr{Var: NewSetVariable(string(yyDollar[1].str), SessionScope), Expr: yyDollar[2].exprUnion()}
  9508  		}
  9509  		yyVAL.union = yyLOCAL
  9510  	case 109:
  9511  		yyDollar = yyS[yypt-1 : yypt+1]
  9512  		var yyLOCAL *Variable
  9513  //line sql.y:1047
  9514  		{
  9515  			yyLOCAL = NewSetVariable(string(yyDollar[1].str), SessionScope)
  9516  		}
  9517  		yyVAL.union = yyLOCAL
  9518  	case 110:
  9519  		yyDollar = yyS[yypt-1 : yypt+1]
  9520  		var yyLOCAL *Variable
  9521  //line sql.y:1051
  9522  		{
  9523  			yyLOCAL = yyDollar[1].variableUnion()
  9524  		}
  9525  		yyVAL.union = yyLOCAL
  9526  	case 111:
  9527  		yyDollar = yyS[yypt-2 : yypt+1]
  9528  		var yyLOCAL *Variable
  9529  //line sql.y:1055
  9530  		{
  9531  			yyLOCAL = NewSetVariable(string(yyDollar[2].str), yyDollar[1].scopeUnion())
  9532  		}
  9533  		yyVAL.union = yyLOCAL
  9534  	case 112:
  9535  		yyDollar = yyS[yypt-5 : yypt+1]
  9536  		var yyLOCAL Statement
  9537  //line sql.y:1061
  9538  		{
  9539  			yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), UpdateSetExprsScope(yyDollar[5].setExprsUnion(), yyDollar[3].scopeUnion()))
  9540  		}
  9541  		yyVAL.union = yyLOCAL
  9542  	case 113:
  9543  		yyDollar = yyS[yypt-4 : yypt+1]
  9544  		var yyLOCAL Statement
  9545  //line sql.y:1065
  9546  		{
  9547  			yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[4].setExprsUnion())
  9548  		}
  9549  		yyVAL.union = yyLOCAL
  9550  	case 114:
  9551  		yyDollar = yyS[yypt-1 : yypt+1]
  9552  		var yyLOCAL SetExprs
  9553  //line sql.y:1071
  9554  		{
  9555  			yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
  9556  		}
  9557  		yyVAL.union = yyLOCAL
  9558  	case 115:
  9559  		yyDollar = yyS[yypt-3 : yypt+1]
  9560  //line sql.y:1075
  9561  		{
  9562  			yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
  9563  			*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
  9564  		}
  9565  	case 116:
  9566  		yyDollar = yyS[yypt-3 : yypt+1]
  9567  		var yyLOCAL *SetExpr
  9568  //line sql.y:1081
  9569  		{
  9570  			yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionIsolationStr, NextTxScope), Expr: NewStrLiteral(yyDollar[3].str)}
  9571  		}
  9572  		yyVAL.union = yyLOCAL
  9573  	case 117:
  9574  		yyDollar = yyS[yypt-2 : yypt+1]
  9575  		var yyLOCAL *SetExpr
  9576  //line sql.y:1085
  9577  		{
  9578  			yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("off")}
  9579  		}
  9580  		yyVAL.union = yyLOCAL
  9581  	case 118:
  9582  		yyDollar = yyS[yypt-2 : yypt+1]
  9583  		var yyLOCAL *SetExpr
  9584  //line sql.y:1089
  9585  		{
  9586  			yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("on")}
  9587  		}
  9588  		yyVAL.union = yyLOCAL
  9589  	case 119:
  9590  		yyDollar = yyS[yypt-2 : yypt+1]
  9591  //line sql.y:1095
  9592  		{
  9593  			yyVAL.str = RepeatableReadStr
  9594  		}
  9595  	case 120:
  9596  		yyDollar = yyS[yypt-2 : yypt+1]
  9597  //line sql.y:1099
  9598  		{
  9599  			yyVAL.str = ReadCommittedStr
  9600  		}
  9601  	case 121:
  9602  		yyDollar = yyS[yypt-2 : yypt+1]
  9603  //line sql.y:1103
  9604  		{
  9605  			yyVAL.str = ReadUncommittedStr
  9606  		}
  9607  	case 122:
  9608  		yyDollar = yyS[yypt-1 : yypt+1]
  9609  //line sql.y:1107
  9610  		{
  9611  			yyVAL.str = SerializableStr
  9612  		}
  9613  	case 123:
  9614  		yyDollar = yyS[yypt-1 : yypt+1]
  9615  		var yyLOCAL Scope
  9616  //line sql.y:1113
  9617  		{
  9618  			yyLOCAL = SessionScope
  9619  		}
  9620  		yyVAL.union = yyLOCAL
  9621  	case 124:
  9622  		yyDollar = yyS[yypt-1 : yypt+1]
  9623  		var yyLOCAL Scope
  9624  //line sql.y:1117
  9625  		{
  9626  			yyLOCAL = SessionScope
  9627  		}
  9628  		yyVAL.union = yyLOCAL
  9629  	case 125:
  9630  		yyDollar = yyS[yypt-1 : yypt+1]
  9631  		var yyLOCAL Scope
  9632  //line sql.y:1121
  9633  		{
  9634  			yyLOCAL = GlobalScope
  9635  		}
  9636  		yyVAL.union = yyLOCAL
  9637  	case 126:
  9638  		yyDollar = yyS[yypt-2 : yypt+1]
  9639  		var yyLOCAL Statement
  9640  //line sql.y:1127
  9641  		{
  9642  			yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion()
  9643  			yyDollar[1].createTableUnion().FullyParsed = true
  9644  			yyLOCAL = yyDollar[1].createTableUnion()
  9645  		}
  9646  		yyVAL.union = yyLOCAL
  9647  	case 127:
  9648  		yyDollar = yyS[yypt-2 : yypt+1]
  9649  		var yyLOCAL Statement
  9650  //line sql.y:1133
  9651  		{
  9652  			// Create table [name] like [name]
  9653  			yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion()
  9654  			yyDollar[1].createTableUnion().FullyParsed = true
  9655  			yyLOCAL = yyDollar[1].createTableUnion()
  9656  		}
  9657  		yyVAL.union = yyLOCAL
  9658  	case 128:
  9659  		yyDollar = yyS[yypt-6 : yypt+1]
  9660  		var yyLOCAL Statement
  9661  //line sql.y:1140
  9662  		{
  9663  			indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition
  9664  			indexDef.Columns = yyDollar[3].indexColumnsUnion()
  9665  			indexDef.Options = append(indexDef.Options, yyDollar[5].indexOptionsUnion()...)
  9666  			yyDollar[1].alterTableUnion().AlterOptions = append(yyDollar[1].alterTableUnion().AlterOptions, yyDollar[6].alterOptionsUnion()...)
  9667  			yyDollar[1].alterTableUnion().FullyParsed = true
  9668  			yyLOCAL = yyDollar[1].alterTableUnion()
  9669  		}
  9670  		yyVAL.union = yyLOCAL
  9671  	case 129:
  9672  		yyDollar = yyS[yypt-12 : yypt+1]
  9673  		var yyLOCAL Statement
  9674  //line sql.y:1149
  9675  		{
  9676  			yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str}
  9677  		}
  9678  		yyVAL.union = yyLOCAL
  9679  	case 130:
  9680  		yyDollar = yyS[yypt-2 : yypt+1]
  9681  		var yyLOCAL Statement
  9682  //line sql.y:1153
  9683  		{
  9684  			yyDollar[1].createDatabaseUnion().FullyParsed = true
  9685  			yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion()
  9686  			yyLOCAL = yyDollar[1].createDatabaseUnion()
  9687  		}
  9688  		yyVAL.union = yyLOCAL
  9689  	case 131:
  9690  		yyDollar = yyS[yypt-0 : yypt+1]
  9691  		var yyLOCAL bool
  9692  //line sql.y:1160
  9693  		{
  9694  			yyLOCAL = false
  9695  		}
  9696  		yyVAL.union = yyLOCAL
  9697  	case 132:
  9698  		yyDollar = yyS[yypt-2 : yypt+1]
  9699  		var yyLOCAL bool
  9700  //line sql.y:1164
  9701  		{
  9702  			yyLOCAL = true
  9703  		}
  9704  		yyVAL.union = yyLOCAL
  9705  	case 133:
  9706  		yyDollar = yyS[yypt-0 : yypt+1]
  9707  //line sql.y:1169
  9708  		{
  9709  			yyVAL.identifierCI = NewIdentifierCI("")
  9710  		}
  9711  	case 134:
  9712  		yyDollar = yyS[yypt-2 : yypt+1]
  9713  //line sql.y:1173
  9714  		{
  9715  			yyVAL.identifierCI = yyDollar[2].identifierCI
  9716  		}
  9717  	case 135:
  9718  		yyDollar = yyS[yypt-1 : yypt+1]
  9719  //line sql.y:1179
  9720  		{
  9721  			yyVAL.identifierCI = yyDollar[1].identifierCI
  9722  		}
  9723  	case 136:
  9724  		yyDollar = yyS[yypt-0 : yypt+1]
  9725  		var yyLOCAL []VindexParam
  9726  //line sql.y:1184
  9727  		{
  9728  			var v []VindexParam
  9729  			yyLOCAL = v
  9730  		}
  9731  		yyVAL.union = yyLOCAL
  9732  	case 137:
  9733  		yyDollar = yyS[yypt-2 : yypt+1]
  9734  		var yyLOCAL []VindexParam
  9735  //line sql.y:1189
  9736  		{
  9737  			yyLOCAL = yyDollar[2].vindexParamsUnion()
  9738  		}
  9739  		yyVAL.union = yyLOCAL
  9740  	case 138:
  9741  		yyDollar = yyS[yypt-1 : yypt+1]
  9742  		var yyLOCAL []VindexParam
  9743  //line sql.y:1195
  9744  		{
  9745  			yyLOCAL = make([]VindexParam, 0, 4)
  9746  			yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam)
  9747  		}
  9748  		yyVAL.union = yyLOCAL
  9749  	case 139:
  9750  		yyDollar = yyS[yypt-3 : yypt+1]
  9751  //line sql.y:1200
  9752  		{
  9753  			yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union))
  9754  			*yySLICE = append(*yySLICE, yyDollar[3].vindexParam)
  9755  		}
  9756  	case 140:
  9757  		yyDollar = yyS[yypt-3 : yypt+1]
  9758  //line sql.y:1206
  9759  		{
  9760  			yyVAL.vindexParam = VindexParam{Key: yyDollar[1].identifierCI, Val: yyDollar[3].str}
  9761  		}
  9762  	case 141:
  9763  		yyDollar = yyS[yypt-0 : yypt+1]
  9764  		var yyLOCAL []*JSONObjectParam
  9765  //line sql.y:1211
  9766  		{
  9767  			yyLOCAL = nil
  9768  		}
  9769  		yyVAL.union = yyLOCAL
  9770  	case 142:
  9771  		yyDollar = yyS[yypt-1 : yypt+1]
  9772  		var yyLOCAL []*JSONObjectParam
  9773  //line sql.y:1215
  9774  		{
  9775  			yyLOCAL = yyDollar[1].jsonObjectParamsUnion()
  9776  		}
  9777  		yyVAL.union = yyLOCAL
  9778  	case 143:
  9779  		yyDollar = yyS[yypt-1 : yypt+1]
  9780  		var yyLOCAL []*JSONObjectParam
  9781  //line sql.y:1221
  9782  		{
  9783  			yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam}
  9784  		}
  9785  		yyVAL.union = yyLOCAL
  9786  	case 144:
  9787  		yyDollar = yyS[yypt-3 : yypt+1]
  9788  //line sql.y:1225
  9789  		{
  9790  			yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union))
  9791  			*yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam)
  9792  		}
  9793  	case 145:
  9794  		yyDollar = yyS[yypt-3 : yypt+1]
  9795  //line sql.y:1231
  9796  		{
  9797  			yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()}
  9798  		}
  9799  	case 146:
  9800  		yyDollar = yyS[yypt-6 : yypt+1]
  9801  		var yyLOCAL *CreateTable
  9802  //line sql.y:1237
  9803  		{
  9804  			yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()}
  9805  			setDDL(yylex, yyLOCAL)
  9806  		}
  9807  		yyVAL.union = yyLOCAL
  9808  	case 147:
  9809  		yyDollar = yyS[yypt-4 : yypt+1]
  9810  		var yyLOCAL *AlterTable
  9811  //line sql.y:1244
  9812  		{
  9813  			yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName}
  9814  			setDDL(yylex, yyLOCAL)
  9815  		}
  9816  		yyVAL.union = yyLOCAL
  9817  	case 148:
  9818  		yyDollar = yyS[yypt-7 : yypt+1]
  9819  		var yyLOCAL *AlterTable
  9820  //line sql.y:1251
  9821  		{
  9822  			yyLOCAL = &AlterTable{Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].identifierCI, Type: string(yyDollar[3].str)}, Options: yyDollar[5].indexOptionsUnion()}}}}
  9823  			setDDL(yylex, yyLOCAL)
  9824  		}
  9825  		yyVAL.union = yyLOCAL
  9826  	case 149:
  9827  		yyDollar = yyS[yypt-8 : yypt+1]
  9828  		var yyLOCAL *AlterTable
  9829  //line sql.y:1256
  9830  		{
  9831  			yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Fulltext: true}, Options: yyDollar[6].indexOptionsUnion()}}}}
  9832  			setDDL(yylex, yyLOCAL)
  9833  		}
  9834  		yyVAL.union = yyLOCAL
  9835  	case 150:
  9836  		yyDollar = yyS[yypt-8 : yypt+1]
  9837  		var yyLOCAL *AlterTable
  9838  //line sql.y:1261
  9839  		{
  9840  			yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Spatial: true}, Options: yyDollar[6].indexOptionsUnion()}}}}
  9841  			setDDL(yylex, yyLOCAL)
  9842  		}
  9843  		yyVAL.union = yyLOCAL
  9844  	case 151:
  9845  		yyDollar = yyS[yypt-8 : yypt+1]
  9846  		var yyLOCAL *AlterTable
  9847  //line sql.y:1266
  9848  		{
  9849  			yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Unique: true}, Options: yyDollar[6].indexOptionsUnion()}}}}
  9850  			setDDL(yylex, yyLOCAL)
  9851  		}
  9852  		yyVAL.union = yyLOCAL
  9853  	case 152:
  9854  		yyDollar = yyS[yypt-6 : yypt+1]
  9855  		var yyLOCAL *CreateDatabase
  9856  //line sql.y:1273
  9857  		{
  9858  			yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].identifierCS, IfNotExists: yyDollar[5].booleanUnion()}
  9859  			setDDL(yylex, yyLOCAL)
  9860  		}
  9861  		yyVAL.union = yyLOCAL
  9862  	case 153:
  9863  		yyDollar = yyS[yypt-3 : yypt+1]
  9864  		var yyLOCAL *AlterDatabase
  9865  //line sql.y:1280
  9866  		{
  9867  			yyLOCAL = &AlterDatabase{}
  9868  			setDDL(yylex, yyLOCAL)
  9869  		}
  9870  		yyVAL.union = yyLOCAL
  9871  	case 156:
  9872  		yyDollar = yyS[yypt-5 : yypt+1]
  9873  		var yyLOCAL *TableSpec
  9874  //line sql.y:1291
  9875  		{
  9876  			yyLOCAL = yyDollar[2].tableSpecUnion()
  9877  			yyLOCAL.Options = yyDollar[4].tableOptionsUnion()
  9878  			yyLOCAL.PartitionOption = yyDollar[5].partitionOptionUnion()
  9879  		}
  9880  		yyVAL.union = yyLOCAL
  9881  	case 157:
  9882  		yyDollar = yyS[yypt-0 : yypt+1]
  9883  		var yyLOCAL []DatabaseOption
  9884  //line sql.y:1298
  9885  		{
  9886  			yyLOCAL = nil
  9887  		}
  9888  		yyVAL.union = yyLOCAL
  9889  	case 158:
  9890  		yyDollar = yyS[yypt-1 : yypt+1]
  9891  		var yyLOCAL []DatabaseOption
  9892  //line sql.y:1302
  9893  		{
  9894  			yyLOCAL = yyDollar[1].databaseOptionsUnion()
  9895  		}
  9896  		yyVAL.union = yyLOCAL
  9897  	case 159:
  9898  		yyDollar = yyS[yypt-1 : yypt+1]
  9899  		var yyLOCAL []DatabaseOption
  9900  //line sql.y:1308
  9901  		{
  9902  			yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
  9903  		}
  9904  		yyVAL.union = yyLOCAL
  9905  	case 160:
  9906  		yyDollar = yyS[yypt-1 : yypt+1]
  9907  		var yyLOCAL []DatabaseOption
  9908  //line sql.y:1312
  9909  		{
  9910  			yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
  9911  		}
  9912  		yyVAL.union = yyLOCAL
  9913  	case 161:
  9914  		yyDollar = yyS[yypt-1 : yypt+1]
  9915  		var yyLOCAL []DatabaseOption
  9916  //line sql.y:1316
  9917  		{
  9918  			yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
  9919  		}
  9920  		yyVAL.union = yyLOCAL
  9921  	case 162:
  9922  		yyDollar = yyS[yypt-2 : yypt+1]
  9923  //line sql.y:1320
  9924  		{
  9925  			yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
  9926  			*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
  9927  		}
  9928  	case 163:
  9929  		yyDollar = yyS[yypt-2 : yypt+1]
  9930  //line sql.y:1324
  9931  		{
  9932  			yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
  9933  			*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
  9934  		}
  9935  	case 164:
  9936  		yyDollar = yyS[yypt-2 : yypt+1]
  9937  //line sql.y:1328
  9938  		{
  9939  			yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
  9940  			*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
  9941  		}
  9942  	case 165:
  9943  		yyDollar = yyS[yypt-0 : yypt+1]
  9944  		var yyLOCAL bool
  9945  //line sql.y:1334
  9946  		{
  9947  			yyLOCAL = false
  9948  		}
  9949  		yyVAL.union = yyLOCAL
  9950  	case 166:
  9951  		yyDollar = yyS[yypt-1 : yypt+1]
  9952  		var yyLOCAL bool
  9953  //line sql.y:1338
  9954  		{
  9955  			yyLOCAL = true
  9956  		}
  9957  		yyVAL.union = yyLOCAL
  9958  	case 167:
  9959  		yyDollar = yyS[yypt-4 : yypt+1]
  9960  //line sql.y:1344
  9961  		{
  9962  			yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
  9963  		}
  9964  	case 168:
  9965  		yyDollar = yyS[yypt-4 : yypt+1]
  9966  //line sql.y:1348
  9967  		{
  9968  			yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
  9969  		}
  9970  	case 169:
  9971  		yyDollar = yyS[yypt-4 : yypt+1]
  9972  //line sql.y:1354
  9973  		{
  9974  			yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
  9975  		}
  9976  	case 170:
  9977  		yyDollar = yyS[yypt-4 : yypt+1]
  9978  //line sql.y:1358
  9979  		{
  9980  			yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
  9981  		}
  9982  	case 171:
  9983  		yyDollar = yyS[yypt-4 : yypt+1]
  9984  //line sql.y:1364
  9985  		{
  9986  			yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
  9987  		}
  9988  	case 172:
  9989  		yyDollar = yyS[yypt-4 : yypt+1]
  9990  //line sql.y:1368
  9991  		{
  9992  			yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
  9993  		}
  9994  	case 173:
  9995  		yyDollar = yyS[yypt-2 : yypt+1]
  9996  		var yyLOCAL *OptLike
  9997  //line sql.y:1374
  9998  		{
  9999  			yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName}
 10000  		}
 10001  		yyVAL.union = yyLOCAL
 10002  	case 174:
 10003  		yyDollar = yyS[yypt-4 : yypt+1]
 10004  		var yyLOCAL *OptLike
 10005  //line sql.y:1378
 10006  		{
 10007  			yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName}
 10008  		}
 10009  		yyVAL.union = yyLOCAL
 10010  	case 175:
 10011  		yyDollar = yyS[yypt-1 : yypt+1]
 10012  		var yyLOCAL []*ColumnDefinition
 10013  //line sql.y:1384
 10014  		{
 10015  			yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()}
 10016  		}
 10017  		yyVAL.union = yyLOCAL
 10018  	case 176:
 10019  		yyDollar = yyS[yypt-3 : yypt+1]
 10020  //line sql.y:1388
 10021  		{
 10022  			yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union))
 10023  			*yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion())
 10024  		}
 10025  	case 177:
 10026  		yyDollar = yyS[yypt-1 : yypt+1]
 10027  		var yyLOCAL *TableSpec
 10028  //line sql.y:1394
 10029  		{
 10030  			yyLOCAL = &TableSpec{}
 10031  			yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion())
 10032  		}
 10033  		yyVAL.union = yyLOCAL
 10034  	case 178:
 10035  		yyDollar = yyS[yypt-1 : yypt+1]
 10036  		var yyLOCAL *TableSpec
 10037  //line sql.y:1399
 10038  		{
 10039  			yyLOCAL = &TableSpec{}
 10040  			yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion())
 10041  		}
 10042  		yyVAL.union = yyLOCAL
 10043  	case 179:
 10044  		yyDollar = yyS[yypt-3 : yypt+1]
 10045  //line sql.y:1404
 10046  		{
 10047  			yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
 10048  		}
 10049  	case 180:
 10050  		yyDollar = yyS[yypt-4 : yypt+1]
 10051  //line sql.y:1408
 10052  		{
 10053  			yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
 10054  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion())
 10055  		}
 10056  	case 181:
 10057  		yyDollar = yyS[yypt-3 : yypt+1]
 10058  //line sql.y:1413
 10059  		{
 10060  			yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion())
 10061  		}
 10062  	case 182:
 10063  		yyDollar = yyS[yypt-3 : yypt+1]
 10064  //line sql.y:1417
 10065  		{
 10066  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
 10067  		}
 10068  	case 183:
 10069  		yyDollar = yyS[yypt-3 : yypt+1]
 10070  //line sql.y:1421
 10071  		{
 10072  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
 10073  		}
 10074  	case 184:
 10075  		yyDollar = yyS[yypt-5 : yypt+1]
 10076  		var yyLOCAL *ColumnDefinition
 10077  //line sql.y:1432
 10078  		{
 10079  			yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion()
 10080  			if yyDollar[2].columnType.Options.Collate == "" {
 10081  				yyDollar[2].columnType.Options.Collate = yyDollar[3].str
 10082  			}
 10083  			yyDollar[2].columnType.Options.Reference = yyDollar[5].referenceDefinitionUnion()
 10084  			yyLOCAL = &ColumnDefinition{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType}
 10085  		}
 10086  		yyVAL.union = yyLOCAL
 10087  	case 185:
 10088  		yyDollar = yyS[yypt-10 : yypt+1]
 10089  		var yyLOCAL *ColumnDefinition
 10090  //line sql.y:1441
 10091  		{
 10092  			yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion()
 10093  			yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion()
 10094  			yyDollar[2].columnType.Options.Reference = yyDollar[10].referenceDefinitionUnion()
 10095  			yyDollar[2].columnType.Options.Collate = yyDollar[3].str
 10096  			yyLOCAL = &ColumnDefinition{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType}
 10097  		}
 10098  		yyVAL.union = yyLOCAL
 10099  	case 186:
 10100  		yyDollar = yyS[yypt-0 : yypt+1]
 10101  //line sql.y:1450
 10102  		{
 10103  			yyVAL.str = ""
 10104  		}
 10105  	case 187:
 10106  		yyDollar = yyS[yypt-2 : yypt+1]
 10107  //line sql.y:1454
 10108  		{
 10109  			yyVAL.str = ""
 10110  		}
 10111  	case 188:
 10112  		yyDollar = yyS[yypt-0 : yypt+1]
 10113  		var yyLOCAL *ColumnTypeOptions
 10114  //line sql.y:1463
 10115  		{
 10116  			yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: ColKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil}
 10117  		}
 10118  		yyVAL.union = yyLOCAL
 10119  	case 189:
 10120  		yyDollar = yyS[yypt-2 : yypt+1]
 10121  		var yyLOCAL *ColumnTypeOptions
 10122  //line sql.y:1467
 10123  		{
 10124  			val := true
 10125  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10126  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10127  		}
 10128  		yyVAL.union = yyLOCAL
 10129  	case 190:
 10130  		yyDollar = yyS[yypt-3 : yypt+1]
 10131  		var yyLOCAL *ColumnTypeOptions
 10132  //line sql.y:1473
 10133  		{
 10134  			val := false
 10135  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10136  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10137  		}
 10138  		yyVAL.union = yyLOCAL
 10139  	case 191:
 10140  		yyDollar = yyS[yypt-5 : yypt+1]
 10141  		var yyLOCAL *ColumnTypeOptions
 10142  //line sql.y:1479
 10143  		{
 10144  			yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion()
 10145  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10146  		}
 10147  		yyVAL.union = yyLOCAL
 10148  	case 192:
 10149  		yyDollar = yyS[yypt-3 : yypt+1]
 10150  		var yyLOCAL *ColumnTypeOptions
 10151  //line sql.y:1484
 10152  		{
 10153  			yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion()
 10154  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10155  		}
 10156  		yyVAL.union = yyLOCAL
 10157  	case 193:
 10158  		yyDollar = yyS[yypt-4 : yypt+1]
 10159  		var yyLOCAL *ColumnTypeOptions
 10160  //line sql.y:1489
 10161  		{
 10162  			yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion()
 10163  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10164  		}
 10165  		yyVAL.union = yyLOCAL
 10166  	case 194:
 10167  		yyDollar = yyS[yypt-2 : yypt+1]
 10168  		var yyLOCAL *ColumnTypeOptions
 10169  //line sql.y:1494
 10170  		{
 10171  			yyDollar[1].columnTypeOptionsUnion().Autoincrement = true
 10172  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10173  		}
 10174  		yyVAL.union = yyLOCAL
 10175  	case 195:
 10176  		yyDollar = yyS[yypt-3 : yypt+1]
 10177  		var yyLOCAL *ColumnTypeOptions
 10178  //line sql.y:1499
 10179  		{
 10180  			yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
 10181  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10182  		}
 10183  		yyVAL.union = yyLOCAL
 10184  	case 196:
 10185  		yyDollar = yyS[yypt-2 : yypt+1]
 10186  		var yyLOCAL *ColumnTypeOptions
 10187  //line sql.y:1504
 10188  		{
 10189  			yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
 10190  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10191  		}
 10192  		yyVAL.union = yyLOCAL
 10193  	case 197:
 10194  		yyDollar = yyS[yypt-3 : yypt+1]
 10195  //line sql.y:1509
 10196  		{
 10197  			yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str)
 10198  		}
 10199  	case 198:
 10200  		yyDollar = yyS[yypt-3 : yypt+1]
 10201  		var yyLOCAL *ColumnTypeOptions
 10202  //line sql.y:1513
 10203  		{
 10204  			yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].identifierCI.String())
 10205  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10206  		}
 10207  		yyVAL.union = yyLOCAL
 10208  	case 199:
 10209  		yyDollar = yyS[yypt-3 : yypt+1]
 10210  //line sql.y:1518
 10211  		{
 10212  			yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion()
 10213  		}
 10214  	case 200:
 10215  		yyDollar = yyS[yypt-3 : yypt+1]
 10216  		var yyLOCAL *ColumnTypeOptions
 10217  //line sql.y:1522
 10218  		{
 10219  			yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str)
 10220  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10221  		}
 10222  		yyVAL.union = yyLOCAL
 10223  	case 201:
 10224  		yyDollar = yyS[yypt-2 : yypt+1]
 10225  		var yyLOCAL *ColumnTypeOptions
 10226  //line sql.y:1527
 10227  		{
 10228  			val := false
 10229  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10230  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10231  		}
 10232  		yyVAL.union = yyLOCAL
 10233  	case 202:
 10234  		yyDollar = yyS[yypt-2 : yypt+1]
 10235  		var yyLOCAL *ColumnTypeOptions
 10236  //line sql.y:1533
 10237  		{
 10238  			val := true
 10239  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10240  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10241  		}
 10242  		yyVAL.union = yyLOCAL
 10243  	case 203:
 10244  		yyDollar = yyS[yypt-4 : yypt+1]
 10245  //line sql.y:1539
 10246  		{
 10247  			yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str)
 10248  		}
 10249  	case 204:
 10250  		yyDollar = yyS[yypt-4 : yypt+1]
 10251  //line sql.y:1543
 10252  		{
 10253  			yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str)
 10254  		}
 10255  	case 205:
 10256  		yyDollar = yyS[yypt-1 : yypt+1]
 10257  		var yyLOCAL ColumnFormat
 10258  //line sql.y:1549
 10259  		{
 10260  			yyLOCAL = FixedFormat
 10261  		}
 10262  		yyVAL.union = yyLOCAL
 10263  	case 206:
 10264  		yyDollar = yyS[yypt-1 : yypt+1]
 10265  		var yyLOCAL ColumnFormat
 10266  //line sql.y:1553
 10267  		{
 10268  			yyLOCAL = DynamicFormat
 10269  		}
 10270  		yyVAL.union = yyLOCAL
 10271  	case 207:
 10272  		yyDollar = yyS[yypt-1 : yypt+1]
 10273  		var yyLOCAL ColumnFormat
 10274  //line sql.y:1557
 10275  		{
 10276  			yyLOCAL = DefaultFormat
 10277  		}
 10278  		yyVAL.union = yyLOCAL
 10279  	case 208:
 10280  		yyDollar = yyS[yypt-1 : yypt+1]
 10281  		var yyLOCAL ColumnStorage
 10282  //line sql.y:1563
 10283  		{
 10284  			yyLOCAL = VirtualStorage
 10285  		}
 10286  		yyVAL.union = yyLOCAL
 10287  	case 209:
 10288  		yyDollar = yyS[yypt-1 : yypt+1]
 10289  		var yyLOCAL ColumnStorage
 10290  //line sql.y:1567
 10291  		{
 10292  			yyLOCAL = StoredStorage
 10293  		}
 10294  		yyVAL.union = yyLOCAL
 10295  	case 210:
 10296  		yyDollar = yyS[yypt-0 : yypt+1]
 10297  		var yyLOCAL *ColumnTypeOptions
 10298  //line sql.y:1572
 10299  		{
 10300  			yyLOCAL = &ColumnTypeOptions{}
 10301  		}
 10302  		yyVAL.union = yyLOCAL
 10303  	case 211:
 10304  		yyDollar = yyS[yypt-2 : yypt+1]
 10305  		var yyLOCAL *ColumnTypeOptions
 10306  //line sql.y:1576
 10307  		{
 10308  			yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion()
 10309  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10310  		}
 10311  		yyVAL.union = yyLOCAL
 10312  	case 212:
 10313  		yyDollar = yyS[yypt-2 : yypt+1]
 10314  		var yyLOCAL *ColumnTypeOptions
 10315  //line sql.y:1581
 10316  		{
 10317  			val := true
 10318  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10319  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10320  		}
 10321  		yyVAL.union = yyLOCAL
 10322  	case 213:
 10323  		yyDollar = yyS[yypt-3 : yypt+1]
 10324  		var yyLOCAL *ColumnTypeOptions
 10325  //line sql.y:1587
 10326  		{
 10327  			val := false
 10328  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10329  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10330  		}
 10331  		yyVAL.union = yyLOCAL
 10332  	case 214:
 10333  		yyDollar = yyS[yypt-3 : yypt+1]
 10334  		var yyLOCAL *ColumnTypeOptions
 10335  //line sql.y:1593
 10336  		{
 10337  			yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
 10338  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10339  		}
 10340  		yyVAL.union = yyLOCAL
 10341  	case 215:
 10342  		yyDollar = yyS[yypt-2 : yypt+1]
 10343  		var yyLOCAL *ColumnTypeOptions
 10344  //line sql.y:1598
 10345  		{
 10346  			yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
 10347  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10348  		}
 10349  		yyVAL.union = yyLOCAL
 10350  	case 216:
 10351  		yyDollar = yyS[yypt-2 : yypt+1]
 10352  		var yyLOCAL *ColumnTypeOptions
 10353  //line sql.y:1603
 10354  		{
 10355  			val := false
 10356  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10357  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10358  		}
 10359  		yyVAL.union = yyLOCAL
 10360  	case 217:
 10361  		yyDollar = yyS[yypt-2 : yypt+1]
 10362  		var yyLOCAL *ColumnTypeOptions
 10363  //line sql.y:1609
 10364  		{
 10365  			val := true
 10366  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10367  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10368  		}
 10369  		yyVAL.union = yyLOCAL
 10370  	case 218:
 10371  		yyDollar = yyS[yypt-1 : yypt+1]
 10372  		var yyLOCAL Expr
 10373  //line sql.y:1617
 10374  		{
 10375  			yyLOCAL = yyDollar[1].exprUnion()
 10376  		}
 10377  		yyVAL.union = yyLOCAL
 10378  	case 220:
 10379  		yyDollar = yyS[yypt-2 : yypt+1]
 10380  		var yyLOCAL Expr
 10381  //line sql.y:1624
 10382  		{
 10383  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_timestamp"), Fsp: yyDollar[2].exprUnion()}
 10384  		}
 10385  		yyVAL.union = yyLOCAL
 10386  	case 221:
 10387  		yyDollar = yyS[yypt-2 : yypt+1]
 10388  		var yyLOCAL Expr
 10389  //line sql.y:1628
 10390  		{
 10391  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtime"), Fsp: yyDollar[2].exprUnion()}
 10392  		}
 10393  		yyVAL.union = yyLOCAL
 10394  	case 222:
 10395  		yyDollar = yyS[yypt-2 : yypt+1]
 10396  		var yyLOCAL Expr
 10397  //line sql.y:1632
 10398  		{
 10399  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtimestamp"), Fsp: yyDollar[2].exprUnion()}
 10400  		}
 10401  		yyVAL.union = yyLOCAL
 10402  	case 223:
 10403  		yyDollar = yyS[yypt-2 : yypt+1]
 10404  		var yyLOCAL Expr
 10405  //line sql.y:1636
 10406  		{
 10407  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_timestamp"), Fsp: yyDollar[2].exprUnion()}
 10408  		}
 10409  		yyVAL.union = yyLOCAL
 10410  	case 224:
 10411  		yyDollar = yyS[yypt-2 : yypt+1]
 10412  		var yyLOCAL Expr
 10413  //line sql.y:1640
 10414  		{
 10415  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("now"), Fsp: yyDollar[2].exprUnion()}
 10416  		}
 10417  		yyVAL.union = yyLOCAL
 10418  	case 227:
 10419  		yyDollar = yyS[yypt-1 : yypt+1]
 10420  		var yyLOCAL Expr
 10421  //line sql.y:1650
 10422  		{
 10423  			yyLOCAL = &NullVal{}
 10424  		}
 10425  		yyVAL.union = yyLOCAL
 10426  	case 229:
 10427  		yyDollar = yyS[yypt-2 : yypt+1]
 10428  		var yyLOCAL Expr
 10429  //line sql.y:1657
 10430  		{
 10431  			yyLOCAL = yyDollar[2].exprUnion()
 10432  		}
 10433  		yyVAL.union = yyLOCAL
 10434  	case 230:
 10435  		yyDollar = yyS[yypt-2 : yypt+1]
 10436  		var yyLOCAL Expr
 10437  //line sql.y:1661
 10438  		{
 10439  			yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
 10440  		}
 10441  		yyVAL.union = yyLOCAL
 10442  	case 231:
 10443  		yyDollar = yyS[yypt-1 : yypt+1]
 10444  		var yyLOCAL Expr
 10445  //line sql.y:1667
 10446  		{
 10447  			yyLOCAL = yyDollar[1].exprUnion()
 10448  		}
 10449  		yyVAL.union = yyLOCAL
 10450  	case 232:
 10451  		yyDollar = yyS[yypt-1 : yypt+1]
 10452  		var yyLOCAL Expr
 10453  //line sql.y:1671
 10454  		{
 10455  			yyLOCAL = yyDollar[1].exprUnion()
 10456  		}
 10457  		yyVAL.union = yyLOCAL
 10458  	case 233:
 10459  		yyDollar = yyS[yypt-1 : yypt+1]
 10460  		var yyLOCAL Expr
 10461  //line sql.y:1675
 10462  		{
 10463  			yyLOCAL = yyDollar[1].boolValUnion()
 10464  		}
 10465  		yyVAL.union = yyLOCAL
 10466  	case 234:
 10467  		yyDollar = yyS[yypt-1 : yypt+1]
 10468  		var yyLOCAL Expr
 10469  //line sql.y:1679
 10470  		{
 10471  			yyLOCAL = NewHexLiteral(yyDollar[1].str)
 10472  		}
 10473  		yyVAL.union = yyLOCAL
 10474  	case 235:
 10475  		yyDollar = yyS[yypt-1 : yypt+1]
 10476  		var yyLOCAL Expr
 10477  //line sql.y:1683
 10478  		{
 10479  			yyLOCAL = NewHexNumLiteral(yyDollar[1].str)
 10480  		}
 10481  		yyVAL.union = yyLOCAL
 10482  	case 236:
 10483  		yyDollar = yyS[yypt-1 : yypt+1]
 10484  		var yyLOCAL Expr
 10485  //line sql.y:1687
 10486  		{
 10487  			yyLOCAL = NewBitLiteral(yyDollar[1].str[2:])
 10488  		}
 10489  		yyVAL.union = yyLOCAL
 10490  	case 237:
 10491  		yyDollar = yyS[yypt-1 : yypt+1]
 10492  		var yyLOCAL Expr
 10493  //line sql.y:1691
 10494  		{
 10495  			yyLOCAL = NewBitLiteral(yyDollar[1].str)
 10496  		}
 10497  		yyVAL.union = yyLOCAL
 10498  	case 238:
 10499  		yyDollar = yyS[yypt-1 : yypt+1]
 10500  		var yyLOCAL Expr
 10501  //line sql.y:1695
 10502  		{
 10503  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 10504  			bindVariable(yylex, yyDollar[1].str[1:])
 10505  		}
 10506  		yyVAL.union = yyLOCAL
 10507  	case 239:
 10508  		yyDollar = yyS[yypt-2 : yypt+1]
 10509  		var yyLOCAL Expr
 10510  //line sql.y:1700
 10511  		{
 10512  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)}
 10513  		}
 10514  		yyVAL.union = yyLOCAL
 10515  	case 240:
 10516  		yyDollar = yyS[yypt-2 : yypt+1]
 10517  		var yyLOCAL Expr
 10518  //line sql.y:1704
 10519  		{
 10520  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)}
 10521  		}
 10522  		yyVAL.union = yyLOCAL
 10523  	case 241:
 10524  		yyDollar = yyS[yypt-2 : yypt+1]
 10525  		var yyLOCAL Expr
 10526  //line sql.y:1708
 10527  		{
 10528  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str[2:])}
 10529  		}
 10530  		yyVAL.union = yyLOCAL
 10531  	case 242:
 10532  		yyDollar = yyS[yypt-2 : yypt+1]
 10533  		var yyLOCAL Expr
 10534  //line sql.y:1712
 10535  		{
 10536  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)}
 10537  		}
 10538  		yyVAL.union = yyLOCAL
 10539  	case 243:
 10540  		yyDollar = yyS[yypt-2 : yypt+1]
 10541  		var yyLOCAL Expr
 10542  //line sql.y:1716
 10543  		{
 10544  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].exprUnion()}
 10545  		}
 10546  		yyVAL.union = yyLOCAL
 10547  	case 244:
 10548  		yyDollar = yyS[yypt-2 : yypt+1]
 10549  		var yyLOCAL Expr
 10550  //line sql.y:1720
 10551  		{
 10552  			bindVariable(yylex, yyDollar[2].str[1:])
 10553  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])}
 10554  		}
 10555  		yyVAL.union = yyLOCAL
 10556  	case 245:
 10557  		yyDollar = yyS[yypt-2 : yypt+1]
 10558  		var yyLOCAL Expr
 10559  //line sql.y:1725
 10560  		{
 10561  			yyLOCAL = NewDateLiteral(yyDollar[2].str)
 10562  		}
 10563  		yyVAL.union = yyLOCAL
 10564  	case 246:
 10565  		yyDollar = yyS[yypt-2 : yypt+1]
 10566  		var yyLOCAL Expr
 10567  //line sql.y:1729
 10568  		{
 10569  			yyLOCAL = NewTimeLiteral(yyDollar[2].str)
 10570  		}
 10571  		yyVAL.union = yyLOCAL
 10572  	case 247:
 10573  		yyDollar = yyS[yypt-2 : yypt+1]
 10574  		var yyLOCAL Expr
 10575  //line sql.y:1733
 10576  		{
 10577  			yyLOCAL = NewTimestampLiteral(yyDollar[2].str)
 10578  		}
 10579  		yyVAL.union = yyLOCAL
 10580  	case 248:
 10581  		yyDollar = yyS[yypt-1 : yypt+1]
 10582  //line sql.y:1739
 10583  		{
 10584  			yyVAL.str = Armscii8Str
 10585  		}
 10586  	case 249:
 10587  		yyDollar = yyS[yypt-1 : yypt+1]
 10588  //line sql.y:1743
 10589  		{
 10590  			yyVAL.str = ASCIIStr
 10591  		}
 10592  	case 250:
 10593  		yyDollar = yyS[yypt-1 : yypt+1]
 10594  //line sql.y:1747
 10595  		{
 10596  			yyVAL.str = Big5Str
 10597  		}
 10598  	case 251:
 10599  		yyDollar = yyS[yypt-1 : yypt+1]
 10600  //line sql.y:1751
 10601  		{
 10602  			yyVAL.str = UBinaryStr
 10603  		}
 10604  	case 252:
 10605  		yyDollar = yyS[yypt-1 : yypt+1]
 10606  //line sql.y:1755
 10607  		{
 10608  			yyVAL.str = Cp1250Str
 10609  		}
 10610  	case 253:
 10611  		yyDollar = yyS[yypt-1 : yypt+1]
 10612  //line sql.y:1759
 10613  		{
 10614  			yyVAL.str = Cp1251Str
 10615  		}
 10616  	case 254:
 10617  		yyDollar = yyS[yypt-1 : yypt+1]
 10618  //line sql.y:1763
 10619  		{
 10620  			yyVAL.str = Cp1256Str
 10621  		}
 10622  	case 255:
 10623  		yyDollar = yyS[yypt-1 : yypt+1]
 10624  //line sql.y:1767
 10625  		{
 10626  			yyVAL.str = Cp1257Str
 10627  		}
 10628  	case 256:
 10629  		yyDollar = yyS[yypt-1 : yypt+1]
 10630  //line sql.y:1771
 10631  		{
 10632  			yyVAL.str = Cp850Str
 10633  		}
 10634  	case 257:
 10635  		yyDollar = yyS[yypt-1 : yypt+1]
 10636  //line sql.y:1775
 10637  		{
 10638  			yyVAL.str = Cp852Str
 10639  		}
 10640  	case 258:
 10641  		yyDollar = yyS[yypt-1 : yypt+1]
 10642  //line sql.y:1779
 10643  		{
 10644  			yyVAL.str = Cp866Str
 10645  		}
 10646  	case 259:
 10647  		yyDollar = yyS[yypt-1 : yypt+1]
 10648  //line sql.y:1783
 10649  		{
 10650  			yyVAL.str = Cp932Str
 10651  		}
 10652  	case 260:
 10653  		yyDollar = yyS[yypt-1 : yypt+1]
 10654  //line sql.y:1787
 10655  		{
 10656  			yyVAL.str = Dec8Str
 10657  		}
 10658  	case 261:
 10659  		yyDollar = yyS[yypt-1 : yypt+1]
 10660  //line sql.y:1791
 10661  		{
 10662  			yyVAL.str = EucjpmsStr
 10663  		}
 10664  	case 262:
 10665  		yyDollar = yyS[yypt-1 : yypt+1]
 10666  //line sql.y:1795
 10667  		{
 10668  			yyVAL.str = EuckrStr
 10669  		}
 10670  	case 263:
 10671  		yyDollar = yyS[yypt-1 : yypt+1]
 10672  //line sql.y:1799
 10673  		{
 10674  			yyVAL.str = Gb18030Str
 10675  		}
 10676  	case 264:
 10677  		yyDollar = yyS[yypt-1 : yypt+1]
 10678  //line sql.y:1803
 10679  		{
 10680  			yyVAL.str = Gb2312Str
 10681  		}
 10682  	case 265:
 10683  		yyDollar = yyS[yypt-1 : yypt+1]
 10684  //line sql.y:1807
 10685  		{
 10686  			yyVAL.str = GbkStr
 10687  		}
 10688  	case 266:
 10689  		yyDollar = yyS[yypt-1 : yypt+1]
 10690  //line sql.y:1811
 10691  		{
 10692  			yyVAL.str = Geostd8Str
 10693  		}
 10694  	case 267:
 10695  		yyDollar = yyS[yypt-1 : yypt+1]
 10696  //line sql.y:1815
 10697  		{
 10698  			yyVAL.str = GreekStr
 10699  		}
 10700  	case 268:
 10701  		yyDollar = yyS[yypt-1 : yypt+1]
 10702  //line sql.y:1819
 10703  		{
 10704  			yyVAL.str = HebrewStr
 10705  		}
 10706  	case 269:
 10707  		yyDollar = yyS[yypt-1 : yypt+1]
 10708  //line sql.y:1823
 10709  		{
 10710  			yyVAL.str = Hp8Str
 10711  		}
 10712  	case 270:
 10713  		yyDollar = yyS[yypt-1 : yypt+1]
 10714  //line sql.y:1827
 10715  		{
 10716  			yyVAL.str = Keybcs2Str
 10717  		}
 10718  	case 271:
 10719  		yyDollar = yyS[yypt-1 : yypt+1]
 10720  //line sql.y:1831
 10721  		{
 10722  			yyVAL.str = Koi8rStr
 10723  		}
 10724  	case 272:
 10725  		yyDollar = yyS[yypt-1 : yypt+1]
 10726  //line sql.y:1835
 10727  		{
 10728  			yyVAL.str = Koi8uStr
 10729  		}
 10730  	case 273:
 10731  		yyDollar = yyS[yypt-1 : yypt+1]
 10732  //line sql.y:1839
 10733  		{
 10734  			yyVAL.str = Latin1Str
 10735  		}
 10736  	case 274:
 10737  		yyDollar = yyS[yypt-1 : yypt+1]
 10738  //line sql.y:1843
 10739  		{
 10740  			yyVAL.str = Latin2Str
 10741  		}
 10742  	case 275:
 10743  		yyDollar = yyS[yypt-1 : yypt+1]
 10744  //line sql.y:1847
 10745  		{
 10746  			yyVAL.str = Latin5Str
 10747  		}
 10748  	case 276:
 10749  		yyDollar = yyS[yypt-1 : yypt+1]
 10750  //line sql.y:1851
 10751  		{
 10752  			yyVAL.str = Latin7Str
 10753  		}
 10754  	case 277:
 10755  		yyDollar = yyS[yypt-1 : yypt+1]
 10756  //line sql.y:1855
 10757  		{
 10758  			yyVAL.str = MacceStr
 10759  		}
 10760  	case 278:
 10761  		yyDollar = yyS[yypt-1 : yypt+1]
 10762  //line sql.y:1859
 10763  		{
 10764  			yyVAL.str = MacromanStr
 10765  		}
 10766  	case 279:
 10767  		yyDollar = yyS[yypt-1 : yypt+1]
 10768  //line sql.y:1863
 10769  		{
 10770  			yyVAL.str = SjisStr
 10771  		}
 10772  	case 280:
 10773  		yyDollar = yyS[yypt-1 : yypt+1]
 10774  //line sql.y:1867
 10775  		{
 10776  			yyVAL.str = Swe7Str
 10777  		}
 10778  	case 281:
 10779  		yyDollar = yyS[yypt-1 : yypt+1]
 10780  //line sql.y:1871
 10781  		{
 10782  			yyVAL.str = Tis620Str
 10783  		}
 10784  	case 282:
 10785  		yyDollar = yyS[yypt-1 : yypt+1]
 10786  //line sql.y:1875
 10787  		{
 10788  			yyVAL.str = Ucs2Str
 10789  		}
 10790  	case 283:
 10791  		yyDollar = yyS[yypt-1 : yypt+1]
 10792  //line sql.y:1879
 10793  		{
 10794  			yyVAL.str = UjisStr
 10795  		}
 10796  	case 284:
 10797  		yyDollar = yyS[yypt-1 : yypt+1]
 10798  //line sql.y:1883
 10799  		{
 10800  			yyVAL.str = Utf16Str
 10801  		}
 10802  	case 285:
 10803  		yyDollar = yyS[yypt-1 : yypt+1]
 10804  //line sql.y:1887
 10805  		{
 10806  			yyVAL.str = Utf16leStr
 10807  		}
 10808  	case 286:
 10809  		yyDollar = yyS[yypt-1 : yypt+1]
 10810  //line sql.y:1891
 10811  		{
 10812  			yyVAL.str = Utf32Str
 10813  		}
 10814  	case 287:
 10815  		yyDollar = yyS[yypt-1 : yypt+1]
 10816  //line sql.y:1895
 10817  		{
 10818  			yyVAL.str = Utf8Str
 10819  		}
 10820  	case 288:
 10821  		yyDollar = yyS[yypt-1 : yypt+1]
 10822  //line sql.y:1899
 10823  		{
 10824  			yyVAL.str = Utf8mb4Str
 10825  		}
 10826  	case 289:
 10827  		yyDollar = yyS[yypt-1 : yypt+1]
 10828  //line sql.y:1903
 10829  		{
 10830  			yyVAL.str = Utf8Str
 10831  		}
 10832  	case 292:
 10833  		yyDollar = yyS[yypt-1 : yypt+1]
 10834  		var yyLOCAL Expr
 10835  //line sql.y:1913
 10836  		{
 10837  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
 10838  		}
 10839  		yyVAL.union = yyLOCAL
 10840  	case 293:
 10841  		yyDollar = yyS[yypt-1 : yypt+1]
 10842  		var yyLOCAL Expr
 10843  //line sql.y:1917
 10844  		{
 10845  			yyLOCAL = NewFloatLiteral(yyDollar[1].str)
 10846  		}
 10847  		yyVAL.union = yyLOCAL
 10848  	case 294:
 10849  		yyDollar = yyS[yypt-1 : yypt+1]
 10850  		var yyLOCAL Expr
 10851  //line sql.y:1921
 10852  		{
 10853  			yyLOCAL = NewDecimalLiteral(yyDollar[1].str)
 10854  		}
 10855  		yyVAL.union = yyLOCAL
 10856  	case 295:
 10857  		yyDollar = yyS[yypt-1 : yypt+1]
 10858  		var yyLOCAL Expr
 10859  //line sql.y:1927
 10860  		{
 10861  			yyLOCAL = NewStrLiteral(yyDollar[1].str)
 10862  		}
 10863  		yyVAL.union = yyLOCAL
 10864  	case 296:
 10865  		yyDollar = yyS[yypt-1 : yypt+1]
 10866  		var yyLOCAL Expr
 10867  //line sql.y:1931
 10868  		{
 10869  			yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)}
 10870  		}
 10871  		yyVAL.union = yyLOCAL
 10872  	case 297:
 10873  		yyDollar = yyS[yypt-2 : yypt+1]
 10874  		var yyLOCAL Expr
 10875  //line sql.y:1935
 10876  		{
 10877  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)}
 10878  		}
 10879  		yyVAL.union = yyLOCAL
 10880  	case 298:
 10881  		yyDollar = yyS[yypt-1 : yypt+1]
 10882  		var yyLOCAL Expr
 10883  //line sql.y:1941
 10884  		{
 10885  			yyLOCAL = yyDollar[1].exprUnion()
 10886  		}
 10887  		yyVAL.union = yyLOCAL
 10888  	case 299:
 10889  		yyDollar = yyS[yypt-1 : yypt+1]
 10890  		var yyLOCAL Expr
 10891  //line sql.y:1945
 10892  		{
 10893  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 10894  			bindVariable(yylex, yyDollar[1].str[1:])
 10895  		}
 10896  		yyVAL.union = yyLOCAL
 10897  	case 300:
 10898  		yyDollar = yyS[yypt-2 : yypt+1]
 10899  		var yyLOCAL ColumnKeyOption
 10900  //line sql.y:1952
 10901  		{
 10902  			yyLOCAL = ColKeyPrimary
 10903  		}
 10904  		yyVAL.union = yyLOCAL
 10905  	case 301:
 10906  		yyDollar = yyS[yypt-1 : yypt+1]
 10907  		var yyLOCAL ColumnKeyOption
 10908  //line sql.y:1956
 10909  		{
 10910  			yyLOCAL = ColKeyUnique
 10911  		}
 10912  		yyVAL.union = yyLOCAL
 10913  	case 302:
 10914  		yyDollar = yyS[yypt-2 : yypt+1]
 10915  		var yyLOCAL ColumnKeyOption
 10916  //line sql.y:1960
 10917  		{
 10918  			yyLOCAL = ColKeyUniqueKey
 10919  		}
 10920  		yyVAL.union = yyLOCAL
 10921  	case 303:
 10922  		yyDollar = yyS[yypt-1 : yypt+1]
 10923  		var yyLOCAL ColumnKeyOption
 10924  //line sql.y:1964
 10925  		{
 10926  			yyLOCAL = ColKey
 10927  		}
 10928  		yyVAL.union = yyLOCAL
 10929  	case 304:
 10930  		yyDollar = yyS[yypt-3 : yypt+1]
 10931  //line sql.y:1970
 10932  		{
 10933  			yyVAL.columnType = yyDollar[1].columnType
 10934  			yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion()
 10935  			yyVAL.columnType.Zerofill = yyDollar[3].booleanUnion()
 10936  		}
 10937  	case 308:
 10938  		yyDollar = yyS[yypt-2 : yypt+1]
 10939  //line sql.y:1981
 10940  		{
 10941  			yyVAL.columnType = yyDollar[1].columnType
 10942  			yyVAL.columnType.Length = yyDollar[2].literalUnion()
 10943  		}
 10944  	case 309:
 10945  		yyDollar = yyS[yypt-1 : yypt+1]
 10946  //line sql.y:1986
 10947  		{
 10948  			yyVAL.columnType = yyDollar[1].columnType
 10949  		}
 10950  	case 310:
 10951  		yyDollar = yyS[yypt-1 : yypt+1]
 10952  //line sql.y:1992
 10953  		{
 10954  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10955  		}
 10956  	case 311:
 10957  		yyDollar = yyS[yypt-1 : yypt+1]
 10958  //line sql.y:1996
 10959  		{
 10960  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10961  		}
 10962  	case 312:
 10963  		yyDollar = yyS[yypt-1 : yypt+1]
 10964  //line sql.y:2000
 10965  		{
 10966  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10967  		}
 10968  	case 313:
 10969  		yyDollar = yyS[yypt-1 : yypt+1]
 10970  //line sql.y:2004
 10971  		{
 10972  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10973  		}
 10974  	case 314:
 10975  		yyDollar = yyS[yypt-1 : yypt+1]
 10976  //line sql.y:2008
 10977  		{
 10978  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10979  		}
 10980  	case 315:
 10981  		yyDollar = yyS[yypt-1 : yypt+1]
 10982  //line sql.y:2012
 10983  		{
 10984  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10985  		}
 10986  	case 316:
 10987  		yyDollar = yyS[yypt-1 : yypt+1]
 10988  //line sql.y:2016
 10989  		{
 10990  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10991  		}
 10992  	case 317:
 10993  		yyDollar = yyS[yypt-1 : yypt+1]
 10994  //line sql.y:2020
 10995  		{
 10996  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 10997  		}
 10998  	case 318:
 10999  		yyDollar = yyS[yypt-1 : yypt+1]
 11000  //line sql.y:2024
 11001  		{
 11002  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11003  		}
 11004  	case 319:
 11005  		yyDollar = yyS[yypt-2 : yypt+1]
 11006  //line sql.y:2030
 11007  		{
 11008  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11009  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11010  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11011  		}
 11012  	case 320:
 11013  		yyDollar = yyS[yypt-2 : yypt+1]
 11014  //line sql.y:2036
 11015  		{
 11016  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11017  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11018  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11019  		}
 11020  	case 321:
 11021  		yyDollar = yyS[yypt-2 : yypt+1]
 11022  //line sql.y:2042
 11023  		{
 11024  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11025  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11026  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11027  		}
 11028  	case 322:
 11029  		yyDollar = yyS[yypt-2 : yypt+1]
 11030  //line sql.y:2048
 11031  		{
 11032  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11033  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11034  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11035  		}
 11036  	case 323:
 11037  		yyDollar = yyS[yypt-2 : yypt+1]
 11038  //line sql.y:2054
 11039  		{
 11040  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11041  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11042  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11043  		}
 11044  	case 324:
 11045  		yyDollar = yyS[yypt-2 : yypt+1]
 11046  //line sql.y:2060
 11047  		{
 11048  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11049  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11050  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11051  		}
 11052  	case 325:
 11053  		yyDollar = yyS[yypt-2 : yypt+1]
 11054  //line sql.y:2066
 11055  		{
 11056  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11057  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11058  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11059  		}
 11060  	case 326:
 11061  		yyDollar = yyS[yypt-1 : yypt+1]
 11062  //line sql.y:2074
 11063  		{
 11064  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11065  		}
 11066  	case 327:
 11067  		yyDollar = yyS[yypt-2 : yypt+1]
 11068  //line sql.y:2078
 11069  		{
 11070  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11071  		}
 11072  	case 328:
 11073  		yyDollar = yyS[yypt-2 : yypt+1]
 11074  //line sql.y:2082
 11075  		{
 11076  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11077  		}
 11078  	case 329:
 11079  		yyDollar = yyS[yypt-2 : yypt+1]
 11080  //line sql.y:2086
 11081  		{
 11082  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11083  		}
 11084  	case 330:
 11085  		yyDollar = yyS[yypt-2 : yypt+1]
 11086  //line sql.y:2090
 11087  		{
 11088  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11089  		}
 11090  	case 331:
 11091  		yyDollar = yyS[yypt-3 : yypt+1]
 11092  //line sql.y:2096
 11093  		{
 11094  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset}
 11095  		}
 11096  	case 332:
 11097  		yyDollar = yyS[yypt-3 : yypt+1]
 11098  //line sql.y:2100
 11099  		{
 11100  			// CHAR BYTE is an alias for binary. See also:
 11101  			// https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html
 11102  			yyVAL.columnType = &ColumnType{Type: "binary", Length: yyDollar[2].literalUnion()}
 11103  		}
 11104  	case 333:
 11105  		yyDollar = yyS[yypt-3 : yypt+1]
 11106  //line sql.y:2106
 11107  		{
 11108  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset}
 11109  		}
 11110  	case 334:
 11111  		yyDollar = yyS[yypt-2 : yypt+1]
 11112  //line sql.y:2110
 11113  		{
 11114  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11115  		}
 11116  	case 335:
 11117  		yyDollar = yyS[yypt-2 : yypt+1]
 11118  //line sql.y:2114
 11119  		{
 11120  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11121  		}
 11122  	case 336:
 11123  		yyDollar = yyS[yypt-2 : yypt+1]
 11124  //line sql.y:2118
 11125  		{
 11126  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11127  		}
 11128  	case 337:
 11129  		yyDollar = yyS[yypt-2 : yypt+1]
 11130  //line sql.y:2122
 11131  		{
 11132  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11133  		}
 11134  	case 338:
 11135  		yyDollar = yyS[yypt-2 : yypt+1]
 11136  //line sql.y:2126
 11137  		{
 11138  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11139  		}
 11140  	case 339:
 11141  		yyDollar = yyS[yypt-2 : yypt+1]
 11142  //line sql.y:2130
 11143  		{
 11144  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11145  		}
 11146  	case 340:
 11147  		yyDollar = yyS[yypt-1 : yypt+1]
 11148  //line sql.y:2134
 11149  		{
 11150  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11151  		}
 11152  	case 341:
 11153  		yyDollar = yyS[yypt-1 : yypt+1]
 11154  //line sql.y:2138
 11155  		{
 11156  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11157  		}
 11158  	case 342:
 11159  		yyDollar = yyS[yypt-1 : yypt+1]
 11160  //line sql.y:2142
 11161  		{
 11162  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11163  		}
 11164  	case 343:
 11165  		yyDollar = yyS[yypt-1 : yypt+1]
 11166  //line sql.y:2146
 11167  		{
 11168  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11169  		}
 11170  	case 344:
 11171  		yyDollar = yyS[yypt-1 : yypt+1]
 11172  //line sql.y:2150
 11173  		{
 11174  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11175  		}
 11176  	case 345:
 11177  		yyDollar = yyS[yypt-5 : yypt+1]
 11178  //line sql.y:2154
 11179  		{
 11180  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
 11181  		}
 11182  	case 346:
 11183  		yyDollar = yyS[yypt-5 : yypt+1]
 11184  //line sql.y:2159
 11185  		{
 11186  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
 11187  		}
 11188  	case 347:
 11189  		yyDollar = yyS[yypt-1 : yypt+1]
 11190  //line sql.y:2165
 11191  		{
 11192  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11193  		}
 11194  	case 348:
 11195  		yyDollar = yyS[yypt-1 : yypt+1]
 11196  //line sql.y:2169
 11197  		{
 11198  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11199  		}
 11200  	case 349:
 11201  		yyDollar = yyS[yypt-1 : yypt+1]
 11202  //line sql.y:2173
 11203  		{
 11204  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11205  		}
 11206  	case 350:
 11207  		yyDollar = yyS[yypt-1 : yypt+1]
 11208  //line sql.y:2177
 11209  		{
 11210  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11211  		}
 11212  	case 351:
 11213  		yyDollar = yyS[yypt-1 : yypt+1]
 11214  //line sql.y:2181
 11215  		{
 11216  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11217  		}
 11218  	case 352:
 11219  		yyDollar = yyS[yypt-1 : yypt+1]
 11220  //line sql.y:2185
 11221  		{
 11222  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11223  		}
 11224  	case 353:
 11225  		yyDollar = yyS[yypt-1 : yypt+1]
 11226  //line sql.y:2189
 11227  		{
 11228  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11229  		}
 11230  	case 354:
 11231  		yyDollar = yyS[yypt-1 : yypt+1]
 11232  //line sql.y:2193
 11233  		{
 11234  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11235  		}
 11236  	case 355:
 11237  		yyDollar = yyS[yypt-1 : yypt+1]
 11238  //line sql.y:2199
 11239  		{
 11240  			yyVAL.strs = make([]string, 0, 4)
 11241  			yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str))
 11242  		}
 11243  	case 356:
 11244  		yyDollar = yyS[yypt-3 : yypt+1]
 11245  //line sql.y:2204
 11246  		{
 11247  			yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str))
 11248  		}
 11249  	case 357:
 11250  		yyDollar = yyS[yypt-0 : yypt+1]
 11251  		var yyLOCAL *Literal
 11252  //line sql.y:2209
 11253  		{
 11254  			yyLOCAL = nil
 11255  		}
 11256  		yyVAL.union = yyLOCAL
 11257  	case 358:
 11258  		yyDollar = yyS[yypt-3 : yypt+1]
 11259  		var yyLOCAL *Literal
 11260  //line sql.y:2213
 11261  		{
 11262  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
 11263  		}
 11264  		yyVAL.union = yyLOCAL
 11265  	case 359:
 11266  		yyDollar = yyS[yypt-0 : yypt+1]
 11267  //line sql.y:2218
 11268  		{
 11269  			yyVAL.LengthScaleOption = LengthScaleOption{}
 11270  		}
 11271  	case 360:
 11272  		yyDollar = yyS[yypt-5 : yypt+1]
 11273  //line sql.y:2222
 11274  		{
 11275  			yyVAL.LengthScaleOption = LengthScaleOption{
 11276  				Length: NewIntLiteral(yyDollar[2].str),
 11277  				Scale:  NewIntLiteral(yyDollar[4].str),
 11278  			}
 11279  		}
 11280  	case 361:
 11281  		yyDollar = yyS[yypt-1 : yypt+1]
 11282  //line sql.y:2231
 11283  		{
 11284  			yyVAL.LengthScaleOption = yyDollar[1].LengthScaleOption
 11285  		}
 11286  	case 362:
 11287  		yyDollar = yyS[yypt-3 : yypt+1]
 11288  //line sql.y:2235
 11289  		{
 11290  			yyVAL.LengthScaleOption = LengthScaleOption{
 11291  				Length: NewIntLiteral(yyDollar[2].str),
 11292  			}
 11293  		}
 11294  	case 363:
 11295  		yyDollar = yyS[yypt-0 : yypt+1]
 11296  //line sql.y:2242
 11297  		{
 11298  			yyVAL.LengthScaleOption = LengthScaleOption{}
 11299  		}
 11300  	case 364:
 11301  		yyDollar = yyS[yypt-3 : yypt+1]
 11302  //line sql.y:2246
 11303  		{
 11304  			yyVAL.LengthScaleOption = LengthScaleOption{
 11305  				Length: NewIntLiteral(yyDollar[2].str),
 11306  			}
 11307  		}
 11308  	case 365:
 11309  		yyDollar = yyS[yypt-5 : yypt+1]
 11310  //line sql.y:2252
 11311  		{
 11312  			yyVAL.LengthScaleOption = LengthScaleOption{
 11313  				Length: NewIntLiteral(yyDollar[2].str),
 11314  				Scale:  NewIntLiteral(yyDollar[4].str),
 11315  			}
 11316  		}
 11317  	case 366:
 11318  		yyDollar = yyS[yypt-0 : yypt+1]
 11319  		var yyLOCAL bool
 11320  //line sql.y:2260
 11321  		{
 11322  			yyLOCAL = false
 11323  		}
 11324  		yyVAL.union = yyLOCAL
 11325  	case 367:
 11326  		yyDollar = yyS[yypt-1 : yypt+1]
 11327  		var yyLOCAL bool
 11328  //line sql.y:2264
 11329  		{
 11330  			yyLOCAL = true
 11331  		}
 11332  		yyVAL.union = yyLOCAL
 11333  	case 368:
 11334  		yyDollar = yyS[yypt-1 : yypt+1]
 11335  		var yyLOCAL bool
 11336  //line sql.y:2268
 11337  		{
 11338  			yyLOCAL = false
 11339  		}
 11340  		yyVAL.union = yyLOCAL
 11341  	case 369:
 11342  		yyDollar = yyS[yypt-0 : yypt+1]
 11343  		var yyLOCAL bool
 11344  //line sql.y:2273
 11345  		{
 11346  			yyLOCAL = false
 11347  		}
 11348  		yyVAL.union = yyLOCAL
 11349  	case 370:
 11350  		yyDollar = yyS[yypt-1 : yypt+1]
 11351  		var yyLOCAL bool
 11352  //line sql.y:2277
 11353  		{
 11354  			yyLOCAL = true
 11355  		}
 11356  		yyVAL.union = yyLOCAL
 11357  	case 371:
 11358  		yyDollar = yyS[yypt-0 : yypt+1]
 11359  //line sql.y:2282
 11360  		{
 11361  			yyVAL.columnCharset = ColumnCharset{}
 11362  		}
 11363  	case 372:
 11364  		yyDollar = yyS[yypt-3 : yypt+1]
 11365  //line sql.y:2286
 11366  		{
 11367  			yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].identifierCI.String()), Binary: yyDollar[3].booleanUnion()}
 11368  		}
 11369  	case 373:
 11370  		yyDollar = yyS[yypt-3 : yypt+1]
 11371  //line sql.y:2290
 11372  		{
 11373  			yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()}
 11374  		}
 11375  	case 374:
 11376  		yyDollar = yyS[yypt-2 : yypt+1]
 11377  //line sql.y:2294
 11378  		{
 11379  			yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)}
 11380  		}
 11381  	case 375:
 11382  		yyDollar = yyS[yypt-2 : yypt+1]
 11383  //line sql.y:2298
 11384  		{
 11385  			// ASCII: Shorthand for CHARACTER SET latin1.
 11386  			yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()}
 11387  		}
 11388  	case 376:
 11389  		yyDollar = yyS[yypt-2 : yypt+1]
 11390  //line sql.y:2303
 11391  		{
 11392  			// UNICODE: Shorthand for CHARACTER SET ucs2.
 11393  			yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()}
 11394  		}
 11395  	case 377:
 11396  		yyDollar = yyS[yypt-1 : yypt+1]
 11397  //line sql.y:2308
 11398  		{
 11399  			// BINARY: Shorthand for default CHARACTER SET but with binary collation
 11400  			yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true}
 11401  		}
 11402  	case 378:
 11403  		yyDollar = yyS[yypt-2 : yypt+1]
 11404  //line sql.y:2313
 11405  		{
 11406  			// BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation
 11407  			yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true}
 11408  		}
 11409  	case 379:
 11410  		yyDollar = yyS[yypt-2 : yypt+1]
 11411  //line sql.y:2318
 11412  		{
 11413  			// BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation
 11414  			yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true}
 11415  		}
 11416  	case 380:
 11417  		yyDollar = yyS[yypt-0 : yypt+1]
 11418  		var yyLOCAL bool
 11419  //line sql.y:2324
 11420  		{
 11421  			yyLOCAL = false
 11422  		}
 11423  		yyVAL.union = yyLOCAL
 11424  	case 381:
 11425  		yyDollar = yyS[yypt-1 : yypt+1]
 11426  		var yyLOCAL bool
 11427  //line sql.y:2328
 11428  		{
 11429  			yyLOCAL = true
 11430  		}
 11431  		yyVAL.union = yyLOCAL
 11432  	case 382:
 11433  		yyDollar = yyS[yypt-0 : yypt+1]
 11434  //line sql.y:2333
 11435  		{
 11436  			yyVAL.str = ""
 11437  		}
 11438  	case 383:
 11439  		yyDollar = yyS[yypt-2 : yypt+1]
 11440  //line sql.y:2337
 11441  		{
 11442  			yyVAL.str = string(yyDollar[2].identifierCI.String())
 11443  		}
 11444  	case 384:
 11445  		yyDollar = yyS[yypt-2 : yypt+1]
 11446  //line sql.y:2341
 11447  		{
 11448  			yyVAL.str = encodeSQLString(yyDollar[2].str)
 11449  		}
 11450  	case 385:
 11451  		yyDollar = yyS[yypt-5 : yypt+1]
 11452  		var yyLOCAL *IndexDefinition
 11453  //line sql.y:2347
 11454  		{
 11455  			yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()}
 11456  		}
 11457  		yyVAL.union = yyLOCAL
 11458  	case 386:
 11459  		yyDollar = yyS[yypt-0 : yypt+1]
 11460  		var yyLOCAL []*IndexOption
 11461  //line sql.y:2352
 11462  		{
 11463  			yyLOCAL = nil
 11464  		}
 11465  		yyVAL.union = yyLOCAL
 11466  	case 387:
 11467  		yyDollar = yyS[yypt-1 : yypt+1]
 11468  		var yyLOCAL []*IndexOption
 11469  //line sql.y:2356
 11470  		{
 11471  			yyLOCAL = yyDollar[1].indexOptionsUnion()
 11472  		}
 11473  		yyVAL.union = yyLOCAL
 11474  	case 388:
 11475  		yyDollar = yyS[yypt-1 : yypt+1]
 11476  		var yyLOCAL []*IndexOption
 11477  //line sql.y:2362
 11478  		{
 11479  			yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
 11480  		}
 11481  		yyVAL.union = yyLOCAL
 11482  	case 389:
 11483  		yyDollar = yyS[yypt-2 : yypt+1]
 11484  //line sql.y:2366
 11485  		{
 11486  			yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union))
 11487  			*yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion())
 11488  		}
 11489  	case 390:
 11490  		yyDollar = yyS[yypt-1 : yypt+1]
 11491  		var yyLOCAL *IndexOption
 11492  //line sql.y:2372
 11493  		{
 11494  			yyLOCAL = yyDollar[1].indexOptionUnion()
 11495  		}
 11496  		yyVAL.union = yyLOCAL
 11497  	case 391:
 11498  		yyDollar = yyS[yypt-3 : yypt+1]
 11499  		var yyLOCAL *IndexOption
 11500  //line sql.y:2376
 11501  		{
 11502  			// should not be string
 11503  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 11504  		}
 11505  		yyVAL.union = yyLOCAL
 11506  	case 392:
 11507  		yyDollar = yyS[yypt-2 : yypt+1]
 11508  		var yyLOCAL *IndexOption
 11509  //line sql.y:2381
 11510  		{
 11511  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)}
 11512  		}
 11513  		yyVAL.union = yyLOCAL
 11514  	case 393:
 11515  		yyDollar = yyS[yypt-1 : yypt+1]
 11516  		var yyLOCAL *IndexOption
 11517  //line sql.y:2385
 11518  		{
 11519  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
 11520  		}
 11521  		yyVAL.union = yyLOCAL
 11522  	case 394:
 11523  		yyDollar = yyS[yypt-1 : yypt+1]
 11524  		var yyLOCAL *IndexOption
 11525  //line sql.y:2389
 11526  		{
 11527  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
 11528  		}
 11529  		yyVAL.union = yyLOCAL
 11530  	case 395:
 11531  		yyDollar = yyS[yypt-3 : yypt+1]
 11532  		var yyLOCAL *IndexOption
 11533  //line sql.y:2393
 11534  		{
 11535  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].identifierCI.String()}
 11536  		}
 11537  		yyVAL.union = yyLOCAL
 11538  	case 396:
 11539  		yyDollar = yyS[yypt-3 : yypt+1]
 11540  		var yyLOCAL *IndexOption
 11541  //line sql.y:2397
 11542  		{
 11543  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 11544  		}
 11545  		yyVAL.union = yyLOCAL
 11546  	case 397:
 11547  		yyDollar = yyS[yypt-3 : yypt+1]
 11548  		var yyLOCAL *IndexOption
 11549  //line sql.y:2401
 11550  		{
 11551  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 11552  		}
 11553  		yyVAL.union = yyLOCAL
 11554  	case 398:
 11555  		yyDollar = yyS[yypt-0 : yypt+1]
 11556  //line sql.y:2407
 11557  		{
 11558  			yyVAL.str = ""
 11559  		}
 11560  	case 399:
 11561  		yyDollar = yyS[yypt-1 : yypt+1]
 11562  //line sql.y:2411
 11563  		{
 11564  			yyVAL.str = string(yyDollar[1].str)
 11565  		}
 11566  	case 400:
 11567  		yyDollar = yyS[yypt-4 : yypt+1]
 11568  		var yyLOCAL *IndexInfo
 11569  //line sql.y:2417
 11570  		{
 11571  			yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI("PRIMARY"), Primary: true, Unique: true}
 11572  		}
 11573  		yyVAL.union = yyLOCAL
 11574  	case 401:
 11575  		yyDollar = yyS[yypt-3 : yypt+1]
 11576  		var yyLOCAL *IndexInfo
 11577  //line sql.y:2421
 11578  		{
 11579  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewIdentifierCI(yyDollar[3].str), Spatial: true, Unique: false}
 11580  		}
 11581  		yyVAL.union = yyLOCAL
 11582  	case 402:
 11583  		yyDollar = yyS[yypt-3 : yypt+1]
 11584  		var yyLOCAL *IndexInfo
 11585  //line sql.y:2425
 11586  		{
 11587  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewIdentifierCI(yyDollar[3].str), Fulltext: true, Unique: false}
 11588  		}
 11589  		yyVAL.union = yyLOCAL
 11590  	case 403:
 11591  		yyDollar = yyS[yypt-4 : yypt+1]
 11592  		var yyLOCAL *IndexInfo
 11593  //line sql.y:2429
 11594  		{
 11595  			yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[4].str), Unique: true}
 11596  		}
 11597  		yyVAL.union = yyLOCAL
 11598  	case 404:
 11599  		yyDollar = yyS[yypt-2 : yypt+1]
 11600  		var yyLOCAL *IndexInfo
 11601  //line sql.y:2433
 11602  		{
 11603  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[2].str), Unique: false}
 11604  		}
 11605  		yyVAL.union = yyLOCAL
 11606  	case 405:
 11607  		yyDollar = yyS[yypt-0 : yypt+1]
 11608  //line sql.y:2438
 11609  		{
 11610  			yyVAL.str = ""
 11611  		}
 11612  	case 406:
 11613  		yyDollar = yyS[yypt-2 : yypt+1]
 11614  //line sql.y:2442
 11615  		{
 11616  			yyVAL.str = yyDollar[2].str
 11617  		}
 11618  	case 407:
 11619  		yyDollar = yyS[yypt-1 : yypt+1]
 11620  //line sql.y:2448
 11621  		{
 11622  			yyVAL.str = string(yyDollar[1].str)
 11623  		}
 11624  	case 408:
 11625  		yyDollar = yyS[yypt-1 : yypt+1]
 11626  //line sql.y:2452
 11627  		{
 11628  			yyVAL.str = string(yyDollar[1].str)
 11629  		}
 11630  	case 409:
 11631  		yyDollar = yyS[yypt-1 : yypt+1]
 11632  //line sql.y:2456
 11633  		{
 11634  			yyVAL.str = string(yyDollar[1].str)
 11635  		}
 11636  	case 410:
 11637  		yyDollar = yyS[yypt-1 : yypt+1]
 11638  //line sql.y:2462
 11639  		{
 11640  			yyVAL.str = string(yyDollar[1].str)
 11641  		}
 11642  	case 411:
 11643  		yyDollar = yyS[yypt-1 : yypt+1]
 11644  //line sql.y:2466
 11645  		{
 11646  			yyVAL.str = string(yyDollar[1].str)
 11647  		}
 11648  	case 412:
 11649  		yyDollar = yyS[yypt-0 : yypt+1]
 11650  //line sql.y:2471
 11651  		{
 11652  			yyVAL.str = "key"
 11653  		}
 11654  	case 413:
 11655  		yyDollar = yyS[yypt-1 : yypt+1]
 11656  //line sql.y:2475
 11657  		{
 11658  			yyVAL.str = yyDollar[1].str
 11659  		}
 11660  	case 414:
 11661  		yyDollar = yyS[yypt-1 : yypt+1]
 11662  //line sql.y:2481
 11663  		{
 11664  			yyVAL.str = string(yyDollar[1].str)
 11665  		}
 11666  	case 415:
 11667  		yyDollar = yyS[yypt-1 : yypt+1]
 11668  //line sql.y:2485
 11669  		{
 11670  			yyVAL.str = string(yyDollar[1].str)
 11671  		}
 11672  	case 416:
 11673  		yyDollar = yyS[yypt-0 : yypt+1]
 11674  //line sql.y:2490
 11675  		{
 11676  			yyVAL.str = ""
 11677  		}
 11678  	case 417:
 11679  		yyDollar = yyS[yypt-1 : yypt+1]
 11680  //line sql.y:2494
 11681  		{
 11682  			yyVAL.str = string(yyDollar[1].identifierCI.String())
 11683  		}
 11684  	case 418:
 11685  		yyDollar = yyS[yypt-1 : yypt+1]
 11686  		var yyLOCAL []*IndexColumn
 11687  //line sql.y:2500
 11688  		{
 11689  			yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()}
 11690  		}
 11691  		yyVAL.union = yyLOCAL
 11692  	case 419:
 11693  		yyDollar = yyS[yypt-3 : yypt+1]
 11694  //line sql.y:2504
 11695  		{
 11696  			yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union))
 11697  			*yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion())
 11698  		}
 11699  	case 420:
 11700  		yyDollar = yyS[yypt-3 : yypt+1]
 11701  		var yyLOCAL *IndexColumn
 11702  //line sql.y:2510
 11703  		{
 11704  			yyLOCAL = &IndexColumn{Column: yyDollar[1].identifierCI, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()}
 11705  		}
 11706  		yyVAL.union = yyLOCAL
 11707  	case 421:
 11708  		yyDollar = yyS[yypt-4 : yypt+1]
 11709  		var yyLOCAL *IndexColumn
 11710  //line sql.y:2514
 11711  		{
 11712  			yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()}
 11713  		}
 11714  		yyVAL.union = yyLOCAL
 11715  	case 422:
 11716  		yyDollar = yyS[yypt-3 : yypt+1]
 11717  		var yyLOCAL *ConstraintDefinition
 11718  //line sql.y:2520
 11719  		{
 11720  			yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
 11721  		}
 11722  		yyVAL.union = yyLOCAL
 11723  	case 423:
 11724  		yyDollar = yyS[yypt-1 : yypt+1]
 11725  		var yyLOCAL *ConstraintDefinition
 11726  //line sql.y:2524
 11727  		{
 11728  			yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
 11729  		}
 11730  		yyVAL.union = yyLOCAL
 11731  	case 424:
 11732  		yyDollar = yyS[yypt-3 : yypt+1]
 11733  		var yyLOCAL *ConstraintDefinition
 11734  //line sql.y:2530
 11735  		{
 11736  			yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
 11737  		}
 11738  		yyVAL.union = yyLOCAL
 11739  	case 425:
 11740  		yyDollar = yyS[yypt-1 : yypt+1]
 11741  		var yyLOCAL *ConstraintDefinition
 11742  //line sql.y:2534
 11743  		{
 11744  			yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
 11745  		}
 11746  		yyVAL.union = yyLOCAL
 11747  	case 426:
 11748  		yyDollar = yyS[yypt-7 : yypt+1]
 11749  		var yyLOCAL ConstraintInfo
 11750  //line sql.y:2540
 11751  		{
 11752  			yyLOCAL = &ForeignKeyDefinition{IndexName: NewIdentifierCI(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()}
 11753  		}
 11754  		yyVAL.union = yyLOCAL
 11755  	case 427:
 11756  		yyDollar = yyS[yypt-6 : yypt+1]
 11757  		var yyLOCAL *ReferenceDefinition
 11758  //line sql.y:2546
 11759  		{
 11760  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()}
 11761  		}
 11762  		yyVAL.union = yyLOCAL
 11763  	case 428:
 11764  		yyDollar = yyS[yypt-7 : yypt+1]
 11765  		var yyLOCAL *ReferenceDefinition
 11766  //line sql.y:2550
 11767  		{
 11768  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()}
 11769  		}
 11770  		yyVAL.union = yyLOCAL
 11771  	case 429:
 11772  		yyDollar = yyS[yypt-7 : yypt+1]
 11773  		var yyLOCAL *ReferenceDefinition
 11774  //line sql.y:2554
 11775  		{
 11776  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()}
 11777  		}
 11778  		yyVAL.union = yyLOCAL
 11779  	case 430:
 11780  		yyDollar = yyS[yypt-8 : yypt+1]
 11781  		var yyLOCAL *ReferenceDefinition
 11782  //line sql.y:2558
 11783  		{
 11784  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()}
 11785  		}
 11786  		yyVAL.union = yyLOCAL
 11787  	case 431:
 11788  		yyDollar = yyS[yypt-8 : yypt+1]
 11789  		var yyLOCAL *ReferenceDefinition
 11790  //line sql.y:2562
 11791  		{
 11792  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()}
 11793  		}
 11794  		yyVAL.union = yyLOCAL
 11795  	case 432:
 11796  		yyDollar = yyS[yypt-0 : yypt+1]
 11797  		var yyLOCAL *ReferenceDefinition
 11798  //line sql.y:2567
 11799  		{
 11800  			yyLOCAL = nil
 11801  		}
 11802  		yyVAL.union = yyLOCAL
 11803  	case 433:
 11804  		yyDollar = yyS[yypt-1 : yypt+1]
 11805  		var yyLOCAL *ReferenceDefinition
 11806  //line sql.y:2571
 11807  		{
 11808  			yyLOCAL = yyDollar[1].referenceDefinitionUnion()
 11809  		}
 11810  		yyVAL.union = yyLOCAL
 11811  	case 434:
 11812  		yyDollar = yyS[yypt-5 : yypt+1]
 11813  		var yyLOCAL ConstraintInfo
 11814  //line sql.y:2577
 11815  		{
 11816  			yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()}
 11817  		}
 11818  		yyVAL.union = yyLOCAL
 11819  	case 435:
 11820  		yyDollar = yyS[yypt-2 : yypt+1]
 11821  		var yyLOCAL MatchAction
 11822  //line sql.y:2583
 11823  		{
 11824  			yyLOCAL = yyDollar[2].matchActionUnion()
 11825  		}
 11826  		yyVAL.union = yyLOCAL
 11827  	case 436:
 11828  		yyDollar = yyS[yypt-1 : yypt+1]
 11829  		var yyLOCAL MatchAction
 11830  //line sql.y:2589
 11831  		{
 11832  			yyLOCAL = Full
 11833  		}
 11834  		yyVAL.union = yyLOCAL
 11835  	case 437:
 11836  		yyDollar = yyS[yypt-1 : yypt+1]
 11837  		var yyLOCAL MatchAction
 11838  //line sql.y:2593
 11839  		{
 11840  			yyLOCAL = Partial
 11841  		}
 11842  		yyVAL.union = yyLOCAL
 11843  	case 438:
 11844  		yyDollar = yyS[yypt-1 : yypt+1]
 11845  		var yyLOCAL MatchAction
 11846  //line sql.y:2597
 11847  		{
 11848  			yyLOCAL = Simple
 11849  		}
 11850  		yyVAL.union = yyLOCAL
 11851  	case 439:
 11852  		yyDollar = yyS[yypt-0 : yypt+1]
 11853  		var yyLOCAL MatchAction
 11854  //line sql.y:2602
 11855  		{
 11856  			yyLOCAL = DefaultMatch
 11857  		}
 11858  		yyVAL.union = yyLOCAL
 11859  	case 440:
 11860  		yyDollar = yyS[yypt-1 : yypt+1]
 11861  		var yyLOCAL MatchAction
 11862  //line sql.y:2606
 11863  		{
 11864  			yyLOCAL = yyDollar[1].matchActionUnion()
 11865  		}
 11866  		yyVAL.union = yyLOCAL
 11867  	case 441:
 11868  		yyDollar = yyS[yypt-3 : yypt+1]
 11869  		var yyLOCAL ReferenceAction
 11870  //line sql.y:2612
 11871  		{
 11872  			yyLOCAL = yyDollar[3].referenceActionUnion()
 11873  		}
 11874  		yyVAL.union = yyLOCAL
 11875  	case 442:
 11876  		yyDollar = yyS[yypt-3 : yypt+1]
 11877  		var yyLOCAL ReferenceAction
 11878  //line sql.y:2618
 11879  		{
 11880  			yyLOCAL = yyDollar[3].referenceActionUnion()
 11881  		}
 11882  		yyVAL.union = yyLOCAL
 11883  	case 443:
 11884  		yyDollar = yyS[yypt-1 : yypt+1]
 11885  		var yyLOCAL ReferenceAction
 11886  //line sql.y:2624
 11887  		{
 11888  			yyLOCAL = Restrict
 11889  		}
 11890  		yyVAL.union = yyLOCAL
 11891  	case 444:
 11892  		yyDollar = yyS[yypt-1 : yypt+1]
 11893  		var yyLOCAL ReferenceAction
 11894  //line sql.y:2628
 11895  		{
 11896  			yyLOCAL = Cascade
 11897  		}
 11898  		yyVAL.union = yyLOCAL
 11899  	case 445:
 11900  		yyDollar = yyS[yypt-2 : yypt+1]
 11901  		var yyLOCAL ReferenceAction
 11902  //line sql.y:2632
 11903  		{
 11904  			yyLOCAL = NoAction
 11905  		}
 11906  		yyVAL.union = yyLOCAL
 11907  	case 446:
 11908  		yyDollar = yyS[yypt-2 : yypt+1]
 11909  		var yyLOCAL ReferenceAction
 11910  //line sql.y:2636
 11911  		{
 11912  			yyLOCAL = SetDefault
 11913  		}
 11914  		yyVAL.union = yyLOCAL
 11915  	case 447:
 11916  		yyDollar = yyS[yypt-2 : yypt+1]
 11917  		var yyLOCAL ReferenceAction
 11918  //line sql.y:2640
 11919  		{
 11920  			yyLOCAL = SetNull
 11921  		}
 11922  		yyVAL.union = yyLOCAL
 11923  	case 448:
 11924  		yyDollar = yyS[yypt-0 : yypt+1]
 11925  //line sql.y:2645
 11926  		{
 11927  			yyVAL.str = ""
 11928  		}
 11929  	case 449:
 11930  		yyDollar = yyS[yypt-1 : yypt+1]
 11931  //line sql.y:2649
 11932  		{
 11933  			yyVAL.str = string(yyDollar[1].str)
 11934  		}
 11935  	case 450:
 11936  		yyDollar = yyS[yypt-1 : yypt+1]
 11937  //line sql.y:2653
 11938  		{
 11939  			yyVAL.str = string(yyDollar[1].str)
 11940  		}
 11941  	case 451:
 11942  		yyDollar = yyS[yypt-1 : yypt+1]
 11943  		var yyLOCAL bool
 11944  //line sql.y:2659
 11945  		{
 11946  			yyLOCAL = true
 11947  		}
 11948  		yyVAL.union = yyLOCAL
 11949  	case 452:
 11950  		yyDollar = yyS[yypt-2 : yypt+1]
 11951  		var yyLOCAL bool
 11952  //line sql.y:2663
 11953  		{
 11954  			yyLOCAL = false
 11955  		}
 11956  		yyVAL.union = yyLOCAL
 11957  	case 453:
 11958  		yyDollar = yyS[yypt-0 : yypt+1]
 11959  		var yyLOCAL bool
 11960  //line sql.y:2668
 11961  		{
 11962  			yyLOCAL = true
 11963  		}
 11964  		yyVAL.union = yyLOCAL
 11965  	case 454:
 11966  		yyDollar = yyS[yypt-1 : yypt+1]
 11967  		var yyLOCAL bool
 11968  //line sql.y:2672
 11969  		{
 11970  			yyLOCAL = yyDollar[1].booleanUnion()
 11971  		}
 11972  		yyVAL.union = yyLOCAL
 11973  	case 455:
 11974  		yyDollar = yyS[yypt-0 : yypt+1]
 11975  		var yyLOCAL TableOptions
 11976  //line sql.y:2677
 11977  		{
 11978  			yyLOCAL = nil
 11979  		}
 11980  		yyVAL.union = yyLOCAL
 11981  	case 456:
 11982  		yyDollar = yyS[yypt-1 : yypt+1]
 11983  		var yyLOCAL TableOptions
 11984  //line sql.y:2681
 11985  		{
 11986  			yyLOCAL = yyDollar[1].tableOptionsUnion()
 11987  		}
 11988  		yyVAL.union = yyLOCAL
 11989  	case 457:
 11990  		yyDollar = yyS[yypt-1 : yypt+1]
 11991  		var yyLOCAL TableOptions
 11992  //line sql.y:2687
 11993  		{
 11994  			yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
 11995  		}
 11996  		yyVAL.union = yyLOCAL
 11997  	case 458:
 11998  		yyDollar = yyS[yypt-3 : yypt+1]
 11999  //line sql.y:2691
 12000  		{
 12001  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
 12002  			*yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion())
 12003  		}
 12004  	case 459:
 12005  		yyDollar = yyS[yypt-2 : yypt+1]
 12006  //line sql.y:2695
 12007  		{
 12008  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
 12009  			*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
 12010  		}
 12011  	case 460:
 12012  		yyDollar = yyS[yypt-1 : yypt+1]
 12013  		var yyLOCAL TableOptions
 12014  //line sql.y:2701
 12015  		{
 12016  			yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
 12017  		}
 12018  		yyVAL.union = yyLOCAL
 12019  	case 461:
 12020  		yyDollar = yyS[yypt-2 : yypt+1]
 12021  //line sql.y:2705
 12022  		{
 12023  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
 12024  			*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
 12025  		}
 12026  	case 462:
 12027  		yyDollar = yyS[yypt-3 : yypt+1]
 12028  		var yyLOCAL *TableOption
 12029  //line sql.y:2711
 12030  		{
 12031  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12032  		}
 12033  		yyVAL.union = yyLOCAL
 12034  	case 463:
 12035  		yyDollar = yyS[yypt-3 : yypt+1]
 12036  		var yyLOCAL *TableOption
 12037  //line sql.y:2715
 12038  		{
 12039  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12040  		}
 12041  		yyVAL.union = yyLOCAL
 12042  	case 464:
 12043  		yyDollar = yyS[yypt-3 : yypt+1]
 12044  		var yyLOCAL *TableOption
 12045  //line sql.y:2719
 12046  		{
 12047  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12048  		}
 12049  		yyVAL.union = yyLOCAL
 12050  	case 465:
 12051  		yyDollar = yyS[yypt-4 : yypt+1]
 12052  		var yyLOCAL *TableOption
 12053  //line sql.y:2723
 12054  		{
 12055  			yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true}
 12056  		}
 12057  		yyVAL.union = yyLOCAL
 12058  	case 466:
 12059  		yyDollar = yyS[yypt-4 : yypt+1]
 12060  		var yyLOCAL *TableOption
 12061  //line sql.y:2727
 12062  		{
 12063  			yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true}
 12064  		}
 12065  		yyVAL.union = yyLOCAL
 12066  	case 467:
 12067  		yyDollar = yyS[yypt-3 : yypt+1]
 12068  		var yyLOCAL *TableOption
 12069  //line sql.y:2731
 12070  		{
 12071  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12072  		}
 12073  		yyVAL.union = yyLOCAL
 12074  	case 468:
 12075  		yyDollar = yyS[yypt-3 : yypt+1]
 12076  		var yyLOCAL *TableOption
 12077  //line sql.y:2735
 12078  		{
 12079  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12080  		}
 12081  		yyVAL.union = yyLOCAL
 12082  	case 469:
 12083  		yyDollar = yyS[yypt-3 : yypt+1]
 12084  		var yyLOCAL *TableOption
 12085  //line sql.y:2739
 12086  		{
 12087  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12088  		}
 12089  		yyVAL.union = yyLOCAL
 12090  	case 470:
 12091  		yyDollar = yyS[yypt-3 : yypt+1]
 12092  		var yyLOCAL *TableOption
 12093  //line sql.y:2743
 12094  		{
 12095  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12096  		}
 12097  		yyVAL.union = yyLOCAL
 12098  	case 471:
 12099  		yyDollar = yyS[yypt-4 : yypt+1]
 12100  		var yyLOCAL *TableOption
 12101  //line sql.y:2747
 12102  		{
 12103  			yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
 12104  		}
 12105  		yyVAL.union = yyLOCAL
 12106  	case 472:
 12107  		yyDollar = yyS[yypt-4 : yypt+1]
 12108  		var yyLOCAL *TableOption
 12109  //line sql.y:2751
 12110  		{
 12111  			yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
 12112  		}
 12113  		yyVAL.union = yyLOCAL
 12114  	case 473:
 12115  		yyDollar = yyS[yypt-3 : yypt+1]
 12116  		var yyLOCAL *TableOption
 12117  //line sql.y:2755
 12118  		{
 12119  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12120  		}
 12121  		yyVAL.union = yyLOCAL
 12122  	case 474:
 12123  		yyDollar = yyS[yypt-3 : yypt+1]
 12124  		var yyLOCAL *TableOption
 12125  //line sql.y:2759
 12126  		{
 12127  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12128  		}
 12129  		yyVAL.union = yyLOCAL
 12130  	case 475:
 12131  		yyDollar = yyS[yypt-3 : yypt+1]
 12132  		var yyLOCAL *TableOption
 12133  //line sql.y:2763
 12134  		{
 12135  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].identifierCS.String(), CaseSensitive: true}
 12136  		}
 12137  		yyVAL.union = yyLOCAL
 12138  	case 476:
 12139  		yyDollar = yyS[yypt-3 : yypt+1]
 12140  		var yyLOCAL *TableOption
 12141  //line sql.y:2767
 12142  		{
 12143  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12144  		}
 12145  		yyVAL.union = yyLOCAL
 12146  	case 477:
 12147  		yyDollar = yyS[yypt-3 : yypt+1]
 12148  		var yyLOCAL *TableOption
 12149  //line sql.y:2771
 12150  		{
 12151  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12152  		}
 12153  		yyVAL.union = yyLOCAL
 12154  	case 478:
 12155  		yyDollar = yyS[yypt-3 : yypt+1]
 12156  		var yyLOCAL *TableOption
 12157  //line sql.y:2775
 12158  		{
 12159  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12160  		}
 12161  		yyVAL.union = yyLOCAL
 12162  	case 479:
 12163  		yyDollar = yyS[yypt-3 : yypt+1]
 12164  		var yyLOCAL *TableOption
 12165  //line sql.y:2779
 12166  		{
 12167  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12168  		}
 12169  		yyVAL.union = yyLOCAL
 12170  	case 480:
 12171  		yyDollar = yyS[yypt-3 : yypt+1]
 12172  		var yyLOCAL *TableOption
 12173  //line sql.y:2783
 12174  		{
 12175  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12176  		}
 12177  		yyVAL.union = yyLOCAL
 12178  	case 481:
 12179  		yyDollar = yyS[yypt-3 : yypt+1]
 12180  		var yyLOCAL *TableOption
 12181  //line sql.y:2787
 12182  		{
 12183  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12184  		}
 12185  		yyVAL.union = yyLOCAL
 12186  	case 482:
 12187  		yyDollar = yyS[yypt-3 : yypt+1]
 12188  		var yyLOCAL *TableOption
 12189  //line sql.y:2791
 12190  		{
 12191  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12192  		}
 12193  		yyVAL.union = yyLOCAL
 12194  	case 483:
 12195  		yyDollar = yyS[yypt-3 : yypt+1]
 12196  		var yyLOCAL *TableOption
 12197  //line sql.y:2795
 12198  		{
 12199  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12200  		}
 12201  		yyVAL.union = yyLOCAL
 12202  	case 484:
 12203  		yyDollar = yyS[yypt-3 : yypt+1]
 12204  		var yyLOCAL *TableOption
 12205  //line sql.y:2799
 12206  		{
 12207  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12208  		}
 12209  		yyVAL.union = yyLOCAL
 12210  	case 485:
 12211  		yyDollar = yyS[yypt-3 : yypt+1]
 12212  		var yyLOCAL *TableOption
 12213  //line sql.y:2803
 12214  		{
 12215  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12216  		}
 12217  		yyVAL.union = yyLOCAL
 12218  	case 486:
 12219  		yyDollar = yyS[yypt-3 : yypt+1]
 12220  		var yyLOCAL *TableOption
 12221  //line sql.y:2807
 12222  		{
 12223  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12224  		}
 12225  		yyVAL.union = yyLOCAL
 12226  	case 487:
 12227  		yyDollar = yyS[yypt-3 : yypt+1]
 12228  		var yyLOCAL *TableOption
 12229  //line sql.y:2811
 12230  		{
 12231  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12232  		}
 12233  		yyVAL.union = yyLOCAL
 12234  	case 488:
 12235  		yyDollar = yyS[yypt-3 : yypt+1]
 12236  		var yyLOCAL *TableOption
 12237  //line sql.y:2815
 12238  		{
 12239  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12240  		}
 12241  		yyVAL.union = yyLOCAL
 12242  	case 489:
 12243  		yyDollar = yyS[yypt-3 : yypt+1]
 12244  		var yyLOCAL *TableOption
 12245  //line sql.y:2819
 12246  		{
 12247  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12248  		}
 12249  		yyVAL.union = yyLOCAL
 12250  	case 490:
 12251  		yyDollar = yyS[yypt-3 : yypt+1]
 12252  		var yyLOCAL *TableOption
 12253  //line sql.y:2823
 12254  		{
 12255  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12256  		}
 12257  		yyVAL.union = yyLOCAL
 12258  	case 491:
 12259  		yyDollar = yyS[yypt-4 : yypt+1]
 12260  		var yyLOCAL *TableOption
 12261  //line sql.y:2827
 12262  		{
 12263  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].identifierCI.String() + yyDollar[4].str)}
 12264  		}
 12265  		yyVAL.union = yyLOCAL
 12266  	case 492:
 12267  		yyDollar = yyS[yypt-5 : yypt+1]
 12268  		var yyLOCAL *TableOption
 12269  //line sql.y:2831
 12270  		{
 12271  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()}
 12272  		}
 12273  		yyVAL.union = yyLOCAL
 12274  	case 493:
 12275  		yyDollar = yyS[yypt-0 : yypt+1]
 12276  //line sql.y:2836
 12277  		{
 12278  			yyVAL.str = ""
 12279  		}
 12280  	case 494:
 12281  		yyDollar = yyS[yypt-2 : yypt+1]
 12282  //line sql.y:2840
 12283  		{
 12284  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 12285  		}
 12286  	case 495:
 12287  		yyDollar = yyS[yypt-2 : yypt+1]
 12288  //line sql.y:2844
 12289  		{
 12290  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 12291  		}
 12292  	case 505:
 12293  		yyDollar = yyS[yypt-1 : yypt+1]
 12294  //line sql.y:2863
 12295  		{
 12296  			yyVAL.str = yyDollar[1].identifierCI.String()
 12297  		}
 12298  	case 506:
 12299  		yyDollar = yyS[yypt-1 : yypt+1]
 12300  //line sql.y:2867
 12301  		{
 12302  			yyVAL.str = encodeSQLString(yyDollar[1].str)
 12303  		}
 12304  	case 507:
 12305  		yyDollar = yyS[yypt-1 : yypt+1]
 12306  //line sql.y:2871
 12307  		{
 12308  			yyVAL.str = string(yyDollar[1].str)
 12309  		}
 12310  	case 508:
 12311  		yyDollar = yyS[yypt-0 : yypt+1]
 12312  //line sql.y:2876
 12313  		{
 12314  			yyVAL.str = ""
 12315  		}
 12316  	case 510:
 12317  		yyDollar = yyS[yypt-0 : yypt+1]
 12318  		var yyLOCAL bool
 12319  //line sql.y:2882
 12320  		{
 12321  			yyLOCAL = false
 12322  		}
 12323  		yyVAL.union = yyLOCAL
 12324  	case 511:
 12325  		yyDollar = yyS[yypt-1 : yypt+1]
 12326  		var yyLOCAL bool
 12327  //line sql.y:2886
 12328  		{
 12329  			yyLOCAL = true
 12330  		}
 12331  		yyVAL.union = yyLOCAL
 12332  	case 512:
 12333  		yyDollar = yyS[yypt-0 : yypt+1]
 12334  		var yyLOCAL *ColName
 12335  //line sql.y:2891
 12336  		{
 12337  			yyLOCAL = nil
 12338  		}
 12339  		yyVAL.union = yyLOCAL
 12340  	case 513:
 12341  		yyDollar = yyS[yypt-2 : yypt+1]
 12342  		var yyLOCAL *ColName
 12343  //line sql.y:2895
 12344  		{
 12345  			yyLOCAL = yyDollar[2].colNameUnion()
 12346  		}
 12347  		yyVAL.union = yyLOCAL
 12348  	case 514:
 12349  		yyDollar = yyS[yypt-0 : yypt+1]
 12350  //line sql.y:2900
 12351  		{
 12352  			yyVAL.str = ""
 12353  		}
 12354  	case 515:
 12355  		yyDollar = yyS[yypt-2 : yypt+1]
 12356  //line sql.y:2904
 12357  		{
 12358  			yyVAL.str = string(yyDollar[2].str)
 12359  		}
 12360  	case 516:
 12361  		yyDollar = yyS[yypt-0 : yypt+1]
 12362  		var yyLOCAL *Literal
 12363  //line sql.y:2909
 12364  		{
 12365  			yyLOCAL = nil
 12366  		}
 12367  		yyVAL.union = yyLOCAL
 12368  	case 517:
 12369  		yyDollar = yyS[yypt-2 : yypt+1]
 12370  		var yyLOCAL *Literal
 12371  //line sql.y:2913
 12372  		{
 12373  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
 12374  		}
 12375  		yyVAL.union = yyLOCAL
 12376  	case 518:
 12377  		yyDollar = yyS[yypt-2 : yypt+1]
 12378  		var yyLOCAL *Literal
 12379  //line sql.y:2917
 12380  		{
 12381  			yyLOCAL = NewDecimalLiteral(yyDollar[2].str)
 12382  		}
 12383  		yyVAL.union = yyLOCAL
 12384  	case 519:
 12385  		yyDollar = yyS[yypt-0 : yypt+1]
 12386  		var yyLOCAL []AlterOption
 12387  //line sql.y:2922
 12388  		{
 12389  			yyLOCAL = nil
 12390  		}
 12391  		yyVAL.union = yyLOCAL
 12392  	case 520:
 12393  		yyDollar = yyS[yypt-1 : yypt+1]
 12394  		var yyLOCAL []AlterOption
 12395  //line sql.y:2926
 12396  		{
 12397  			yyLOCAL = yyDollar[1].alterOptionsUnion()
 12398  		}
 12399  		yyVAL.union = yyLOCAL
 12400  	case 521:
 12401  		yyDollar = yyS[yypt-5 : yypt+1]
 12402  //line sql.y:2930
 12403  		{
 12404  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12405  			*yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()})
 12406  		}
 12407  	case 522:
 12408  		yyDollar = yyS[yypt-1 : yypt+1]
 12409  		var yyLOCAL []AlterOption
 12410  //line sql.y:2934
 12411  		{
 12412  			yyLOCAL = yyDollar[1].alterOptionsUnion()
 12413  		}
 12414  		yyVAL.union = yyLOCAL
 12415  	case 523:
 12416  		yyDollar = yyS[yypt-3 : yypt+1]
 12417  //line sql.y:2938
 12418  		{
 12419  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12420  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...)
 12421  		}
 12422  	case 524:
 12423  		yyDollar = yyS[yypt-7 : yypt+1]
 12424  		var yyLOCAL []AlterOption
 12425  //line sql.y:2942
 12426  		{
 12427  			yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()})
 12428  		}
 12429  		yyVAL.union = yyLOCAL
 12430  	case 525:
 12431  		yyDollar = yyS[yypt-1 : yypt+1]
 12432  		var yyLOCAL []AlterOption
 12433  //line sql.y:2948
 12434  		{
 12435  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 12436  		}
 12437  		yyVAL.union = yyLOCAL
 12438  	case 526:
 12439  		yyDollar = yyS[yypt-3 : yypt+1]
 12440  //line sql.y:2952
 12441  		{
 12442  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12443  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
 12444  		}
 12445  	case 527:
 12446  		yyDollar = yyS[yypt-3 : yypt+1]
 12447  //line sql.y:2956
 12448  		{
 12449  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12450  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
 12451  		}
 12452  	case 528:
 12453  		yyDollar = yyS[yypt-1 : yypt+1]
 12454  		var yyLOCAL AlterOption
 12455  //line sql.y:2962
 12456  		{
 12457  			yyLOCAL = yyDollar[1].tableOptionsUnion()
 12458  		}
 12459  		yyVAL.union = yyLOCAL
 12460  	case 529:
 12461  		yyDollar = yyS[yypt-2 : yypt+1]
 12462  		var yyLOCAL AlterOption
 12463  //line sql.y:2966
 12464  		{
 12465  			yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
 12466  		}
 12467  		yyVAL.union = yyLOCAL
 12468  	case 530:
 12469  		yyDollar = yyS[yypt-2 : yypt+1]
 12470  		var yyLOCAL AlterOption
 12471  //line sql.y:2970
 12472  		{
 12473  			yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
 12474  		}
 12475  		yyVAL.union = yyLOCAL
 12476  	case 531:
 12477  		yyDollar = yyS[yypt-2 : yypt+1]
 12478  		var yyLOCAL AlterOption
 12479  //line sql.y:2974
 12480  		{
 12481  			yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()}
 12482  		}
 12483  		yyVAL.union = yyLOCAL
 12484  	case 532:
 12485  		yyDollar = yyS[yypt-5 : yypt+1]
 12486  		var yyLOCAL AlterOption
 12487  //line sql.y:2978
 12488  		{
 12489  			yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()}
 12490  		}
 12491  		yyVAL.union = yyLOCAL
 12492  	case 533:
 12493  		yyDollar = yyS[yypt-5 : yypt+1]
 12494  		var yyLOCAL AlterOption
 12495  //line sql.y:2982
 12496  		{
 12497  			yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
 12498  		}
 12499  		yyVAL.union = yyLOCAL
 12500  	case 534:
 12501  		yyDollar = yyS[yypt-5 : yypt+1]
 12502  		var yyLOCAL AlterOption
 12503  //line sql.y:2986
 12504  		{
 12505  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true}
 12506  		}
 12507  		yyVAL.union = yyLOCAL
 12508  	case 535:
 12509  		yyDollar = yyS[yypt-6 : yypt+1]
 12510  		var yyLOCAL AlterOption
 12511  //line sql.y:2990
 12512  		{
 12513  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()}
 12514  		}
 12515  		yyVAL.union = yyLOCAL
 12516  	case 536:
 12517  		yyDollar = yyS[yypt-8 : yypt+1]
 12518  		var yyLOCAL AlterOption
 12519  //line sql.y:2994
 12520  		{
 12521  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()}
 12522  		}
 12523  		yyVAL.union = yyLOCAL
 12524  	case 537:
 12525  		yyDollar = yyS[yypt-5 : yypt+1]
 12526  		var yyLOCAL AlterOption
 12527  //line sql.y:2998
 12528  		{
 12529  			val := false
 12530  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val}
 12531  		}
 12532  		yyVAL.union = yyLOCAL
 12533  	case 538:
 12534  		yyDollar = yyS[yypt-5 : yypt+1]
 12535  		var yyLOCAL AlterOption
 12536  //line sql.y:3003
 12537  		{
 12538  			val := true
 12539  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val}
 12540  		}
 12541  		yyVAL.union = yyLOCAL
 12542  	case 539:
 12543  		yyDollar = yyS[yypt-4 : yypt+1]
 12544  		var yyLOCAL AlterOption
 12545  //line sql.y:3008
 12546  		{
 12547  			yyLOCAL = &AlterCheck{Name: yyDollar[3].identifierCI, Enforced: yyDollar[4].booleanUnion()}
 12548  		}
 12549  		yyVAL.union = yyLOCAL
 12550  	case 540:
 12551  		yyDollar = yyS[yypt-4 : yypt+1]
 12552  		var yyLOCAL AlterOption
 12553  //line sql.y:3012
 12554  		{
 12555  			yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: false}
 12556  		}
 12557  		yyVAL.union = yyLOCAL
 12558  	case 541:
 12559  		yyDollar = yyS[yypt-4 : yypt+1]
 12560  		var yyLOCAL AlterOption
 12561  //line sql.y:3016
 12562  		{
 12563  			yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: true}
 12564  		}
 12565  		yyVAL.union = yyLOCAL
 12566  	case 542:
 12567  		yyDollar = yyS[yypt-6 : yypt+1]
 12568  		var yyLOCAL AlterOption
 12569  //line sql.y:3020
 12570  		{
 12571  			yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()}
 12572  		}
 12573  		yyVAL.union = yyLOCAL
 12574  	case 543:
 12575  		yyDollar = yyS[yypt-5 : yypt+1]
 12576  		var yyLOCAL AlterOption
 12577  //line sql.y:3024
 12578  		{
 12579  			yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
 12580  		}
 12581  		yyVAL.union = yyLOCAL
 12582  	case 544:
 12583  		yyDollar = yyS[yypt-5 : yypt+1]
 12584  		var yyLOCAL AlterOption
 12585  //line sql.y:3028
 12586  		{
 12587  			yyLOCAL = &RenameColumn{OldName: yyDollar[3].colNameUnion(), NewName: yyDollar[5].colNameUnion()}
 12588  		}
 12589  		yyVAL.union = yyLOCAL
 12590  	case 545:
 12591  		yyDollar = yyS[yypt-5 : yypt+1]
 12592  		var yyLOCAL AlterOption
 12593  //line sql.y:3032
 12594  		{
 12595  			yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str}
 12596  		}
 12597  		yyVAL.union = yyLOCAL
 12598  	case 546:
 12599  		yyDollar = yyS[yypt-2 : yypt+1]
 12600  		var yyLOCAL AlterOption
 12601  //line sql.y:3036
 12602  		{
 12603  			yyLOCAL = &KeyState{Enable: false}
 12604  		}
 12605  		yyVAL.union = yyLOCAL
 12606  	case 547:
 12607  		yyDollar = yyS[yypt-2 : yypt+1]
 12608  		var yyLOCAL AlterOption
 12609  //line sql.y:3040
 12610  		{
 12611  			yyLOCAL = &KeyState{Enable: true}
 12612  		}
 12613  		yyVAL.union = yyLOCAL
 12614  	case 548:
 12615  		yyDollar = yyS[yypt-2 : yypt+1]
 12616  		var yyLOCAL AlterOption
 12617  //line sql.y:3044
 12618  		{
 12619  			yyLOCAL = &TablespaceOperation{Import: false}
 12620  		}
 12621  		yyVAL.union = yyLOCAL
 12622  	case 549:
 12623  		yyDollar = yyS[yypt-2 : yypt+1]
 12624  		var yyLOCAL AlterOption
 12625  //line sql.y:3048
 12626  		{
 12627  			yyLOCAL = &TablespaceOperation{Import: true}
 12628  		}
 12629  		yyVAL.union = yyLOCAL
 12630  	case 550:
 12631  		yyDollar = yyS[yypt-3 : yypt+1]
 12632  		var yyLOCAL AlterOption
 12633  //line sql.y:3052
 12634  		{
 12635  			yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()}
 12636  		}
 12637  		yyVAL.union = yyLOCAL
 12638  	case 551:
 12639  		yyDollar = yyS[yypt-3 : yypt+1]
 12640  		var yyLOCAL AlterOption
 12641  //line sql.y:3056
 12642  		{
 12643  			yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].identifierCI}
 12644  		}
 12645  		yyVAL.union = yyLOCAL
 12646  	case 552:
 12647  		yyDollar = yyS[yypt-3 : yypt+1]
 12648  		var yyLOCAL AlterOption
 12649  //line sql.y:3060
 12650  		{
 12651  			yyLOCAL = &DropKey{Type: PrimaryKeyType}
 12652  		}
 12653  		yyVAL.union = yyLOCAL
 12654  	case 553:
 12655  		yyDollar = yyS[yypt-4 : yypt+1]
 12656  		var yyLOCAL AlterOption
 12657  //line sql.y:3064
 12658  		{
 12659  			yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].identifierCI}
 12660  		}
 12661  		yyVAL.union = yyLOCAL
 12662  	case 554:
 12663  		yyDollar = yyS[yypt-3 : yypt+1]
 12664  		var yyLOCAL AlterOption
 12665  //line sql.y:3068
 12666  		{
 12667  			yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
 12668  		}
 12669  		yyVAL.union = yyLOCAL
 12670  	case 555:
 12671  		yyDollar = yyS[yypt-3 : yypt+1]
 12672  		var yyLOCAL AlterOption
 12673  //line sql.y:3072
 12674  		{
 12675  			yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
 12676  		}
 12677  		yyVAL.union = yyLOCAL
 12678  	case 556:
 12679  		yyDollar = yyS[yypt-1 : yypt+1]
 12680  		var yyLOCAL AlterOption
 12681  //line sql.y:3076
 12682  		{
 12683  			yyLOCAL = &Force{}
 12684  		}
 12685  		yyVAL.union = yyLOCAL
 12686  	case 557:
 12687  		yyDollar = yyS[yypt-3 : yypt+1]
 12688  		var yyLOCAL AlterOption
 12689  //line sql.y:3080
 12690  		{
 12691  			yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName}
 12692  		}
 12693  		yyVAL.union = yyLOCAL
 12694  	case 558:
 12695  		yyDollar = yyS[yypt-5 : yypt+1]
 12696  		var yyLOCAL AlterOption
 12697  //line sql.y:3084
 12698  		{
 12699  			yyLOCAL = &RenameIndex{OldName: yyDollar[3].identifierCI, NewName: yyDollar[5].identifierCI}
 12700  		}
 12701  		yyVAL.union = yyLOCAL
 12702  	case 559:
 12703  		yyDollar = yyS[yypt-1 : yypt+1]
 12704  		var yyLOCAL []AlterOption
 12705  //line sql.y:3090
 12706  		{
 12707  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 12708  		}
 12709  		yyVAL.union = yyLOCAL
 12710  	case 560:
 12711  		yyDollar = yyS[yypt-3 : yypt+1]
 12712  //line sql.y:3094
 12713  		{
 12714  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12715  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
 12716  		}
 12717  	case 561:
 12718  		yyDollar = yyS[yypt-3 : yypt+1]
 12719  		var yyLOCAL AlterOption
 12720  //line sql.y:3100
 12721  		{
 12722  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12723  		}
 12724  		yyVAL.union = yyLOCAL
 12725  	case 562:
 12726  		yyDollar = yyS[yypt-3 : yypt+1]
 12727  		var yyLOCAL AlterOption
 12728  //line sql.y:3104
 12729  		{
 12730  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12731  		}
 12732  		yyVAL.union = yyLOCAL
 12733  	case 563:
 12734  		yyDollar = yyS[yypt-3 : yypt+1]
 12735  		var yyLOCAL AlterOption
 12736  //line sql.y:3108
 12737  		{
 12738  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12739  		}
 12740  		yyVAL.union = yyLOCAL
 12741  	case 564:
 12742  		yyDollar = yyS[yypt-3 : yypt+1]
 12743  		var yyLOCAL AlterOption
 12744  //line sql.y:3112
 12745  		{
 12746  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12747  		}
 12748  		yyVAL.union = yyLOCAL
 12749  	case 565:
 12750  		yyDollar = yyS[yypt-3 : yypt+1]
 12751  		var yyLOCAL AlterOption
 12752  //line sql.y:3116
 12753  		{
 12754  			yyLOCAL = &LockOption{Type: DefaultType}
 12755  		}
 12756  		yyVAL.union = yyLOCAL
 12757  	case 566:
 12758  		yyDollar = yyS[yypt-3 : yypt+1]
 12759  		var yyLOCAL AlterOption
 12760  //line sql.y:3120
 12761  		{
 12762  			yyLOCAL = &LockOption{Type: NoneType}
 12763  		}
 12764  		yyVAL.union = yyLOCAL
 12765  	case 567:
 12766  		yyDollar = yyS[yypt-3 : yypt+1]
 12767  		var yyLOCAL AlterOption
 12768  //line sql.y:3124
 12769  		{
 12770  			yyLOCAL = &LockOption{Type: SharedType}
 12771  		}
 12772  		yyVAL.union = yyLOCAL
 12773  	case 568:
 12774  		yyDollar = yyS[yypt-3 : yypt+1]
 12775  		var yyLOCAL AlterOption
 12776  //line sql.y:3128
 12777  		{
 12778  			yyLOCAL = &LockOption{Type: ExclusiveType}
 12779  		}
 12780  		yyVAL.union = yyLOCAL
 12781  	case 569:
 12782  		yyDollar = yyS[yypt-2 : yypt+1]
 12783  		var yyLOCAL AlterOption
 12784  //line sql.y:3132
 12785  		{
 12786  			yyLOCAL = &Validation{With: true}
 12787  		}
 12788  		yyVAL.union = yyLOCAL
 12789  	case 570:
 12790  		yyDollar = yyS[yypt-2 : yypt+1]
 12791  		var yyLOCAL AlterOption
 12792  //line sql.y:3136
 12793  		{
 12794  			yyLOCAL = &Validation{With: false}
 12795  		}
 12796  		yyVAL.union = yyLOCAL
 12797  	case 571:
 12798  		yyDollar = yyS[yypt-3 : yypt+1]
 12799  		var yyLOCAL Statement
 12800  //line sql.y:3142
 12801  		{
 12802  			yyDollar[1].alterTableUnion().FullyParsed = true
 12803  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
 12804  			yyDollar[1].alterTableUnion().PartitionOption = yyDollar[3].partitionOptionUnion()
 12805  			yyLOCAL = yyDollar[1].alterTableUnion()
 12806  		}
 12807  		yyVAL.union = yyLOCAL
 12808  	case 572:
 12809  		yyDollar = yyS[yypt-4 : yypt+1]
 12810  		var yyLOCAL Statement
 12811  //line sql.y:3149
 12812  		{
 12813  			yyDollar[1].alterTableUnion().FullyParsed = true
 12814  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
 12815  			yyDollar[1].alterTableUnion().PartitionSpec = &PartitionSpec{Action: RemoveAction}
 12816  			yyLOCAL = yyDollar[1].alterTableUnion()
 12817  		}
 12818  		yyVAL.union = yyLOCAL
 12819  	case 573:
 12820  		yyDollar = yyS[yypt-4 : yypt+1]
 12821  		var yyLOCAL Statement
 12822  //line sql.y:3156
 12823  		{
 12824  			yyDollar[1].alterTableUnion().FullyParsed = true
 12825  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
 12826  			yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[4].partSpecUnion()
 12827  			yyLOCAL = yyDollar[1].alterTableUnion()
 12828  		}
 12829  		yyVAL.union = yyLOCAL
 12830  	case 574:
 12831  		yyDollar = yyS[yypt-2 : yypt+1]
 12832  		var yyLOCAL Statement
 12833  //line sql.y:3163
 12834  		{
 12835  			yyDollar[1].alterTableUnion().FullyParsed = true
 12836  			yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion()
 12837  			yyLOCAL = yyDollar[1].alterTableUnion()
 12838  		}
 12839  		yyVAL.union = yyLOCAL
 12840  	case 575:
 12841  		yyDollar = yyS[yypt-11 : yypt+1]
 12842  		var yyLOCAL Statement
 12843  //line sql.y:3169
 12844  		{
 12845  			yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str}
 12846  		}
 12847  		yyVAL.union = yyLOCAL
 12848  	case 576:
 12849  		yyDollar = yyS[yypt-3 : yypt+1]
 12850  		var yyLOCAL Statement
 12851  //line sql.y:3179
 12852  		{
 12853  			yyDollar[1].alterDatabaseUnion().FullyParsed = true
 12854  			yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
 12855  			yyDollar[1].alterDatabaseUnion().AlterOptions = yyDollar[3].databaseOptionsUnion()
 12856  			yyLOCAL = yyDollar[1].alterDatabaseUnion()
 12857  		}
 12858  		yyVAL.union = yyLOCAL
 12859  	case 577:
 12860  		yyDollar = yyS[yypt-6 : yypt+1]
 12861  		var yyLOCAL Statement
 12862  //line sql.y:3186
 12863  		{
 12864  			yyDollar[1].alterDatabaseUnion().FullyParsed = true
 12865  			yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
 12866  			yyDollar[1].alterDatabaseUnion().UpdateDataDirectory = true
 12867  			yyLOCAL = yyDollar[1].alterDatabaseUnion()
 12868  		}
 12869  		yyVAL.union = yyLOCAL
 12870  	case 578:
 12871  		yyDollar = yyS[yypt-8 : yypt+1]
 12872  		var yyLOCAL Statement
 12873  //line sql.y:3193
 12874  		{
 12875  			yyLOCAL = &AlterVschema{
 12876  				Action: CreateVindexDDLAction,
 12877  				Table:  yyDollar[6].tableName,
 12878  				VindexSpec: &VindexSpec{
 12879  					Name:   NewIdentifierCI(yyDollar[6].tableName.Name.String()),
 12880  					Type:   yyDollar[7].identifierCI,
 12881  					Params: yyDollar[8].vindexParamsUnion(),
 12882  				},
 12883  			}
 12884  		}
 12885  		yyVAL.union = yyLOCAL
 12886  	case 579:
 12887  		yyDollar = yyS[yypt-6 : yypt+1]
 12888  		var yyLOCAL Statement
 12889  //line sql.y:3205
 12890  		{
 12891  			yyLOCAL = &AlterVschema{
 12892  				Action: DropVindexDDLAction,
 12893  				Table:  yyDollar[6].tableName,
 12894  				VindexSpec: &VindexSpec{
 12895  					Name: NewIdentifierCI(yyDollar[6].tableName.Name.String()),
 12896  				},
 12897  			}
 12898  		}
 12899  		yyVAL.union = yyLOCAL
 12900  	case 580:
 12901  		yyDollar = yyS[yypt-6 : yypt+1]
 12902  		var yyLOCAL Statement
 12903  //line sql.y:3215
 12904  		{
 12905  			yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName}
 12906  		}
 12907  		yyVAL.union = yyLOCAL
 12908  	case 581:
 12909  		yyDollar = yyS[yypt-6 : yypt+1]
 12910  		var yyLOCAL Statement
 12911  //line sql.y:3219
 12912  		{
 12913  			yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName}
 12914  		}
 12915  		yyVAL.union = yyLOCAL
 12916  	case 582:
 12917  		yyDollar = yyS[yypt-13 : yypt+1]
 12918  		var yyLOCAL Statement
 12919  //line sql.y:3223
 12920  		{
 12921  			yyLOCAL = &AlterVschema{
 12922  				Action: AddColVindexDDLAction,
 12923  				Table:  yyDollar[5].tableName,
 12924  				VindexSpec: &VindexSpec{
 12925  					Name:   yyDollar[8].identifierCI,
 12926  					Type:   yyDollar[12].identifierCI,
 12927  					Params: yyDollar[13].vindexParamsUnion(),
 12928  				},
 12929  				VindexCols: yyDollar[10].columnsUnion(),
 12930  			}
 12931  		}
 12932  		yyVAL.union = yyLOCAL
 12933  	case 583:
 12934  		yyDollar = yyS[yypt-8 : yypt+1]
 12935  		var yyLOCAL Statement
 12936  //line sql.y:3236
 12937  		{
 12938  			yyLOCAL = &AlterVschema{
 12939  				Action: DropColVindexDDLAction,
 12940  				Table:  yyDollar[5].tableName,
 12941  				VindexSpec: &VindexSpec{
 12942  					Name: yyDollar[8].identifierCI,
 12943  				},
 12944  			}
 12945  		}
 12946  		yyVAL.union = yyLOCAL
 12947  	case 584:
 12948  		yyDollar = yyS[yypt-6 : yypt+1]
 12949  		var yyLOCAL Statement
 12950  //line sql.y:3246
 12951  		{
 12952  			yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName}
 12953  		}
 12954  		yyVAL.union = yyLOCAL
 12955  	case 585:
 12956  		yyDollar = yyS[yypt-10 : yypt+1]
 12957  		var yyLOCAL Statement
 12958  //line sql.y:3250
 12959  		{
 12960  			yyLOCAL = &AlterVschema{
 12961  				Action: AddAutoIncDDLAction,
 12962  				Table:  yyDollar[5].tableName,
 12963  				AutoIncSpec: &AutoIncSpec{
 12964  					Column:   yyDollar[8].identifierCI,
 12965  					Sequence: yyDollar[10].tableName,
 12966  				},
 12967  			}
 12968  		}
 12969  		yyVAL.union = yyLOCAL
 12970  	case 586:
 12971  		yyDollar = yyS[yypt-5 : yypt+1]
 12972  		var yyLOCAL Statement
 12973  //line sql.y:3261
 12974  		{
 12975  			yyLOCAL = &AlterMigration{
 12976  				Type: RetryMigrationType,
 12977  				UUID: string(yyDollar[4].str),
 12978  			}
 12979  		}
 12980  		yyVAL.union = yyLOCAL
 12981  	case 587:
 12982  		yyDollar = yyS[yypt-5 : yypt+1]
 12983  		var yyLOCAL Statement
 12984  //line sql.y:3268
 12985  		{
 12986  			yyLOCAL = &AlterMigration{
 12987  				Type: CleanupMigrationType,
 12988  				UUID: string(yyDollar[4].str),
 12989  			}
 12990  		}
 12991  		yyVAL.union = yyLOCAL
 12992  	case 588:
 12993  		yyDollar = yyS[yypt-5 : yypt+1]
 12994  		var yyLOCAL Statement
 12995  //line sql.y:3275
 12996  		{
 12997  			yyLOCAL = &AlterMigration{
 12998  				Type: LaunchMigrationType,
 12999  				UUID: string(yyDollar[4].str),
 13000  			}
 13001  		}
 13002  		yyVAL.union = yyLOCAL
 13003  	case 589:
 13004  		yyDollar = yyS[yypt-7 : yypt+1]
 13005  		var yyLOCAL Statement
 13006  //line sql.y:3282
 13007  		{
 13008  			yyLOCAL = &AlterMigration{
 13009  				Type:   LaunchMigrationType,
 13010  				UUID:   string(yyDollar[4].str),
 13011  				Shards: string(yyDollar[7].str),
 13012  			}
 13013  		}
 13014  		yyVAL.union = yyLOCAL
 13015  	case 590:
 13016  		yyDollar = yyS[yypt-5 : yypt+1]
 13017  		var yyLOCAL Statement
 13018  //line sql.y:3290
 13019  		{
 13020  			yyLOCAL = &AlterMigration{
 13021  				Type: LaunchAllMigrationType,
 13022  			}
 13023  		}
 13024  		yyVAL.union = yyLOCAL
 13025  	case 591:
 13026  		yyDollar = yyS[yypt-5 : yypt+1]
 13027  		var yyLOCAL Statement
 13028  //line sql.y:3296
 13029  		{
 13030  			yyLOCAL = &AlterMigration{
 13031  				Type: CompleteMigrationType,
 13032  				UUID: string(yyDollar[4].str),
 13033  			}
 13034  		}
 13035  		yyVAL.union = yyLOCAL
 13036  	case 592:
 13037  		yyDollar = yyS[yypt-5 : yypt+1]
 13038  		var yyLOCAL Statement
 13039  //line sql.y:3303
 13040  		{
 13041  			yyLOCAL = &AlterMigration{
 13042  				Type: CompleteAllMigrationType,
 13043  			}
 13044  		}
 13045  		yyVAL.union = yyLOCAL
 13046  	case 593:
 13047  		yyDollar = yyS[yypt-5 : yypt+1]
 13048  		var yyLOCAL Statement
 13049  //line sql.y:3309
 13050  		{
 13051  			yyLOCAL = &AlterMigration{
 13052  				Type: CancelMigrationType,
 13053  				UUID: string(yyDollar[4].str),
 13054  			}
 13055  		}
 13056  		yyVAL.union = yyLOCAL
 13057  	case 594:
 13058  		yyDollar = yyS[yypt-5 : yypt+1]
 13059  		var yyLOCAL Statement
 13060  //line sql.y:3316
 13061  		{
 13062  			yyLOCAL = &AlterMigration{
 13063  				Type: CancelAllMigrationType,
 13064  			}
 13065  		}
 13066  		yyVAL.union = yyLOCAL
 13067  	case 595:
 13068  		yyDollar = yyS[yypt-7 : yypt+1]
 13069  		var yyLOCAL Statement
 13070  //line sql.y:3322
 13071  		{
 13072  			yyLOCAL = &AlterMigration{
 13073  				Type:   ThrottleMigrationType,
 13074  				UUID:   string(yyDollar[4].str),
 13075  				Expire: yyDollar[6].str,
 13076  				Ratio:  yyDollar[7].literalUnion(),
 13077  			}
 13078  		}
 13079  		yyVAL.union = yyLOCAL
 13080  	case 596:
 13081  		yyDollar = yyS[yypt-7 : yypt+1]
 13082  		var yyLOCAL Statement
 13083  //line sql.y:3331
 13084  		{
 13085  			yyLOCAL = &AlterMigration{
 13086  				Type:   ThrottleAllMigrationType,
 13087  				Expire: yyDollar[6].str,
 13088  				Ratio:  yyDollar[7].literalUnion(),
 13089  			}
 13090  		}
 13091  		yyVAL.union = yyLOCAL
 13092  	case 597:
 13093  		yyDollar = yyS[yypt-5 : yypt+1]
 13094  		var yyLOCAL Statement
 13095  //line sql.y:3339
 13096  		{
 13097  			yyLOCAL = &AlterMigration{
 13098  				Type: UnthrottleMigrationType,
 13099  				UUID: string(yyDollar[4].str),
 13100  			}
 13101  		}
 13102  		yyVAL.union = yyLOCAL
 13103  	case 598:
 13104  		yyDollar = yyS[yypt-5 : yypt+1]
 13105  		var yyLOCAL Statement
 13106  //line sql.y:3346
 13107  		{
 13108  			yyLOCAL = &AlterMigration{
 13109  				Type: UnthrottleAllMigrationType,
 13110  			}
 13111  		}
 13112  		yyVAL.union = yyLOCAL
 13113  	case 599:
 13114  		yyDollar = yyS[yypt-0 : yypt+1]
 13115  		var yyLOCAL *PartitionOption
 13116  //line sql.y:3353
 13117  		{
 13118  			yyLOCAL = nil
 13119  		}
 13120  		yyVAL.union = yyLOCAL
 13121  	case 600:
 13122  		yyDollar = yyS[yypt-6 : yypt+1]
 13123  		var yyLOCAL *PartitionOption
 13124  //line sql.y:3357
 13125  		{
 13126  			yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion()
 13127  			yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion()
 13128  			yyDollar[3].partitionOptionUnion().Definitions = yyDollar[6].partDefsUnion()
 13129  			yyLOCAL = yyDollar[3].partitionOptionUnion()
 13130  		}
 13131  		yyVAL.union = yyLOCAL
 13132  	case 601:
 13133  		yyDollar = yyS[yypt-5 : yypt+1]
 13134  		var yyLOCAL *PartitionOption
 13135  //line sql.y:3366
 13136  		{
 13137  			yyLOCAL = &PartitionOption{
 13138  				IsLinear: yyDollar[1].booleanUnion(),
 13139  				Type:     HashType,
 13140  				Expr:     yyDollar[4].exprUnion(),
 13141  			}
 13142  		}
 13143  		yyVAL.union = yyLOCAL
 13144  	case 602:
 13145  		yyDollar = yyS[yypt-6 : yypt+1]
 13146  		var yyLOCAL *PartitionOption
 13147  //line sql.y:3374
 13148  		{
 13149  			yyLOCAL = &PartitionOption{
 13150  				IsLinear:     yyDollar[1].booleanUnion(),
 13151  				Type:         KeyType,
 13152  				KeyAlgorithm: yyDollar[3].integerUnion(),
 13153  				ColList:      yyDollar[5].columnsUnion(),
 13154  			}
 13155  		}
 13156  		yyVAL.union = yyLOCAL
 13157  	case 603:
 13158  		yyDollar = yyS[yypt-4 : yypt+1]
 13159  		var yyLOCAL *PartitionOption
 13160  //line sql.y:3383
 13161  		{
 13162  			yyLOCAL = &PartitionOption{
 13163  				Type: yyDollar[1].partitionByTypeUnion(),
 13164  				Expr: yyDollar[3].exprUnion(),
 13165  			}
 13166  		}
 13167  		yyVAL.union = yyLOCAL
 13168  	case 604:
 13169  		yyDollar = yyS[yypt-5 : yypt+1]
 13170  		var yyLOCAL *PartitionOption
 13171  //line sql.y:3390
 13172  		{
 13173  			yyLOCAL = &PartitionOption{
 13174  				Type:    yyDollar[1].partitionByTypeUnion(),
 13175  				ColList: yyDollar[4].columnsUnion(),
 13176  			}
 13177  		}
 13178  		yyVAL.union = yyLOCAL
 13179  	case 605:
 13180  		yyDollar = yyS[yypt-0 : yypt+1]
 13181  		var yyLOCAL *SubPartition
 13182  //line sql.y:3398
 13183  		{
 13184  			yyLOCAL = nil
 13185  		}
 13186  		yyVAL.union = yyLOCAL
 13187  	case 606:
 13188  		yyDollar = yyS[yypt-8 : yypt+1]
 13189  		var yyLOCAL *SubPartition
 13190  //line sql.y:3402
 13191  		{
 13192  			yyLOCAL = &SubPartition{
 13193  				IsLinear:      yyDollar[3].booleanUnion(),
 13194  				Type:          HashType,
 13195  				Expr:          yyDollar[6].exprUnion(),
 13196  				SubPartitions: yyDollar[8].integerUnion(),
 13197  			}
 13198  		}
 13199  		yyVAL.union = yyLOCAL
 13200  	case 607:
 13201  		yyDollar = yyS[yypt-9 : yypt+1]
 13202  		var yyLOCAL *SubPartition
 13203  //line sql.y:3411
 13204  		{
 13205  			yyLOCAL = &SubPartition{
 13206  				IsLinear:      yyDollar[3].booleanUnion(),
 13207  				Type:          KeyType,
 13208  				KeyAlgorithm:  yyDollar[5].integerUnion(),
 13209  				ColList:       yyDollar[7].columnsUnion(),
 13210  				SubPartitions: yyDollar[9].integerUnion(),
 13211  			}
 13212  		}
 13213  		yyVAL.union = yyLOCAL
 13214  	case 608:
 13215  		yyDollar = yyS[yypt-0 : yypt+1]
 13216  		var yyLOCAL []*PartitionDefinition
 13217  //line sql.y:3422
 13218  		{
 13219  			yyLOCAL = nil
 13220  		}
 13221  		yyVAL.union = yyLOCAL
 13222  	case 609:
 13223  		yyDollar = yyS[yypt-3 : yypt+1]
 13224  		var yyLOCAL []*PartitionDefinition
 13225  //line sql.y:3426
 13226  		{
 13227  			yyLOCAL = yyDollar[2].partDefsUnion()
 13228  		}
 13229  		yyVAL.union = yyLOCAL
 13230  	case 610:
 13231  		yyDollar = yyS[yypt-0 : yypt+1]
 13232  		var yyLOCAL bool
 13233  //line sql.y:3431
 13234  		{
 13235  			yyLOCAL = false
 13236  		}
 13237  		yyVAL.union = yyLOCAL
 13238  	case 611:
 13239  		yyDollar = yyS[yypt-1 : yypt+1]
 13240  		var yyLOCAL bool
 13241  //line sql.y:3435
 13242  		{
 13243  			yyLOCAL = true
 13244  		}
 13245  		yyVAL.union = yyLOCAL
 13246  	case 612:
 13247  		yyDollar = yyS[yypt-0 : yypt+1]
 13248  		var yyLOCAL int
 13249  //line sql.y:3440
 13250  		{
 13251  			yyLOCAL = 0
 13252  		}
 13253  		yyVAL.union = yyLOCAL
 13254  	case 613:
 13255  		yyDollar = yyS[yypt-3 : yypt+1]
 13256  		var yyLOCAL int
 13257  //line sql.y:3444
 13258  		{
 13259  			yyLOCAL = convertStringToInt(yyDollar[3].str)
 13260  		}
 13261  		yyVAL.union = yyLOCAL
 13262  	case 614:
 13263  		yyDollar = yyS[yypt-8 : yypt+1]
 13264  		var yyLOCAL TableExpr
 13265  //line sql.y:3450
 13266  		{
 13267  			yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].identifierCS}
 13268  		}
 13269  		yyVAL.union = yyLOCAL
 13270  	case 615:
 13271  		yyDollar = yyS[yypt-4 : yypt+1]
 13272  		var yyLOCAL []*JtColumnDefinition
 13273  //line sql.y:3456
 13274  		{
 13275  			yyLOCAL = yyDollar[3].jtColumnListUnion()
 13276  		}
 13277  		yyVAL.union = yyLOCAL
 13278  	case 616:
 13279  		yyDollar = yyS[yypt-1 : yypt+1]
 13280  		var yyLOCAL []*JtColumnDefinition
 13281  //line sql.y:3462
 13282  		{
 13283  			yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()}
 13284  		}
 13285  		yyVAL.union = yyLOCAL
 13286  	case 617:
 13287  		yyDollar = yyS[yypt-3 : yypt+1]
 13288  //line sql.y:3466
 13289  		{
 13290  			yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union))
 13291  			*yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion())
 13292  		}
 13293  	case 618:
 13294  		yyDollar = yyS[yypt-3 : yypt+1]
 13295  		var yyLOCAL *JtColumnDefinition
 13296  //line sql.y:3472
 13297  		{
 13298  			yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].identifierCI}}
 13299  		}
 13300  		yyVAL.union = yyLOCAL
 13301  	case 619:
 13302  		yyDollar = yyS[yypt-6 : yypt+1]
 13303  		var yyLOCAL *JtColumnDefinition
 13304  //line sql.y:3476
 13305  		{
 13306  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13307  			jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()}
 13308  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13309  		}
 13310  		yyVAL.union = yyLOCAL
 13311  	case 620:
 13312  		yyDollar = yyS[yypt-7 : yypt+1]
 13313  		var yyLOCAL *JtColumnDefinition
 13314  //line sql.y:3482
 13315  		{
 13316  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13317  			jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
 13318  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13319  		}
 13320  		yyVAL.union = yyLOCAL
 13321  	case 621:
 13322  		yyDollar = yyS[yypt-7 : yypt+1]
 13323  		var yyLOCAL *JtColumnDefinition
 13324  //line sql.y:3488
 13325  		{
 13326  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13327  			jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
 13328  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13329  		}
 13330  		yyVAL.union = yyLOCAL
 13331  	case 622:
 13332  		yyDollar = yyS[yypt-8 : yypt+1]
 13333  		var yyLOCAL *JtColumnDefinition
 13334  //line sql.y:3494
 13335  		{
 13336  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13337  			jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
 13338  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13339  		}
 13340  		yyVAL.union = yyLOCAL
 13341  	case 623:
 13342  		yyDollar = yyS[yypt-4 : yypt+1]
 13343  		var yyLOCAL *JtColumnDefinition
 13344  //line sql.y:3500
 13345  		{
 13346  			jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()}
 13347  			yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath}
 13348  		}
 13349  		yyVAL.union = yyLOCAL
 13350  	case 624:
 13351  		yyDollar = yyS[yypt-0 : yypt+1]
 13352  		var yyLOCAL bool
 13353  //line sql.y:3506
 13354  		{
 13355  			yyLOCAL = false
 13356  		}
 13357  		yyVAL.union = yyLOCAL
 13358  	case 625:
 13359  		yyDollar = yyS[yypt-1 : yypt+1]
 13360  		var yyLOCAL bool
 13361  //line sql.y:3510
 13362  		{
 13363  			yyLOCAL = true
 13364  		}
 13365  		yyVAL.union = yyLOCAL
 13366  	case 626:
 13367  		yyDollar = yyS[yypt-0 : yypt+1]
 13368  		var yyLOCAL bool
 13369  //line sql.y:3514
 13370  		{
 13371  			yyLOCAL = false
 13372  		}
 13373  		yyVAL.union = yyLOCAL
 13374  	case 627:
 13375  		yyDollar = yyS[yypt-1 : yypt+1]
 13376  		var yyLOCAL bool
 13377  //line sql.y:3518
 13378  		{
 13379  			yyLOCAL = true
 13380  		}
 13381  		yyVAL.union = yyLOCAL
 13382  	case 628:
 13383  		yyDollar = yyS[yypt-3 : yypt+1]
 13384  		var yyLOCAL *JtOnResponse
 13385  //line sql.y:3524
 13386  		{
 13387  			yyLOCAL = yyDollar[1].jtOnResponseUnion()
 13388  		}
 13389  		yyVAL.union = yyLOCAL
 13390  	case 629:
 13391  		yyDollar = yyS[yypt-3 : yypt+1]
 13392  		var yyLOCAL *JtOnResponse
 13393  //line sql.y:3530
 13394  		{
 13395  			yyLOCAL = yyDollar[1].jtOnResponseUnion()
 13396  		}
 13397  		yyVAL.union = yyLOCAL
 13398  	case 630:
 13399  		yyDollar = yyS[yypt-1 : yypt+1]
 13400  		var yyLOCAL *JtOnResponse
 13401  //line sql.y:3536
 13402  		{
 13403  			yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType}
 13404  		}
 13405  		yyVAL.union = yyLOCAL
 13406  	case 631:
 13407  		yyDollar = yyS[yypt-1 : yypt+1]
 13408  		var yyLOCAL *JtOnResponse
 13409  //line sql.y:3540
 13410  		{
 13411  			yyLOCAL = &JtOnResponse{ResponseType: NullJSONType}
 13412  		}
 13413  		yyVAL.union = yyLOCAL
 13414  	case 632:
 13415  		yyDollar = yyS[yypt-2 : yypt+1]
 13416  		var yyLOCAL *JtOnResponse
 13417  //line sql.y:3544
 13418  		{
 13419  			yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()}
 13420  		}
 13421  		yyVAL.union = yyLOCAL
 13422  	case 633:
 13423  		yyDollar = yyS[yypt-1 : yypt+1]
 13424  		var yyLOCAL PartitionByType
 13425  //line sql.y:3550
 13426  		{
 13427  			yyLOCAL = RangeType
 13428  		}
 13429  		yyVAL.union = yyLOCAL
 13430  	case 634:
 13431  		yyDollar = yyS[yypt-1 : yypt+1]
 13432  		var yyLOCAL PartitionByType
 13433  //line sql.y:3554
 13434  		{
 13435  			yyLOCAL = ListType
 13436  		}
 13437  		yyVAL.union = yyLOCAL
 13438  	case 635:
 13439  		yyDollar = yyS[yypt-0 : yypt+1]
 13440  		var yyLOCAL int
 13441  //line sql.y:3559
 13442  		{
 13443  			yyLOCAL = -1
 13444  		}
 13445  		yyVAL.union = yyLOCAL
 13446  	case 636:
 13447  		yyDollar = yyS[yypt-2 : yypt+1]
 13448  		var yyLOCAL int
 13449  //line sql.y:3563
 13450  		{
 13451  			yyLOCAL = convertStringToInt(yyDollar[2].str)
 13452  		}
 13453  		yyVAL.union = yyLOCAL
 13454  	case 637:
 13455  		yyDollar = yyS[yypt-0 : yypt+1]
 13456  		var yyLOCAL int
 13457  //line sql.y:3568
 13458  		{
 13459  			yyLOCAL = -1
 13460  		}
 13461  		yyVAL.union = yyLOCAL
 13462  	case 638:
 13463  		yyDollar = yyS[yypt-2 : yypt+1]
 13464  		var yyLOCAL int
 13465  //line sql.y:3572
 13466  		{
 13467  			yyLOCAL = convertStringToInt(yyDollar[2].str)
 13468  		}
 13469  		yyVAL.union = yyLOCAL
 13470  	case 639:
 13471  		yyDollar = yyS[yypt-5 : yypt+1]
 13472  		var yyLOCAL *PartitionSpec
 13473  //line sql.y:3578
 13474  		{
 13475  			yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}}
 13476  		}
 13477  		yyVAL.union = yyLOCAL
 13478  	case 640:
 13479  		yyDollar = yyS[yypt-3 : yypt+1]
 13480  		var yyLOCAL *PartitionSpec
 13481  //line sql.y:3582
 13482  		{
 13483  			yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()}
 13484  		}
 13485  		yyVAL.union = yyLOCAL
 13486  	case 641:
 13487  		yyDollar = yyS[yypt-7 : yypt+1]
 13488  		var yyLOCAL *PartitionSpec
 13489  //line sql.y:3586
 13490  		{
 13491  			yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()}
 13492  		}
 13493  		yyVAL.union = yyLOCAL
 13494  	case 642:
 13495  		yyDollar = yyS[yypt-4 : yypt+1]
 13496  		var yyLOCAL *PartitionSpec
 13497  //line sql.y:3590
 13498  		{
 13499  			yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()}
 13500  		}
 13501  		yyVAL.union = yyLOCAL
 13502  	case 643:
 13503  		yyDollar = yyS[yypt-4 : yypt+1]
 13504  		var yyLOCAL *PartitionSpec
 13505  //line sql.y:3594
 13506  		{
 13507  			yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true}
 13508  		}
 13509  		yyVAL.union = yyLOCAL
 13510  	case 644:
 13511  		yyDollar = yyS[yypt-4 : yypt+1]
 13512  		var yyLOCAL *PartitionSpec
 13513  //line sql.y:3598
 13514  		{
 13515  			yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()}
 13516  		}
 13517  		yyVAL.union = yyLOCAL
 13518  	case 645:
 13519  		yyDollar = yyS[yypt-4 : yypt+1]
 13520  		var yyLOCAL *PartitionSpec
 13521  //line sql.y:3602
 13522  		{
 13523  			yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true}
 13524  		}
 13525  		yyVAL.union = yyLOCAL
 13526  	case 646:
 13527  		yyDollar = yyS[yypt-3 : yypt+1]
 13528  		var yyLOCAL *PartitionSpec
 13529  //line sql.y:3606
 13530  		{
 13531  			yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()}
 13532  		}
 13533  		yyVAL.union = yyLOCAL
 13534  	case 647:
 13535  		yyDollar = yyS[yypt-3 : yypt+1]
 13536  		var yyLOCAL *PartitionSpec
 13537  //line sql.y:3610
 13538  		{
 13539  			yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true}
 13540  		}
 13541  		yyVAL.union = yyLOCAL
 13542  	case 648:
 13543  		yyDollar = yyS[yypt-3 : yypt+1]
 13544  		var yyLOCAL *PartitionSpec
 13545  //line sql.y:3614
 13546  		{
 13547  			yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)}
 13548  		}
 13549  		yyVAL.union = yyLOCAL
 13550  	case 649:
 13551  		yyDollar = yyS[yypt-7 : yypt+1]
 13552  		var yyLOCAL *PartitionSpec
 13553  //line sql.y:3618
 13554  		{
 13555  			yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].identifierCI}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()}
 13556  		}
 13557  		yyVAL.union = yyLOCAL
 13558  	case 650:
 13559  		yyDollar = yyS[yypt-3 : yypt+1]
 13560  		var yyLOCAL *PartitionSpec
 13561  //line sql.y:3622
 13562  		{
 13563  			yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()}
 13564  		}
 13565  		yyVAL.union = yyLOCAL
 13566  	case 651:
 13567  		yyDollar = yyS[yypt-3 : yypt+1]
 13568  		var yyLOCAL *PartitionSpec
 13569  //line sql.y:3626
 13570  		{
 13571  			yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true}
 13572  		}
 13573  		yyVAL.union = yyLOCAL
 13574  	case 652:
 13575  		yyDollar = yyS[yypt-3 : yypt+1]
 13576  		var yyLOCAL *PartitionSpec
 13577  //line sql.y:3630
 13578  		{
 13579  			yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()}
 13580  		}
 13581  		yyVAL.union = yyLOCAL
 13582  	case 653:
 13583  		yyDollar = yyS[yypt-3 : yypt+1]
 13584  		var yyLOCAL *PartitionSpec
 13585  //line sql.y:3634
 13586  		{
 13587  			yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true}
 13588  		}
 13589  		yyVAL.union = yyLOCAL
 13590  	case 654:
 13591  		yyDollar = yyS[yypt-3 : yypt+1]
 13592  		var yyLOCAL *PartitionSpec
 13593  //line sql.y:3638
 13594  		{
 13595  			yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()}
 13596  		}
 13597  		yyVAL.union = yyLOCAL
 13598  	case 655:
 13599  		yyDollar = yyS[yypt-3 : yypt+1]
 13600  		var yyLOCAL *PartitionSpec
 13601  //line sql.y:3642
 13602  		{
 13603  			yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true}
 13604  		}
 13605  		yyVAL.union = yyLOCAL
 13606  	case 656:
 13607  		yyDollar = yyS[yypt-3 : yypt+1]
 13608  		var yyLOCAL *PartitionSpec
 13609  //line sql.y:3646
 13610  		{
 13611  			yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()}
 13612  		}
 13613  		yyVAL.union = yyLOCAL
 13614  	case 657:
 13615  		yyDollar = yyS[yypt-3 : yypt+1]
 13616  		var yyLOCAL *PartitionSpec
 13617  //line sql.y:3650
 13618  		{
 13619  			yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true}
 13620  		}
 13621  		yyVAL.union = yyLOCAL
 13622  	case 658:
 13623  		yyDollar = yyS[yypt-3 : yypt+1]
 13624  		var yyLOCAL *PartitionSpec
 13625  //line sql.y:3654
 13626  		{
 13627  			yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()}
 13628  		}
 13629  		yyVAL.union = yyLOCAL
 13630  	case 659:
 13631  		yyDollar = yyS[yypt-3 : yypt+1]
 13632  		var yyLOCAL *PartitionSpec
 13633  //line sql.y:3658
 13634  		{
 13635  			yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true}
 13636  		}
 13637  		yyVAL.union = yyLOCAL
 13638  	case 660:
 13639  		yyDollar = yyS[yypt-2 : yypt+1]
 13640  		var yyLOCAL *PartitionSpec
 13641  //line sql.y:3662
 13642  		{
 13643  			yyLOCAL = &PartitionSpec{Action: UpgradeAction}
 13644  		}
 13645  		yyVAL.union = yyLOCAL
 13646  	case 661:
 13647  		yyDollar = yyS[yypt-0 : yypt+1]
 13648  		var yyLOCAL bool
 13649  //line sql.y:3667
 13650  		{
 13651  			yyLOCAL = false
 13652  		}
 13653  		yyVAL.union = yyLOCAL
 13654  	case 662:
 13655  		yyDollar = yyS[yypt-2 : yypt+1]
 13656  		var yyLOCAL bool
 13657  //line sql.y:3671
 13658  		{
 13659  			yyLOCAL = false
 13660  		}
 13661  		yyVAL.union = yyLOCAL
 13662  	case 663:
 13663  		yyDollar = yyS[yypt-2 : yypt+1]
 13664  		var yyLOCAL bool
 13665  //line sql.y:3675
 13666  		{
 13667  			yyLOCAL = true
 13668  		}
 13669  		yyVAL.union = yyLOCAL
 13670  	case 664:
 13671  		yyDollar = yyS[yypt-1 : yypt+1]
 13672  		var yyLOCAL []*PartitionDefinition
 13673  //line sql.y:3681
 13674  		{
 13675  			yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()}
 13676  		}
 13677  		yyVAL.union = yyLOCAL
 13678  	case 665:
 13679  		yyDollar = yyS[yypt-3 : yypt+1]
 13680  //line sql.y:3685
 13681  		{
 13682  			yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union))
 13683  			*yySLICE = append(*yySLICE, yyDollar[3].partDefUnion())
 13684  		}
 13685  	case 666:
 13686  		yyDollar = yyS[yypt-2 : yypt+1]
 13687  //line sql.y:3691
 13688  		{
 13689  			yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion()
 13690  		}
 13691  	case 667:
 13692  		yyDollar = yyS[yypt-0 : yypt+1]
 13693  		var yyLOCAL *PartitionDefinitionOptions
 13694  //line sql.y:3696
 13695  		{
 13696  			yyLOCAL = &PartitionDefinitionOptions{}
 13697  		}
 13698  		yyVAL.union = yyLOCAL
 13699  	case 668:
 13700  		yyDollar = yyS[yypt-2 : yypt+1]
 13701  		var yyLOCAL *PartitionDefinitionOptions
 13702  //line sql.y:3700
 13703  		{
 13704  			yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion()
 13705  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13706  		}
 13707  		yyVAL.union = yyLOCAL
 13708  	case 669:
 13709  		yyDollar = yyS[yypt-2 : yypt+1]
 13710  		var yyLOCAL *PartitionDefinitionOptions
 13711  //line sql.y:3705
 13712  		{
 13713  			yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
 13714  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13715  		}
 13716  		yyVAL.union = yyLOCAL
 13717  	case 670:
 13718  		yyDollar = yyS[yypt-2 : yypt+1]
 13719  		var yyLOCAL *PartitionDefinitionOptions
 13720  //line sql.y:3710
 13721  		{
 13722  			yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
 13723  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13724  		}
 13725  		yyVAL.union = yyLOCAL
 13726  	case 671:
 13727  		yyDollar = yyS[yypt-2 : yypt+1]
 13728  		var yyLOCAL *PartitionDefinitionOptions
 13729  //line sql.y:3715
 13730  		{
 13731  			yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
 13732  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13733  		}
 13734  		yyVAL.union = yyLOCAL
 13735  	case 672:
 13736  		yyDollar = yyS[yypt-2 : yypt+1]
 13737  		var yyLOCAL *PartitionDefinitionOptions
 13738  //line sql.y:3720
 13739  		{
 13740  			yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
 13741  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13742  		}
 13743  		yyVAL.union = yyLOCAL
 13744  	case 673:
 13745  		yyDollar = yyS[yypt-2 : yypt+1]
 13746  		var yyLOCAL *PartitionDefinitionOptions
 13747  //line sql.y:3725
 13748  		{
 13749  			val := yyDollar[2].integerUnion()
 13750  			yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val
 13751  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13752  		}
 13753  		yyVAL.union = yyLOCAL
 13754  	case 674:
 13755  		yyDollar = yyS[yypt-2 : yypt+1]
 13756  		var yyLOCAL *PartitionDefinitionOptions
 13757  //line sql.y:3731
 13758  		{
 13759  			val := yyDollar[2].integerUnion()
 13760  			yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val
 13761  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13762  		}
 13763  		yyVAL.union = yyLOCAL
 13764  	case 675:
 13765  		yyDollar = yyS[yypt-2 : yypt+1]
 13766  		var yyLOCAL *PartitionDefinitionOptions
 13767  //line sql.y:3737
 13768  		{
 13769  			yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
 13770  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13771  		}
 13772  		yyVAL.union = yyLOCAL
 13773  	case 676:
 13774  		yyDollar = yyS[yypt-2 : yypt+1]
 13775  		var yyLOCAL *PartitionDefinitionOptions
 13776  //line sql.y:3742
 13777  		{
 13778  			yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion()
 13779  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13780  		}
 13781  		yyVAL.union = yyLOCAL
 13782  	case 677:
 13783  		yyDollar = yyS[yypt-3 : yypt+1]
 13784  		var yyLOCAL SubPartitionDefinitions
 13785  //line sql.y:3748
 13786  		{
 13787  			yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion()
 13788  		}
 13789  		yyVAL.union = yyLOCAL
 13790  	case 678:
 13791  		yyDollar = yyS[yypt-1 : yypt+1]
 13792  		var yyLOCAL SubPartitionDefinitions
 13793  //line sql.y:3754
 13794  		{
 13795  			yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()}
 13796  		}
 13797  		yyVAL.union = yyLOCAL
 13798  	case 679:
 13799  		yyDollar = yyS[yypt-3 : yypt+1]
 13800  //line sql.y:3758
 13801  		{
 13802  			yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union))
 13803  			*yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion())
 13804  		}
 13805  	case 680:
 13806  		yyDollar = yyS[yypt-3 : yypt+1]
 13807  		var yyLOCAL *SubPartitionDefinition
 13808  //line sql.y:3764
 13809  		{
 13810  			yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].identifierCI, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()}
 13811  		}
 13812  		yyVAL.union = yyLOCAL
 13813  	case 681:
 13814  		yyDollar = yyS[yypt-0 : yypt+1]
 13815  		var yyLOCAL *SubPartitionDefinitionOptions
 13816  //line sql.y:3769
 13817  		{
 13818  			yyLOCAL = &SubPartitionDefinitionOptions{}
 13819  		}
 13820  		yyVAL.union = yyLOCAL
 13821  	case 682:
 13822  		yyDollar = yyS[yypt-2 : yypt+1]
 13823  		var yyLOCAL *SubPartitionDefinitionOptions
 13824  //line sql.y:3773
 13825  		{
 13826  			yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
 13827  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13828  		}
 13829  		yyVAL.union = yyLOCAL
 13830  	case 683:
 13831  		yyDollar = yyS[yypt-2 : yypt+1]
 13832  		var yyLOCAL *SubPartitionDefinitionOptions
 13833  //line sql.y:3778
 13834  		{
 13835  			yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
 13836  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13837  		}
 13838  		yyVAL.union = yyLOCAL
 13839  	case 684:
 13840  		yyDollar = yyS[yypt-2 : yypt+1]
 13841  		var yyLOCAL *SubPartitionDefinitionOptions
 13842  //line sql.y:3783
 13843  		{
 13844  			yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
 13845  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13846  		}
 13847  		yyVAL.union = yyLOCAL
 13848  	case 685:
 13849  		yyDollar = yyS[yypt-2 : yypt+1]
 13850  		var yyLOCAL *SubPartitionDefinitionOptions
 13851  //line sql.y:3788
 13852  		{
 13853  			yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
 13854  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13855  		}
 13856  		yyVAL.union = yyLOCAL
 13857  	case 686:
 13858  		yyDollar = yyS[yypt-2 : yypt+1]
 13859  		var yyLOCAL *SubPartitionDefinitionOptions
 13860  //line sql.y:3793
 13861  		{
 13862  			val := yyDollar[2].integerUnion()
 13863  			yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val
 13864  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13865  		}
 13866  		yyVAL.union = yyLOCAL
 13867  	case 687:
 13868  		yyDollar = yyS[yypt-2 : yypt+1]
 13869  		var yyLOCAL *SubPartitionDefinitionOptions
 13870  //line sql.y:3799
 13871  		{
 13872  			val := yyDollar[2].integerUnion()
 13873  			yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val
 13874  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13875  		}
 13876  		yyVAL.union = yyLOCAL
 13877  	case 688:
 13878  		yyDollar = yyS[yypt-2 : yypt+1]
 13879  		var yyLOCAL *SubPartitionDefinitionOptions
 13880  //line sql.y:3805
 13881  		{
 13882  			yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
 13883  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13884  		}
 13885  		yyVAL.union = yyLOCAL
 13886  	case 689:
 13887  		yyDollar = yyS[yypt-4 : yypt+1]
 13888  		var yyLOCAL *PartitionValueRange
 13889  //line sql.y:3812
 13890  		{
 13891  			yyLOCAL = &PartitionValueRange{
 13892  				Type:  LessThanType,
 13893  				Range: yyDollar[4].valTupleUnion(),
 13894  			}
 13895  		}
 13896  		yyVAL.union = yyLOCAL
 13897  	case 690:
 13898  		yyDollar = yyS[yypt-4 : yypt+1]
 13899  		var yyLOCAL *PartitionValueRange
 13900  //line sql.y:3819
 13901  		{
 13902  			yyLOCAL = &PartitionValueRange{
 13903  				Type:     LessThanType,
 13904  				Maxvalue: true,
 13905  			}
 13906  		}
 13907  		yyVAL.union = yyLOCAL
 13908  	case 691:
 13909  		yyDollar = yyS[yypt-3 : yypt+1]
 13910  		var yyLOCAL *PartitionValueRange
 13911  //line sql.y:3826
 13912  		{
 13913  			yyLOCAL = &PartitionValueRange{
 13914  				Type:  InType,
 13915  				Range: yyDollar[3].valTupleUnion(),
 13916  			}
 13917  		}
 13918  		yyVAL.union = yyLOCAL
 13919  	case 692:
 13920  		yyDollar = yyS[yypt-0 : yypt+1]
 13921  		var yyLOCAL bool
 13922  //line sql.y:3834
 13923  		{
 13924  			yyLOCAL = false
 13925  		}
 13926  		yyVAL.union = yyLOCAL
 13927  	case 693:
 13928  		yyDollar = yyS[yypt-1 : yypt+1]
 13929  		var yyLOCAL bool
 13930  //line sql.y:3838
 13931  		{
 13932  			yyLOCAL = true
 13933  		}
 13934  		yyVAL.union = yyLOCAL
 13935  	case 694:
 13936  		yyDollar = yyS[yypt-4 : yypt+1]
 13937  		var yyLOCAL *PartitionEngine
 13938  //line sql.y:3844
 13939  		{
 13940  			yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].identifierCS.String()}
 13941  		}
 13942  		yyVAL.union = yyLOCAL
 13943  	case 695:
 13944  		yyDollar = yyS[yypt-3 : yypt+1]
 13945  		var yyLOCAL *Literal
 13946  //line sql.y:3850
 13947  		{
 13948  			yyLOCAL = NewStrLiteral(yyDollar[3].str)
 13949  		}
 13950  		yyVAL.union = yyLOCAL
 13951  	case 696:
 13952  		yyDollar = yyS[yypt-4 : yypt+1]
 13953  		var yyLOCAL *Literal
 13954  //line sql.y:3856
 13955  		{
 13956  			yyLOCAL = NewStrLiteral(yyDollar[4].str)
 13957  		}
 13958  		yyVAL.union = yyLOCAL
 13959  	case 697:
 13960  		yyDollar = yyS[yypt-4 : yypt+1]
 13961  		var yyLOCAL *Literal
 13962  //line sql.y:3862
 13963  		{
 13964  			yyLOCAL = NewStrLiteral(yyDollar[4].str)
 13965  		}
 13966  		yyVAL.union = yyLOCAL
 13967  	case 698:
 13968  		yyDollar = yyS[yypt-3 : yypt+1]
 13969  		var yyLOCAL int
 13970  //line sql.y:3868
 13971  		{
 13972  			yyLOCAL = convertStringToInt(yyDollar[3].str)
 13973  		}
 13974  		yyVAL.union = yyLOCAL
 13975  	case 699:
 13976  		yyDollar = yyS[yypt-3 : yypt+1]
 13977  		var yyLOCAL int
 13978  //line sql.y:3874
 13979  		{
 13980  			yyLOCAL = convertStringToInt(yyDollar[3].str)
 13981  		}
 13982  		yyVAL.union = yyLOCAL
 13983  	case 700:
 13984  		yyDollar = yyS[yypt-3 : yypt+1]
 13985  //line sql.y:3880
 13986  		{
 13987  			yyVAL.str = yyDollar[3].identifierCS.String()
 13988  		}
 13989  	case 701:
 13990  		yyDollar = yyS[yypt-2 : yypt+1]
 13991  		var yyLOCAL *PartitionDefinition
 13992  //line sql.y:3886
 13993  		{
 13994  			yyLOCAL = &PartitionDefinition{Name: yyDollar[2].identifierCI}
 13995  		}
 13996  		yyVAL.union = yyLOCAL
 13997  	case 702:
 13998  		yyDollar = yyS[yypt-1 : yypt+1]
 13999  //line sql.y:3892
 14000  		{
 14001  			yyVAL.str = ""
 14002  		}
 14003  	case 703:
 14004  		yyDollar = yyS[yypt-3 : yypt+1]
 14005  //line sql.y:3896
 14006  		{
 14007  			yyVAL.str = ""
 14008  		}
 14009  	case 704:
 14010  		yyDollar = yyS[yypt-3 : yypt+1]
 14011  		var yyLOCAL Statement
 14012  //line sql.y:3902
 14013  		{
 14014  			yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()}
 14015  		}
 14016  		yyVAL.union = yyLOCAL
 14017  	case 705:
 14018  		yyDollar = yyS[yypt-3 : yypt+1]
 14019  		var yyLOCAL []*RenameTablePair
 14020  //line sql.y:3908
 14021  		{
 14022  			yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}}
 14023  		}
 14024  		yyVAL.union = yyLOCAL
 14025  	case 706:
 14026  		yyDollar = yyS[yypt-5 : yypt+1]
 14027  //line sql.y:3912
 14028  		{
 14029  			yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union))
 14030  			*yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName})
 14031  		}
 14032  	case 707:
 14033  		yyDollar = yyS[yypt-7 : yypt+1]
 14034  		var yyLOCAL Statement
 14035  //line sql.y:3918
 14036  		{
 14037  			yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()}
 14038  		}
 14039  		yyVAL.union = yyLOCAL
 14040  	case 708:
 14041  		yyDollar = yyS[yypt-7 : yypt+1]
 14042  		var yyLOCAL Statement
 14043  //line sql.y:3922
 14044  		{
 14045  			// Change this to an alter statement
 14046  			if yyDollar[4].identifierCI.Lowered() == "primary" {
 14047  				yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[7].alterOptionsUnion()...)}
 14048  			} else {
 14049  				yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[4].identifierCI}}, yyDollar[7].alterOptionsUnion()...)}
 14050  			}
 14051  		}
 14052  		yyVAL.union = yyLOCAL
 14053  	case 709:
 14054  		yyDollar = yyS[yypt-6 : yypt+1]
 14055  		var yyLOCAL Statement
 14056  //line sql.y:3931
 14057  		{
 14058  			yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()}
 14059  		}
 14060  		yyVAL.union = yyLOCAL
 14061  	case 710:
 14062  		yyDollar = yyS[yypt-5 : yypt+1]
 14063  		var yyLOCAL Statement
 14064  //line sql.y:3935
 14065  		{
 14066  			yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfExists: yyDollar[4].booleanUnion()}
 14067  		}
 14068  		yyVAL.union = yyLOCAL
 14069  	case 711:
 14070  		yyDollar = yyS[yypt-3 : yypt+1]
 14071  		var yyLOCAL Statement
 14072  //line sql.y:3941
 14073  		{
 14074  			yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName}
 14075  		}
 14076  		yyVAL.union = yyLOCAL
 14077  	case 712:
 14078  		yyDollar = yyS[yypt-2 : yypt+1]
 14079  		var yyLOCAL Statement
 14080  //line sql.y:3945
 14081  		{
 14082  			yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName}
 14083  		}
 14084  		yyVAL.union = yyLOCAL
 14085  	case 713:
 14086  		yyDollar = yyS[yypt-3 : yypt+1]
 14087  		var yyLOCAL Statement
 14088  //line sql.y:3951
 14089  		{
 14090  			yyLOCAL = &OtherRead{}
 14091  		}
 14092  		yyVAL.union = yyLOCAL
 14093  	case 714:
 14094  		yyDollar = yyS[yypt-3 : yypt+1]
 14095  		var yyLOCAL Statement
 14096  //line sql.y:3957
 14097  		{
 14098  			yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}}
 14099  		}
 14100  		yyVAL.union = yyLOCAL
 14101  	case 715:
 14102  		yyDollar = yyS[yypt-3 : yypt+1]
 14103  		var yyLOCAL Statement
 14104  //line sql.y:3961
 14105  		{
 14106  			yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}}
 14107  		}
 14108  		yyVAL.union = yyLOCAL
 14109  	case 716:
 14110  		yyDollar = yyS[yypt-7 : yypt+1]
 14111  		var yyLOCAL Statement
 14112  //line sql.y:3965
 14113  		{
 14114  			yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
 14115  		}
 14116  		yyVAL.union = yyLOCAL
 14117  	case 717:
 14118  		yyDollar = yyS[yypt-3 : yypt+1]
 14119  		var yyLOCAL Statement
 14120  //line sql.y:3969
 14121  		{
 14122  			yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
 14123  		}
 14124  		yyVAL.union = yyLOCAL
 14125  	case 718:
 14126  		yyDollar = yyS[yypt-3 : yypt+1]
 14127  		var yyLOCAL Statement
 14128  //line sql.y:3973
 14129  		{
 14130  			yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
 14131  		}
 14132  		yyVAL.union = yyLOCAL
 14133  	case 719:
 14134  		yyDollar = yyS[yypt-3 : yypt+1]
 14135  		var yyLOCAL Statement
 14136  //line sql.y:3977
 14137  		{
 14138  			yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
 14139  		}
 14140  		yyVAL.union = yyLOCAL
 14141  	case 720:
 14142  		yyDollar = yyS[yypt-3 : yypt+1]
 14143  		var yyLOCAL Statement
 14144  //line sql.y:3981
 14145  		{
 14146  			yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
 14147  		}
 14148  		yyVAL.union = yyLOCAL
 14149  	case 721:
 14150  		yyDollar = yyS[yypt-4 : yypt+1]
 14151  		var yyLOCAL Statement
 14152  //line sql.y:3985
 14153  		{
 14154  			yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}}
 14155  		}
 14156  		yyVAL.union = yyLOCAL
 14157  	case 722:
 14158  		yyDollar = yyS[yypt-7 : yypt+1]
 14159  		var yyLOCAL Statement
 14160  //line sql.y:3989
 14161  		{
 14162  			yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
 14163  		}
 14164  		yyVAL.union = yyLOCAL
 14165  	case 723:
 14166  		yyDollar = yyS[yypt-5 : yypt+1]
 14167  		var yyLOCAL Statement
 14168  //line sql.y:3993
 14169  		{
 14170  			yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
 14171  		}
 14172  		yyVAL.union = yyLOCAL
 14173  	case 724:
 14174  		yyDollar = yyS[yypt-2 : yypt+1]
 14175  		var yyLOCAL Statement
 14176  //line sql.y:3997
 14177  		{
 14178  			yyLOCAL = &Show{&ShowBasic{Command: Privilege}}
 14179  		}
 14180  		yyVAL.union = yyLOCAL
 14181  	case 725:
 14182  		yyDollar = yyS[yypt-4 : yypt+1]
 14183  		var yyLOCAL Statement
 14184  //line sql.y:4001
 14185  		{
 14186  			yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}}
 14187  		}
 14188  		yyVAL.union = yyLOCAL
 14189  	case 726:
 14190  		yyDollar = yyS[yypt-4 : yypt+1]
 14191  		var yyLOCAL Statement
 14192  //line sql.y:4005
 14193  		{
 14194  			yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}}
 14195  		}
 14196  		yyVAL.union = yyLOCAL
 14197  	case 727:
 14198  		yyDollar = yyS[yypt-4 : yypt+1]
 14199  		var yyLOCAL Statement
 14200  //line sql.y:4009
 14201  		{
 14202  			yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}}
 14203  		}
 14204  		yyVAL.union = yyLOCAL
 14205  	case 728:
 14206  		yyDollar = yyS[yypt-4 : yypt+1]
 14207  		var yyLOCAL Statement
 14208  //line sql.y:4013
 14209  		{
 14210  			yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}}
 14211  		}
 14212  		yyVAL.union = yyLOCAL
 14213  	case 729:
 14214  		yyDollar = yyS[yypt-4 : yypt+1]
 14215  		var yyLOCAL Statement
 14216  //line sql.y:4017
 14217  		{
 14218  			yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}}
 14219  		}
 14220  		yyVAL.union = yyLOCAL
 14221  	case 730:
 14222  		yyDollar = yyS[yypt-5 : yypt+1]
 14223  		var yyLOCAL Statement
 14224  //line sql.y:4021
 14225  		{
 14226  			yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
 14227  		}
 14228  		yyVAL.union = yyLOCAL
 14229  	case 731:
 14230  		yyDollar = yyS[yypt-5 : yypt+1]
 14231  		var yyLOCAL Statement
 14232  //line sql.y:4025
 14233  		{
 14234  			yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
 14235  		}
 14236  		yyVAL.union = yyLOCAL
 14237  	case 732:
 14238  		yyDollar = yyS[yypt-4 : yypt+1]
 14239  		var yyLOCAL Statement
 14240  //line sql.y:4029
 14241  		{
 14242  			yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].identifierCS, Filter: yyDollar[4].showFilterUnion()}}
 14243  		}
 14244  		yyVAL.union = yyLOCAL
 14245  	case 733:
 14246  		yyDollar = yyS[yypt-4 : yypt+1]
 14247  		var yyLOCAL Statement
 14248  //line sql.y:4033
 14249  		{
 14250  			yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}}
 14251  		}
 14252  		yyVAL.union = yyLOCAL
 14253  	case 734:
 14254  		yyDollar = yyS[yypt-4 : yypt+1]
 14255  		var yyLOCAL Statement
 14256  //line sql.y:4037
 14257  		{
 14258  			yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}}
 14259  		}
 14260  		yyVAL.union = yyLOCAL
 14261  	case 735:
 14262  		yyDollar = yyS[yypt-4 : yypt+1]
 14263  		var yyLOCAL Statement
 14264  //line sql.y:4041
 14265  		{
 14266  			yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}}
 14267  		}
 14268  		yyVAL.union = yyLOCAL
 14269  	case 736:
 14270  		yyDollar = yyS[yypt-4 : yypt+1]
 14271  		var yyLOCAL Statement
 14272  //line sql.y:4045
 14273  		{
 14274  			yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}}
 14275  		}
 14276  		yyVAL.union = yyLOCAL
 14277  	case 737:
 14278  		yyDollar = yyS[yypt-4 : yypt+1]
 14279  		var yyLOCAL Statement
 14280  //line sql.y:4049
 14281  		{
 14282  			yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}}
 14283  		}
 14284  		yyVAL.union = yyLOCAL
 14285  	case 738:
 14286  		yyDollar = yyS[yypt-4 : yypt+1]
 14287  		var yyLOCAL Statement
 14288  //line sql.y:4053
 14289  		{
 14290  			yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}}
 14291  		}
 14292  		yyVAL.union = yyLOCAL
 14293  	case 739:
 14294  		yyDollar = yyS[yypt-4 : yypt+1]
 14295  		var yyLOCAL Statement
 14296  //line sql.y:4057
 14297  		{
 14298  			yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}}
 14299  		}
 14300  		yyVAL.union = yyLOCAL
 14301  	case 740:
 14302  		yyDollar = yyS[yypt-2 : yypt+1]
 14303  		var yyLOCAL Statement
 14304  //line sql.y:4061
 14305  		{
 14306  			yyLOCAL = &Show{&ShowBasic{Command: Engines}}
 14307  		}
 14308  		yyVAL.union = yyLOCAL
 14309  	case 741:
 14310  		yyDollar = yyS[yypt-2 : yypt+1]
 14311  		var yyLOCAL Statement
 14312  //line sql.y:4065
 14313  		{
 14314  			yyLOCAL = &Show{&ShowBasic{Command: Plugins}}
 14315  		}
 14316  		yyVAL.union = yyLOCAL
 14317  	case 742:
 14318  		yyDollar = yyS[yypt-4 : yypt+1]
 14319  		var yyLOCAL Statement
 14320  //line sql.y:4069
 14321  		{
 14322  			yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].identifierCS}}
 14323  		}
 14324  		yyVAL.union = yyLOCAL
 14325  	case 743:
 14326  		yyDollar = yyS[yypt-4 : yypt+1]
 14327  		var yyLOCAL Statement
 14328  //line sql.y:4073
 14329  		{
 14330  			yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].identifierCS}}
 14331  		}
 14332  		yyVAL.union = yyLOCAL
 14333  	case 744:
 14334  		yyDollar = yyS[yypt-4 : yypt+1]
 14335  		var yyLOCAL Statement
 14336  //line sql.y:4077
 14337  		{
 14338  			yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}}
 14339  		}
 14340  		yyVAL.union = yyLOCAL
 14341  	case 745:
 14342  		yyDollar = yyS[yypt-4 : yypt+1]
 14343  		var yyLOCAL Statement
 14344  //line sql.y:4081
 14345  		{
 14346  			yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].identifierCS}}
 14347  		}
 14348  		yyVAL.union = yyLOCAL
 14349  	case 746:
 14350  		yyDollar = yyS[yypt-4 : yypt+1]
 14351  		var yyLOCAL Statement
 14352  //line sql.y:4085
 14353  		{
 14354  			yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)}
 14355  		}
 14356  		yyVAL.union = yyLOCAL
 14357  	case 747:
 14358  		yyDollar = yyS[yypt-2 : yypt+1]
 14359  		var yyLOCAL Statement
 14360  //line sql.y:4089
 14361  		{
 14362  			yyLOCAL = &ShowThrottledApps{}
 14363  		}
 14364  		yyVAL.union = yyLOCAL
 14365  	case 748:
 14366  		yyDollar = yyS[yypt-3 : yypt+1]
 14367  		var yyLOCAL Statement
 14368  //line sql.y:4093
 14369  		{
 14370  			yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}}
 14371  		}
 14372  		yyVAL.union = yyLOCAL
 14373  	case 749:
 14374  		yyDollar = yyS[yypt-3 : yypt+1]
 14375  		var yyLOCAL Statement
 14376  //line sql.y:4097
 14377  		{
 14378  			yyLOCAL = &ShowThrottlerStatus{}
 14379  		}
 14380  		yyVAL.union = yyLOCAL
 14381  	case 750:
 14382  		yyDollar = yyS[yypt-3 : yypt+1]
 14383  		var yyLOCAL Statement
 14384  //line sql.y:4101
 14385  		{
 14386  			yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}}
 14387  		}
 14388  		yyVAL.union = yyLOCAL
 14389  	case 751:
 14390  		yyDollar = yyS[yypt-3 : yypt+1]
 14391  		var yyLOCAL Statement
 14392  //line sql.y:4105
 14393  		{
 14394  			yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}}
 14395  		}
 14396  		yyVAL.union = yyLOCAL
 14397  	case 752:
 14398  		yyDollar = yyS[yypt-5 : yypt+1]
 14399  		var yyLOCAL Statement
 14400  //line sql.y:4109
 14401  		{
 14402  			yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}}
 14403  		}
 14404  		yyVAL.union = yyLOCAL
 14405  	case 753:
 14406  		yyDollar = yyS[yypt-2 : yypt+1]
 14407  		var yyLOCAL Statement
 14408  //line sql.y:4113
 14409  		{
 14410  			yyLOCAL = &Show{&ShowBasic{Command: Warnings}}
 14411  		}
 14412  		yyVAL.union = yyLOCAL
 14413  	case 754:
 14414  		yyDollar = yyS[yypt-3 : yypt+1]
 14415  		var yyLOCAL Statement
 14416  //line sql.y:4117
 14417  		{
 14418  			yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}}
 14419  		}
 14420  		yyVAL.union = yyLOCAL
 14421  	case 755:
 14422  		yyDollar = yyS[yypt-3 : yypt+1]
 14423  		var yyLOCAL Statement
 14424  //line sql.y:4121
 14425  		{
 14426  			yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}}
 14427  		}
 14428  		yyVAL.union = yyLOCAL
 14429  	case 756:
 14430  		yyDollar = yyS[yypt-2 : yypt+1]
 14431  		var yyLOCAL Statement
 14432  //line sql.y:4125
 14433  		{
 14434  			yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}}
 14435  		}
 14436  		yyVAL.union = yyLOCAL
 14437  	case 757:
 14438  		yyDollar = yyS[yypt-3 : yypt+1]
 14439  		var yyLOCAL Statement
 14440  //line sql.y:4132
 14441  		{
 14442  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].identifierCI.String())}}
 14443  		}
 14444  		yyVAL.union = yyLOCAL
 14445  	case 758:
 14446  		yyDollar = yyS[yypt-4 : yypt+1]
 14447  		var yyLOCAL Statement
 14448  //line sql.y:4136
 14449  		{
 14450  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
 14451  		}
 14452  		yyVAL.union = yyLOCAL
 14453  	case 759:
 14454  		yyDollar = yyS[yypt-4 : yypt+1]
 14455  		var yyLOCAL Statement
 14456  //line sql.y:4140
 14457  		{
 14458  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()}}
 14459  		}
 14460  		yyVAL.union = yyLOCAL
 14461  	case 760:
 14462  		yyDollar = yyS[yypt-4 : yypt+1]
 14463  		var yyLOCAL Statement
 14464  //line sql.y:4144
 14465  		{
 14466  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
 14467  		}
 14468  		yyVAL.union = yyLOCAL
 14469  	case 761:
 14470  		yyDollar = yyS[yypt-3 : yypt+1]
 14471  		var yyLOCAL Statement
 14472  //line sql.y:4148
 14473  		{
 14474  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
 14475  		}
 14476  		yyVAL.union = yyLOCAL
 14477  	case 762:
 14478  		yyDollar = yyS[yypt-4 : yypt+1]
 14479  		var yyLOCAL Statement
 14480  //line sql.y:4152
 14481  		{
 14482  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
 14483  		}
 14484  		yyVAL.union = yyLOCAL
 14485  	case 763:
 14486  		yyDollar = yyS[yypt-4 : yypt+1]
 14487  		var yyLOCAL Statement
 14488  //line sql.y:4156
 14489  		{
 14490  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
 14491  		}
 14492  		yyVAL.union = yyLOCAL
 14493  	case 764:
 14494  		yyDollar = yyS[yypt-5 : yypt+1]
 14495  		var yyLOCAL Statement
 14496  //line sql.y:4160
 14497  		{
 14498  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}}
 14499  		}
 14500  		yyVAL.union = yyLOCAL
 14501  	case 765:
 14502  		yyDollar = yyS[yypt-3 : yypt+1]
 14503  		var yyLOCAL Statement
 14504  //line sql.y:4164
 14505  		{
 14506  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
 14507  		}
 14508  		yyVAL.union = yyLOCAL
 14509  	case 766:
 14510  		yyDollar = yyS[yypt-0 : yypt+1]
 14511  //line sql.y:4170
 14512  		{
 14513  			yyVAL.str = ""
 14514  		}
 14515  	case 767:
 14516  		yyDollar = yyS[yypt-1 : yypt+1]
 14517  //line sql.y:4174
 14518  		{
 14519  			yyVAL.str = "extended "
 14520  		}
 14521  	case 768:
 14522  		yyDollar = yyS[yypt-0 : yypt+1]
 14523  		var yyLOCAL bool
 14524  //line sql.y:4180
 14525  		{
 14526  			yyLOCAL = false
 14527  		}
 14528  		yyVAL.union = yyLOCAL
 14529  	case 769:
 14530  		yyDollar = yyS[yypt-1 : yypt+1]
 14531  		var yyLOCAL bool
 14532  //line sql.y:4184
 14533  		{
 14534  			yyLOCAL = true
 14535  		}
 14536  		yyVAL.union = yyLOCAL
 14537  	case 770:
 14538  		yyDollar = yyS[yypt-1 : yypt+1]
 14539  //line sql.y:4190
 14540  		{
 14541  			yyVAL.str = string(yyDollar[1].str)
 14542  		}
 14543  	case 771:
 14544  		yyDollar = yyS[yypt-1 : yypt+1]
 14545  //line sql.y:4194
 14546  		{
 14547  			yyVAL.str = string(yyDollar[1].str)
 14548  		}
 14549  	case 772:
 14550  		yyDollar = yyS[yypt-0 : yypt+1]
 14551  //line sql.y:4200
 14552  		{
 14553  			yyVAL.identifierCS = NewIdentifierCS("")
 14554  		}
 14555  	case 773:
 14556  		yyDollar = yyS[yypt-2 : yypt+1]
 14557  //line sql.y:4204
 14558  		{
 14559  			yyVAL.identifierCS = yyDollar[2].identifierCS
 14560  		}
 14561  	case 774:
 14562  		yyDollar = yyS[yypt-2 : yypt+1]
 14563  //line sql.y:4208
 14564  		{
 14565  			yyVAL.identifierCS = yyDollar[2].identifierCS
 14566  		}
 14567  	case 775:
 14568  		yyDollar = yyS[yypt-0 : yypt+1]
 14569  		var yyLOCAL *ShowFilter
 14570  //line sql.y:4214
 14571  		{
 14572  			yyLOCAL = nil
 14573  		}
 14574  		yyVAL.union = yyLOCAL
 14575  	case 776:
 14576  		yyDollar = yyS[yypt-2 : yypt+1]
 14577  		var yyLOCAL *ShowFilter
 14578  //line sql.y:4218
 14579  		{
 14580  			yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
 14581  		}
 14582  		yyVAL.union = yyLOCAL
 14583  	case 777:
 14584  		yyDollar = yyS[yypt-2 : yypt+1]
 14585  		var yyLOCAL *ShowFilter
 14586  //line sql.y:4222
 14587  		{
 14588  			yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()}
 14589  		}
 14590  		yyVAL.union = yyLOCAL
 14591  	case 778:
 14592  		yyDollar = yyS[yypt-0 : yypt+1]
 14593  		var yyLOCAL *ShowFilter
 14594  //line sql.y:4228
 14595  		{
 14596  			yyLOCAL = nil
 14597  		}
 14598  		yyVAL.union = yyLOCAL
 14599  	case 779:
 14600  		yyDollar = yyS[yypt-2 : yypt+1]
 14601  		var yyLOCAL *ShowFilter
 14602  //line sql.y:4232
 14603  		{
 14604  			yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
 14605  		}
 14606  		yyVAL.union = yyLOCAL
 14607  	case 780:
 14608  		yyDollar = yyS[yypt-0 : yypt+1]
 14609  //line sql.y:4238
 14610  		{
 14611  			yyVAL.empty = struct{}{}
 14612  		}
 14613  	case 781:
 14614  		yyDollar = yyS[yypt-1 : yypt+1]
 14615  //line sql.y:4242
 14616  		{
 14617  			yyVAL.empty = struct{}{}
 14618  		}
 14619  	case 782:
 14620  		yyDollar = yyS[yypt-1 : yypt+1]
 14621  //line sql.y:4246
 14622  		{
 14623  			yyVAL.empty = struct{}{}
 14624  		}
 14625  	case 783:
 14626  		yyDollar = yyS[yypt-1 : yypt+1]
 14627  //line sql.y:4252
 14628  		{
 14629  			yyVAL.str = string(yyDollar[1].str)
 14630  		}
 14631  	case 784:
 14632  		yyDollar = yyS[yypt-1 : yypt+1]
 14633  //line sql.y:4256
 14634  		{
 14635  			yyVAL.str = string(yyDollar[1].str)
 14636  		}
 14637  	case 785:
 14638  		yyDollar = yyS[yypt-2 : yypt+1]
 14639  		var yyLOCAL Statement
 14640  //line sql.y:4262
 14641  		{
 14642  			yyLOCAL = &Use{DBName: yyDollar[2].identifierCS}
 14643  		}
 14644  		yyVAL.union = yyLOCAL
 14645  	case 786:
 14646  		yyDollar = yyS[yypt-1 : yypt+1]
 14647  		var yyLOCAL Statement
 14648  //line sql.y:4266
 14649  		{
 14650  			yyLOCAL = &Use{DBName: IdentifierCS{v: ""}}
 14651  		}
 14652  		yyVAL.union = yyLOCAL
 14653  	case 787:
 14654  		yyDollar = yyS[yypt-3 : yypt+1]
 14655  		var yyLOCAL Statement
 14656  //line sql.y:4270
 14657  		{
 14658  			yyLOCAL = &Use{DBName: NewIdentifierCS(yyDollar[2].identifierCS.String() + "@" + string(yyDollar[3].str))}
 14659  		}
 14660  		yyVAL.union = yyLOCAL
 14661  	case 788:
 14662  		yyDollar = yyS[yypt-1 : yypt+1]
 14663  //line sql.y:4277
 14664  		{
 14665  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 14666  		}
 14667  	case 789:
 14668  		yyDollar = yyS[yypt-1 : yypt+1]
 14669  //line sql.y:4281
 14670  		{
 14671  			yyVAL.identifierCS = NewIdentifierCS("@" + string(yyDollar[1].str))
 14672  		}
 14673  	case 790:
 14674  		yyDollar = yyS[yypt-1 : yypt+1]
 14675  //line sql.y:4285
 14676  		{
 14677  			yyVAL.identifierCS = NewIdentifierCS("@@" + string(yyDollar[1].str))
 14678  		}
 14679  	case 791:
 14680  		yyDollar = yyS[yypt-1 : yypt+1]
 14681  //line sql.y:4289
 14682  		{
 14683  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 14684  		}
 14685  	case 792:
 14686  		yyDollar = yyS[yypt-1 : yypt+1]
 14687  		var yyLOCAL Statement
 14688  //line sql.y:4296
 14689  		{
 14690  			yyLOCAL = &Begin{}
 14691  		}
 14692  		yyVAL.union = yyLOCAL
 14693  	case 793:
 14694  		yyDollar = yyS[yypt-3 : yypt+1]
 14695  		var yyLOCAL Statement
 14696  //line sql.y:4300
 14697  		{
 14698  			yyLOCAL = &Begin{TxAccessModes: yyDollar[3].txAccessModesUnion()}
 14699  		}
 14700  		yyVAL.union = yyLOCAL
 14701  	case 794:
 14702  		yyDollar = yyS[yypt-0 : yypt+1]
 14703  		var yyLOCAL []TxAccessMode
 14704  //line sql.y:4305
 14705  		{
 14706  			yyLOCAL = nil
 14707  		}
 14708  		yyVAL.union = yyLOCAL
 14709  	case 795:
 14710  		yyDollar = yyS[yypt-1 : yypt+1]
 14711  		var yyLOCAL []TxAccessMode
 14712  //line sql.y:4309
 14713  		{
 14714  			yyLOCAL = yyDollar[1].txAccessModesUnion()
 14715  		}
 14716  		yyVAL.union = yyLOCAL
 14717  	case 796:
 14718  		yyDollar = yyS[yypt-1 : yypt+1]
 14719  		var yyLOCAL []TxAccessMode
 14720  //line sql.y:4315
 14721  		{
 14722  			yyLOCAL = []TxAccessMode{yyDollar[1].txAccessModeUnion()}
 14723  		}
 14724  		yyVAL.union = yyLOCAL
 14725  	case 797:
 14726  		yyDollar = yyS[yypt-3 : yypt+1]
 14727  //line sql.y:4319
 14728  		{
 14729  			yySLICE := (*[]TxAccessMode)(yyIaddr(yyVAL.union))
 14730  			*yySLICE = append(*yySLICE, yyDollar[3].txAccessModeUnion())
 14731  		}
 14732  	case 798:
 14733  		yyDollar = yyS[yypt-3 : yypt+1]
 14734  		var yyLOCAL TxAccessMode
 14735  //line sql.y:4325
 14736  		{
 14737  			yyLOCAL = WithConsistentSnapshot
 14738  		}
 14739  		yyVAL.union = yyLOCAL
 14740  	case 799:
 14741  		yyDollar = yyS[yypt-2 : yypt+1]
 14742  		var yyLOCAL TxAccessMode
 14743  //line sql.y:4329
 14744  		{
 14745  			yyLOCAL = ReadWrite
 14746  		}
 14747  		yyVAL.union = yyLOCAL
 14748  	case 800:
 14749  		yyDollar = yyS[yypt-2 : yypt+1]
 14750  		var yyLOCAL TxAccessMode
 14751  //line sql.y:4333
 14752  		{
 14753  			yyLOCAL = ReadOnly
 14754  		}
 14755  		yyVAL.union = yyLOCAL
 14756  	case 801:
 14757  		yyDollar = yyS[yypt-1 : yypt+1]
 14758  		var yyLOCAL Statement
 14759  //line sql.y:4340
 14760  		{
 14761  			yyLOCAL = &Commit{}
 14762  		}
 14763  		yyVAL.union = yyLOCAL
 14764  	case 802:
 14765  		yyDollar = yyS[yypt-1 : yypt+1]
 14766  		var yyLOCAL Statement
 14767  //line sql.y:4346
 14768  		{
 14769  			yyLOCAL = &Rollback{}
 14770  		}
 14771  		yyVAL.union = yyLOCAL
 14772  	case 803:
 14773  		yyDollar = yyS[yypt-5 : yypt+1]
 14774  		var yyLOCAL Statement
 14775  //line sql.y:4350
 14776  		{
 14777  			yyLOCAL = &SRollback{Name: yyDollar[5].identifierCI}
 14778  		}
 14779  		yyVAL.union = yyLOCAL
 14780  	case 804:
 14781  		yyDollar = yyS[yypt-0 : yypt+1]
 14782  //line sql.y:4355
 14783  		{
 14784  			yyVAL.empty = struct{}{}
 14785  		}
 14786  	case 805:
 14787  		yyDollar = yyS[yypt-1 : yypt+1]
 14788  //line sql.y:4357
 14789  		{
 14790  			yyVAL.empty = struct{}{}
 14791  		}
 14792  	case 806:
 14793  		yyDollar = yyS[yypt-0 : yypt+1]
 14794  //line sql.y:4360
 14795  		{
 14796  			yyVAL.empty = struct{}{}
 14797  		}
 14798  	case 807:
 14799  		yyDollar = yyS[yypt-1 : yypt+1]
 14800  //line sql.y:4362
 14801  		{
 14802  			yyVAL.empty = struct{}{}
 14803  		}
 14804  	case 808:
 14805  		yyDollar = yyS[yypt-2 : yypt+1]
 14806  		var yyLOCAL Statement
 14807  //line sql.y:4366
 14808  		{
 14809  			yyLOCAL = &Savepoint{Name: yyDollar[2].identifierCI}
 14810  		}
 14811  		yyVAL.union = yyLOCAL
 14812  	case 809:
 14813  		yyDollar = yyS[yypt-3 : yypt+1]
 14814  		var yyLOCAL Statement
 14815  //line sql.y:4372
 14816  		{
 14817  			yyLOCAL = &Release{Name: yyDollar[3].identifierCI}
 14818  		}
 14819  		yyVAL.union = yyLOCAL
 14820  	case 810:
 14821  		yyDollar = yyS[yypt-0 : yypt+1]
 14822  		var yyLOCAL ExplainType
 14823  //line sql.y:4377
 14824  		{
 14825  			yyLOCAL = EmptyType
 14826  		}
 14827  		yyVAL.union = yyLOCAL
 14828  	case 811:
 14829  		yyDollar = yyS[yypt-3 : yypt+1]
 14830  		var yyLOCAL ExplainType
 14831  //line sql.y:4381
 14832  		{
 14833  			yyLOCAL = JSONType
 14834  		}
 14835  		yyVAL.union = yyLOCAL
 14836  	case 812:
 14837  		yyDollar = yyS[yypt-3 : yypt+1]
 14838  		var yyLOCAL ExplainType
 14839  //line sql.y:4385
 14840  		{
 14841  			yyLOCAL = TreeType
 14842  		}
 14843  		yyVAL.union = yyLOCAL
 14844  	case 813:
 14845  		yyDollar = yyS[yypt-3 : yypt+1]
 14846  		var yyLOCAL ExplainType
 14847  //line sql.y:4389
 14848  		{
 14849  			yyLOCAL = VitessType
 14850  		}
 14851  		yyVAL.union = yyLOCAL
 14852  	case 814:
 14853  		yyDollar = yyS[yypt-3 : yypt+1]
 14854  		var yyLOCAL ExplainType
 14855  //line sql.y:4393
 14856  		{
 14857  			yyLOCAL = VTExplainType
 14858  		}
 14859  		yyVAL.union = yyLOCAL
 14860  	case 815:
 14861  		yyDollar = yyS[yypt-3 : yypt+1]
 14862  		var yyLOCAL ExplainType
 14863  //line sql.y:4397
 14864  		{
 14865  			yyLOCAL = TraditionalType
 14866  		}
 14867  		yyVAL.union = yyLOCAL
 14868  	case 816:
 14869  		yyDollar = yyS[yypt-1 : yypt+1]
 14870  		var yyLOCAL ExplainType
 14871  //line sql.y:4401
 14872  		{
 14873  			yyLOCAL = AnalyzeType
 14874  		}
 14875  		yyVAL.union = yyLOCAL
 14876  	case 817:
 14877  		yyDollar = yyS[yypt-0 : yypt+1]
 14878  		var yyLOCAL VExplainType
 14879  //line sql.y:4406
 14880  		{
 14881  			yyLOCAL = PlanVExplainType
 14882  		}
 14883  		yyVAL.union = yyLOCAL
 14884  	case 818:
 14885  		yyDollar = yyS[yypt-1 : yypt+1]
 14886  		var yyLOCAL VExplainType
 14887  //line sql.y:4410
 14888  		{
 14889  			yyLOCAL = PlanVExplainType
 14890  		}
 14891  		yyVAL.union = yyLOCAL
 14892  	case 819:
 14893  		yyDollar = yyS[yypt-1 : yypt+1]
 14894  		var yyLOCAL VExplainType
 14895  //line sql.y:4414
 14896  		{
 14897  			yyLOCAL = AllVExplainType
 14898  		}
 14899  		yyVAL.union = yyLOCAL
 14900  	case 820:
 14901  		yyDollar = yyS[yypt-1 : yypt+1]
 14902  		var yyLOCAL VExplainType
 14903  //line sql.y:4418
 14904  		{
 14905  			yyLOCAL = QueriesVExplainType
 14906  		}
 14907  		yyVAL.union = yyLOCAL
 14908  	case 821:
 14909  		yyDollar = yyS[yypt-1 : yypt+1]
 14910  //line sql.y:4424
 14911  		{
 14912  			yyVAL.str = yyDollar[1].str
 14913  		}
 14914  	case 822:
 14915  		yyDollar = yyS[yypt-1 : yypt+1]
 14916  //line sql.y:4428
 14917  		{
 14918  			yyVAL.str = yyDollar[1].str
 14919  		}
 14920  	case 823:
 14921  		yyDollar = yyS[yypt-1 : yypt+1]
 14922  //line sql.y:4432
 14923  		{
 14924  			yyVAL.str = yyDollar[1].str
 14925  		}
 14926  	case 824:
 14927  		yyDollar = yyS[yypt-1 : yypt+1]
 14928  		var yyLOCAL Statement
 14929  //line sql.y:4438
 14930  		{
 14931  			yyLOCAL = yyDollar[1].selStmtUnion()
 14932  		}
 14933  		yyVAL.union = yyLOCAL
 14934  	case 825:
 14935  		yyDollar = yyS[yypt-1 : yypt+1]
 14936  		var yyLOCAL Statement
 14937  //line sql.y:4442
 14938  		{
 14939  			yyLOCAL = yyDollar[1].statementUnion()
 14940  		}
 14941  		yyVAL.union = yyLOCAL
 14942  	case 826:
 14943  		yyDollar = yyS[yypt-1 : yypt+1]
 14944  		var yyLOCAL Statement
 14945  //line sql.y:4446
 14946  		{
 14947  			yyLOCAL = yyDollar[1].statementUnion()
 14948  		}
 14949  		yyVAL.union = yyLOCAL
 14950  	case 827:
 14951  		yyDollar = yyS[yypt-1 : yypt+1]
 14952  		var yyLOCAL Statement
 14953  //line sql.y:4450
 14954  		{
 14955  			yyLOCAL = yyDollar[1].statementUnion()
 14956  		}
 14957  		yyVAL.union = yyLOCAL
 14958  	case 828:
 14959  		yyDollar = yyS[yypt-0 : yypt+1]
 14960  //line sql.y:4455
 14961  		{
 14962  			yyVAL.str = ""
 14963  		}
 14964  	case 829:
 14965  		yyDollar = yyS[yypt-1 : yypt+1]
 14966  //line sql.y:4459
 14967  		{
 14968  			yyVAL.str = yyDollar[1].identifierCI.val
 14969  		}
 14970  	case 830:
 14971  		yyDollar = yyS[yypt-1 : yypt+1]
 14972  //line sql.y:4463
 14973  		{
 14974  			yyVAL.str = encodeSQLString(yyDollar[1].str)
 14975  		}
 14976  	case 831:
 14977  		yyDollar = yyS[yypt-4 : yypt+1]
 14978  		var yyLOCAL Statement
 14979  //line sql.y:4469
 14980  		{
 14981  			yyLOCAL = &ExplainTab{Table: yyDollar[3].tableName, Wild: yyDollar[4].str}
 14982  		}
 14983  		yyVAL.union = yyLOCAL
 14984  	case 832:
 14985  		yyDollar = yyS[yypt-4 : yypt+1]
 14986  		var yyLOCAL Statement
 14987  //line sql.y:4473
 14988  		{
 14989  			yyLOCAL = &ExplainStmt{Type: yyDollar[3].explainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
 14990  		}
 14991  		yyVAL.union = yyLOCAL
 14992  	case 833:
 14993  		yyDollar = yyS[yypt-4 : yypt+1]
 14994  		var yyLOCAL Statement
 14995  //line sql.y:4479
 14996  		{
 14997  			yyLOCAL = &VExplainStmt{Type: yyDollar[3].vexplainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
 14998  		}
 14999  		yyVAL.union = yyLOCAL
 15000  	case 834:
 15001  		yyDollar = yyS[yypt-2 : yypt+1]
 15002  		var yyLOCAL Statement
 15003  //line sql.y:4485
 15004  		{
 15005  			yyLOCAL = &OtherAdmin{}
 15006  		}
 15007  		yyVAL.union = yyLOCAL
 15008  	case 835:
 15009  		yyDollar = yyS[yypt-2 : yypt+1]
 15010  		var yyLOCAL Statement
 15011  //line sql.y:4489
 15012  		{
 15013  			yyLOCAL = &OtherAdmin{}
 15014  		}
 15015  		yyVAL.union = yyLOCAL
 15016  	case 836:
 15017  		yyDollar = yyS[yypt-3 : yypt+1]
 15018  		var yyLOCAL Statement
 15019  //line sql.y:4495
 15020  		{
 15021  			yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()}
 15022  		}
 15023  		yyVAL.union = yyLOCAL
 15024  	case 837:
 15025  		yyDollar = yyS[yypt-1 : yypt+1]
 15026  		var yyLOCAL TableAndLockTypes
 15027  //line sql.y:4501
 15028  		{
 15029  			yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()}
 15030  		}
 15031  		yyVAL.union = yyLOCAL
 15032  	case 838:
 15033  		yyDollar = yyS[yypt-3 : yypt+1]
 15034  //line sql.y:4505
 15035  		{
 15036  			yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union))
 15037  			*yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion())
 15038  		}
 15039  	case 839:
 15040  		yyDollar = yyS[yypt-2 : yypt+1]
 15041  		var yyLOCAL *TableAndLockType
 15042  //line sql.y:4511
 15043  		{
 15044  			yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()}
 15045  		}
 15046  		yyVAL.union = yyLOCAL
 15047  	case 840:
 15048  		yyDollar = yyS[yypt-1 : yypt+1]
 15049  		var yyLOCAL LockType
 15050  //line sql.y:4517
 15051  		{
 15052  			yyLOCAL = Read
 15053  		}
 15054  		yyVAL.union = yyLOCAL
 15055  	case 841:
 15056  		yyDollar = yyS[yypt-2 : yypt+1]
 15057  		var yyLOCAL LockType
 15058  //line sql.y:4521
 15059  		{
 15060  			yyLOCAL = ReadLocal
 15061  		}
 15062  		yyVAL.union = yyLOCAL
 15063  	case 842:
 15064  		yyDollar = yyS[yypt-1 : yypt+1]
 15065  		var yyLOCAL LockType
 15066  //line sql.y:4525
 15067  		{
 15068  			yyLOCAL = Write
 15069  		}
 15070  		yyVAL.union = yyLOCAL
 15071  	case 843:
 15072  		yyDollar = yyS[yypt-2 : yypt+1]
 15073  		var yyLOCAL LockType
 15074  //line sql.y:4529
 15075  		{
 15076  			yyLOCAL = LowPriorityWrite
 15077  		}
 15078  		yyVAL.union = yyLOCAL
 15079  	case 844:
 15080  		yyDollar = yyS[yypt-2 : yypt+1]
 15081  		var yyLOCAL Statement
 15082  //line sql.y:4535
 15083  		{
 15084  			yyLOCAL = &UnlockTables{}
 15085  		}
 15086  		yyVAL.union = yyLOCAL
 15087  	case 845:
 15088  		yyDollar = yyS[yypt-4 : yypt+1]
 15089  		var yyLOCAL Statement
 15090  //line sql.y:4541
 15091  		{
 15092  			yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)}
 15093  		}
 15094  		yyVAL.union = yyLOCAL
 15095  	case 846:
 15096  		yyDollar = yyS[yypt-3 : yypt+1]
 15097  		var yyLOCAL Statement
 15098  //line sql.y:4547
 15099  		{
 15100  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs}
 15101  		}
 15102  		yyVAL.union = yyLOCAL
 15103  	case 847:
 15104  		yyDollar = yyS[yypt-3 : yypt+1]
 15105  		var yyLOCAL Statement
 15106  //line sql.y:4551
 15107  		{
 15108  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()}
 15109  		}
 15110  		yyVAL.union = yyLOCAL
 15111  	case 848:
 15112  		yyDollar = yyS[yypt-6 : yypt+1]
 15113  		var yyLOCAL Statement
 15114  //line sql.y:4555
 15115  		{
 15116  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true}
 15117  		}
 15118  		yyVAL.union = yyLOCAL
 15119  	case 849:
 15120  		yyDollar = yyS[yypt-4 : yypt+1]
 15121  		var yyLOCAL Statement
 15122  //line sql.y:4559
 15123  		{
 15124  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()}
 15125  		}
 15126  		yyVAL.union = yyLOCAL
 15127  	case 850:
 15128  		yyDollar = yyS[yypt-7 : yypt+1]
 15129  		var yyLOCAL Statement
 15130  //line sql.y:4563
 15131  		{
 15132  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true}
 15133  		}
 15134  		yyVAL.union = yyLOCAL
 15135  	case 851:
 15136  		yyDollar = yyS[yypt-6 : yypt+1]
 15137  		var yyLOCAL Statement
 15138  //line sql.y:4567
 15139  		{
 15140  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true}
 15141  		}
 15142  		yyVAL.union = yyLOCAL
 15143  	case 852:
 15144  		yyDollar = yyS[yypt-1 : yypt+1]
 15145  //line sql.y:4573
 15146  		{
 15147  			yyVAL.strs = []string{yyDollar[1].str}
 15148  		}
 15149  	case 853:
 15150  		yyDollar = yyS[yypt-3 : yypt+1]
 15151  //line sql.y:4577
 15152  		{
 15153  			yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str)
 15154  		}
 15155  	case 854:
 15156  		yyDollar = yyS[yypt-2 : yypt+1]
 15157  //line sql.y:4583
 15158  		{
 15159  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15160  		}
 15161  	case 855:
 15162  		yyDollar = yyS[yypt-2 : yypt+1]
 15163  //line sql.y:4587
 15164  		{
 15165  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15166  		}
 15167  	case 856:
 15168  		yyDollar = yyS[yypt-2 : yypt+1]
 15169  //line sql.y:4591
 15170  		{
 15171  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15172  		}
 15173  	case 857:
 15174  		yyDollar = yyS[yypt-2 : yypt+1]
 15175  //line sql.y:4595
 15176  		{
 15177  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15178  		}
 15179  	case 858:
 15180  		yyDollar = yyS[yypt-1 : yypt+1]
 15181  //line sql.y:4599
 15182  		{
 15183  			yyVAL.str = string(yyDollar[1].str)
 15184  		}
 15185  	case 859:
 15186  		yyDollar = yyS[yypt-1 : yypt+1]
 15187  //line sql.y:4603
 15188  		{
 15189  			yyVAL.str = string(yyDollar[1].str)
 15190  		}
 15191  	case 860:
 15192  		yyDollar = yyS[yypt-1 : yypt+1]
 15193  //line sql.y:4607
 15194  		{
 15195  			yyVAL.str = string(yyDollar[1].str)
 15196  		}
 15197  	case 861:
 15198  		yyDollar = yyS[yypt-3 : yypt+1]
 15199  //line sql.y:4611
 15200  		{
 15201  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str
 15202  		}
 15203  	case 862:
 15204  		yyDollar = yyS[yypt-2 : yypt+1]
 15205  //line sql.y:4615
 15206  		{
 15207  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15208  		}
 15209  	case 863:
 15210  		yyDollar = yyS[yypt-1 : yypt+1]
 15211  //line sql.y:4619
 15212  		{
 15213  			yyVAL.str = string(yyDollar[1].str)
 15214  		}
 15215  	case 864:
 15216  		yyDollar = yyS[yypt-1 : yypt+1]
 15217  //line sql.y:4623
 15218  		{
 15219  			yyVAL.str = string(yyDollar[1].str)
 15220  		}
 15221  	case 865:
 15222  		yyDollar = yyS[yypt-1 : yypt+1]
 15223  //line sql.y:4627
 15224  		{
 15225  			yyVAL.str = string(yyDollar[1].str)
 15226  		}
 15227  	case 866:
 15228  		yyDollar = yyS[yypt-0 : yypt+1]
 15229  		var yyLOCAL bool
 15230  //line sql.y:4632
 15231  		{
 15232  			yyLOCAL = false
 15233  		}
 15234  		yyVAL.union = yyLOCAL
 15235  	case 867:
 15236  		yyDollar = yyS[yypt-1 : yypt+1]
 15237  		var yyLOCAL bool
 15238  //line sql.y:4636
 15239  		{
 15240  			yyLOCAL = true
 15241  		}
 15242  		yyVAL.union = yyLOCAL
 15243  	case 868:
 15244  		yyDollar = yyS[yypt-1 : yypt+1]
 15245  		var yyLOCAL bool
 15246  //line sql.y:4640
 15247  		{
 15248  			yyLOCAL = true
 15249  		}
 15250  		yyVAL.union = yyLOCAL
 15251  	case 869:
 15252  		yyDollar = yyS[yypt-0 : yypt+1]
 15253  //line sql.y:4645
 15254  		{
 15255  			yyVAL.str = ""
 15256  		}
 15257  	case 870:
 15258  		yyDollar = yyS[yypt-3 : yypt+1]
 15259  //line sql.y:4649
 15260  		{
 15261  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()
 15262  		}
 15263  	case 871:
 15264  		yyDollar = yyS[yypt-0 : yypt+1]
 15265  //line sql.y:4654
 15266  		{
 15267  			setAllowComments(yylex, true)
 15268  		}
 15269  	case 872:
 15270  		yyDollar = yyS[yypt-2 : yypt+1]
 15271  //line sql.y:4658
 15272  		{
 15273  			yyVAL.strs = yyDollar[2].strs
 15274  			setAllowComments(yylex, false)
 15275  		}
 15276  	case 873:
 15277  		yyDollar = yyS[yypt-0 : yypt+1]
 15278  //line sql.y:4664
 15279  		{
 15280  			yyVAL.strs = nil
 15281  		}
 15282  	case 874:
 15283  		yyDollar = yyS[yypt-2 : yypt+1]
 15284  //line sql.y:4668
 15285  		{
 15286  			yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str)
 15287  		}
 15288  	case 875:
 15289  		yyDollar = yyS[yypt-1 : yypt+1]
 15290  		var yyLOCAL bool
 15291  //line sql.y:4674
 15292  		{
 15293  			yyLOCAL = true
 15294  		}
 15295  		yyVAL.union = yyLOCAL
 15296  	case 876:
 15297  		yyDollar = yyS[yypt-2 : yypt+1]
 15298  		var yyLOCAL bool
 15299  //line sql.y:4678
 15300  		{
 15301  			yyLOCAL = false
 15302  		}
 15303  		yyVAL.union = yyLOCAL
 15304  	case 877:
 15305  		yyDollar = yyS[yypt-2 : yypt+1]
 15306  		var yyLOCAL bool
 15307  //line sql.y:4682
 15308  		{
 15309  			yyLOCAL = true
 15310  		}
 15311  		yyVAL.union = yyLOCAL
 15312  	case 878:
 15313  		yyDollar = yyS[yypt-0 : yypt+1]
 15314  //line sql.y:4687
 15315  		{
 15316  			yyVAL.str = ""
 15317  		}
 15318  	case 879:
 15319  		yyDollar = yyS[yypt-1 : yypt+1]
 15320  //line sql.y:4691
 15321  		{
 15322  			yyVAL.str = SQLNoCacheStr
 15323  		}
 15324  	case 880:
 15325  		yyDollar = yyS[yypt-1 : yypt+1]
 15326  //line sql.y:4695
 15327  		{
 15328  			yyVAL.str = SQLCacheStr
 15329  		}
 15330  	case 881:
 15331  		yyDollar = yyS[yypt-0 : yypt+1]
 15332  		var yyLOCAL bool
 15333  //line sql.y:4700
 15334  		{
 15335  			yyLOCAL = false
 15336  		}
 15337  		yyVAL.union = yyLOCAL
 15338  	case 882:
 15339  		yyDollar = yyS[yypt-1 : yypt+1]
 15340  		var yyLOCAL bool
 15341  //line sql.y:4704
 15342  		{
 15343  			yyLOCAL = true
 15344  		}
 15345  		yyVAL.union = yyLOCAL
 15346  	case 883:
 15347  		yyDollar = yyS[yypt-1 : yypt+1]
 15348  		var yyLOCAL bool
 15349  //line sql.y:4708
 15350  		{
 15351  			yyLOCAL = true
 15352  		}
 15353  		yyVAL.union = yyLOCAL
 15354  	case 884:
 15355  		yyDollar = yyS[yypt-5 : yypt+1]
 15356  		var yyLOCAL Statement
 15357  //line sql.y:4714
 15358  		{
 15359  			yyLOCAL = &PrepareStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()}
 15360  		}
 15361  		yyVAL.union = yyLOCAL
 15362  	case 885:
 15363  		yyDollar = yyS[yypt-5 : yypt+1]
 15364  		var yyLOCAL Statement
 15365  //line sql.y:4718
 15366  		{
 15367  			yyLOCAL = &PrepareStmt{
 15368  				Name:      yyDollar[3].identifierCI,
 15369  				Comments:  Comments(yyDollar[2].strs).Parsed(),
 15370  				Statement: yyDollar[5].variableUnion(),
 15371  			}
 15372  		}
 15373  		yyVAL.union = yyLOCAL
 15374  	case 886:
 15375  		yyDollar = yyS[yypt-4 : yypt+1]
 15376  		var yyLOCAL Statement
 15377  //line sql.y:4728
 15378  		{
 15379  			yyLOCAL = &ExecuteStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].variablesUnion()}
 15380  		}
 15381  		yyVAL.union = yyLOCAL
 15382  	case 887:
 15383  		yyDollar = yyS[yypt-0 : yypt+1]
 15384  		var yyLOCAL []*Variable
 15385  //line sql.y:4733
 15386  		{
 15387  			yyLOCAL = nil
 15388  		}
 15389  		yyVAL.union = yyLOCAL
 15390  	case 888:
 15391  		yyDollar = yyS[yypt-2 : yypt+1]
 15392  		var yyLOCAL []*Variable
 15393  //line sql.y:4737
 15394  		{
 15395  			yyLOCAL = yyDollar[2].variablesUnion()
 15396  		}
 15397  		yyVAL.union = yyLOCAL
 15398  	case 889:
 15399  		yyDollar = yyS[yypt-4 : yypt+1]
 15400  		var yyLOCAL Statement
 15401  //line sql.y:4743
 15402  		{
 15403  			yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
 15404  		}
 15405  		yyVAL.union = yyLOCAL
 15406  	case 890:
 15407  		yyDollar = yyS[yypt-4 : yypt+1]
 15408  		var yyLOCAL Statement
 15409  //line sql.y:4747
 15410  		{
 15411  			yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
 15412  		}
 15413  		yyVAL.union = yyLOCAL
 15414  	case 891:
 15415  		yyDollar = yyS[yypt-0 : yypt+1]
 15416  		var yyLOCAL SelectExprs
 15417  //line sql.y:4752
 15418  		{
 15419  			yyLOCAL = nil
 15420  		}
 15421  		yyVAL.union = yyLOCAL
 15422  	case 892:
 15423  		yyDollar = yyS[yypt-1 : yypt+1]
 15424  		var yyLOCAL SelectExprs
 15425  //line sql.y:4756
 15426  		{
 15427  			yyLOCAL = yyDollar[1].selectExprsUnion()
 15428  		}
 15429  		yyVAL.union = yyLOCAL
 15430  	case 893:
 15431  		yyDollar = yyS[yypt-0 : yypt+1]
 15432  //line sql.y:4761
 15433  		{
 15434  			yyVAL.strs = nil
 15435  		}
 15436  	case 894:
 15437  		yyDollar = yyS[yypt-1 : yypt+1]
 15438  //line sql.y:4765
 15439  		{
 15440  			yyVAL.strs = []string{yyDollar[1].str}
 15441  		}
 15442  	case 895:
 15443  		yyDollar = yyS[yypt-2 : yypt+1]
 15444  //line sql.y:4769
 15445  		{ // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce'
 15446  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str}
 15447  		}
 15448  	case 896:
 15449  		yyDollar = yyS[yypt-3 : yypt+1]
 15450  //line sql.y:4773
 15451  		{
 15452  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str}
 15453  		}
 15454  	case 897:
 15455  		yyDollar = yyS[yypt-4 : yypt+1]
 15456  //line sql.y:4777
 15457  		{
 15458  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str}
 15459  		}
 15460  	case 898:
 15461  		yyDollar = yyS[yypt-1 : yypt+1]
 15462  //line sql.y:4783
 15463  		{
 15464  			yyVAL.str = SQLNoCacheStr
 15465  		}
 15466  	case 899:
 15467  		yyDollar = yyS[yypt-1 : yypt+1]
 15468  //line sql.y:4787
 15469  		{
 15470  			yyVAL.str = SQLCacheStr
 15471  		}
 15472  	case 900:
 15473  		yyDollar = yyS[yypt-1 : yypt+1]
 15474  //line sql.y:4791
 15475  		{
 15476  			yyVAL.str = DistinctStr
 15477  		}
 15478  	case 901:
 15479  		yyDollar = yyS[yypt-1 : yypt+1]
 15480  //line sql.y:4795
 15481  		{
 15482  			yyVAL.str = DistinctStr
 15483  		}
 15484  	case 902:
 15485  		yyDollar = yyS[yypt-1 : yypt+1]
 15486  //line sql.y:4799
 15487  		{
 15488  			yyVAL.str = StraightJoinHint
 15489  		}
 15490  	case 903:
 15491  		yyDollar = yyS[yypt-1 : yypt+1]
 15492  //line sql.y:4803
 15493  		{
 15494  			yyVAL.str = SQLCalcFoundRowsStr
 15495  		}
 15496  	case 904:
 15497  		yyDollar = yyS[yypt-1 : yypt+1]
 15498  //line sql.y:4807
 15499  		{
 15500  			yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway
 15501  		}
 15502  	case 905:
 15503  		yyDollar = yyS[yypt-1 : yypt+1]
 15504  		var yyLOCAL SelectExprs
 15505  //line sql.y:4813
 15506  		{
 15507  			yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()}
 15508  		}
 15509  		yyVAL.union = yyLOCAL
 15510  	case 906:
 15511  		yyDollar = yyS[yypt-3 : yypt+1]
 15512  //line sql.y:4817
 15513  		{
 15514  			yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union))
 15515  			*yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion())
 15516  		}
 15517  	case 907:
 15518  		yyDollar = yyS[yypt-1 : yypt+1]
 15519  		var yyLOCAL SelectExpr
 15520  //line sql.y:4823
 15521  		{
 15522  			yyLOCAL = &StarExpr{}
 15523  		}
 15524  		yyVAL.union = yyLOCAL
 15525  	case 908:
 15526  		yyDollar = yyS[yypt-2 : yypt+1]
 15527  		var yyLOCAL SelectExpr
 15528  //line sql.y:4827
 15529  		{
 15530  			yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].identifierCI}
 15531  		}
 15532  		yyVAL.union = yyLOCAL
 15533  	case 909:
 15534  		yyDollar = yyS[yypt-3 : yypt+1]
 15535  		var yyLOCAL SelectExpr
 15536  //line sql.y:4831
 15537  		{
 15538  			yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].identifierCS}}
 15539  		}
 15540  		yyVAL.union = yyLOCAL
 15541  	case 910:
 15542  		yyDollar = yyS[yypt-5 : yypt+1]
 15543  		var yyLOCAL SelectExpr
 15544  //line sql.y:4835
 15545  		{
 15546  			yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}}
 15547  		}
 15548  		yyVAL.union = yyLOCAL
 15549  	case 911:
 15550  		yyDollar = yyS[yypt-0 : yypt+1]
 15551  //line sql.y:4840
 15552  		{
 15553  			yyVAL.identifierCI = IdentifierCI{}
 15554  		}
 15555  	case 912:
 15556  		yyDollar = yyS[yypt-1 : yypt+1]
 15557  //line sql.y:4844
 15558  		{
 15559  			yyVAL.identifierCI = yyDollar[1].identifierCI
 15560  		}
 15561  	case 913:
 15562  		yyDollar = yyS[yypt-2 : yypt+1]
 15563  //line sql.y:4848
 15564  		{
 15565  			yyVAL.identifierCI = yyDollar[2].identifierCI
 15566  		}
 15567  	case 915:
 15568  		yyDollar = yyS[yypt-1 : yypt+1]
 15569  //line sql.y:4855
 15570  		{
 15571  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
 15572  		}
 15573  	case 916:
 15574  		yyDollar = yyS[yypt-0 : yypt+1]
 15575  		var yyLOCAL TableExprs
 15576  //line sql.y:4860
 15577  		{
 15578  			yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewIdentifierCS("dual")}}}
 15579  		}
 15580  		yyVAL.union = yyLOCAL
 15581  	case 917:
 15582  		yyDollar = yyS[yypt-1 : yypt+1]
 15583  		var yyLOCAL TableExprs
 15584  //line sql.y:4864
 15585  		{
 15586  			yyLOCAL = yyDollar[1].tableExprsUnion()
 15587  		}
 15588  		yyVAL.union = yyLOCAL
 15589  	case 918:
 15590  		yyDollar = yyS[yypt-2 : yypt+1]
 15591  		var yyLOCAL TableExprs
 15592  //line sql.y:4870
 15593  		{
 15594  			yyLOCAL = yyDollar[2].tableExprsUnion()
 15595  		}
 15596  		yyVAL.union = yyLOCAL
 15597  	case 919:
 15598  		yyDollar = yyS[yypt-1 : yypt+1]
 15599  		var yyLOCAL TableExprs
 15600  //line sql.y:4876
 15601  		{
 15602  			yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()}
 15603  		}
 15604  		yyVAL.union = yyLOCAL
 15605  	case 920:
 15606  		yyDollar = yyS[yypt-3 : yypt+1]
 15607  //line sql.y:4880
 15608  		{
 15609  			yySLICE := (*TableExprs)(yyIaddr(yyVAL.union))
 15610  			*yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion())
 15611  		}
 15612  	case 923:
 15613  		yyDollar = yyS[yypt-1 : yypt+1]
 15614  		var yyLOCAL TableExpr
 15615  //line sql.y:4890
 15616  		{
 15617  			yyLOCAL = yyDollar[1].aliasedTableNameUnion()
 15618  		}
 15619  		yyVAL.union = yyLOCAL
 15620  	case 924:
 15621  		yyDollar = yyS[yypt-4 : yypt+1]
 15622  		var yyLOCAL TableExpr
 15623  //line sql.y:4894
 15624  		{
 15625  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].identifierCS, Columns: yyDollar[4].columnsUnion()}
 15626  		}
 15627  		yyVAL.union = yyLOCAL
 15628  	case 925:
 15629  		yyDollar = yyS[yypt-3 : yypt+1]
 15630  		var yyLOCAL TableExpr
 15631  //line sql.y:4898
 15632  		{
 15633  			yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()}
 15634  		}
 15635  		yyVAL.union = yyLOCAL
 15636  	case 926:
 15637  		yyDollar = yyS[yypt-1 : yypt+1]
 15638  		var yyLOCAL TableExpr
 15639  //line sql.y:4902
 15640  		{
 15641  			yyLOCAL = yyDollar[1].tableExprUnion()
 15642  		}
 15643  		yyVAL.union = yyLOCAL
 15644  	case 927:
 15645  		yyDollar = yyS[yypt-1 : yypt+1]
 15646  		var yyLOCAL *DerivedTable
 15647  //line sql.y:4908
 15648  		{
 15649  			yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[1].selStmtUnion()}
 15650  		}
 15651  		yyVAL.union = yyLOCAL
 15652  	case 928:
 15653  		yyDollar = yyS[yypt-2 : yypt+1]
 15654  		var yyLOCAL *DerivedTable
 15655  //line sql.y:4912
 15656  		{
 15657  			yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[2].selStmtUnion()}
 15658  		}
 15659  		yyVAL.union = yyLOCAL
 15660  	case 929:
 15661  		yyDollar = yyS[yypt-3 : yypt+1]
 15662  		var yyLOCAL *AliasedTableExpr
 15663  //line sql.y:4918
 15664  		{
 15665  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].identifierCS, Hints: yyDollar[3].indexHintsUnion()}
 15666  		}
 15667  		yyVAL.union = yyLOCAL
 15668  	case 930:
 15669  		yyDollar = yyS[yypt-7 : yypt+1]
 15670  		var yyLOCAL *AliasedTableExpr
 15671  //line sql.y:4922
 15672  		{
 15673  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].identifierCS, Hints: yyDollar[7].indexHintsUnion()}
 15674  		}
 15675  		yyVAL.union = yyLOCAL
 15676  	case 931:
 15677  		yyDollar = yyS[yypt-0 : yypt+1]
 15678  		var yyLOCAL Columns
 15679  //line sql.y:4927
 15680  		{
 15681  			yyLOCAL = nil
 15682  		}
 15683  		yyVAL.union = yyLOCAL
 15684  	case 932:
 15685  		yyDollar = yyS[yypt-3 : yypt+1]
 15686  		var yyLOCAL Columns
 15687  //line sql.y:4931
 15688  		{
 15689  			yyLOCAL = yyDollar[2].columnsUnion()
 15690  		}
 15691  		yyVAL.union = yyLOCAL
 15692  	case 933:
 15693  		yyDollar = yyS[yypt-0 : yypt+1]
 15694  		var yyLOCAL Columns
 15695  //line sql.y:4936
 15696  		{
 15697  			yyLOCAL = nil
 15698  		}
 15699  		yyVAL.union = yyLOCAL
 15700  	case 934:
 15701  		yyDollar = yyS[yypt-1 : yypt+1]
 15702  		var yyLOCAL Columns
 15703  //line sql.y:4940
 15704  		{
 15705  			yyLOCAL = yyDollar[1].columnsUnion()
 15706  		}
 15707  		yyVAL.union = yyLOCAL
 15708  	case 935:
 15709  		yyDollar = yyS[yypt-1 : yypt+1]
 15710  		var yyLOCAL Columns
 15711  //line sql.y:4946
 15712  		{
 15713  			yyLOCAL = Columns{yyDollar[1].identifierCI}
 15714  		}
 15715  		yyVAL.union = yyLOCAL
 15716  	case 936:
 15717  		yyDollar = yyS[yypt-3 : yypt+1]
 15718  //line sql.y:4950
 15719  		{
 15720  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 15721  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 15722  		}
 15723  	case 937:
 15724  		yyDollar = yyS[yypt-1 : yypt+1]
 15725  		var yyLOCAL []*Variable
 15726  //line sql.y:4956
 15727  		{
 15728  			yyLOCAL = []*Variable{yyDollar[1].variableUnion()}
 15729  		}
 15730  		yyVAL.union = yyLOCAL
 15731  	case 938:
 15732  		yyDollar = yyS[yypt-3 : yypt+1]
 15733  //line sql.y:4960
 15734  		{
 15735  			yySLICE := (*[]*Variable)(yyIaddr(yyVAL.union))
 15736  			*yySLICE = append(*yySLICE, yyDollar[3].variableUnion())
 15737  		}
 15738  	case 939:
 15739  		yyDollar = yyS[yypt-1 : yypt+1]
 15740  		var yyLOCAL Columns
 15741  //line sql.y:4966
 15742  		{
 15743  			yyLOCAL = Columns{yyDollar[1].identifierCI}
 15744  		}
 15745  		yyVAL.union = yyLOCAL
 15746  	case 940:
 15747  		yyDollar = yyS[yypt-1 : yypt+1]
 15748  		var yyLOCAL Columns
 15749  //line sql.y:4970
 15750  		{
 15751  			yyLOCAL = Columns{NewIdentifierCI(string(yyDollar[1].str))}
 15752  		}
 15753  		yyVAL.union = yyLOCAL
 15754  	case 941:
 15755  		yyDollar = yyS[yypt-3 : yypt+1]
 15756  //line sql.y:4974
 15757  		{
 15758  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 15759  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 15760  		}
 15761  	case 942:
 15762  		yyDollar = yyS[yypt-3 : yypt+1]
 15763  //line sql.y:4978
 15764  		{
 15765  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 15766  			*yySLICE = append(*yySLICE, NewIdentifierCI(string(yyDollar[3].str)))
 15767  		}
 15768  	case 943:
 15769  		yyDollar = yyS[yypt-1 : yypt+1]
 15770  		var yyLOCAL Partitions
 15771  //line sql.y:4984
 15772  		{
 15773  			yyLOCAL = Partitions{yyDollar[1].identifierCI}
 15774  		}
 15775  		yyVAL.union = yyLOCAL
 15776  	case 944:
 15777  		yyDollar = yyS[yypt-3 : yypt+1]
 15778  //line sql.y:4988
 15779  		{
 15780  			yySLICE := (*Partitions)(yyIaddr(yyVAL.union))
 15781  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 15782  		}
 15783  	case 945:
 15784  		yyDollar = yyS[yypt-4 : yypt+1]
 15785  		var yyLOCAL TableExpr
 15786  //line sql.y:5001
 15787  		{
 15788  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 15789  		}
 15790  		yyVAL.union = yyLOCAL
 15791  	case 946:
 15792  		yyDollar = yyS[yypt-4 : yypt+1]
 15793  		var yyLOCAL TableExpr
 15794  //line sql.y:5005
 15795  		{
 15796  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 15797  		}
 15798  		yyVAL.union = yyLOCAL
 15799  	case 947:
 15800  		yyDollar = yyS[yypt-4 : yypt+1]
 15801  		var yyLOCAL TableExpr
 15802  //line sql.y:5009
 15803  		{
 15804  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 15805  		}
 15806  		yyVAL.union = yyLOCAL
 15807  	case 948:
 15808  		yyDollar = yyS[yypt-3 : yypt+1]
 15809  		var yyLOCAL TableExpr
 15810  //line sql.y:5013
 15811  		{
 15812  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()}
 15813  		}
 15814  		yyVAL.union = yyLOCAL
 15815  	case 949:
 15816  		yyDollar = yyS[yypt-2 : yypt+1]
 15817  //line sql.y:5019
 15818  		{
 15819  			yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
 15820  		}
 15821  	case 950:
 15822  		yyDollar = yyS[yypt-4 : yypt+1]
 15823  //line sql.y:5021
 15824  		{
 15825  			yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()}
 15826  		}
 15827  	case 951:
 15828  		yyDollar = yyS[yypt-0 : yypt+1]
 15829  //line sql.y:5025
 15830  		{
 15831  			yyVAL.joinCondition = &JoinCondition{}
 15832  		}
 15833  	case 952:
 15834  		yyDollar = yyS[yypt-1 : yypt+1]
 15835  //line sql.y:5027
 15836  		{
 15837  			yyVAL.joinCondition = yyDollar[1].joinCondition
 15838  		}
 15839  	case 953:
 15840  		yyDollar = yyS[yypt-0 : yypt+1]
 15841  //line sql.y:5031
 15842  		{
 15843  			yyVAL.joinCondition = &JoinCondition{}
 15844  		}
 15845  	case 954:
 15846  		yyDollar = yyS[yypt-2 : yypt+1]
 15847  //line sql.y:5033
 15848  		{
 15849  			yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
 15850  		}
 15851  	case 955:
 15852  		yyDollar = yyS[yypt-0 : yypt+1]
 15853  //line sql.y:5036
 15854  		{
 15855  			yyVAL.empty = struct{}{}
 15856  		}
 15857  	case 956:
 15858  		yyDollar = yyS[yypt-1 : yypt+1]
 15859  //line sql.y:5038
 15860  		{
 15861  			yyVAL.empty = struct{}{}
 15862  		}
 15863  	case 957:
 15864  		yyDollar = yyS[yypt-0 : yypt+1]
 15865  //line sql.y:5041
 15866  		{
 15867  			yyVAL.identifierCS = NewIdentifierCS("")
 15868  		}
 15869  	case 958:
 15870  		yyDollar = yyS[yypt-1 : yypt+1]
 15871  //line sql.y:5045
 15872  		{
 15873  			yyVAL.identifierCS = yyDollar[1].identifierCS
 15874  		}
 15875  	case 959:
 15876  		yyDollar = yyS[yypt-2 : yypt+1]
 15877  //line sql.y:5049
 15878  		{
 15879  			yyVAL.identifierCS = yyDollar[2].identifierCS
 15880  		}
 15881  	case 961:
 15882  		yyDollar = yyS[yypt-1 : yypt+1]
 15883  //line sql.y:5056
 15884  		{
 15885  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 15886  		}
 15887  	case 962:
 15888  		yyDollar = yyS[yypt-1 : yypt+1]
 15889  		var yyLOCAL JoinType
 15890  //line sql.y:5062
 15891  		{
 15892  			yyLOCAL = NormalJoinType
 15893  		}
 15894  		yyVAL.union = yyLOCAL
 15895  	case 963:
 15896  		yyDollar = yyS[yypt-2 : yypt+1]
 15897  		var yyLOCAL JoinType
 15898  //line sql.y:5066
 15899  		{
 15900  			yyLOCAL = NormalJoinType
 15901  		}
 15902  		yyVAL.union = yyLOCAL
 15903  	case 964:
 15904  		yyDollar = yyS[yypt-2 : yypt+1]
 15905  		var yyLOCAL JoinType
 15906  //line sql.y:5070
 15907  		{
 15908  			yyLOCAL = NormalJoinType
 15909  		}
 15910  		yyVAL.union = yyLOCAL
 15911  	case 965:
 15912  		yyDollar = yyS[yypt-1 : yypt+1]
 15913  		var yyLOCAL JoinType
 15914  //line sql.y:5076
 15915  		{
 15916  			yyLOCAL = StraightJoinType
 15917  		}
 15918  		yyVAL.union = yyLOCAL
 15919  	case 966:
 15920  		yyDollar = yyS[yypt-2 : yypt+1]
 15921  		var yyLOCAL JoinType
 15922  //line sql.y:5082
 15923  		{
 15924  			yyLOCAL = LeftJoinType
 15925  		}
 15926  		yyVAL.union = yyLOCAL
 15927  	case 967:
 15928  		yyDollar = yyS[yypt-3 : yypt+1]
 15929  		var yyLOCAL JoinType
 15930  //line sql.y:5086
 15931  		{
 15932  			yyLOCAL = LeftJoinType
 15933  		}
 15934  		yyVAL.union = yyLOCAL
 15935  	case 968:
 15936  		yyDollar = yyS[yypt-2 : yypt+1]
 15937  		var yyLOCAL JoinType
 15938  //line sql.y:5090
 15939  		{
 15940  			yyLOCAL = RightJoinType
 15941  		}
 15942  		yyVAL.union = yyLOCAL
 15943  	case 969:
 15944  		yyDollar = yyS[yypt-3 : yypt+1]
 15945  		var yyLOCAL JoinType
 15946  //line sql.y:5094
 15947  		{
 15948  			yyLOCAL = RightJoinType
 15949  		}
 15950  		yyVAL.union = yyLOCAL
 15951  	case 970:
 15952  		yyDollar = yyS[yypt-2 : yypt+1]
 15953  		var yyLOCAL JoinType
 15954  //line sql.y:5100
 15955  		{
 15956  			yyLOCAL = NaturalJoinType
 15957  		}
 15958  		yyVAL.union = yyLOCAL
 15959  	case 971:
 15960  		yyDollar = yyS[yypt-2 : yypt+1]
 15961  		var yyLOCAL JoinType
 15962  //line sql.y:5104
 15963  		{
 15964  			if yyDollar[2].joinTypeUnion() == LeftJoinType {
 15965  				yyLOCAL = NaturalLeftJoinType
 15966  			} else {
 15967  				yyLOCAL = NaturalRightJoinType
 15968  			}
 15969  		}
 15970  		yyVAL.union = yyLOCAL
 15971  	case 972:
 15972  		yyDollar = yyS[yypt-2 : yypt+1]
 15973  //line sql.y:5114
 15974  		{
 15975  			yyVAL.tableName = yyDollar[2].tableName
 15976  		}
 15977  	case 973:
 15978  		yyDollar = yyS[yypt-1 : yypt+1]
 15979  //line sql.y:5118
 15980  		{
 15981  			yyVAL.tableName = yyDollar[1].tableName
 15982  		}
 15983  	case 974:
 15984  		yyDollar = yyS[yypt-1 : yypt+1]
 15985  //line sql.y:5124
 15986  		{
 15987  			yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
 15988  		}
 15989  	case 975:
 15990  		yyDollar = yyS[yypt-3 : yypt+1]
 15991  //line sql.y:5128
 15992  		{
 15993  			yyVAL.tableName = TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}
 15994  		}
 15995  	case 976:
 15996  		yyDollar = yyS[yypt-3 : yypt+1]
 15997  //line sql.y:5134
 15998  		{
 15999  			yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
 16000  		}
 16001  	case 977:
 16002  		yyDollar = yyS[yypt-0 : yypt+1]
 16003  		var yyLOCAL IndexHints
 16004  //line sql.y:5139
 16005  		{
 16006  			yyLOCAL = nil
 16007  		}
 16008  		yyVAL.union = yyLOCAL
 16009  	case 978:
 16010  		yyDollar = yyS[yypt-1 : yypt+1]
 16011  		var yyLOCAL IndexHints
 16012  //line sql.y:5143
 16013  		{
 16014  			yyLOCAL = yyDollar[1].indexHintsUnion()
 16015  		}
 16016  		yyVAL.union = yyLOCAL
 16017  	case 979:
 16018  		yyDollar = yyS[yypt-1 : yypt+1]
 16019  		var yyLOCAL IndexHints
 16020  //line sql.y:5149
 16021  		{
 16022  			yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()}
 16023  		}
 16024  		yyVAL.union = yyLOCAL
 16025  	case 980:
 16026  		yyDollar = yyS[yypt-2 : yypt+1]
 16027  //line sql.y:5153
 16028  		{
 16029  			yySLICE := (*IndexHints)(yyIaddr(yyVAL.union))
 16030  			*yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion())
 16031  		}
 16032  	case 981:
 16033  		yyDollar = yyS[yypt-6 : yypt+1]
 16034  		var yyLOCAL *IndexHint
 16035  //line sql.y:5159
 16036  		{
 16037  			yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
 16038  		}
 16039  		yyVAL.union = yyLOCAL
 16040  	case 982:
 16041  		yyDollar = yyS[yypt-5 : yypt+1]
 16042  		var yyLOCAL *IndexHint
 16043  //line sql.y:5163
 16044  		{
 16045  			yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()}
 16046  		}
 16047  		yyVAL.union = yyLOCAL
 16048  	case 983:
 16049  		yyDollar = yyS[yypt-6 : yypt+1]
 16050  		var yyLOCAL *IndexHint
 16051  //line sql.y:5167
 16052  		{
 16053  			yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
 16054  		}
 16055  		yyVAL.union = yyLOCAL
 16056  	case 984:
 16057  		yyDollar = yyS[yypt-6 : yypt+1]
 16058  		var yyLOCAL *IndexHint
 16059  //line sql.y:5171
 16060  		{
 16061  			yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
 16062  		}
 16063  		yyVAL.union = yyLOCAL
 16064  	case 985:
 16065  		yyDollar = yyS[yypt-0 : yypt+1]
 16066  		var yyLOCAL IndexHintForType
 16067  //line sql.y:5176
 16068  		{
 16069  			yyLOCAL = NoForType
 16070  		}
 16071  		yyVAL.union = yyLOCAL
 16072  	case 986:
 16073  		yyDollar = yyS[yypt-2 : yypt+1]
 16074  		var yyLOCAL IndexHintForType
 16075  //line sql.y:5180
 16076  		{
 16077  			yyLOCAL = JoinForType
 16078  		}
 16079  		yyVAL.union = yyLOCAL
 16080  	case 987:
 16081  		yyDollar = yyS[yypt-3 : yypt+1]
 16082  		var yyLOCAL IndexHintForType
 16083  //line sql.y:5184
 16084  		{
 16085  			yyLOCAL = OrderByForType
 16086  		}
 16087  		yyVAL.union = yyLOCAL
 16088  	case 988:
 16089  		yyDollar = yyS[yypt-3 : yypt+1]
 16090  		var yyLOCAL IndexHintForType
 16091  //line sql.y:5188
 16092  		{
 16093  			yyLOCAL = GroupByForType
 16094  		}
 16095  		yyVAL.union = yyLOCAL
 16096  	case 989:
 16097  		yyDollar = yyS[yypt-0 : yypt+1]
 16098  		var yyLOCAL Expr
 16099  //line sql.y:5194
 16100  		{
 16101  			yyLOCAL = nil
 16102  		}
 16103  		yyVAL.union = yyLOCAL
 16104  	case 990:
 16105  		yyDollar = yyS[yypt-2 : yypt+1]
 16106  		var yyLOCAL Expr
 16107  //line sql.y:5198
 16108  		{
 16109  			yyLOCAL = yyDollar[2].exprUnion()
 16110  		}
 16111  		yyVAL.union = yyLOCAL
 16112  	case 991:
 16113  		yyDollar = yyS[yypt-3 : yypt+1]
 16114  		var yyLOCAL Expr
 16115  //line sql.y:5205
 16116  		{
 16117  			yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 16118  		}
 16119  		yyVAL.union = yyLOCAL
 16120  	case 992:
 16121  		yyDollar = yyS[yypt-3 : yypt+1]
 16122  		var yyLOCAL Expr
 16123  //line sql.y:5209
 16124  		{
 16125  			yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 16126  		}
 16127  		yyVAL.union = yyLOCAL
 16128  	case 993:
 16129  		yyDollar = yyS[yypt-3 : yypt+1]
 16130  		var yyLOCAL Expr
 16131  //line sql.y:5213
 16132  		{
 16133  			yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 16134  		}
 16135  		yyVAL.union = yyLOCAL
 16136  	case 994:
 16137  		yyDollar = yyS[yypt-2 : yypt+1]
 16138  		var yyLOCAL Expr
 16139  //line sql.y:5217
 16140  		{
 16141  			yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()}
 16142  		}
 16143  		yyVAL.union = yyLOCAL
 16144  	case 995:
 16145  		yyDollar = yyS[yypt-3 : yypt+1]
 16146  		var yyLOCAL Expr
 16147  //line sql.y:5221
 16148  		{
 16149  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()}
 16150  		}
 16151  		yyVAL.union = yyLOCAL
 16152  	case 996:
 16153  		yyDollar = yyS[yypt-1 : yypt+1]
 16154  		var yyLOCAL Expr
 16155  //line sql.y:5225
 16156  		{
 16157  			yyLOCAL = yyDollar[1].exprUnion()
 16158  		}
 16159  		yyVAL.union = yyLOCAL
 16160  	case 997:
 16161  		yyDollar = yyS[yypt-6 : yypt+1]
 16162  		var yyLOCAL Expr
 16163  //line sql.y:5229
 16164  		{
 16165  			yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()}
 16166  		}
 16167  		yyVAL.union = yyLOCAL
 16168  	case 998:
 16169  		yyDollar = yyS[yypt-3 : yypt+1]
 16170  		var yyLOCAL Expr
 16171  //line sql.y:5235
 16172  		{
 16173  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp}
 16174  		}
 16175  		yyVAL.union = yyLOCAL
 16176  	case 999:
 16177  		yyDollar = yyS[yypt-4 : yypt+1]
 16178  		var yyLOCAL Expr
 16179  //line sql.y:5239
 16180  		{
 16181  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp}
 16182  		}
 16183  		yyVAL.union = yyLOCAL
 16184  	case 1000:
 16185  		yyDollar = yyS[yypt-3 : yypt+1]
 16186  		var yyLOCAL Expr
 16187  //line sql.y:5243
 16188  		{
 16189  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()}
 16190  		}
 16191  		yyVAL.union = yyLOCAL
 16192  	case 1001:
 16193  		yyDollar = yyS[yypt-1 : yypt+1]
 16194  		var yyLOCAL Expr
 16195  //line sql.y:5247
 16196  		{
 16197  			yyLOCAL = yyDollar[1].exprUnion()
 16198  		}
 16199  		yyVAL.union = yyLOCAL
 16200  	case 1002:
 16201  		yyDollar = yyS[yypt-3 : yypt+1]
 16202  		var yyLOCAL Expr
 16203  //line sql.y:5253
 16204  		{
 16205  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()}
 16206  		}
 16207  		yyVAL.union = yyLOCAL
 16208  	case 1003:
 16209  		yyDollar = yyS[yypt-4 : yypt+1]
 16210  		var yyLOCAL Expr
 16211  //line sql.y:5257
 16212  		{
 16213  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()}
 16214  		}
 16215  		yyVAL.union = yyLOCAL
 16216  	case 1004:
 16217  		yyDollar = yyS[yypt-5 : yypt+1]
 16218  		var yyLOCAL Expr
 16219  //line sql.y:5261
 16220  		{
 16221  			yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()}
 16222  		}
 16223  		yyVAL.union = yyLOCAL
 16224  	case 1005:
 16225  		yyDollar = yyS[yypt-6 : yypt+1]
 16226  		var yyLOCAL Expr
 16227  //line sql.y:5265
 16228  		{
 16229  			yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()}
 16230  		}
 16231  		yyVAL.union = yyLOCAL
 16232  	case 1006:
 16233  		yyDollar = yyS[yypt-3 : yypt+1]
 16234  		var yyLOCAL Expr
 16235  //line sql.y:5269
 16236  		{
 16237  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()}
 16238  		}
 16239  		yyVAL.union = yyLOCAL
 16240  	case 1007:
 16241  		yyDollar = yyS[yypt-4 : yypt+1]
 16242  		var yyLOCAL Expr
 16243  //line sql.y:5273
 16244  		{
 16245  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()}
 16246  		}
 16247  		yyVAL.union = yyLOCAL
 16248  	case 1008:
 16249  		yyDollar = yyS[yypt-5 : yypt+1]
 16250  		var yyLOCAL Expr
 16251  //line sql.y:5277
 16252  		{
 16253  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()}
 16254  		}
 16255  		yyVAL.union = yyLOCAL
 16256  	case 1009:
 16257  		yyDollar = yyS[yypt-6 : yypt+1]
 16258  		var yyLOCAL Expr
 16259  //line sql.y:5281
 16260  		{
 16261  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()}
 16262  		}
 16263  		yyVAL.union = yyLOCAL
 16264  	case 1010:
 16265  		yyDollar = yyS[yypt-3 : yypt+1]
 16266  		var yyLOCAL Expr
 16267  //line sql.y:5285
 16268  		{
 16269  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()}
 16270  		}
 16271  		yyVAL.union = yyLOCAL
 16272  	case 1011:
 16273  		yyDollar = yyS[yypt-4 : yypt+1]
 16274  		var yyLOCAL Expr
 16275  //line sql.y:5289
 16276  		{
 16277  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()}
 16278  		}
 16279  		yyVAL.union = yyLOCAL
 16280  	case 1012:
 16281  		yyDollar = yyS[yypt-1 : yypt+1]
 16282  		var yyLOCAL Expr
 16283  //line sql.y:5293
 16284  		{
 16285  			yyLOCAL = yyDollar[1].exprUnion()
 16286  		}
 16287  		yyVAL.union = yyLOCAL
 16288  	case 1013:
 16289  		yyDollar = yyS[yypt-1 : yypt+1]
 16290  //line sql.y:5299
 16291  		{
 16292  		}
 16293  	case 1014:
 16294  		yyDollar = yyS[yypt-1 : yypt+1]
 16295  //line sql.y:5302
 16296  		{
 16297  		}
 16298  	case 1015:
 16299  		yyDollar = yyS[yypt-3 : yypt+1]
 16300  		var yyLOCAL Expr
 16301  //line sql.y:5308
 16302  		{
 16303  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()}
 16304  		}
 16305  		yyVAL.union = yyLOCAL
 16306  	case 1016:
 16307  		yyDollar = yyS[yypt-3 : yypt+1]
 16308  		var yyLOCAL Expr
 16309  //line sql.y:5312
 16310  		{
 16311  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()}
 16312  		}
 16313  		yyVAL.union = yyLOCAL
 16314  	case 1017:
 16315  		yyDollar = yyS[yypt-3 : yypt+1]
 16316  		var yyLOCAL Expr
 16317  //line sql.y:5316
 16318  		{
 16319  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()}
 16320  		}
 16321  		yyVAL.union = yyLOCAL
 16322  	case 1018:
 16323  		yyDollar = yyS[yypt-3 : yypt+1]
 16324  		var yyLOCAL Expr
 16325  //line sql.y:5320
 16326  		{
 16327  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()}
 16328  		}
 16329  		yyVAL.union = yyLOCAL
 16330  	case 1019:
 16331  		yyDollar = yyS[yypt-3 : yypt+1]
 16332  		var yyLOCAL Expr
 16333  //line sql.y:5324
 16334  		{
 16335  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()}
 16336  		}
 16337  		yyVAL.union = yyLOCAL
 16338  	case 1020:
 16339  		yyDollar = yyS[yypt-3 : yypt+1]
 16340  		var yyLOCAL Expr
 16341  //line sql.y:5328
 16342  		{
 16343  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()}
 16344  		}
 16345  		yyVAL.union = yyLOCAL
 16346  	case 1021:
 16347  		yyDollar = yyS[yypt-3 : yypt+1]
 16348  		var yyLOCAL Expr
 16349  //line sql.y:5332
 16350  		{
 16351  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()}
 16352  		}
 16353  		yyVAL.union = yyLOCAL
 16354  	case 1022:
 16355  		yyDollar = yyS[yypt-3 : yypt+1]
 16356  		var yyLOCAL Expr
 16357  //line sql.y:5336
 16358  		{
 16359  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()}
 16360  		}
 16361  		yyVAL.union = yyLOCAL
 16362  	case 1023:
 16363  		yyDollar = yyS[yypt-3 : yypt+1]
 16364  		var yyLOCAL Expr
 16365  //line sql.y:5340
 16366  		{
 16367  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
 16368  		}
 16369  		yyVAL.union = yyLOCAL
 16370  	case 1024:
 16371  		yyDollar = yyS[yypt-3 : yypt+1]
 16372  		var yyLOCAL Expr
 16373  //line sql.y:5344
 16374  		{
 16375  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()}
 16376  		}
 16377  		yyVAL.union = yyLOCAL
 16378  	case 1025:
 16379  		yyDollar = yyS[yypt-3 : yypt+1]
 16380  		var yyLOCAL Expr
 16381  //line sql.y:5348
 16382  		{
 16383  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
 16384  		}
 16385  		yyVAL.union = yyLOCAL
 16386  	case 1026:
 16387  		yyDollar = yyS[yypt-3 : yypt+1]
 16388  		var yyLOCAL Expr
 16389  //line sql.y:5352
 16390  		{
 16391  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()}
 16392  		}
 16393  		yyVAL.union = yyLOCAL
 16394  	case 1027:
 16395  		yyDollar = yyS[yypt-1 : yypt+1]
 16396  		var yyLOCAL Expr
 16397  //line sql.y:5356
 16398  		{
 16399  			yyLOCAL = yyDollar[1].exprUnion()
 16400  		}
 16401  		yyVAL.union = yyLOCAL
 16402  	case 1028:
 16403  		yyDollar = yyS[yypt-1 : yypt+1]
 16404  		var yyLOCAL Expr
 16405  //line sql.y:5362
 16406  		{
 16407  			yyLOCAL = yyDollar[1].exprUnion()
 16408  		}
 16409  		yyVAL.union = yyLOCAL
 16410  	case 1029:
 16411  		yyDollar = yyS[yypt-1 : yypt+1]
 16412  		var yyLOCAL Expr
 16413  //line sql.y:5366
 16414  		{
 16415  			yyLOCAL = yyDollar[1].exprUnion()
 16416  		}
 16417  		yyVAL.union = yyLOCAL
 16418  	case 1030:
 16419  		yyDollar = yyS[yypt-1 : yypt+1]
 16420  		var yyLOCAL Expr
 16421  //line sql.y:5370
 16422  		{
 16423  			yyLOCAL = yyDollar[1].exprUnion()
 16424  		}
 16425  		yyVAL.union = yyLOCAL
 16426  	case 1031:
 16427  		yyDollar = yyS[yypt-1 : yypt+1]
 16428  		var yyLOCAL Expr
 16429  //line sql.y:5374
 16430  		{
 16431  			yyLOCAL = yyDollar[1].exprUnion()
 16432  		}
 16433  		yyVAL.union = yyLOCAL
 16434  	case 1032:
 16435  		yyDollar = yyS[yypt-3 : yypt+1]
 16436  		var yyLOCAL Expr
 16437  //line sql.y:5378
 16438  		{
 16439  			yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str}
 16440  		}
 16441  		yyVAL.union = yyLOCAL
 16442  	case 1033:
 16443  		yyDollar = yyS[yypt-1 : yypt+1]
 16444  		var yyLOCAL Expr
 16445  //line sql.y:5382
 16446  		{
 16447  			yyLOCAL = yyDollar[1].exprUnion()
 16448  		}
 16449  		yyVAL.union = yyLOCAL
 16450  	case 1034:
 16451  		yyDollar = yyS[yypt-1 : yypt+1]
 16452  		var yyLOCAL Expr
 16453  //line sql.y:5386
 16454  		{
 16455  			yyLOCAL = yyDollar[1].exprUnion()
 16456  		}
 16457  		yyVAL.union = yyLOCAL
 16458  	case 1035:
 16459  		yyDollar = yyS[yypt-1 : yypt+1]
 16460  		var yyLOCAL Expr
 16461  //line sql.y:5390
 16462  		{
 16463  			yyLOCAL = yyDollar[1].variableUnion()
 16464  		}
 16465  		yyVAL.union = yyLOCAL
 16466  	case 1036:
 16467  		yyDollar = yyS[yypt-2 : yypt+1]
 16468  		var yyLOCAL Expr
 16469  //line sql.y:5394
 16470  		{
 16471  			yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals?
 16472  		}
 16473  		yyVAL.union = yyLOCAL
 16474  	case 1037:
 16475  		yyDollar = yyS[yypt-2 : yypt+1]
 16476  		var yyLOCAL Expr
 16477  //line sql.y:5398
 16478  		{
 16479  			yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
 16480  		}
 16481  		yyVAL.union = yyLOCAL
 16482  	case 1038:
 16483  		yyDollar = yyS[yypt-2 : yypt+1]
 16484  		var yyLOCAL Expr
 16485  //line sql.y:5402
 16486  		{
 16487  			yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()}
 16488  		}
 16489  		yyVAL.union = yyLOCAL
 16490  	case 1039:
 16491  		yyDollar = yyS[yypt-2 : yypt+1]
 16492  		var yyLOCAL Expr
 16493  //line sql.y:5406
 16494  		{
 16495  			yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()}
 16496  		}
 16497  		yyVAL.union = yyLOCAL
 16498  	case 1040:
 16499  		yyDollar = yyS[yypt-1 : yypt+1]
 16500  		var yyLOCAL Expr
 16501  //line sql.y:5410
 16502  		{
 16503  			yyLOCAL = yyDollar[1].subqueryUnion()
 16504  		}
 16505  		yyVAL.union = yyLOCAL
 16506  	case 1041:
 16507  		yyDollar = yyS[yypt-1 : yypt+1]
 16508  		var yyLOCAL Expr
 16509  //line sql.y:5414
 16510  		{
 16511  			yyLOCAL = yyDollar[1].exprUnion()
 16512  		}
 16513  		yyVAL.union = yyLOCAL
 16514  	case 1042:
 16515  		yyDollar = yyS[yypt-2 : yypt+1]
 16516  		var yyLOCAL Expr
 16517  //line sql.y:5418
 16518  		{
 16519  			yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()}
 16520  		}
 16521  		yyVAL.union = yyLOCAL
 16522  	case 1043:
 16523  		yyDollar = yyS[yypt-7 : yypt+1]
 16524  		var yyLOCAL Expr
 16525  //line sql.y:5422
 16526  		{
 16527  			yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()}
 16528  		}
 16529  		yyVAL.union = yyLOCAL
 16530  	case 1044:
 16531  		yyDollar = yyS[yypt-7 : yypt+1]
 16532  		var yyLOCAL Expr
 16533  //line sql.y:5426
 16534  		{
 16535  			yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()}
 16536  		}
 16537  		yyVAL.union = yyLOCAL
 16538  	case 1045:
 16539  		yyDollar = yyS[yypt-6 : yypt+1]
 16540  		var yyLOCAL Expr
 16541  //line sql.y:5430
 16542  		{
 16543  			yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
 16544  		}
 16545  		yyVAL.union = yyLOCAL
 16546  	case 1046:
 16547  		yyDollar = yyS[yypt-6 : yypt+1]
 16548  		var yyLOCAL Expr
 16549  //line sql.y:5434
 16550  		{
 16551  			yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str}
 16552  		}
 16553  		yyVAL.union = yyLOCAL
 16554  	case 1047:
 16555  		yyDollar = yyS[yypt-2 : yypt+1]
 16556  		var yyLOCAL Expr
 16557  //line sql.y:5438
 16558  		{
 16559  			// From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary
 16560  			// To convert a string expression to a binary string, these constructs are equivalent:
 16561  			//    CAST(expr AS BINARY)
 16562  			//    BINARY expr
 16563  			yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}}
 16564  		}
 16565  		yyVAL.union = yyLOCAL
 16566  	case 1048:
 16567  		yyDollar = yyS[yypt-2 : yypt+1]
 16568  		var yyLOCAL Expr
 16569  //line sql.y:5446
 16570  		{
 16571  			yyLOCAL = &Default{ColName: yyDollar[2].str}
 16572  		}
 16573  		yyVAL.union = yyLOCAL
 16574  	case 1049:
 16575  		yyDollar = yyS[yypt-1 : yypt+1]
 16576  		var yyLOCAL Expr
 16577  //line sql.y:5450
 16578  		{
 16579  			// INTERVAL can trigger a shift / reduce conflict. We want
 16580  			// to shift here for the interval rule. In case we do have
 16581  			// the additional expression_list below, we'd pick that path
 16582  			// and thus properly parse it as a function when needed.
 16583  			yyLOCAL = yyDollar[1].exprUnion()
 16584  		}
 16585  		yyVAL.union = yyLOCAL
 16586  	case 1050:
 16587  		yyDollar = yyS[yypt-6 : yypt+1]
 16588  		var yyLOCAL Expr
 16589  //line sql.y:5458
 16590  		{
 16591  			yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()}
 16592  		}
 16593  		yyVAL.union = yyLOCAL
 16594  	case 1051:
 16595  		yyDollar = yyS[yypt-3 : yypt+1]
 16596  		var yyLOCAL Expr
 16597  //line sql.y:5462
 16598  		{
 16599  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()}
 16600  		}
 16601  		yyVAL.union = yyLOCAL
 16602  	case 1052:
 16603  		yyDollar = yyS[yypt-3 : yypt+1]
 16604  		var yyLOCAL Expr
 16605  //line sql.y:5466
 16606  		{
 16607  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()}
 16608  		}
 16609  		yyVAL.union = yyLOCAL
 16610  	case 1053:
 16611  		yyDollar = yyS[yypt-3 : yypt+1]
 16612  		var yyLOCAL Expr
 16613  //line sql.y:5472
 16614  		{
 16615  			yyLOCAL = &IntervalExpr{Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].identifierCI.String()}
 16616  		}
 16617  		yyVAL.union = yyLOCAL
 16618  	case 1054:
 16619  		yyDollar = yyS[yypt-1 : yypt+1]
 16620  		var yyLOCAL []*ColName
 16621  //line sql.y:5478
 16622  		{
 16623  			yyLOCAL = yyDollar[1].colNamesUnion()
 16624  		}
 16625  		yyVAL.union = yyLOCAL
 16626  	case 1055:
 16627  		yyDollar = yyS[yypt-3 : yypt+1]
 16628  		var yyLOCAL []*ColName
 16629  //line sql.y:5482
 16630  		{
 16631  			yyLOCAL = yyDollar[2].colNamesUnion()
 16632  		}
 16633  		yyVAL.union = yyLOCAL
 16634  	case 1056:
 16635  		yyDollar = yyS[yypt-1 : yypt+1]
 16636  		var yyLOCAL []*ColName
 16637  //line sql.y:5488
 16638  		{
 16639  			yyLOCAL = []*ColName{yyDollar[1].colNameUnion()}
 16640  		}
 16641  		yyVAL.union = yyLOCAL
 16642  	case 1057:
 16643  		yyDollar = yyS[yypt-3 : yypt+1]
 16644  //line sql.y:5492
 16645  		{
 16646  			yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union))
 16647  			*yySLICE = append(*yySLICE, yyDollar[3].colNameUnion())
 16648  		}
 16649  	case 1058:
 16650  		yyDollar = yyS[yypt-1 : yypt+1]
 16651  		var yyLOCAL TrimType
 16652  //line sql.y:5498
 16653  		{
 16654  			yyLOCAL = BothTrimType
 16655  		}
 16656  		yyVAL.union = yyLOCAL
 16657  	case 1059:
 16658  		yyDollar = yyS[yypt-1 : yypt+1]
 16659  		var yyLOCAL TrimType
 16660  //line sql.y:5502
 16661  		{
 16662  			yyLOCAL = LeadingTrimType
 16663  		}
 16664  		yyVAL.union = yyLOCAL
 16665  	case 1060:
 16666  		yyDollar = yyS[yypt-1 : yypt+1]
 16667  		var yyLOCAL TrimType
 16668  //line sql.y:5506
 16669  		{
 16670  			yyLOCAL = TrailingTrimType
 16671  		}
 16672  		yyVAL.union = yyLOCAL
 16673  	case 1061:
 16674  		yyDollar = yyS[yypt-1 : yypt+1]
 16675  		var yyLOCAL FrameUnitType
 16676  //line sql.y:5512
 16677  		{
 16678  			yyLOCAL = FrameRowsType
 16679  		}
 16680  		yyVAL.union = yyLOCAL
 16681  	case 1062:
 16682  		yyDollar = yyS[yypt-1 : yypt+1]
 16683  		var yyLOCAL FrameUnitType
 16684  //line sql.y:5516
 16685  		{
 16686  			yyLOCAL = FrameRangeType
 16687  		}
 16688  		yyVAL.union = yyLOCAL
 16689  	case 1063:
 16690  		yyDollar = yyS[yypt-1 : yypt+1]
 16691  		var yyLOCAL ArgumentLessWindowExprType
 16692  //line sql.y:5523
 16693  		{
 16694  			yyLOCAL = CumeDistExprType
 16695  		}
 16696  		yyVAL.union = yyLOCAL
 16697  	case 1064:
 16698  		yyDollar = yyS[yypt-1 : yypt+1]
 16699  		var yyLOCAL ArgumentLessWindowExprType
 16700  //line sql.y:5527
 16701  		{
 16702  			yyLOCAL = DenseRankExprType
 16703  		}
 16704  		yyVAL.union = yyLOCAL
 16705  	case 1065:
 16706  		yyDollar = yyS[yypt-1 : yypt+1]
 16707  		var yyLOCAL ArgumentLessWindowExprType
 16708  //line sql.y:5531
 16709  		{
 16710  			yyLOCAL = PercentRankExprType
 16711  		}
 16712  		yyVAL.union = yyLOCAL
 16713  	case 1066:
 16714  		yyDollar = yyS[yypt-1 : yypt+1]
 16715  		var yyLOCAL ArgumentLessWindowExprType
 16716  //line sql.y:5535
 16717  		{
 16718  			yyLOCAL = RankExprType
 16719  		}
 16720  		yyVAL.union = yyLOCAL
 16721  	case 1067:
 16722  		yyDollar = yyS[yypt-1 : yypt+1]
 16723  		var yyLOCAL ArgumentLessWindowExprType
 16724  //line sql.y:5539
 16725  		{
 16726  			yyLOCAL = RowNumberExprType
 16727  		}
 16728  		yyVAL.union = yyLOCAL
 16729  	case 1068:
 16730  		yyDollar = yyS[yypt-2 : yypt+1]
 16731  		var yyLOCAL *FramePoint
 16732  //line sql.y:5545
 16733  		{
 16734  			yyLOCAL = &FramePoint{Type: CurrentRowType}
 16735  		}
 16736  		yyVAL.union = yyLOCAL
 16737  	case 1069:
 16738  		yyDollar = yyS[yypt-2 : yypt+1]
 16739  		var yyLOCAL *FramePoint
 16740  //line sql.y:5549
 16741  		{
 16742  			yyLOCAL = &FramePoint{Type: UnboundedPrecedingType}
 16743  		}
 16744  		yyVAL.union = yyLOCAL
 16745  	case 1070:
 16746  		yyDollar = yyS[yypt-2 : yypt+1]
 16747  		var yyLOCAL *FramePoint
 16748  //line sql.y:5553
 16749  		{
 16750  			yyLOCAL = &FramePoint{Type: UnboundedFollowingType}
 16751  		}
 16752  		yyVAL.union = yyLOCAL
 16753  	case 1071:
 16754  		yyDollar = yyS[yypt-2 : yypt+1]
 16755  		var yyLOCAL *FramePoint
 16756  //line sql.y:5557
 16757  		{
 16758  			yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()}
 16759  		}
 16760  		yyVAL.union = yyLOCAL
 16761  	case 1072:
 16762  		yyDollar = yyS[yypt-2 : yypt+1]
 16763  		var yyLOCAL *FramePoint
 16764  //line sql.y:5561
 16765  		{
 16766  			yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()}
 16767  		}
 16768  		yyVAL.union = yyLOCAL
 16769  	case 1073:
 16770  		yyDollar = yyS[yypt-1 : yypt+1]
 16771  		var yyLOCAL Expr
 16772  //line sql.y:5567
 16773  		{
 16774  			yyLOCAL = yyDollar[1].exprUnion()
 16775  		}
 16776  		yyVAL.union = yyLOCAL
 16777  	case 1074:
 16778  		yyDollar = yyS[yypt-1 : yypt+1]
 16779  		var yyLOCAL Expr
 16780  //line sql.y:5571
 16781  		{
 16782  			yyLOCAL = yyDollar[1].exprUnion()
 16783  		}
 16784  		yyVAL.union = yyLOCAL
 16785  	case 1075:
 16786  		yyDollar = yyS[yypt-0 : yypt+1]
 16787  		var yyLOCAL *FrameClause
 16788  //line sql.y:5576
 16789  		{
 16790  			yyLOCAL = nil
 16791  		}
 16792  		yyVAL.union = yyLOCAL
 16793  	case 1076:
 16794  		yyDollar = yyS[yypt-1 : yypt+1]
 16795  		var yyLOCAL *FrameClause
 16796  //line sql.y:5580
 16797  		{
 16798  			yyLOCAL = yyDollar[1].frameClauseUnion()
 16799  		}
 16800  		yyVAL.union = yyLOCAL
 16801  	case 1077:
 16802  		yyDollar = yyS[yypt-2 : yypt+1]
 16803  		var yyLOCAL *FrameClause
 16804  //line sql.y:5586
 16805  		{
 16806  			yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()}
 16807  		}
 16808  		yyVAL.union = yyLOCAL
 16809  	case 1078:
 16810  		yyDollar = yyS[yypt-5 : yypt+1]
 16811  		var yyLOCAL *FrameClause
 16812  //line sql.y:5590
 16813  		{
 16814  			yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()}
 16815  		}
 16816  		yyVAL.union = yyLOCAL
 16817  	case 1079:
 16818  		yyDollar = yyS[yypt-0 : yypt+1]
 16819  		var yyLOCAL Exprs
 16820  //line sql.y:5595
 16821  		{
 16822  			yyLOCAL = nil
 16823  		}
 16824  		yyVAL.union = yyLOCAL
 16825  	case 1080:
 16826  		yyDollar = yyS[yypt-3 : yypt+1]
 16827  		var yyLOCAL Exprs
 16828  //line sql.y:5599
 16829  		{
 16830  			yyLOCAL = yyDollar[3].exprsUnion()
 16831  		}
 16832  		yyVAL.union = yyLOCAL
 16833  	case 1081:
 16834  		yyDollar = yyS[yypt-0 : yypt+1]
 16835  //line sql.y:5604
 16836  		{
 16837  		}
 16838  	case 1082:
 16839  		yyDollar = yyS[yypt-1 : yypt+1]
 16840  //line sql.y:5607
 16841  		{
 16842  			yyVAL.identifierCI = yyDollar[1].identifierCI
 16843  		}
 16844  	case 1083:
 16845  		yyDollar = yyS[yypt-4 : yypt+1]
 16846  		var yyLOCAL *WindowSpecification
 16847  //line sql.y:5613
 16848  		{
 16849  			yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()}
 16850  		}
 16851  		yyVAL.union = yyLOCAL
 16852  	case 1084:
 16853  		yyDollar = yyS[yypt-4 : yypt+1]
 16854  		var yyLOCAL *OverClause
 16855  //line sql.y:5619
 16856  		{
 16857  			yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()}
 16858  		}
 16859  		yyVAL.union = yyLOCAL
 16860  	case 1085:
 16861  		yyDollar = yyS[yypt-2 : yypt+1]
 16862  		var yyLOCAL *OverClause
 16863  //line sql.y:5623
 16864  		{
 16865  			yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI}
 16866  		}
 16867  		yyVAL.union = yyLOCAL
 16868  	case 1086:
 16869  		yyDollar = yyS[yypt-0 : yypt+1]
 16870  		var yyLOCAL *NullTreatmentClause
 16871  //line sql.y:5628
 16872  		{
 16873  			yyLOCAL = nil
 16874  		}
 16875  		yyVAL.union = yyLOCAL
 16876  	case 1088:
 16877  		yyDollar = yyS[yypt-1 : yypt+1]
 16878  		var yyLOCAL *NullTreatmentClause
 16879  //line sql.y:5635
 16880  		{
 16881  			yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()}
 16882  		}
 16883  		yyVAL.union = yyLOCAL
 16884  	case 1089:
 16885  		yyDollar = yyS[yypt-2 : yypt+1]
 16886  		var yyLOCAL NullTreatmentType
 16887  //line sql.y:5641
 16888  		{
 16889  			yyLOCAL = RespectNullsType
 16890  		}
 16891  		yyVAL.union = yyLOCAL
 16892  	case 1090:
 16893  		yyDollar = yyS[yypt-2 : yypt+1]
 16894  		var yyLOCAL NullTreatmentType
 16895  //line sql.y:5645
 16896  		{
 16897  			yyLOCAL = IgnoreNullsType
 16898  		}
 16899  		yyVAL.union = yyLOCAL
 16900  	case 1091:
 16901  		yyDollar = yyS[yypt-1 : yypt+1]
 16902  		var yyLOCAL FirstOrLastValueExprType
 16903  //line sql.y:5651
 16904  		{
 16905  			yyLOCAL = FirstValueExprType
 16906  		}
 16907  		yyVAL.union = yyLOCAL
 16908  	case 1092:
 16909  		yyDollar = yyS[yypt-1 : yypt+1]
 16910  		var yyLOCAL FirstOrLastValueExprType
 16911  //line sql.y:5655
 16912  		{
 16913  			yyLOCAL = LastValueExprType
 16914  		}
 16915  		yyVAL.union = yyLOCAL
 16916  	case 1093:
 16917  		yyDollar = yyS[yypt-2 : yypt+1]
 16918  		var yyLOCAL FromFirstLastType
 16919  //line sql.y:5661
 16920  		{
 16921  			yyLOCAL = FromFirstType
 16922  		}
 16923  		yyVAL.union = yyLOCAL
 16924  	case 1094:
 16925  		yyDollar = yyS[yypt-2 : yypt+1]
 16926  		var yyLOCAL FromFirstLastType
 16927  //line sql.y:5665
 16928  		{
 16929  			yyLOCAL = FromLastType
 16930  		}
 16931  		yyVAL.union = yyLOCAL
 16932  	case 1095:
 16933  		yyDollar = yyS[yypt-0 : yypt+1]
 16934  		var yyLOCAL *FromFirstLastClause
 16935  //line sql.y:5670
 16936  		{
 16937  			yyLOCAL = nil
 16938  		}
 16939  		yyVAL.union = yyLOCAL
 16940  	case 1097:
 16941  		yyDollar = yyS[yypt-1 : yypt+1]
 16942  		var yyLOCAL *FromFirstLastClause
 16943  //line sql.y:5677
 16944  		{
 16945  			yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()}
 16946  		}
 16947  		yyVAL.union = yyLOCAL
 16948  	case 1098:
 16949  		yyDollar = yyS[yypt-1 : yypt+1]
 16950  		var yyLOCAL LagLeadExprType
 16951  //line sql.y:5683
 16952  		{
 16953  			yyLOCAL = LagExprType
 16954  		}
 16955  		yyVAL.union = yyLOCAL
 16956  	case 1099:
 16957  		yyDollar = yyS[yypt-1 : yypt+1]
 16958  		var yyLOCAL LagLeadExprType
 16959  //line sql.y:5687
 16960  		{
 16961  			yyLOCAL = LeadExprType
 16962  		}
 16963  		yyVAL.union = yyLOCAL
 16964  	case 1100:
 16965  		yyDollar = yyS[yypt-5 : yypt+1]
 16966  		var yyLOCAL *WindowDefinition
 16967  //line sql.y:5693
 16968  		{
 16969  			yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()}
 16970  		}
 16971  		yyVAL.union = yyLOCAL
 16972  	case 1101:
 16973  		yyDollar = yyS[yypt-1 : yypt+1]
 16974  		var yyLOCAL WindowDefinitions
 16975  //line sql.y:5699
 16976  		{
 16977  			yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()}
 16978  		}
 16979  		yyVAL.union = yyLOCAL
 16980  	case 1102:
 16981  		yyDollar = yyS[yypt-3 : yypt+1]
 16982  //line sql.y:5703
 16983  		{
 16984  			yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union))
 16985  			*yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion())
 16986  		}
 16987  	case 1103:
 16988  		yyDollar = yyS[yypt-0 : yypt+1]
 16989  //line sql.y:5709
 16990  		{
 16991  			yyVAL.str = ""
 16992  		}
 16993  	case 1104:
 16994  		yyDollar = yyS[yypt-3 : yypt+1]
 16995  //line sql.y:5713
 16996  		{
 16997  			yyVAL.str = string(yyDollar[2].identifierCI.String())
 16998  		}
 16999  	case 1105:
 17000  		yyDollar = yyS[yypt-1 : yypt+1]
 17001  		var yyLOCAL BoolVal
 17002  //line sql.y:5719
 17003  		{
 17004  			yyLOCAL = BoolVal(true)
 17005  		}
 17006  		yyVAL.union = yyLOCAL
 17007  	case 1106:
 17008  		yyDollar = yyS[yypt-1 : yypt+1]
 17009  		var yyLOCAL BoolVal
 17010  //line sql.y:5723
 17011  		{
 17012  			yyLOCAL = BoolVal(false)
 17013  		}
 17014  		yyVAL.union = yyLOCAL
 17015  	case 1107:
 17016  		yyDollar = yyS[yypt-1 : yypt+1]
 17017  		var yyLOCAL IsExprOperator
 17018  //line sql.y:5730
 17019  		{
 17020  			yyLOCAL = IsTrueOp
 17021  		}
 17022  		yyVAL.union = yyLOCAL
 17023  	case 1108:
 17024  		yyDollar = yyS[yypt-2 : yypt+1]
 17025  		var yyLOCAL IsExprOperator
 17026  //line sql.y:5734
 17027  		{
 17028  			yyLOCAL = IsNotTrueOp
 17029  		}
 17030  		yyVAL.union = yyLOCAL
 17031  	case 1109:
 17032  		yyDollar = yyS[yypt-1 : yypt+1]
 17033  		var yyLOCAL IsExprOperator
 17034  //line sql.y:5738
 17035  		{
 17036  			yyLOCAL = IsFalseOp
 17037  		}
 17038  		yyVAL.union = yyLOCAL
 17039  	case 1110:
 17040  		yyDollar = yyS[yypt-2 : yypt+1]
 17041  		var yyLOCAL IsExprOperator
 17042  //line sql.y:5742
 17043  		{
 17044  			yyLOCAL = IsNotFalseOp
 17045  		}
 17046  		yyVAL.union = yyLOCAL
 17047  	case 1111:
 17048  		yyDollar = yyS[yypt-1 : yypt+1]
 17049  		var yyLOCAL ComparisonExprOperator
 17050  //line sql.y:5748
 17051  		{
 17052  			yyLOCAL = EqualOp
 17053  		}
 17054  		yyVAL.union = yyLOCAL
 17055  	case 1112:
 17056  		yyDollar = yyS[yypt-1 : yypt+1]
 17057  		var yyLOCAL ComparisonExprOperator
 17058  //line sql.y:5752
 17059  		{
 17060  			yyLOCAL = LessThanOp
 17061  		}
 17062  		yyVAL.union = yyLOCAL
 17063  	case 1113:
 17064  		yyDollar = yyS[yypt-1 : yypt+1]
 17065  		var yyLOCAL ComparisonExprOperator
 17066  //line sql.y:5756
 17067  		{
 17068  			yyLOCAL = GreaterThanOp
 17069  		}
 17070  		yyVAL.union = yyLOCAL
 17071  	case 1114:
 17072  		yyDollar = yyS[yypt-1 : yypt+1]
 17073  		var yyLOCAL ComparisonExprOperator
 17074  //line sql.y:5760
 17075  		{
 17076  			yyLOCAL = LessEqualOp
 17077  		}
 17078  		yyVAL.union = yyLOCAL
 17079  	case 1115:
 17080  		yyDollar = yyS[yypt-1 : yypt+1]
 17081  		var yyLOCAL ComparisonExprOperator
 17082  //line sql.y:5764
 17083  		{
 17084  			yyLOCAL = GreaterEqualOp
 17085  		}
 17086  		yyVAL.union = yyLOCAL
 17087  	case 1116:
 17088  		yyDollar = yyS[yypt-1 : yypt+1]
 17089  		var yyLOCAL ComparisonExprOperator
 17090  //line sql.y:5768
 17091  		{
 17092  			yyLOCAL = NotEqualOp
 17093  		}
 17094  		yyVAL.union = yyLOCAL
 17095  	case 1117:
 17096  		yyDollar = yyS[yypt-1 : yypt+1]
 17097  		var yyLOCAL ComparisonExprOperator
 17098  //line sql.y:5772
 17099  		{
 17100  			yyLOCAL = NullSafeEqualOp
 17101  		}
 17102  		yyVAL.union = yyLOCAL
 17103  	case 1118:
 17104  		yyDollar = yyS[yypt-1 : yypt+1]
 17105  		var yyLOCAL ColTuple
 17106  //line sql.y:5778
 17107  		{
 17108  			yyLOCAL = yyDollar[1].valTupleUnion()
 17109  		}
 17110  		yyVAL.union = yyLOCAL
 17111  	case 1119:
 17112  		yyDollar = yyS[yypt-1 : yypt+1]
 17113  		var yyLOCAL ColTuple
 17114  //line sql.y:5782
 17115  		{
 17116  			yyLOCAL = yyDollar[1].subqueryUnion()
 17117  		}
 17118  		yyVAL.union = yyLOCAL
 17119  	case 1120:
 17120  		yyDollar = yyS[yypt-1 : yypt+1]
 17121  		var yyLOCAL ColTuple
 17122  //line sql.y:5786
 17123  		{
 17124  			yyLOCAL = ListArg(yyDollar[1].str[2:])
 17125  			bindVariable(yylex, yyDollar[1].str[2:])
 17126  		}
 17127  		yyVAL.union = yyLOCAL
 17128  	case 1121:
 17129  		yyDollar = yyS[yypt-1 : yypt+1]
 17130  		var yyLOCAL *Subquery
 17131  //line sql.y:5793
 17132  		{
 17133  			yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()}
 17134  		}
 17135  		yyVAL.union = yyLOCAL
 17136  	case 1122:
 17137  		yyDollar = yyS[yypt-1 : yypt+1]
 17138  		var yyLOCAL Exprs
 17139  //line sql.y:5799
 17140  		{
 17141  			yyLOCAL = Exprs{yyDollar[1].exprUnion()}
 17142  		}
 17143  		yyVAL.union = yyLOCAL
 17144  	case 1123:
 17145  		yyDollar = yyS[yypt-3 : yypt+1]
 17146  //line sql.y:5803
 17147  		{
 17148  			yySLICE := (*Exprs)(yyIaddr(yyVAL.union))
 17149  			*yySLICE = append(*yySLICE, yyDollar[3].exprUnion())
 17150  		}
 17151  	case 1124:
 17152  		yyDollar = yyS[yypt-4 : yypt+1]
 17153  		var yyLOCAL Expr
 17154  //line sql.y:5813
 17155  		{
 17156  			yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].selectExprsUnion()}
 17157  		}
 17158  		yyVAL.union = yyLOCAL
 17159  	case 1125:
 17160  		yyDollar = yyS[yypt-6 : yypt+1]
 17161  		var yyLOCAL Expr
 17162  //line sql.y:5817
 17163  		{
 17164  			yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].selectExprsUnion()}
 17165  		}
 17166  		yyVAL.union = yyLOCAL
 17167  	case 1126:
 17168  		yyDollar = yyS[yypt-4 : yypt+1]
 17169  		var yyLOCAL Expr
 17170  //line sql.y:5827
 17171  		{
 17172  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].selectExprsUnion()}
 17173  		}
 17174  		yyVAL.union = yyLOCAL
 17175  	case 1127:
 17176  		yyDollar = yyS[yypt-4 : yypt+1]
 17177  		var yyLOCAL Expr
 17178  //line sql.y:5831
 17179  		{
 17180  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].selectExprsUnion()}
 17181  		}
 17182  		yyVAL.union = yyLOCAL
 17183  	case 1128:
 17184  		yyDollar = yyS[yypt-8 : yypt+1]
 17185  		var yyLOCAL Expr
 17186  //line sql.y:5835
 17187  		{
 17188  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
 17189  		}
 17190  		yyVAL.union = yyLOCAL
 17191  	case 1129:
 17192  		yyDollar = yyS[yypt-6 : yypt+1]
 17193  		var yyLOCAL Expr
 17194  //line sql.y:5839
 17195  		{
 17196  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
 17197  		}
 17198  		yyVAL.union = yyLOCAL
 17199  	case 1130:
 17200  		yyDollar = yyS[yypt-8 : yypt+1]
 17201  		var yyLOCAL Expr
 17202  //line sql.y:5843
 17203  		{
 17204  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
 17205  		}
 17206  		yyVAL.union = yyLOCAL
 17207  	case 1131:
 17208  		yyDollar = yyS[yypt-6 : yypt+1]
 17209  		var yyLOCAL Expr
 17210  //line sql.y:5847
 17211  		{
 17212  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
 17213  		}
 17214  		yyVAL.union = yyLOCAL
 17215  	case 1132:
 17216  		yyDollar = yyS[yypt-5 : yypt+1]
 17217  		var yyLOCAL Expr
 17218  //line sql.y:5851
 17219  		{
 17220  			yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
 17221  		}
 17222  		yyVAL.union = yyLOCAL
 17223  	case 1133:
 17224  		yyDollar = yyS[yypt-4 : yypt+1]
 17225  		var yyLOCAL Expr
 17226  //line sql.y:5855
 17227  		{
 17228  			yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
 17229  		}
 17230  		yyVAL.union = yyLOCAL
 17231  	case 1134:
 17232  		yyDollar = yyS[yypt-10 : yypt+1]
 17233  		var yyLOCAL Expr
 17234  //line sql.y:5859
 17235  		{
 17236  			yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()}
 17237  		}
 17238  		yyVAL.union = yyLOCAL
 17239  	case 1135:
 17240  		yyDollar = yyS[yypt-2 : yypt+1]
 17241  		var yyLOCAL Expr
 17242  //line sql.y:5863
 17243  		{
 17244  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)}
 17245  		}
 17246  		yyVAL.union = yyLOCAL
 17247  	case 1136:
 17248  		yyDollar = yyS[yypt-2 : yypt+1]
 17249  		var yyLOCAL Expr
 17250  //line sql.y:5874
 17251  		{
 17252  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")}
 17253  		}
 17254  		yyVAL.union = yyLOCAL
 17255  	case 1137:
 17256  		yyDollar = yyS[yypt-1 : yypt+1]
 17257  		var yyLOCAL Expr
 17258  //line sql.y:5878
 17259  		{
 17260  			yyLOCAL = yyDollar[1].exprUnion()
 17261  		}
 17262  		yyVAL.union = yyLOCAL
 17263  	case 1138:
 17264  		yyDollar = yyS[yypt-2 : yypt+1]
 17265  		var yyLOCAL Expr
 17266  //line sql.y:5884
 17267  		{
 17268  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")}
 17269  		}
 17270  		yyVAL.union = yyLOCAL
 17271  	case 1139:
 17272  		yyDollar = yyS[yypt-2 : yypt+1]
 17273  		var yyLOCAL Expr
 17274  //line sql.y:5888
 17275  		{
 17276  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].exprUnion()}
 17277  		}
 17278  		yyVAL.union = yyLOCAL
 17279  	case 1140:
 17280  		yyDollar = yyS[yypt-2 : yypt+1]
 17281  		var yyLOCAL Expr
 17282  //line sql.y:5893
 17283  		{
 17284  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].exprUnion()}
 17285  		}
 17286  		yyVAL.union = yyLOCAL
 17287  	case 1141:
 17288  		yyDollar = yyS[yypt-4 : yypt+1]
 17289  		var yyLOCAL Expr
 17290  //line sql.y:5897
 17291  		{
 17292  			yyLOCAL = &CountStar{}
 17293  		}
 17294  		yyVAL.union = yyLOCAL
 17295  	case 1142:
 17296  		yyDollar = yyS[yypt-5 : yypt+1]
 17297  		var yyLOCAL Expr
 17298  //line sql.y:5901
 17299  		{
 17300  			yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()}
 17301  		}
 17302  		yyVAL.union = yyLOCAL
 17303  	case 1143:
 17304  		yyDollar = yyS[yypt-5 : yypt+1]
 17305  		var yyLOCAL Expr
 17306  //line sql.y:5905
 17307  		{
 17308  			yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17309  		}
 17310  		yyVAL.union = yyLOCAL
 17311  	case 1144:
 17312  		yyDollar = yyS[yypt-5 : yypt+1]
 17313  		var yyLOCAL Expr
 17314  //line sql.y:5909
 17315  		{
 17316  			yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17317  		}
 17318  		yyVAL.union = yyLOCAL
 17319  	case 1145:
 17320  		yyDollar = yyS[yypt-5 : yypt+1]
 17321  		var yyLOCAL Expr
 17322  //line sql.y:5913
 17323  		{
 17324  			yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17325  		}
 17326  		yyVAL.union = yyLOCAL
 17327  	case 1146:
 17328  		yyDollar = yyS[yypt-5 : yypt+1]
 17329  		var yyLOCAL Expr
 17330  //line sql.y:5917
 17331  		{
 17332  			yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17333  		}
 17334  		yyVAL.union = yyLOCAL
 17335  	case 1147:
 17336  		yyDollar = yyS[yypt-4 : yypt+1]
 17337  		var yyLOCAL Expr
 17338  //line sql.y:5921
 17339  		{
 17340  			yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion()}
 17341  		}
 17342  		yyVAL.union = yyLOCAL
 17343  	case 1148:
 17344  		yyDollar = yyS[yypt-4 : yypt+1]
 17345  		var yyLOCAL Expr
 17346  //line sql.y:5925
 17347  		{
 17348  			yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion()}
 17349  		}
 17350  		yyVAL.union = yyLOCAL
 17351  	case 1149:
 17352  		yyDollar = yyS[yypt-4 : yypt+1]
 17353  		var yyLOCAL Expr
 17354  //line sql.y:5929
 17355  		{
 17356  			yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion()}
 17357  		}
 17358  		yyVAL.union = yyLOCAL
 17359  	case 1150:
 17360  		yyDollar = yyS[yypt-4 : yypt+1]
 17361  		var yyLOCAL Expr
 17362  //line sql.y:5933
 17363  		{
 17364  			yyLOCAL = &Std{Arg: yyDollar[3].exprUnion()}
 17365  		}
 17366  		yyVAL.union = yyLOCAL
 17367  	case 1151:
 17368  		yyDollar = yyS[yypt-4 : yypt+1]
 17369  		var yyLOCAL Expr
 17370  //line sql.y:5937
 17371  		{
 17372  			yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion()}
 17373  		}
 17374  		yyVAL.union = yyLOCAL
 17375  	case 1152:
 17376  		yyDollar = yyS[yypt-4 : yypt+1]
 17377  		var yyLOCAL Expr
 17378  //line sql.y:5941
 17379  		{
 17380  			yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion()}
 17381  		}
 17382  		yyVAL.union = yyLOCAL
 17383  	case 1153:
 17384  		yyDollar = yyS[yypt-4 : yypt+1]
 17385  		var yyLOCAL Expr
 17386  //line sql.y:5945
 17387  		{
 17388  			yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion()}
 17389  		}
 17390  		yyVAL.union = yyLOCAL
 17391  	case 1154:
 17392  		yyDollar = yyS[yypt-4 : yypt+1]
 17393  		var yyLOCAL Expr
 17394  //line sql.y:5949
 17395  		{
 17396  			yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion()}
 17397  		}
 17398  		yyVAL.union = yyLOCAL
 17399  	case 1155:
 17400  		yyDollar = yyS[yypt-4 : yypt+1]
 17401  		var yyLOCAL Expr
 17402  //line sql.y:5953
 17403  		{
 17404  			yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion()}
 17405  		}
 17406  		yyVAL.union = yyLOCAL
 17407  	case 1156:
 17408  		yyDollar = yyS[yypt-4 : yypt+1]
 17409  		var yyLOCAL Expr
 17410  //line sql.y:5957
 17411  		{
 17412  			yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion()}
 17413  		}
 17414  		yyVAL.union = yyLOCAL
 17415  	case 1157:
 17416  		yyDollar = yyS[yypt-8 : yypt+1]
 17417  		var yyLOCAL Expr
 17418  //line sql.y:5961
 17419  		{
 17420  			yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
 17421  		}
 17422  		yyVAL.union = yyLOCAL
 17423  	case 1158:
 17424  		yyDollar = yyS[yypt-8 : yypt+1]
 17425  		var yyLOCAL Expr
 17426  //line sql.y:5965
 17427  		{
 17428  			yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
 17429  		}
 17430  		yyVAL.union = yyLOCAL
 17431  	case 1159:
 17432  		yyDollar = yyS[yypt-8 : yypt+1]
 17433  		var yyLOCAL Expr
 17434  //line sql.y:5969
 17435  		{
 17436  			yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
 17437  		}
 17438  		yyVAL.union = yyLOCAL
 17439  	case 1160:
 17440  		yyDollar = yyS[yypt-6 : yypt+1]
 17441  		var yyLOCAL Expr
 17442  //line sql.y:5973
 17443  		{
 17444  			yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
 17445  		}
 17446  		yyVAL.union = yyLOCAL
 17447  	case 1161:
 17448  		yyDollar = yyS[yypt-5 : yypt+1]
 17449  		var yyLOCAL Expr
 17450  //line sql.y:5977
 17451  		{
 17452  			yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()}
 17453  		}
 17454  		yyVAL.union = yyLOCAL
 17455  	case 1162:
 17456  		yyDollar = yyS[yypt-4 : yypt+1]
 17457  		var yyLOCAL Expr
 17458  //line sql.y:5981
 17459  		{
 17460  			yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()}
 17461  		}
 17462  		yyVAL.union = yyLOCAL
 17463  	case 1163:
 17464  		yyDollar = yyS[yypt-4 : yypt+1]
 17465  		var yyLOCAL Expr
 17466  //line sql.y:5985
 17467  		{
 17468  			yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()}
 17469  		}
 17470  		yyVAL.union = yyLOCAL
 17471  	case 1164:
 17472  		yyDollar = yyS[yypt-4 : yypt+1]
 17473  		var yyLOCAL Expr
 17474  //line sql.y:5989
 17475  		{
 17476  			yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()}
 17477  		}
 17478  		yyVAL.union = yyLOCAL
 17479  	case 1165:
 17480  		yyDollar = yyS[yypt-4 : yypt+1]
 17481  		var yyLOCAL Expr
 17482  //line sql.y:5993
 17483  		{
 17484  			yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()}
 17485  		}
 17486  		yyVAL.union = yyLOCAL
 17487  	case 1166:
 17488  		yyDollar = yyS[yypt-4 : yypt+1]
 17489  		var yyLOCAL Expr
 17490  //line sql.y:5997
 17491  		{
 17492  			yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()}
 17493  		}
 17494  		yyVAL.union = yyLOCAL
 17495  	case 1167:
 17496  		yyDollar = yyS[yypt-7 : yypt+1]
 17497  		var yyLOCAL Expr
 17498  //line sql.y:6001
 17499  		{
 17500  			yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()}
 17501  		}
 17502  		yyVAL.union = yyLOCAL
 17503  	case 1168:
 17504  		yyDollar = yyS[yypt-4 : yypt+1]
 17505  		var yyLOCAL Expr
 17506  //line sql.y:6005
 17507  		{
 17508  			yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()}
 17509  		}
 17510  		yyVAL.union = yyLOCAL
 17511  	case 1169:
 17512  		yyDollar = yyS[yypt-4 : yypt+1]
 17513  		var yyLOCAL Expr
 17514  //line sql.y:6009
 17515  		{
 17516  			yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()}
 17517  		}
 17518  		yyVAL.union = yyLOCAL
 17519  	case 1170:
 17520  		yyDollar = yyS[yypt-6 : yypt+1]
 17521  		var yyLOCAL Expr
 17522  //line sql.y:6013
 17523  		{
 17524  			yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str}
 17525  		}
 17526  		yyVAL.union = yyLOCAL
 17527  	case 1171:
 17528  		yyDollar = yyS[yypt-6 : yypt+1]
 17529  		var yyLOCAL Expr
 17530  //line sql.y:6017
 17531  		{
 17532  			yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()}
 17533  		}
 17534  		yyVAL.union = yyLOCAL
 17535  	case 1172:
 17536  		yyDollar = yyS[yypt-6 : yypt+1]
 17537  		var yyLOCAL Expr
 17538  //line sql.y:6021
 17539  		{
 17540  			yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
 17541  		}
 17542  		yyVAL.union = yyLOCAL
 17543  	case 1173:
 17544  		yyDollar = yyS[yypt-8 : yypt+1]
 17545  		var yyLOCAL Expr
 17546  //line sql.y:6025
 17547  		{
 17548  			yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()}
 17549  		}
 17550  		yyVAL.union = yyLOCAL
 17551  	case 1174:
 17552  		yyDollar = yyS[yypt-6 : yypt+1]
 17553  		var yyLOCAL Expr
 17554  //line sql.y:6029
 17555  		{
 17556  			yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
 17557  		}
 17558  		yyVAL.union = yyLOCAL
 17559  	case 1175:
 17560  		yyDollar = yyS[yypt-6 : yypt+1]
 17561  		var yyLOCAL Expr
 17562  //line sql.y:6033
 17563  		{
 17564  			yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
 17565  		}
 17566  		yyVAL.union = yyLOCAL
 17567  	case 1176:
 17568  		yyDollar = yyS[yypt-4 : yypt+1]
 17569  		var yyLOCAL Expr
 17570  //line sql.y:6037
 17571  		{
 17572  			yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()}
 17573  		}
 17574  		yyVAL.union = yyLOCAL
 17575  	case 1177:
 17576  		yyDollar = yyS[yypt-4 : yypt+1]
 17577  		var yyLOCAL Expr
 17578  //line sql.y:6041
 17579  		{
 17580  			yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()}
 17581  		}
 17582  		yyVAL.union = yyLOCAL
 17583  	case 1178:
 17584  		yyDollar = yyS[yypt-3 : yypt+1]
 17585  		var yyLOCAL Expr
 17586  //line sql.y:6045
 17587  		{
 17588  			yyLOCAL = &LockingFunc{Type: ReleaseAllLocks}
 17589  		}
 17590  		yyVAL.union = yyLOCAL
 17591  	case 1179:
 17592  		yyDollar = yyS[yypt-4 : yypt+1]
 17593  		var yyLOCAL Expr
 17594  //line sql.y:6049
 17595  		{
 17596  			yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()}
 17597  		}
 17598  		yyVAL.union = yyLOCAL
 17599  	case 1180:
 17600  		yyDollar = yyS[yypt-6 : yypt+1]
 17601  		var yyLOCAL Expr
 17602  //line sql.y:6053
 17603  		{
 17604  			yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
 17605  		}
 17606  		yyVAL.union = yyLOCAL
 17607  	case 1181:
 17608  		yyDollar = yyS[yypt-6 : yypt+1]
 17609  		var yyLOCAL Expr
 17610  //line sql.y:6057
 17611  		{
 17612  			yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
 17613  		}
 17614  		yyVAL.union = yyLOCAL
 17615  	case 1182:
 17616  		yyDollar = yyS[yypt-4 : yypt+1]
 17617  		var yyLOCAL Expr
 17618  //line sql.y:6061
 17619  		{
 17620  			yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()}
 17621  		}
 17622  		yyVAL.union = yyLOCAL
 17623  	case 1183:
 17624  		yyDollar = yyS[yypt-4 : yypt+1]
 17625  		var yyLOCAL Expr
 17626  //line sql.y:6065
 17627  		{
 17628  			yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()}
 17629  		}
 17630  		yyVAL.union = yyLOCAL
 17631  	case 1184:
 17632  		yyDollar = yyS[yypt-4 : yypt+1]
 17633  		var yyLOCAL Expr
 17634  //line sql.y:6069
 17635  		{
 17636  			yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()}
 17637  		}
 17638  		yyVAL.union = yyLOCAL
 17639  	case 1185:
 17640  		yyDollar = yyS[yypt-6 : yypt+1]
 17641  		var yyLOCAL Expr
 17642  //line sql.y:6073
 17643  		{
 17644  			yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]}
 17645  		}
 17646  		yyVAL.union = yyLOCAL
 17647  	case 1186:
 17648  		yyDollar = yyS[yypt-8 : yypt+1]
 17649  		var yyLOCAL Expr
 17650  //line sql.y:6077
 17651  		{
 17652  			yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()}
 17653  		}
 17654  		yyVAL.union = yyLOCAL
 17655  	case 1187:
 17656  		yyDollar = yyS[yypt-6 : yypt+1]
 17657  		var yyLOCAL Expr
 17658  //line sql.y:6081
 17659  		{
 17660  			yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
 17661  		}
 17662  		yyVAL.union = yyLOCAL
 17663  	case 1188:
 17664  		yyDollar = yyS[yypt-4 : yypt+1]
 17665  		var yyLOCAL Expr
 17666  //line sql.y:6085
 17667  		{
 17668  			yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()}
 17669  		}
 17670  		yyVAL.union = yyLOCAL
 17671  	case 1189:
 17672  		yyDollar = yyS[yypt-6 : yypt+1]
 17673  		var yyLOCAL Expr
 17674  //line sql.y:6089
 17675  		{
 17676  			yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
 17677  		}
 17678  		yyVAL.union = yyLOCAL
 17679  	case 1190:
 17680  		yyDollar = yyS[yypt-6 : yypt+1]
 17681  		var yyLOCAL Expr
 17682  //line sql.y:6093
 17683  		{
 17684  			yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()}
 17685  		}
 17686  		yyVAL.union = yyLOCAL
 17687  	case 1191:
 17688  		yyDollar = yyS[yypt-8 : yypt+1]
 17689  		var yyLOCAL Expr
 17690  //line sql.y:6097
 17691  		{
 17692  			yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()}
 17693  		}
 17694  		yyVAL.union = yyLOCAL
 17695  	case 1192:
 17696  		yyDollar = yyS[yypt-10 : yypt+1]
 17697  		var yyLOCAL Expr
 17698  //line sql.y:6101
 17699  		{
 17700  			yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]}
 17701  		}
 17702  		yyVAL.union = yyLOCAL
 17703  	case 1193:
 17704  		yyDollar = yyS[yypt-7 : yypt+1]
 17705  		var yyLOCAL Expr
 17706  //line sql.y:6105
 17707  		{
 17708  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()}
 17709  		}
 17710  		yyVAL.union = yyLOCAL
 17711  	case 1194:
 17712  		yyDollar = yyS[yypt-8 : yypt+1]
 17713  		var yyLOCAL Expr
 17714  //line sql.y:6109
 17715  		{
 17716  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
 17717  		}
 17718  		yyVAL.union = yyLOCAL
 17719  	case 1195:
 17720  		yyDollar = yyS[yypt-8 : yypt+1]
 17721  		var yyLOCAL Expr
 17722  //line sql.y:6113
 17723  		{
 17724  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
 17725  		}
 17726  		yyVAL.union = yyLOCAL
 17727  	case 1196:
 17728  		yyDollar = yyS[yypt-9 : yypt+1]
 17729  		var yyLOCAL Expr
 17730  //line sql.y:6117
 17731  		{
 17732  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
 17733  		}
 17734  		yyVAL.union = yyLOCAL
 17735  	case 1197:
 17736  		yyDollar = yyS[yypt-4 : yypt+1]
 17737  		var yyLOCAL Expr
 17738  //line sql.y:6121
 17739  		{
 17740  			yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17741  		}
 17742  		yyVAL.union = yyLOCAL
 17743  	case 1198:
 17744  		yyDollar = yyS[yypt-4 : yypt+1]
 17745  		var yyLOCAL Expr
 17746  //line sql.y:6125
 17747  		{
 17748  			yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17749  		}
 17750  		yyVAL.union = yyLOCAL
 17751  	case 1199:
 17752  		yyDollar = yyS[yypt-4 : yypt+1]
 17753  		var yyLOCAL Expr
 17754  //line sql.y:6129
 17755  		{
 17756  			yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17757  		}
 17758  		yyVAL.union = yyLOCAL
 17759  	case 1200:
 17760  		yyDollar = yyS[yypt-4 : yypt+1]
 17761  		var yyLOCAL Expr
 17762  //line sql.y:6133
 17763  		{
 17764  			yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17765  		}
 17766  		yyVAL.union = yyLOCAL
 17767  	case 1201:
 17768  		yyDollar = yyS[yypt-6 : yypt+1]
 17769  		var yyLOCAL Expr
 17770  //line sql.y:6137
 17771  		{
 17772  			yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
 17773  		}
 17774  		yyVAL.union = yyLOCAL
 17775  	case 1202:
 17776  		yyDollar = yyS[yypt-6 : yypt+1]
 17777  		var yyLOCAL Expr
 17778  //line sql.y:6141
 17779  		{
 17780  			yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17781  		}
 17782  		yyVAL.union = yyLOCAL
 17783  	case 1203:
 17784  		yyDollar = yyS[yypt-6 : yypt+1]
 17785  		var yyLOCAL Expr
 17786  //line sql.y:6145
 17787  		{
 17788  			yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17789  		}
 17790  		yyVAL.union = yyLOCAL
 17791  	case 1204:
 17792  		yyDollar = yyS[yypt-6 : yypt+1]
 17793  		var yyLOCAL Expr
 17794  //line sql.y:6149
 17795  		{
 17796  			yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17797  		}
 17798  		yyVAL.union = yyLOCAL
 17799  	case 1205:
 17800  		yyDollar = yyS[yypt-6 : yypt+1]
 17801  		var yyLOCAL Expr
 17802  //line sql.y:6153
 17803  		{
 17804  			yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17805  		}
 17806  		yyVAL.union = yyLOCAL
 17807  	case 1206:
 17808  		yyDollar = yyS[yypt-6 : yypt+1]
 17809  		var yyLOCAL Expr
 17810  //line sql.y:6157
 17811  		{
 17812  			yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17813  		}
 17814  		yyVAL.union = yyLOCAL
 17815  	case 1207:
 17816  		yyDollar = yyS[yypt-6 : yypt+1]
 17817  		var yyLOCAL Expr
 17818  //line sql.y:6161
 17819  		{
 17820  			yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
 17821  		}
 17822  		yyVAL.union = yyLOCAL
 17823  	case 1208:
 17824  		yyDollar = yyS[yypt-6 : yypt+1]
 17825  		var yyLOCAL Expr
 17826  //line sql.y:6165
 17827  		{
 17828  			yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
 17829  		}
 17830  		yyVAL.union = yyLOCAL
 17831  	case 1209:
 17832  		yyDollar = yyS[yypt-6 : yypt+1]
 17833  		var yyLOCAL Expr
 17834  //line sql.y:6169
 17835  		{
 17836  			yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
 17837  		}
 17838  		yyVAL.union = yyLOCAL
 17839  	case 1210:
 17840  		yyDollar = yyS[yypt-6 : yypt+1]
 17841  		var yyLOCAL Expr
 17842  //line sql.y:6173
 17843  		{
 17844  			yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
 17845  		}
 17846  		yyVAL.union = yyLOCAL
 17847  	case 1211:
 17848  		yyDollar = yyS[yypt-4 : yypt+1]
 17849  		var yyLOCAL Expr
 17850  //line sql.y:6177
 17851  		{
 17852  			yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()}
 17853  		}
 17854  		yyVAL.union = yyLOCAL
 17855  	case 1212:
 17856  		yyDollar = yyS[yypt-4 : yypt+1]
 17857  		var yyLOCAL Expr
 17858  //line sql.y:6181
 17859  		{
 17860  			yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()}
 17861  		}
 17862  		yyVAL.union = yyLOCAL
 17863  	case 1213:
 17864  		yyDollar = yyS[yypt-6 : yypt+1]
 17865  		var yyLOCAL Expr
 17866  //line sql.y:6185
 17867  		{
 17868  			yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()}
 17869  		}
 17870  		yyVAL.union = yyLOCAL
 17871  	case 1214:
 17872  		yyDollar = yyS[yypt-4 : yypt+1]
 17873  		var yyLOCAL Expr
 17874  //line sql.y:6189
 17875  		{
 17876  			yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()}
 17877  		}
 17878  		yyVAL.union = yyLOCAL
 17879  	case 1215:
 17880  		yyDollar = yyS[yypt-6 : yypt+1]
 17881  		var yyLOCAL Expr
 17882  //line sql.y:6193
 17883  		{
 17884  			yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
 17885  		}
 17886  		yyVAL.union = yyLOCAL
 17887  	case 1216:
 17888  		yyDollar = yyS[yypt-5 : yypt+1]
 17889  		var yyLOCAL Expr
 17890  //line sql.y:6197
 17891  		{
 17892  			yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
 17893  		}
 17894  		yyVAL.union = yyLOCAL
 17895  	case 1217:
 17896  		yyDollar = yyS[yypt-9 : yypt+1]
 17897  		var yyLOCAL Expr
 17898  //line sql.y:6201
 17899  		{
 17900  			yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
 17901  		}
 17902  		yyVAL.union = yyLOCAL
 17903  	case 1218:
 17904  		yyDollar = yyS[yypt-6 : yypt+1]
 17905  		var yyLOCAL Expr
 17906  //line sql.y:6205
 17907  		{
 17908  			yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
 17909  		}
 17910  		yyVAL.union = yyLOCAL
 17911  	case 1219:
 17912  		yyDollar = yyS[yypt-9 : yypt+1]
 17913  		var yyLOCAL Expr
 17914  //line sql.y:6209
 17915  		{
 17916  			yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
 17917  		}
 17918  		yyVAL.union = yyLOCAL
 17919  	case 1224:
 17920  		yyDollar = yyS[yypt-1 : yypt+1]
 17921  		var yyLOCAL Expr
 17922  //line sql.y:6219
 17923  		{
 17924  			yyLOCAL = yyDollar[1].exprUnion()
 17925  		}
 17926  		yyVAL.union = yyLOCAL
 17927  	case 1225:
 17928  		yyDollar = yyS[yypt-1 : yypt+1]
 17929  		var yyLOCAL Expr
 17930  //line sql.y:6223
 17931  		{
 17932  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
 17933  		}
 17934  		yyVAL.union = yyLOCAL
 17935  	case 1226:
 17936  		yyDollar = yyS[yypt-1 : yypt+1]
 17937  		var yyLOCAL Expr
 17938  //line sql.y:6227
 17939  		{
 17940  			yyLOCAL = yyDollar[1].variableUnion()
 17941  		}
 17942  		yyVAL.union = yyLOCAL
 17943  	case 1227:
 17944  		yyDollar = yyS[yypt-1 : yypt+1]
 17945  		var yyLOCAL Expr
 17946  //line sql.y:6231
 17947  		{
 17948  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 17949  			bindVariable(yylex, yyDollar[1].str[1:])
 17950  		}
 17951  		yyVAL.union = yyLOCAL
 17952  	case 1228:
 17953  		yyDollar = yyS[yypt-0 : yypt+1]
 17954  		var yyLOCAL Expr
 17955  //line sql.y:6237
 17956  		{
 17957  			yyLOCAL = nil
 17958  		}
 17959  		yyVAL.union = yyLOCAL
 17960  	case 1229:
 17961  		yyDollar = yyS[yypt-2 : yypt+1]
 17962  		var yyLOCAL Expr
 17963  //line sql.y:6241
 17964  		{
 17965  			yyLOCAL = yyDollar[2].exprUnion()
 17966  		}
 17967  		yyVAL.union = yyLOCAL
 17968  	case 1230:
 17969  		yyDollar = yyS[yypt-6 : yypt+1]
 17970  		var yyLOCAL Expr
 17971  //line sql.y:6247
 17972  		{
 17973  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
 17974  		}
 17975  		yyVAL.union = yyLOCAL
 17976  	case 1231:
 17977  		yyDollar = yyS[yypt-8 : yypt+1]
 17978  		var yyLOCAL Expr
 17979  //line sql.y:6251
 17980  		{
 17981  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
 17982  		}
 17983  		yyVAL.union = yyLOCAL
 17984  	case 1232:
 17985  		yyDollar = yyS[yypt-10 : yypt+1]
 17986  		var yyLOCAL Expr
 17987  //line sql.y:6255
 17988  		{
 17989  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
 17990  		}
 17991  		yyVAL.union = yyLOCAL
 17992  	case 1233:
 17993  		yyDollar = yyS[yypt-12 : yypt+1]
 17994  		var yyLOCAL Expr
 17995  //line sql.y:6259
 17996  		{
 17997  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()}
 17998  		}
 17999  		yyVAL.union = yyLOCAL
 18000  	case 1234:
 18001  		yyDollar = yyS[yypt-14 : yypt+1]
 18002  		var yyLOCAL Expr
 18003  //line sql.y:6263
 18004  		{
 18005  			// Match type is kept expression as TRIM( ' m  ') is accepted
 18006  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
 18007  		}
 18008  		yyVAL.union = yyLOCAL
 18009  	case 1235:
 18010  		yyDollar = yyS[yypt-6 : yypt+1]
 18011  		var yyLOCAL Expr
 18012  //line sql.y:6268
 18013  		{
 18014  			yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
 18015  		}
 18016  		yyVAL.union = yyLOCAL
 18017  	case 1236:
 18018  		yyDollar = yyS[yypt-8 : yypt+1]
 18019  		var yyLOCAL Expr
 18020  //line sql.y:6272
 18021  		{
 18022  			yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()}
 18023  		}
 18024  		yyVAL.union = yyLOCAL
 18025  	case 1237:
 18026  		yyDollar = yyS[yypt-8 : yypt+1]
 18027  		var yyLOCAL Expr
 18028  //line sql.y:6276
 18029  		{
 18030  			yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()}
 18031  		}
 18032  		yyVAL.union = yyLOCAL
 18033  	case 1238:
 18034  		yyDollar = yyS[yypt-10 : yypt+1]
 18035  		var yyLOCAL Expr
 18036  //line sql.y:6280
 18037  		{
 18038  			yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()}
 18039  		}
 18040  		yyVAL.union = yyLOCAL
 18041  	case 1239:
 18042  		yyDollar = yyS[yypt-12 : yypt+1]
 18043  		var yyLOCAL Expr
 18044  //line sql.y:6284
 18045  		{
 18046  			yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()}
 18047  		}
 18048  		yyVAL.union = yyLOCAL
 18049  	case 1240:
 18050  		yyDollar = yyS[yypt-14 : yypt+1]
 18051  		var yyLOCAL Expr
 18052  //line sql.y:6288
 18053  		{
 18054  			// Match type is kept expression as TRIM( ' m  ') is accepted
 18055  			yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
 18056  		}
 18057  		yyVAL.union = yyLOCAL
 18058  	case 1241:
 18059  		yyDollar = yyS[yypt-6 : yypt+1]
 18060  		var yyLOCAL Expr
 18061  //line sql.y:6293
 18062  		{
 18063  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
 18064  		}
 18065  		yyVAL.union = yyLOCAL
 18066  	case 1242:
 18067  		yyDollar = yyS[yypt-8 : yypt+1]
 18068  		var yyLOCAL Expr
 18069  //line sql.y:6297
 18070  		{
 18071  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
 18072  		}
 18073  		yyVAL.union = yyLOCAL
 18074  	case 1243:
 18075  		yyDollar = yyS[yypt-10 : yypt+1]
 18076  		var yyLOCAL Expr
 18077  //line sql.y:6301
 18078  		{
 18079  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
 18080  		}
 18081  		yyVAL.union = yyLOCAL
 18082  	case 1244:
 18083  		yyDollar = yyS[yypt-12 : yypt+1]
 18084  		var yyLOCAL Expr
 18085  //line sql.y:6305
 18086  		{
 18087  			// Match type is kept expression as TRIM( ' m  ') is accepted
 18088  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()}
 18089  		}
 18090  		yyVAL.union = yyLOCAL
 18091  	case 1245:
 18092  		yyDollar = yyS[yypt-6 : yypt+1]
 18093  		var yyLOCAL Expr
 18094  //line sql.y:6312
 18095  		{
 18096  			yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()}
 18097  		}
 18098  		yyVAL.union = yyLOCAL
 18099  	case 1246:
 18100  		yyDollar = yyS[yypt-8 : yypt+1]
 18101  		var yyLOCAL Expr
 18102  //line sql.y:6316
 18103  		{
 18104  			yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()}
 18105  		}
 18106  		yyVAL.union = yyLOCAL
 18107  	case 1247:
 18108  		yyDollar = yyS[yypt-4 : yypt+1]
 18109  		var yyLOCAL Expr
 18110  //line sql.y:6322
 18111  		{
 18112  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()}
 18113  		}
 18114  		yyVAL.union = yyLOCAL
 18115  	case 1248:
 18116  		yyDollar = yyS[yypt-4 : yypt+1]
 18117  		var yyLOCAL Expr
 18118  //line sql.y:6326
 18119  		{
 18120  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()}
 18121  		}
 18122  		yyVAL.union = yyLOCAL
 18123  	case 1249:
 18124  		yyDollar = yyS[yypt-3 : yypt+1]
 18125  		var yyLOCAL Expr
 18126  //line sql.y:6330
 18127  		{
 18128  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType}
 18129  		}
 18130  		yyVAL.union = yyLOCAL
 18131  	case 1250:
 18132  		yyDollar = yyS[yypt-4 : yypt+1]
 18133  		var yyLOCAL Expr
 18134  //line sql.y:6334
 18135  		{
 18136  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()}
 18137  		}
 18138  		yyVAL.union = yyLOCAL
 18139  	case 1251:
 18140  		yyDollar = yyS[yypt-6 : yypt+1]
 18141  		var yyLOCAL Expr
 18142  //line sql.y:6340
 18143  		{
 18144  			yyLOCAL = &GTIDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
 18145  		}
 18146  		yyVAL.union = yyLOCAL
 18147  	case 1252:
 18148  		yyDollar = yyS[yypt-6 : yypt+1]
 18149  		var yyLOCAL Expr
 18150  //line sql.y:6344
 18151  		{
 18152  			yyLOCAL = &GTIDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
 18153  		}
 18154  		yyVAL.union = yyLOCAL
 18155  	case 1253:
 18156  		yyDollar = yyS[yypt-4 : yypt+1]
 18157  		var yyLOCAL Expr
 18158  //line sql.y:6348
 18159  		{
 18160  			yyLOCAL = &GTIDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()}
 18161  		}
 18162  		yyVAL.union = yyLOCAL
 18163  	case 1254:
 18164  		yyDollar = yyS[yypt-6 : yypt+1]
 18165  		var yyLOCAL Expr
 18166  //line sql.y:6352
 18167  		{
 18168  			yyLOCAL = &GTIDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
 18169  		}
 18170  		yyVAL.union = yyLOCAL
 18171  	case 1255:
 18172  		yyDollar = yyS[yypt-4 : yypt+1]
 18173  		var yyLOCAL Expr
 18174  //line sql.y:6356
 18175  		{
 18176  			yyLOCAL = &GTIDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()}
 18177  		}
 18178  		yyVAL.union = yyLOCAL
 18179  	case 1256:
 18180  		yyDollar = yyS[yypt-6 : yypt+1]
 18181  		var yyLOCAL Expr
 18182  //line sql.y:6360
 18183  		{
 18184  			yyLOCAL = &GTIDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
 18185  		}
 18186  		yyVAL.union = yyLOCAL
 18187  	case 1257:
 18188  		yyDollar = yyS[yypt-8 : yypt+1]
 18189  		var yyLOCAL Expr
 18190  //line sql.y:6364
 18191  		{
 18192  			yyLOCAL = &GTIDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()}
 18193  		}
 18194  		yyVAL.union = yyLOCAL
 18195  	case 1258:
 18196  		yyDollar = yyS[yypt-0 : yypt+1]
 18197  		var yyLOCAL *ConvertType
 18198  //line sql.y:6369
 18199  		{
 18200  			yyLOCAL = nil
 18201  		}
 18202  		yyVAL.union = yyLOCAL
 18203  	case 1259:
 18204  		yyDollar = yyS[yypt-2 : yypt+1]
 18205  		var yyLOCAL *ConvertType
 18206  //line sql.y:6373
 18207  		{
 18208  			yyLOCAL = yyDollar[2].convertTypeUnion()
 18209  		}
 18210  		yyVAL.union = yyLOCAL
 18211  	case 1260:
 18212  		yyDollar = yyS[yypt-1 : yypt+1]
 18213  //line sql.y:6379
 18214  		{
 18215  		}
 18216  	case 1261:
 18217  		yyDollar = yyS[yypt-1 : yypt+1]
 18218  		var yyLOCAL IntervalTypes
 18219  //line sql.y:6381
 18220  		{
 18221  			yyLOCAL = IntervalDayHour
 18222  		}
 18223  		yyVAL.union = yyLOCAL
 18224  	case 1262:
 18225  		yyDollar = yyS[yypt-1 : yypt+1]
 18226  		var yyLOCAL IntervalTypes
 18227  //line sql.y:6385
 18228  		{
 18229  			yyLOCAL = IntervalDayMicrosecond
 18230  		}
 18231  		yyVAL.union = yyLOCAL
 18232  	case 1263:
 18233  		yyDollar = yyS[yypt-1 : yypt+1]
 18234  		var yyLOCAL IntervalTypes
 18235  //line sql.y:6389
 18236  		{
 18237  			yyLOCAL = IntervalDayMinute
 18238  		}
 18239  		yyVAL.union = yyLOCAL
 18240  	case 1264:
 18241  		yyDollar = yyS[yypt-1 : yypt+1]
 18242  		var yyLOCAL IntervalTypes
 18243  //line sql.y:6393
 18244  		{
 18245  			yyLOCAL = IntervalDaySecond
 18246  		}
 18247  		yyVAL.union = yyLOCAL
 18248  	case 1265:
 18249  		yyDollar = yyS[yypt-1 : yypt+1]
 18250  		var yyLOCAL IntervalTypes
 18251  //line sql.y:6397
 18252  		{
 18253  			yyLOCAL = IntervalHourMicrosecond
 18254  		}
 18255  		yyVAL.union = yyLOCAL
 18256  	case 1266:
 18257  		yyDollar = yyS[yypt-1 : yypt+1]
 18258  		var yyLOCAL IntervalTypes
 18259  //line sql.y:6401
 18260  		{
 18261  			yyLOCAL = IntervalHourMinute
 18262  		}
 18263  		yyVAL.union = yyLOCAL
 18264  	case 1267:
 18265  		yyDollar = yyS[yypt-1 : yypt+1]
 18266  		var yyLOCAL IntervalTypes
 18267  //line sql.y:6405
 18268  		{
 18269  			yyLOCAL = IntervalHourSecond
 18270  		}
 18271  		yyVAL.union = yyLOCAL
 18272  	case 1268:
 18273  		yyDollar = yyS[yypt-1 : yypt+1]
 18274  		var yyLOCAL IntervalTypes
 18275  //line sql.y:6409
 18276  		{
 18277  			yyLOCAL = IntervalMinuteMicrosecond
 18278  		}
 18279  		yyVAL.union = yyLOCAL
 18280  	case 1269:
 18281  		yyDollar = yyS[yypt-1 : yypt+1]
 18282  		var yyLOCAL IntervalTypes
 18283  //line sql.y:6413
 18284  		{
 18285  			yyLOCAL = IntervalMinuteSecond
 18286  		}
 18287  		yyVAL.union = yyLOCAL
 18288  	case 1270:
 18289  		yyDollar = yyS[yypt-1 : yypt+1]
 18290  		var yyLOCAL IntervalTypes
 18291  //line sql.y:6417
 18292  		{
 18293  			yyLOCAL = IntervalSecondMicrosecond
 18294  		}
 18295  		yyVAL.union = yyLOCAL
 18296  	case 1271:
 18297  		yyDollar = yyS[yypt-1 : yypt+1]
 18298  		var yyLOCAL IntervalTypes
 18299  //line sql.y:6421
 18300  		{
 18301  			yyLOCAL = IntervalYearMonth
 18302  		}
 18303  		yyVAL.union = yyLOCAL
 18304  	case 1272:
 18305  		yyDollar = yyS[yypt-1 : yypt+1]
 18306  		var yyLOCAL IntervalTypes
 18307  //line sql.y:6427
 18308  		{
 18309  			yyLOCAL = IntervalDay
 18310  		}
 18311  		yyVAL.union = yyLOCAL
 18312  	case 1273:
 18313  		yyDollar = yyS[yypt-1 : yypt+1]
 18314  		var yyLOCAL IntervalTypes
 18315  //line sql.y:6431
 18316  		{
 18317  			yyLOCAL = IntervalWeek
 18318  		}
 18319  		yyVAL.union = yyLOCAL
 18320  	case 1274:
 18321  		yyDollar = yyS[yypt-1 : yypt+1]
 18322  		var yyLOCAL IntervalTypes
 18323  //line sql.y:6435
 18324  		{
 18325  			yyLOCAL = IntervalHour
 18326  		}
 18327  		yyVAL.union = yyLOCAL
 18328  	case 1275:
 18329  		yyDollar = yyS[yypt-1 : yypt+1]
 18330  		var yyLOCAL IntervalTypes
 18331  //line sql.y:6439
 18332  		{
 18333  			yyLOCAL = IntervalMinute
 18334  		}
 18335  		yyVAL.union = yyLOCAL
 18336  	case 1276:
 18337  		yyDollar = yyS[yypt-1 : yypt+1]
 18338  		var yyLOCAL IntervalTypes
 18339  //line sql.y:6443
 18340  		{
 18341  			yyLOCAL = IntervalMonth
 18342  		}
 18343  		yyVAL.union = yyLOCAL
 18344  	case 1277:
 18345  		yyDollar = yyS[yypt-1 : yypt+1]
 18346  		var yyLOCAL IntervalTypes
 18347  //line sql.y:6447
 18348  		{
 18349  			yyLOCAL = IntervalQuarter
 18350  		}
 18351  		yyVAL.union = yyLOCAL
 18352  	case 1278:
 18353  		yyDollar = yyS[yypt-1 : yypt+1]
 18354  		var yyLOCAL IntervalTypes
 18355  //line sql.y:6451
 18356  		{
 18357  			yyLOCAL = IntervalSecond
 18358  		}
 18359  		yyVAL.union = yyLOCAL
 18360  	case 1279:
 18361  		yyDollar = yyS[yypt-1 : yypt+1]
 18362  		var yyLOCAL IntervalTypes
 18363  //line sql.y:6455
 18364  		{
 18365  			yyLOCAL = IntervalMicrosecond
 18366  		}
 18367  		yyVAL.union = yyLOCAL
 18368  	case 1280:
 18369  		yyDollar = yyS[yypt-1 : yypt+1]
 18370  		var yyLOCAL IntervalTypes
 18371  //line sql.y:6459
 18372  		{
 18373  			yyLOCAL = IntervalYear
 18374  		}
 18375  		yyVAL.union = yyLOCAL
 18376  	case 1283:
 18377  		yyDollar = yyS[yypt-0 : yypt+1]
 18378  		var yyLOCAL Expr
 18379  //line sql.y:6469
 18380  		{
 18381  			yyLOCAL = nil
 18382  		}
 18383  		yyVAL.union = yyLOCAL
 18384  	case 1284:
 18385  		yyDollar = yyS[yypt-2 : yypt+1]
 18386  		var yyLOCAL Expr
 18387  //line sql.y:6473
 18388  		{
 18389  			yyLOCAL = nil
 18390  		}
 18391  		yyVAL.union = yyLOCAL
 18392  	case 1285:
 18393  		yyDollar = yyS[yypt-3 : yypt+1]
 18394  		var yyLOCAL Expr
 18395  //line sql.y:6477
 18396  		{
 18397  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
 18398  		}
 18399  		yyVAL.union = yyLOCAL
 18400  	case 1286:
 18401  		yyDollar = yyS[yypt-3 : yypt+1]
 18402  		var yyLOCAL Expr
 18403  //line sql.y:6481
 18404  		{
 18405  			yyLOCAL = NewArgument(yyDollar[2].str[1:])
 18406  			bindVariable(yylex, yyDollar[2].str[1:])
 18407  		}
 18408  		yyVAL.union = yyLOCAL
 18409  	case 1287:
 18410  		yyDollar = yyS[yypt-4 : yypt+1]
 18411  		var yyLOCAL Expr
 18412  //line sql.y:6492
 18413  		{
 18414  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].selectExprsUnion()}
 18415  		}
 18416  		yyVAL.union = yyLOCAL
 18417  	case 1288:
 18418  		yyDollar = yyS[yypt-4 : yypt+1]
 18419  		var yyLOCAL Expr
 18420  //line sql.y:6496
 18421  		{
 18422  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].selectExprsUnion()}
 18423  		}
 18424  		yyVAL.union = yyLOCAL
 18425  	case 1289:
 18426  		yyDollar = yyS[yypt-4 : yypt+1]
 18427  		var yyLOCAL Expr
 18428  //line sql.y:6500
 18429  		{
 18430  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].selectExprsUnion()}
 18431  		}
 18432  		yyVAL.union = yyLOCAL
 18433  	case 1290:
 18434  		yyDollar = yyS[yypt-4 : yypt+1]
 18435  		var yyLOCAL Expr
 18436  //line sql.y:6504
 18437  		{
 18438  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].selectExprsUnion()}
 18439  		}
 18440  		yyVAL.union = yyLOCAL
 18441  	case 1291:
 18442  		yyDollar = yyS[yypt-4 : yypt+1]
 18443  		var yyLOCAL Expr
 18444  //line sql.y:6508
 18445  		{
 18446  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].selectExprsUnion()}
 18447  		}
 18448  		yyVAL.union = yyLOCAL
 18449  	case 1292:
 18450  		yyDollar = yyS[yypt-0 : yypt+1]
 18451  		var yyLOCAL MatchExprOption
 18452  //line sql.y:6514
 18453  		{
 18454  			yyLOCAL = NoOption
 18455  		}
 18456  		yyVAL.union = yyLOCAL
 18457  	case 1293:
 18458  		yyDollar = yyS[yypt-3 : yypt+1]
 18459  		var yyLOCAL MatchExprOption
 18460  //line sql.y:6518
 18461  		{
 18462  			yyLOCAL = BooleanModeOpt
 18463  		}
 18464  		yyVAL.union = yyLOCAL
 18465  	case 1294:
 18466  		yyDollar = yyS[yypt-4 : yypt+1]
 18467  		var yyLOCAL MatchExprOption
 18468  //line sql.y:6522
 18469  		{
 18470  			yyLOCAL = NaturalLanguageModeOpt
 18471  		}
 18472  		yyVAL.union = yyLOCAL
 18473  	case 1295:
 18474  		yyDollar = yyS[yypt-7 : yypt+1]
 18475  		var yyLOCAL MatchExprOption
 18476  //line sql.y:6526
 18477  		{
 18478  			yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt
 18479  		}
 18480  		yyVAL.union = yyLOCAL
 18481  	case 1296:
 18482  		yyDollar = yyS[yypt-3 : yypt+1]
 18483  		var yyLOCAL MatchExprOption
 18484  //line sql.y:6530
 18485  		{
 18486  			yyLOCAL = QueryExpansionOpt
 18487  		}
 18488  		yyVAL.union = yyLOCAL
 18489  	case 1297:
 18490  		yyDollar = yyS[yypt-1 : yypt+1]
 18491  //line sql.y:6536
 18492  		{
 18493  			yyVAL.str = string(yyDollar[1].identifierCI.String())
 18494  		}
 18495  	case 1298:
 18496  		yyDollar = yyS[yypt-1 : yypt+1]
 18497  //line sql.y:6540
 18498  		{
 18499  			yyVAL.str = string(yyDollar[1].str)
 18500  		}
 18501  	case 1299:
 18502  		yyDollar = yyS[yypt-1 : yypt+1]
 18503  //line sql.y:6544
 18504  		{
 18505  			yyVAL.str = string(yyDollar[1].str)
 18506  		}
 18507  	case 1300:
 18508  		yyDollar = yyS[yypt-0 : yypt+1]
 18509  		var yyLOCAL *ConvertType
 18510  //line sql.y:6550
 18511  		{
 18512  			yyLOCAL = nil
 18513  		}
 18514  		yyVAL.union = yyLOCAL
 18515  	case 1301:
 18516  		yyDollar = yyS[yypt-5 : yypt+1]
 18517  		var yyLOCAL *ConvertType
 18518  //line sql.y:6554
 18519  		{
 18520  			yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)}
 18521  		}
 18522  		yyVAL.union = yyLOCAL
 18523  	case 1302:
 18524  		yyDollar = yyS[yypt-5 : yypt+1]
 18525  		var yyLOCAL *ConvertType
 18526  //line sql.y:6558
 18527  		{
 18528  			yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)}
 18529  		}
 18530  		yyVAL.union = yyLOCAL
 18531  	case 1303:
 18532  		yyDollar = yyS[yypt-2 : yypt+1]
 18533  		var yyLOCAL *ConvertType
 18534  //line sql.y:6564
 18535  		{
 18536  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18537  		}
 18538  		yyVAL.union = yyLOCAL
 18539  	case 1304:
 18540  		yyDollar = yyS[yypt-3 : yypt+1]
 18541  		var yyLOCAL *ConvertType
 18542  //line sql.y:6568
 18543  		{
 18544  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset}
 18545  		}
 18546  		yyVAL.union = yyLOCAL
 18547  	case 1305:
 18548  		yyDollar = yyS[yypt-1 : yypt+1]
 18549  		var yyLOCAL *ConvertType
 18550  //line sql.y:6572
 18551  		{
 18552  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18553  		}
 18554  		yyVAL.union = yyLOCAL
 18555  	case 1306:
 18556  		yyDollar = yyS[yypt-2 : yypt+1]
 18557  		var yyLOCAL *ConvertType
 18558  //line sql.y:6576
 18559  		{
 18560  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18561  		}
 18562  		yyVAL.union = yyLOCAL
 18563  	case 1307:
 18564  		yyDollar = yyS[yypt-2 : yypt+1]
 18565  		var yyLOCAL *ConvertType
 18566  //line sql.y:6580
 18567  		{
 18568  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18569  			yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length
 18570  			yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale
 18571  		}
 18572  		yyVAL.union = yyLOCAL
 18573  	case 1308:
 18574  		yyDollar = yyS[yypt-1 : yypt+1]
 18575  		var yyLOCAL *ConvertType
 18576  //line sql.y:6586
 18577  		{
 18578  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18579  		}
 18580  		yyVAL.union = yyLOCAL
 18581  	case 1309:
 18582  		yyDollar = yyS[yypt-2 : yypt+1]
 18583  		var yyLOCAL *ConvertType
 18584  //line sql.y:6590
 18585  		{
 18586  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18587  		}
 18588  		yyVAL.union = yyLOCAL
 18589  	case 1310:
 18590  		yyDollar = yyS[yypt-1 : yypt+1]
 18591  		var yyLOCAL *ConvertType
 18592  //line sql.y:6594
 18593  		{
 18594  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18595  		}
 18596  		yyVAL.union = yyLOCAL
 18597  	case 1311:
 18598  		yyDollar = yyS[yypt-2 : yypt+1]
 18599  		var yyLOCAL *ConvertType
 18600  //line sql.y:6598
 18601  		{
 18602  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18603  		}
 18604  		yyVAL.union = yyLOCAL
 18605  	case 1312:
 18606  		yyDollar = yyS[yypt-2 : yypt+1]
 18607  		var yyLOCAL *ConvertType
 18608  //line sql.y:6602
 18609  		{
 18610  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18611  		}
 18612  		yyVAL.union = yyLOCAL
 18613  	case 1313:
 18614  		yyDollar = yyS[yypt-1 : yypt+1]
 18615  		var yyLOCAL *ConvertType
 18616  //line sql.y:6606
 18617  		{
 18618  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18619  		}
 18620  		yyVAL.union = yyLOCAL
 18621  	case 1314:
 18622  		yyDollar = yyS[yypt-2 : yypt+1]
 18623  		var yyLOCAL *ConvertType
 18624  //line sql.y:6610
 18625  		{
 18626  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18627  		}
 18628  		yyVAL.union = yyLOCAL
 18629  	case 1315:
 18630  		yyDollar = yyS[yypt-2 : yypt+1]
 18631  		var yyLOCAL *ConvertType
 18632  //line sql.y:6614
 18633  		{
 18634  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18635  		}
 18636  		yyVAL.union = yyLOCAL
 18637  	case 1316:
 18638  		yyDollar = yyS[yypt-1 : yypt+1]
 18639  		var yyLOCAL *ConvertType
 18640  //line sql.y:6618
 18641  		{
 18642  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18643  		}
 18644  		yyVAL.union = yyLOCAL
 18645  	case 1317:
 18646  		yyDollar = yyS[yypt-1 : yypt+1]
 18647  		var yyLOCAL *ConvertType
 18648  //line sql.y:6622
 18649  		{
 18650  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18651  		}
 18652  		yyVAL.union = yyLOCAL
 18653  	case 1318:
 18654  		yyDollar = yyS[yypt-0 : yypt+1]
 18655  		var yyLOCAL bool
 18656  //line sql.y:6628
 18657  		{
 18658  			yyLOCAL = false
 18659  		}
 18660  		yyVAL.union = yyLOCAL
 18661  	case 1319:
 18662  		yyDollar = yyS[yypt-1 : yypt+1]
 18663  		var yyLOCAL bool
 18664  //line sql.y:6632
 18665  		{
 18666  			yyLOCAL = true
 18667  		}
 18668  		yyVAL.union = yyLOCAL
 18669  	case 1320:
 18670  		yyDollar = yyS[yypt-0 : yypt+1]
 18671  		var yyLOCAL Expr
 18672  //line sql.y:6637
 18673  		{
 18674  			yyLOCAL = nil
 18675  		}
 18676  		yyVAL.union = yyLOCAL
 18677  	case 1321:
 18678  		yyDollar = yyS[yypt-1 : yypt+1]
 18679  		var yyLOCAL Expr
 18680  //line sql.y:6641
 18681  		{
 18682  			yyLOCAL = yyDollar[1].exprUnion()
 18683  		}
 18684  		yyVAL.union = yyLOCAL
 18685  	case 1322:
 18686  		yyDollar = yyS[yypt-0 : yypt+1]
 18687  //line sql.y:6646
 18688  		{
 18689  			yyVAL.str = string("")
 18690  		}
 18691  	case 1323:
 18692  		yyDollar = yyS[yypt-2 : yypt+1]
 18693  //line sql.y:6650
 18694  		{
 18695  			yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str)
 18696  		}
 18697  	case 1324:
 18698  		yyDollar = yyS[yypt-1 : yypt+1]
 18699  		var yyLOCAL []*When
 18700  //line sql.y:6656
 18701  		{
 18702  			yyLOCAL = []*When{yyDollar[1].whenUnion()}
 18703  		}
 18704  		yyVAL.union = yyLOCAL
 18705  	case 1325:
 18706  		yyDollar = yyS[yypt-2 : yypt+1]
 18707  //line sql.y:6660
 18708  		{
 18709  			yySLICE := (*[]*When)(yyIaddr(yyVAL.union))
 18710  			*yySLICE = append(*yySLICE, yyDollar[2].whenUnion())
 18711  		}
 18712  	case 1326:
 18713  		yyDollar = yyS[yypt-4 : yypt+1]
 18714  		var yyLOCAL *When
 18715  //line sql.y:6666
 18716  		{
 18717  			yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()}
 18718  		}
 18719  		yyVAL.union = yyLOCAL
 18720  	case 1327:
 18721  		yyDollar = yyS[yypt-0 : yypt+1]
 18722  		var yyLOCAL Expr
 18723  //line sql.y:6671
 18724  		{
 18725  			yyLOCAL = nil
 18726  		}
 18727  		yyVAL.union = yyLOCAL
 18728  	case 1328:
 18729  		yyDollar = yyS[yypt-2 : yypt+1]
 18730  		var yyLOCAL Expr
 18731  //line sql.y:6675
 18732  		{
 18733  			yyLOCAL = yyDollar[2].exprUnion()
 18734  		}
 18735  		yyVAL.union = yyLOCAL
 18736  	case 1329:
 18737  		yyDollar = yyS[yypt-1 : yypt+1]
 18738  		var yyLOCAL *ColName
 18739  //line sql.y:6681
 18740  		{
 18741  			yyLOCAL = &ColName{Name: yyDollar[1].identifierCI}
 18742  		}
 18743  		yyVAL.union = yyLOCAL
 18744  	case 1330:
 18745  		yyDollar = yyS[yypt-1 : yypt+1]
 18746  		var yyLOCAL *ColName
 18747  //line sql.y:6685
 18748  		{
 18749  			yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))}
 18750  		}
 18751  		yyVAL.union = yyLOCAL
 18752  	case 1331:
 18753  		yyDollar = yyS[yypt-3 : yypt+1]
 18754  		var yyLOCAL *ColName
 18755  //line sql.y:6689
 18756  		{
 18757  			yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI}
 18758  		}
 18759  		yyVAL.union = yyLOCAL
 18760  	case 1332:
 18761  		yyDollar = yyS[yypt-5 : yypt+1]
 18762  		var yyLOCAL *ColName
 18763  //line sql.y:6693
 18764  		{
 18765  			yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI}
 18766  		}
 18767  		yyVAL.union = yyLOCAL
 18768  	case 1333:
 18769  		yyDollar = yyS[yypt-1 : yypt+1]
 18770  		var yyLOCAL Expr
 18771  //line sql.y:6699
 18772  		{
 18773  			yyLOCAL = yyDollar[1].colNameUnion()
 18774  		}
 18775  		yyVAL.union = yyLOCAL
 18776  	case 1334:
 18777  		yyDollar = yyS[yypt-1 : yypt+1]
 18778  		var yyLOCAL Expr
 18779  //line sql.y:6703
 18780  		{
 18781  			yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)}
 18782  		}
 18783  		yyVAL.union = yyLOCAL
 18784  	case 1335:
 18785  		yyDollar = yyS[yypt-1 : yypt+1]
 18786  		var yyLOCAL Expr
 18787  //line sql.y:6709
 18788  		{
 18789  			// TODO(sougou): Deprecate this construct.
 18790  			if yyDollar[1].identifierCI.Lowered() != "value" {
 18791  				yylex.Error("expecting value after next")
 18792  				return 1
 18793  			}
 18794  			yyLOCAL = NewIntLiteral("1")
 18795  		}
 18796  		yyVAL.union = yyLOCAL
 18797  	case 1336:
 18798  		yyDollar = yyS[yypt-2 : yypt+1]
 18799  		var yyLOCAL Expr
 18800  //line sql.y:6718
 18801  		{
 18802  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
 18803  		}
 18804  		yyVAL.union = yyLOCAL
 18805  	case 1337:
 18806  		yyDollar = yyS[yypt-2 : yypt+1]
 18807  		var yyLOCAL Expr
 18808  //line sql.y:6722
 18809  		{
 18810  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 18811  			bindVariable(yylex, yyDollar[1].str[1:])
 18812  		}
 18813  		yyVAL.union = yyLOCAL
 18814  	case 1338:
 18815  		yyDollar = yyS[yypt-0 : yypt+1]
 18816  		var yyLOCAL Exprs
 18817  //line sql.y:6728
 18818  		{
 18819  			yyLOCAL = nil
 18820  		}
 18821  		yyVAL.union = yyLOCAL
 18822  	case 1339:
 18823  		yyDollar = yyS[yypt-3 : yypt+1]
 18824  		var yyLOCAL Exprs
 18825  //line sql.y:6732
 18826  		{
 18827  			yyLOCAL = yyDollar[3].exprsUnion()
 18828  		}
 18829  		yyVAL.union = yyLOCAL
 18830  	case 1340:
 18831  		yyDollar = yyS[yypt-0 : yypt+1]
 18832  		var yyLOCAL Expr
 18833  //line sql.y:6737
 18834  		{
 18835  			yyLOCAL = nil
 18836  		}
 18837  		yyVAL.union = yyLOCAL
 18838  	case 1341:
 18839  		yyDollar = yyS[yypt-2 : yypt+1]
 18840  		var yyLOCAL Expr
 18841  //line sql.y:6741
 18842  		{
 18843  			yyLOCAL = yyDollar[2].exprUnion()
 18844  		}
 18845  		yyVAL.union = yyLOCAL
 18846  	case 1342:
 18847  		yyDollar = yyS[yypt-2 : yypt+1]
 18848  		var yyLOCAL *NamedWindow
 18849  //line sql.y:6747
 18850  		{
 18851  			yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()}
 18852  		}
 18853  		yyVAL.union = yyLOCAL
 18854  	case 1343:
 18855  		yyDollar = yyS[yypt-1 : yypt+1]
 18856  		var yyLOCAL NamedWindows
 18857  //line sql.y:6753
 18858  		{
 18859  			yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()}
 18860  		}
 18861  		yyVAL.union = yyLOCAL
 18862  	case 1344:
 18863  		yyDollar = yyS[yypt-3 : yypt+1]
 18864  //line sql.y:6757
 18865  		{
 18866  			yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union))
 18867  			*yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion())
 18868  		}
 18869  	case 1345:
 18870  		yyDollar = yyS[yypt-0 : yypt+1]
 18871  		var yyLOCAL NamedWindows
 18872  //line sql.y:6762
 18873  		{
 18874  			yyLOCAL = nil
 18875  		}
 18876  		yyVAL.union = yyLOCAL
 18877  	case 1346:
 18878  		yyDollar = yyS[yypt-1 : yypt+1]
 18879  		var yyLOCAL NamedWindows
 18880  //line sql.y:6766
 18881  		{
 18882  			yyLOCAL = yyDollar[1].namedWindowsUnion()
 18883  		}
 18884  		yyVAL.union = yyLOCAL
 18885  	case 1347:
 18886  		yyDollar = yyS[yypt-0 : yypt+1]
 18887  		var yyLOCAL OrderBy
 18888  //line sql.y:6771
 18889  		{
 18890  			yyLOCAL = nil
 18891  		}
 18892  		yyVAL.union = yyLOCAL
 18893  	case 1348:
 18894  		yyDollar = yyS[yypt-1 : yypt+1]
 18895  		var yyLOCAL OrderBy
 18896  //line sql.y:6775
 18897  		{
 18898  			yyLOCAL = yyDollar[1].orderByUnion()
 18899  		}
 18900  		yyVAL.union = yyLOCAL
 18901  	case 1349:
 18902  		yyDollar = yyS[yypt-3 : yypt+1]
 18903  		var yyLOCAL OrderBy
 18904  //line sql.y:6781
 18905  		{
 18906  			yyLOCAL = yyDollar[3].orderByUnion()
 18907  		}
 18908  		yyVAL.union = yyLOCAL
 18909  	case 1350:
 18910  		yyDollar = yyS[yypt-1 : yypt+1]
 18911  		var yyLOCAL OrderBy
 18912  //line sql.y:6787
 18913  		{
 18914  			yyLOCAL = OrderBy{yyDollar[1].orderUnion()}
 18915  		}
 18916  		yyVAL.union = yyLOCAL
 18917  	case 1351:
 18918  		yyDollar = yyS[yypt-3 : yypt+1]
 18919  //line sql.y:6791
 18920  		{
 18921  			yySLICE := (*OrderBy)(yyIaddr(yyVAL.union))
 18922  			*yySLICE = append(*yySLICE, yyDollar[3].orderUnion())
 18923  		}
 18924  	case 1352:
 18925  		yyDollar = yyS[yypt-2 : yypt+1]
 18926  		var yyLOCAL *Order
 18927  //line sql.y:6797
 18928  		{
 18929  			yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()}
 18930  		}
 18931  		yyVAL.union = yyLOCAL
 18932  	case 1353:
 18933  		yyDollar = yyS[yypt-0 : yypt+1]
 18934  		var yyLOCAL OrderDirection
 18935  //line sql.y:6802
 18936  		{
 18937  			yyLOCAL = AscOrder
 18938  		}
 18939  		yyVAL.union = yyLOCAL
 18940  	case 1354:
 18941  		yyDollar = yyS[yypt-1 : yypt+1]
 18942  		var yyLOCAL OrderDirection
 18943  //line sql.y:6806
 18944  		{
 18945  			yyLOCAL = AscOrder
 18946  		}
 18947  		yyVAL.union = yyLOCAL
 18948  	case 1355:
 18949  		yyDollar = yyS[yypt-1 : yypt+1]
 18950  		var yyLOCAL OrderDirection
 18951  //line sql.y:6810
 18952  		{
 18953  			yyLOCAL = DescOrder
 18954  		}
 18955  		yyVAL.union = yyLOCAL
 18956  	case 1356:
 18957  		yyDollar = yyS[yypt-0 : yypt+1]
 18958  		var yyLOCAL *Limit
 18959  //line sql.y:6815
 18960  		{
 18961  			yyLOCAL = nil
 18962  		}
 18963  		yyVAL.union = yyLOCAL
 18964  	case 1357:
 18965  		yyDollar = yyS[yypt-1 : yypt+1]
 18966  		var yyLOCAL *Limit
 18967  //line sql.y:6819
 18968  		{
 18969  			yyLOCAL = yyDollar[1].limitUnion()
 18970  		}
 18971  		yyVAL.union = yyLOCAL
 18972  	case 1358:
 18973  		yyDollar = yyS[yypt-2 : yypt+1]
 18974  		var yyLOCAL *Limit
 18975  //line sql.y:6825
 18976  		{
 18977  			yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()}
 18978  		}
 18979  		yyVAL.union = yyLOCAL
 18980  	case 1359:
 18981  		yyDollar = yyS[yypt-4 : yypt+1]
 18982  		var yyLOCAL *Limit
 18983  //line sql.y:6829
 18984  		{
 18985  			yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()}
 18986  		}
 18987  		yyVAL.union = yyLOCAL
 18988  	case 1360:
 18989  		yyDollar = yyS[yypt-4 : yypt+1]
 18990  		var yyLOCAL *Limit
 18991  //line sql.y:6833
 18992  		{
 18993  			yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()}
 18994  		}
 18995  		yyVAL.union = yyLOCAL
 18996  	case 1361:
 18997  		yyDollar = yyS[yypt-0 : yypt+1]
 18998  		var yyLOCAL []AlterOption
 18999  //line sql.y:6838
 19000  		{
 19001  			yyLOCAL = nil
 19002  		}
 19003  		yyVAL.union = yyLOCAL
 19004  	case 1362:
 19005  		yyDollar = yyS[yypt-2 : yypt+1]
 19006  		var yyLOCAL []AlterOption
 19007  //line sql.y:6842
 19008  		{
 19009  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
 19010  		}
 19011  		yyVAL.union = yyLOCAL
 19012  	case 1363:
 19013  		yyDollar = yyS[yypt-2 : yypt+1]
 19014  		var yyLOCAL []AlterOption
 19015  //line sql.y:6846
 19016  		{
 19017  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
 19018  		}
 19019  		yyVAL.union = yyLOCAL
 19020  	case 1364:
 19021  		yyDollar = yyS[yypt-1 : yypt+1]
 19022  		var yyLOCAL []AlterOption
 19023  //line sql.y:6850
 19024  		{
 19025  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 19026  		}
 19027  		yyVAL.union = yyLOCAL
 19028  	case 1365:
 19029  		yyDollar = yyS[yypt-1 : yypt+1]
 19030  		var yyLOCAL []AlterOption
 19031  //line sql.y:6854
 19032  		{
 19033  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 19034  		}
 19035  		yyVAL.union = yyLOCAL
 19036  	case 1366:
 19037  		yyDollar = yyS[yypt-3 : yypt+1]
 19038  		var yyLOCAL AlterOption
 19039  //line sql.y:6861
 19040  		{
 19041  			yyLOCAL = &LockOption{Type: DefaultType}
 19042  		}
 19043  		yyVAL.union = yyLOCAL
 19044  	case 1367:
 19045  		yyDollar = yyS[yypt-3 : yypt+1]
 19046  		var yyLOCAL AlterOption
 19047  //line sql.y:6865
 19048  		{
 19049  			yyLOCAL = &LockOption{Type: NoneType}
 19050  		}
 19051  		yyVAL.union = yyLOCAL
 19052  	case 1368:
 19053  		yyDollar = yyS[yypt-3 : yypt+1]
 19054  		var yyLOCAL AlterOption
 19055  //line sql.y:6869
 19056  		{
 19057  			yyLOCAL = &LockOption{Type: SharedType}
 19058  		}
 19059  		yyVAL.union = yyLOCAL
 19060  	case 1369:
 19061  		yyDollar = yyS[yypt-3 : yypt+1]
 19062  		var yyLOCAL AlterOption
 19063  //line sql.y:6873
 19064  		{
 19065  			yyLOCAL = &LockOption{Type: ExclusiveType}
 19066  		}
 19067  		yyVAL.union = yyLOCAL
 19068  	case 1370:
 19069  		yyDollar = yyS[yypt-3 : yypt+1]
 19070  		var yyLOCAL AlterOption
 19071  //line sql.y:6879
 19072  		{
 19073  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19074  		}
 19075  		yyVAL.union = yyLOCAL
 19076  	case 1371:
 19077  		yyDollar = yyS[yypt-3 : yypt+1]
 19078  		var yyLOCAL AlterOption
 19079  //line sql.y:6883
 19080  		{
 19081  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19082  		}
 19083  		yyVAL.union = yyLOCAL
 19084  	case 1372:
 19085  		yyDollar = yyS[yypt-3 : yypt+1]
 19086  		var yyLOCAL AlterOption
 19087  //line sql.y:6887
 19088  		{
 19089  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19090  		}
 19091  		yyVAL.union = yyLOCAL
 19092  	case 1373:
 19093  		yyDollar = yyS[yypt-3 : yypt+1]
 19094  		var yyLOCAL AlterOption
 19095  //line sql.y:6891
 19096  		{
 19097  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19098  		}
 19099  		yyVAL.union = yyLOCAL
 19100  	case 1374:
 19101  		yyDollar = yyS[yypt-0 : yypt+1]
 19102  //line sql.y:6896
 19103  		{
 19104  			yyVAL.str = ""
 19105  		}
 19106  	case 1375:
 19107  		yyDollar = yyS[yypt-3 : yypt+1]
 19108  //line sql.y:6900
 19109  		{
 19110  			yyVAL.str = string(yyDollar[3].str)
 19111  		}
 19112  	case 1376:
 19113  		yyDollar = yyS[yypt-3 : yypt+1]
 19114  //line sql.y:6904
 19115  		{
 19116  			yyVAL.str = string(yyDollar[3].str)
 19117  		}
 19118  	case 1377:
 19119  		yyDollar = yyS[yypt-3 : yypt+1]
 19120  //line sql.y:6908
 19121  		{
 19122  			yyVAL.str = string(yyDollar[3].str)
 19123  		}
 19124  	case 1378:
 19125  		yyDollar = yyS[yypt-0 : yypt+1]
 19126  //line sql.y:6913
 19127  		{
 19128  			yyVAL.str = ""
 19129  		}
 19130  	case 1379:
 19131  		yyDollar = yyS[yypt-3 : yypt+1]
 19132  //line sql.y:6917
 19133  		{
 19134  			yyVAL.str = yyDollar[3].str
 19135  		}
 19136  	case 1380:
 19137  		yyDollar = yyS[yypt-1 : yypt+1]
 19138  //line sql.y:6923
 19139  		{
 19140  			yyVAL.str = string(yyDollar[1].str)
 19141  		}
 19142  	case 1381:
 19143  		yyDollar = yyS[yypt-1 : yypt+1]
 19144  //line sql.y:6927
 19145  		{
 19146  			yyVAL.str = string(yyDollar[1].str)
 19147  		}
 19148  	case 1382:
 19149  		yyDollar = yyS[yypt-0 : yypt+1]
 19150  //line sql.y:6932
 19151  		{
 19152  			yyVAL.str = ""
 19153  		}
 19154  	case 1383:
 19155  		yyDollar = yyS[yypt-4 : yypt+1]
 19156  //line sql.y:6936
 19157  		{
 19158  			yyVAL.str = yyDollar[2].str
 19159  		}
 19160  	case 1384:
 19161  		yyDollar = yyS[yypt-0 : yypt+1]
 19162  //line sql.y:6941
 19163  		{
 19164  			yyVAL.str = "cascaded"
 19165  		}
 19166  	case 1385:
 19167  		yyDollar = yyS[yypt-1 : yypt+1]
 19168  //line sql.y:6945
 19169  		{
 19170  			yyVAL.str = string(yyDollar[1].str)
 19171  		}
 19172  	case 1386:
 19173  		yyDollar = yyS[yypt-1 : yypt+1]
 19174  //line sql.y:6949
 19175  		{
 19176  			yyVAL.str = string(yyDollar[1].str)
 19177  		}
 19178  	case 1387:
 19179  		yyDollar = yyS[yypt-0 : yypt+1]
 19180  		var yyLOCAL *Definer
 19181  //line sql.y:6954
 19182  		{
 19183  			yyLOCAL = nil
 19184  		}
 19185  		yyVAL.union = yyLOCAL
 19186  	case 1388:
 19187  		yyDollar = yyS[yypt-3 : yypt+1]
 19188  		var yyLOCAL *Definer
 19189  //line sql.y:6958
 19190  		{
 19191  			yyLOCAL = yyDollar[3].definerUnion()
 19192  		}
 19193  		yyVAL.union = yyLOCAL
 19194  	case 1389:
 19195  		yyDollar = yyS[yypt-1 : yypt+1]
 19196  		var yyLOCAL *Definer
 19197  //line sql.y:6964
 19198  		{
 19199  			yyLOCAL = &Definer{
 19200  				Name: string(yyDollar[1].str),
 19201  			}
 19202  		}
 19203  		yyVAL.union = yyLOCAL
 19204  	case 1390:
 19205  		yyDollar = yyS[yypt-3 : yypt+1]
 19206  		var yyLOCAL *Definer
 19207  //line sql.y:6970
 19208  		{
 19209  			yyLOCAL = &Definer{
 19210  				Name: string(yyDollar[1].str),
 19211  			}
 19212  		}
 19213  		yyVAL.union = yyLOCAL
 19214  	case 1391:
 19215  		yyDollar = yyS[yypt-2 : yypt+1]
 19216  		var yyLOCAL *Definer
 19217  //line sql.y:6976
 19218  		{
 19219  			yyLOCAL = &Definer{
 19220  				Name:    yyDollar[1].str,
 19221  				Address: yyDollar[2].str,
 19222  			}
 19223  		}
 19224  		yyVAL.union = yyLOCAL
 19225  	case 1392:
 19226  		yyDollar = yyS[yypt-1 : yypt+1]
 19227  //line sql.y:6985
 19228  		{
 19229  			yyVAL.str = encodeSQLString(yyDollar[1].str)
 19230  		}
 19231  	case 1393:
 19232  		yyDollar = yyS[yypt-1 : yypt+1]
 19233  //line sql.y:6989
 19234  		{
 19235  			yyVAL.str = formatIdentifier(yyDollar[1].str)
 19236  		}
 19237  	case 1394:
 19238  		yyDollar = yyS[yypt-0 : yypt+1]
 19239  //line sql.y:6994
 19240  		{
 19241  			yyVAL.str = ""
 19242  		}
 19243  	case 1395:
 19244  		yyDollar = yyS[yypt-1 : yypt+1]
 19245  //line sql.y:6998
 19246  		{
 19247  			yyVAL.str = formatAddress(yyDollar[1].str)
 19248  		}
 19249  	case 1396:
 19250  		yyDollar = yyS[yypt-2 : yypt+1]
 19251  		var yyLOCAL Lock
 19252  //line sql.y:7004
 19253  		{
 19254  			yyLOCAL = ForUpdateLock
 19255  		}
 19256  		yyVAL.union = yyLOCAL
 19257  	case 1397:
 19258  		yyDollar = yyS[yypt-4 : yypt+1]
 19259  		var yyLOCAL Lock
 19260  //line sql.y:7008
 19261  		{
 19262  			yyLOCAL = ShareModeLock
 19263  		}
 19264  		yyVAL.union = yyLOCAL
 19265  	case 1398:
 19266  		yyDollar = yyS[yypt-9 : yypt+1]
 19267  		var yyLOCAL *SelectInto
 19268  //line sql.y:7014
 19269  		{
 19270  			yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str}
 19271  		}
 19272  		yyVAL.union = yyLOCAL
 19273  	case 1399:
 19274  		yyDollar = yyS[yypt-3 : yypt+1]
 19275  		var yyLOCAL *SelectInto
 19276  //line sql.y:7018
 19277  		{
 19278  			yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""}
 19279  		}
 19280  		yyVAL.union = yyLOCAL
 19281  	case 1400:
 19282  		yyDollar = yyS[yypt-5 : yypt+1]
 19283  		var yyLOCAL *SelectInto
 19284  //line sql.y:7022
 19285  		{
 19286  			yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""}
 19287  		}
 19288  		yyVAL.union = yyLOCAL
 19289  	case 1401:
 19290  		yyDollar = yyS[yypt-0 : yypt+1]
 19291  //line sql.y:7027
 19292  		{
 19293  			yyVAL.str = ""
 19294  		}
 19295  	case 1402:
 19296  		yyDollar = yyS[yypt-3 : yypt+1]
 19297  //line sql.y:7031
 19298  		{
 19299  			yyVAL.str = " format csv" + yyDollar[3].str
 19300  		}
 19301  	case 1403:
 19302  		yyDollar = yyS[yypt-3 : yypt+1]
 19303  //line sql.y:7035
 19304  		{
 19305  			yyVAL.str = " format text" + yyDollar[3].str
 19306  		}
 19307  	case 1404:
 19308  		yyDollar = yyS[yypt-0 : yypt+1]
 19309  //line sql.y:7040
 19310  		{
 19311  			yyVAL.str = ""
 19312  		}
 19313  	case 1405:
 19314  		yyDollar = yyS[yypt-1 : yypt+1]
 19315  //line sql.y:7044
 19316  		{
 19317  			yyVAL.str = " header"
 19318  		}
 19319  	case 1406:
 19320  		yyDollar = yyS[yypt-0 : yypt+1]
 19321  //line sql.y:7049
 19322  		{
 19323  			yyVAL.str = ""
 19324  		}
 19325  	case 1407:
 19326  		yyDollar = yyS[yypt-2 : yypt+1]
 19327  //line sql.y:7053
 19328  		{
 19329  			yyVAL.str = " manifest on"
 19330  		}
 19331  	case 1408:
 19332  		yyDollar = yyS[yypt-2 : yypt+1]
 19333  //line sql.y:7057
 19334  		{
 19335  			yyVAL.str = " manifest off"
 19336  		}
 19337  	case 1409:
 19338  		yyDollar = yyS[yypt-0 : yypt+1]
 19339  //line sql.y:7062
 19340  		{
 19341  			yyVAL.str = ""
 19342  		}
 19343  	case 1410:
 19344  		yyDollar = yyS[yypt-2 : yypt+1]
 19345  //line sql.y:7066
 19346  		{
 19347  			yyVAL.str = " overwrite on"
 19348  		}
 19349  	case 1411:
 19350  		yyDollar = yyS[yypt-2 : yypt+1]
 19351  //line sql.y:7070
 19352  		{
 19353  			yyVAL.str = " overwrite off"
 19354  		}
 19355  	case 1412:
 19356  		yyDollar = yyS[yypt-2 : yypt+1]
 19357  //line sql.y:7076
 19358  		{
 19359  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 19360  		}
 19361  	case 1413:
 19362  		yyDollar = yyS[yypt-0 : yypt+1]
 19363  //line sql.y:7081
 19364  		{
 19365  			yyVAL.str = ""
 19366  		}
 19367  	case 1414:
 19368  		yyDollar = yyS[yypt-2 : yypt+1]
 19369  //line sql.y:7085
 19370  		{
 19371  			yyVAL.str = " lines" + yyDollar[2].str
 19372  		}
 19373  	case 1415:
 19374  		yyDollar = yyS[yypt-1 : yypt+1]
 19375  //line sql.y:7091
 19376  		{
 19377  			yyVAL.str = yyDollar[1].str
 19378  		}
 19379  	case 1416:
 19380  		yyDollar = yyS[yypt-2 : yypt+1]
 19381  //line sql.y:7095
 19382  		{
 19383  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 19384  		}
 19385  	case 1417:
 19386  		yyDollar = yyS[yypt-3 : yypt+1]
 19387  //line sql.y:7101
 19388  		{
 19389  			yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str)
 19390  		}
 19391  	case 1418:
 19392  		yyDollar = yyS[yypt-3 : yypt+1]
 19393  //line sql.y:7105
 19394  		{
 19395  			yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
 19396  		}
 19397  	case 1419:
 19398  		yyDollar = yyS[yypt-0 : yypt+1]
 19399  //line sql.y:7110
 19400  		{
 19401  			yyVAL.str = ""
 19402  		}
 19403  	case 1420:
 19404  		yyDollar = yyS[yypt-2 : yypt+1]
 19405  //line sql.y:7114
 19406  		{
 19407  			yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str
 19408  		}
 19409  	case 1421:
 19410  		yyDollar = yyS[yypt-1 : yypt+1]
 19411  //line sql.y:7120
 19412  		{
 19413  			yyVAL.str = yyDollar[1].str
 19414  		}
 19415  	case 1422:
 19416  		yyDollar = yyS[yypt-2 : yypt+1]
 19417  //line sql.y:7124
 19418  		{
 19419  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 19420  		}
 19421  	case 1423:
 19422  		yyDollar = yyS[yypt-3 : yypt+1]
 19423  //line sql.y:7130
 19424  		{
 19425  			yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
 19426  		}
 19427  	case 1424:
 19428  		yyDollar = yyS[yypt-4 : yypt+1]
 19429  //line sql.y:7134
 19430  		{
 19431  			yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str)
 19432  		}
 19433  	case 1425:
 19434  		yyDollar = yyS[yypt-3 : yypt+1]
 19435  //line sql.y:7138
 19436  		{
 19437  			yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str)
 19438  		}
 19439  	case 1426:
 19440  		yyDollar = yyS[yypt-0 : yypt+1]
 19441  //line sql.y:7143
 19442  		{
 19443  			yyVAL.str = ""
 19444  		}
 19445  	case 1427:
 19446  		yyDollar = yyS[yypt-1 : yypt+1]
 19447  //line sql.y:7147
 19448  		{
 19449  			yyVAL.str = " optionally"
 19450  		}
 19451  	case 1428:
 19452  		yyDollar = yyS[yypt-2 : yypt+1]
 19453  		var yyLOCAL *Insert
 19454  //line sql.y:7160
 19455  		{
 19456  			yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()}
 19457  		}
 19458  		yyVAL.union = yyLOCAL
 19459  	case 1429:
 19460  		yyDollar = yyS[yypt-1 : yypt+1]
 19461  		var yyLOCAL *Insert
 19462  //line sql.y:7164
 19463  		{
 19464  			yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()}
 19465  		}
 19466  		yyVAL.union = yyLOCAL
 19467  	case 1430:
 19468  		yyDollar = yyS[yypt-5 : yypt+1]
 19469  		var yyLOCAL *Insert
 19470  //line sql.y:7168
 19471  		{
 19472  			yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()}
 19473  		}
 19474  		yyVAL.union = yyLOCAL
 19475  	case 1431:
 19476  		yyDollar = yyS[yypt-4 : yypt+1]
 19477  		var yyLOCAL *Insert
 19478  //line sql.y:7172
 19479  		{
 19480  			yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion()}
 19481  		}
 19482  		yyVAL.union = yyLOCAL
 19483  	case 1432:
 19484  		yyDollar = yyS[yypt-4 : yypt+1]
 19485  		var yyLOCAL *Insert
 19486  //line sql.y:7176
 19487  		{
 19488  			yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()}
 19489  		}
 19490  		yyVAL.union = yyLOCAL
 19491  	case 1433:
 19492  		yyDollar = yyS[yypt-1 : yypt+1]
 19493  		var yyLOCAL Columns
 19494  //line sql.y:7182
 19495  		{
 19496  			yyLOCAL = Columns{yyDollar[1].identifierCI}
 19497  		}
 19498  		yyVAL.union = yyLOCAL
 19499  	case 1434:
 19500  		yyDollar = yyS[yypt-3 : yypt+1]
 19501  		var yyLOCAL Columns
 19502  //line sql.y:7186
 19503  		{
 19504  			yyLOCAL = Columns{yyDollar[3].identifierCI}
 19505  		}
 19506  		yyVAL.union = yyLOCAL
 19507  	case 1435:
 19508  		yyDollar = yyS[yypt-3 : yypt+1]
 19509  //line sql.y:7190
 19510  		{
 19511  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 19512  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 19513  		}
 19514  	case 1436:
 19515  		yyDollar = yyS[yypt-5 : yypt+1]
 19516  //line sql.y:7194
 19517  		{
 19518  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 19519  			*yySLICE = append(*yySLICE, yyDollar[5].identifierCI)
 19520  		}
 19521  	case 1437:
 19522  		yyDollar = yyS[yypt-0 : yypt+1]
 19523  		var yyLOCAL UpdateExprs
 19524  //line sql.y:7199
 19525  		{
 19526  			yyLOCAL = nil
 19527  		}
 19528  		yyVAL.union = yyLOCAL
 19529  	case 1438:
 19530  		yyDollar = yyS[yypt-5 : yypt+1]
 19531  		var yyLOCAL UpdateExprs
 19532  //line sql.y:7203
 19533  		{
 19534  			yyLOCAL = yyDollar[5].updateExprsUnion()
 19535  		}
 19536  		yyVAL.union = yyLOCAL
 19537  	case 1439:
 19538  		yyDollar = yyS[yypt-1 : yypt+1]
 19539  		var yyLOCAL Values
 19540  //line sql.y:7209
 19541  		{
 19542  			yyLOCAL = Values{yyDollar[1].valTupleUnion()}
 19543  		}
 19544  		yyVAL.union = yyLOCAL
 19545  	case 1440:
 19546  		yyDollar = yyS[yypt-3 : yypt+1]
 19547  //line sql.y:7213
 19548  		{
 19549  			yySLICE := (*Values)(yyIaddr(yyVAL.union))
 19550  			*yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion())
 19551  		}
 19552  	case 1441:
 19553  		yyDollar = yyS[yypt-1 : yypt+1]
 19554  		var yyLOCAL ValTuple
 19555  //line sql.y:7219
 19556  		{
 19557  			yyLOCAL = yyDollar[1].valTupleUnion()
 19558  		}
 19559  		yyVAL.union = yyLOCAL
 19560  	case 1442:
 19561  		yyDollar = yyS[yypt-2 : yypt+1]
 19562  		var yyLOCAL ValTuple
 19563  //line sql.y:7223
 19564  		{
 19565  			yyLOCAL = ValTuple{}
 19566  		}
 19567  		yyVAL.union = yyLOCAL
 19568  	case 1443:
 19569  		yyDollar = yyS[yypt-3 : yypt+1]
 19570  		var yyLOCAL ValTuple
 19571  //line sql.y:7229
 19572  		{
 19573  			yyLOCAL = ValTuple(yyDollar[2].exprsUnion())
 19574  		}
 19575  		yyVAL.union = yyLOCAL
 19576  	case 1444:
 19577  		yyDollar = yyS[yypt-4 : yypt+1]
 19578  		var yyLOCAL ValTuple
 19579  //line sql.y:7233
 19580  		{
 19581  			yyLOCAL = ValTuple(yyDollar[3].exprsUnion())
 19582  		}
 19583  		yyVAL.union = yyLOCAL
 19584  	case 1445:
 19585  		yyDollar = yyS[yypt-1 : yypt+1]
 19586  		var yyLOCAL Expr
 19587  //line sql.y:7238
 19588  		{
 19589  			if len(yyDollar[1].valTupleUnion()) == 1 {
 19590  				yyLOCAL = yyDollar[1].valTupleUnion()[0]
 19591  			} else {
 19592  				yyLOCAL = yyDollar[1].valTupleUnion()
 19593  			}
 19594  		}
 19595  		yyVAL.union = yyLOCAL
 19596  	case 1446:
 19597  		yyDollar = yyS[yypt-1 : yypt+1]
 19598  		var yyLOCAL UpdateExprs
 19599  //line sql.y:7248
 19600  		{
 19601  			yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()}
 19602  		}
 19603  		yyVAL.union = yyLOCAL
 19604  	case 1447:
 19605  		yyDollar = yyS[yypt-3 : yypt+1]
 19606  //line sql.y:7252
 19607  		{
 19608  			yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union))
 19609  			*yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion())
 19610  		}
 19611  	case 1448:
 19612  		yyDollar = yyS[yypt-3 : yypt+1]
 19613  		var yyLOCAL *UpdateExpr
 19614  //line sql.y:7258
 19615  		{
 19616  			yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()}
 19617  		}
 19618  		yyVAL.union = yyLOCAL
 19619  	case 1450:
 19620  		yyDollar = yyS[yypt-2 : yypt+1]
 19621  //line sql.y:7265
 19622  		{
 19623  			yyVAL.str = "charset"
 19624  		}
 19625  	case 1453:
 19626  		yyDollar = yyS[yypt-1 : yypt+1]
 19627  		var yyLOCAL Expr
 19628  //line sql.y:7275
 19629  		{
 19630  			yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String())
 19631  		}
 19632  		yyVAL.union = yyLOCAL
 19633  	case 1454:
 19634  		yyDollar = yyS[yypt-1 : yypt+1]
 19635  		var yyLOCAL Expr
 19636  //line sql.y:7279
 19637  		{
 19638  			yyLOCAL = NewStrLiteral(yyDollar[1].str)
 19639  		}
 19640  		yyVAL.union = yyLOCAL
 19641  	case 1455:
 19642  		yyDollar = yyS[yypt-1 : yypt+1]
 19643  		var yyLOCAL Expr
 19644  //line sql.y:7283
 19645  		{
 19646  			yyLOCAL = &Default{}
 19647  		}
 19648  		yyVAL.union = yyLOCAL
 19649  	case 1458:
 19650  		yyDollar = yyS[yypt-0 : yypt+1]
 19651  		var yyLOCAL bool
 19652  //line sql.y:7292
 19653  		{
 19654  			yyLOCAL = false
 19655  		}
 19656  		yyVAL.union = yyLOCAL
 19657  	case 1459:
 19658  		yyDollar = yyS[yypt-1 : yypt+1]
 19659  		var yyLOCAL bool
 19660  //line sql.y:7294
 19661  		{
 19662  			yyLOCAL = true
 19663  		}
 19664  		yyVAL.union = yyLOCAL
 19665  	case 1460:
 19666  		yyDollar = yyS[yypt-0 : yypt+1]
 19667  		var yyLOCAL bool
 19668  //line sql.y:7297
 19669  		{
 19670  			yyLOCAL = false
 19671  		}
 19672  		yyVAL.union = yyLOCAL
 19673  	case 1461:
 19674  		yyDollar = yyS[yypt-2 : yypt+1]
 19675  		var yyLOCAL bool
 19676  //line sql.y:7299
 19677  		{
 19678  			yyLOCAL = true
 19679  		}
 19680  		yyVAL.union = yyLOCAL
 19681  	case 1462:
 19682  		yyDollar = yyS[yypt-0 : yypt+1]
 19683  		var yyLOCAL bool
 19684  //line sql.y:7302
 19685  		{
 19686  			yyLOCAL = false
 19687  		}
 19688  		yyVAL.union = yyLOCAL
 19689  	case 1463:
 19690  		yyDollar = yyS[yypt-3 : yypt+1]
 19691  		var yyLOCAL bool
 19692  //line sql.y:7304
 19693  		{
 19694  			yyLOCAL = true
 19695  		}
 19696  		yyVAL.union = yyLOCAL
 19697  	case 1464:
 19698  		yyDollar = yyS[yypt-0 : yypt+1]
 19699  		var yyLOCAL Ignore
 19700  //line sql.y:7307
 19701  		{
 19702  			yyLOCAL = false
 19703  		}
 19704  		yyVAL.union = yyLOCAL
 19705  	case 1465:
 19706  		yyDollar = yyS[yypt-1 : yypt+1]
 19707  		var yyLOCAL Ignore
 19708  //line sql.y:7309
 19709  		{
 19710  			yyLOCAL = true
 19711  		}
 19712  		yyVAL.union = yyLOCAL
 19713  	case 1466:
 19714  		yyDollar = yyS[yypt-0 : yypt+1]
 19715  //line sql.y:7312
 19716  		{
 19717  			yyVAL.empty = struct{}{}
 19718  		}
 19719  	case 1467:
 19720  		yyDollar = yyS[yypt-1 : yypt+1]
 19721  //line sql.y:7314
 19722  		{
 19723  			yyVAL.empty = struct{}{}
 19724  		}
 19725  	case 1468:
 19726  		yyDollar = yyS[yypt-1 : yypt+1]
 19727  //line sql.y:7316
 19728  		{
 19729  			yyVAL.empty = struct{}{}
 19730  		}
 19731  	case 1469:
 19732  		yyDollar = yyS[yypt-5 : yypt+1]
 19733  		var yyLOCAL Statement
 19734  //line sql.y:7320
 19735  		{
 19736  			yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()}
 19737  		}
 19738  		yyVAL.union = yyLOCAL
 19739  	case 1470:
 19740  		yyDollar = yyS[yypt-0 : yypt+1]
 19741  		var yyLOCAL Exprs
 19742  //line sql.y:7325
 19743  		{
 19744  			yyLOCAL = nil
 19745  		}
 19746  		yyVAL.union = yyLOCAL
 19747  	case 1471:
 19748  		yyDollar = yyS[yypt-1 : yypt+1]
 19749  		var yyLOCAL Exprs
 19750  //line sql.y:7329
 19751  		{
 19752  			yyLOCAL = yyDollar[1].exprsUnion()
 19753  		}
 19754  		yyVAL.union = yyLOCAL
 19755  	case 1472:
 19756  		yyDollar = yyS[yypt-0 : yypt+1]
 19757  		var yyLOCAL []*IndexOption
 19758  //line sql.y:7334
 19759  		{
 19760  			yyLOCAL = nil
 19761  		}
 19762  		yyVAL.union = yyLOCAL
 19763  	case 1473:
 19764  		yyDollar = yyS[yypt-1 : yypt+1]
 19765  		var yyLOCAL []*IndexOption
 19766  //line sql.y:7336
 19767  		{
 19768  			yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
 19769  		}
 19770  		yyVAL.union = yyLOCAL
 19771  	case 1474:
 19772  		yyDollar = yyS[yypt-2 : yypt+1]
 19773  		var yyLOCAL *IndexOption
 19774  //line sql.y:7340
 19775  		{
 19776  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())}
 19777  		}
 19778  		yyVAL.union = yyLOCAL
 19779  	case 1475:
 19780  		yyDollar = yyS[yypt-1 : yypt+1]
 19781  //line sql.y:7346
 19782  		{
 19783  			yyVAL.identifierCI = yyDollar[1].identifierCI
 19784  		}
 19785  	case 1476:
 19786  		yyDollar = yyS[yypt-1 : yypt+1]
 19787  //line sql.y:7350
 19788  		{
 19789  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
 19790  		}
 19791  	case 1478:
 19792  		yyDollar = yyS[yypt-1 : yypt+1]
 19793  //line sql.y:7357
 19794  		{
 19795  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
 19796  		}
 19797  	case 1479:
 19798  		yyDollar = yyS[yypt-1 : yypt+1]
 19799  //line sql.y:7363
 19800  		{
 19801  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 19802  		}
 19803  	case 1480:
 19804  		yyDollar = yyS[yypt-1 : yypt+1]
 19805  //line sql.y:7367
 19806  		{
 19807  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 19808  		}
 19809  	case 1481:
 19810  		yyDollar = yyS[yypt-0 : yypt+1]
 19811  //line sql.y:7373
 19812  		{
 19813  			yyVAL.identifierCS = NewIdentifierCS("")
 19814  		}
 19815  	case 1482:
 19816  		yyDollar = yyS[yypt-1 : yypt+1]
 19817  //line sql.y:7377
 19818  		{
 19819  			yyVAL.identifierCS = yyDollar[1].identifierCS
 19820  		}
 19821  	case 1484:
 19822  		yyDollar = yyS[yypt-1 : yypt+1]
 19823  //line sql.y:7384
 19824  		{
 19825  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 19826  		}
 19827  	case 2034:
 19828  		yyDollar = yyS[yypt-1 : yypt+1]
 19829  //line sql.y:7960
 19830  		{
 19831  			if incNesting(yylex) {
 19832  				yylex.Error("max nesting level reached")
 19833  				return 1
 19834  			}
 19835  		}
 19836  	case 2035:
 19837  		yyDollar = yyS[yypt-1 : yypt+1]
 19838  //line sql.y:7969
 19839  		{
 19840  			decNesting(yylex)
 19841  		}
 19842  	case 2036:
 19843  		yyDollar = yyS[yypt-0 : yypt+1]
 19844  //line sql.y:7974
 19845  		{
 19846  			skipToEnd(yylex)
 19847  		}
 19848  	case 2037:
 19849  		yyDollar = yyS[yypt-0 : yypt+1]
 19850  //line sql.y:7979
 19851  		{
 19852  			skipToEnd(yylex)
 19853  		}
 19854  	case 2038:
 19855  		yyDollar = yyS[yypt-1 : yypt+1]
 19856  //line sql.y:7983
 19857  		{
 19858  			skipToEnd(yylex)
 19859  		}
 19860  	case 2039:
 19861  		yyDollar = yyS[yypt-1 : yypt+1]
 19862  //line sql.y:7987
 19863  		{
 19864  			skipToEnd(yylex)
 19865  		}
 19866  	}
 19867  	goto yystack /* stack new state and value */
 19868  }