vitess.io/vitess@v0.16.2/go/vt/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, 520,
  1385  	-1, 58,
  1386  	36, 767,
  1387  	239, 767,
  1388  	250, 767,
  1389  	285, 781,
  1390  	286, 781,
  1391  	-2, 769,
  1392  	-1, 63,
  1393  	241, 805,
  1394  	-2, 803,
  1395  	-1, 118,
  1396  	238, 1457,
  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, 509,
  1406  	-1, 150,
  1407  	135, 165,
  1408  	176, 165,
  1409  	345, 165,
  1410  	-2, 529,
  1411  	-1, 810,
  1412  	87, 1474,
  1413  	-2, 1328,
  1414  	-1, 811,
  1415  	87, 1475,
  1416  	221, 1479,
  1417  	-2, 1329,
  1418  	-1, 812,
  1419  	221, 1478,
  1420  	-2, 40,
  1421  	-1, 892,
  1422  	60, 879,
  1423  	-2, 894,
  1424  	-1, 978,
  1425  	249, 41,
  1426  	254, 41,
  1427  	-2, 416,
  1428  	-1, 1063,
  1429  	1, 577,
  1430  	665, 577,
  1431  	-2, 165,
  1432  	-1, 1362,
  1433  	221, 1479,
  1434  	-2, 1329,
  1435  	-1, 1510,
  1436  	60, 880,
  1437  	-2, 899,
  1438  	-1, 1511,
  1439  	60, 881,
  1440  	-2, 900,
  1441  	-1, 1562,
  1442  	135, 165,
  1443  	176, 165,
  1444  	345, 165,
  1445  	-2, 455,
  1446  	-1, 1643,
  1447  	136, 405,
  1448  	244, 405,
  1449  	-2, 509,
  1450  	-1, 1652,
  1451  	249, 42,
  1452  	254, 42,
  1453  	-2, 417,
  1454  	-1, 2011,
  1455  	221, 1483,
  1456  	-2, 1477,
  1457  	-1, 2012,
  1458  	221, 1479,
  1459  	-2, 1475,
  1460  	-1, 2112,
  1461  	135, 165,
  1462  	176, 165,
  1463  	345, 165,
  1464  	-2, 456,
  1465  	-1, 2119,
  1466  	26, 186,
  1467  	-2, 188,
  1468  	-1, 2486,
  1469  	78, 96,
  1470  	88, 96,
  1471  	-2, 958,
  1472  	-1, 2555,
  1473  	640, 693,
  1474  	-2, 667,
  1475  	-1, 2722,
  1476  	50, 1425,
  1477  	-2, 1419,
  1478  	-1, 3375,
  1479  	640, 693,
  1480  	-2, 681,
  1481  	-1, 3464,
  1482  	90, 625,
  1483  	95, 625,
  1484  	105, 625,
  1485  	178, 625,
  1486  	179, 625,
  1487  	180, 625,
  1488  	181, 625,
  1489  	182, 625,
  1490  	183, 625,
  1491  	184, 625,
  1492  	185, 625,
  1493  	186, 625,
  1494  	187, 625,
  1495  	188, 625,
  1496  	189, 625,
  1497  	190, 625,
  1498  	191, 625,
  1499  	192, 625,
  1500  	193, 625,
  1501  	194, 625,
  1502  	195, 625,
  1503  	196, 625,
  1504  	197, 625,
  1505  	198, 625,
  1506  	199, 625,
  1507  	200, 625,
  1508  	201, 625,
  1509  	202, 625,
  1510  	203, 625,
  1511  	204, 625,
  1512  	205, 625,
  1513  	206, 625,
  1514  	207, 625,
  1515  	208, 625,
  1516  	209, 625,
  1517  	210, 625,
  1518  	211, 625,
  1519  	212, 625,
  1520  	213, 625,
  1521  	214, 625,
  1522  	215, 625,
  1523  	216, 625,
  1524  	217, 625,
  1525  	218, 625,
  1526  	219, 625,
  1527  	-2, 1836,
  1528  }
  1529  
  1530  const yyPrivate = 57344
  1531  
  1532  const yyLast = 47659
  1533  
  1534  var yyAct = [...]int{
  1535  	1518, 821, 3537, 3123, 3548, 3122, 813, 3356, 3441, 814,
  1536  	3124, 3505, 3462, 684, 3506, 2950, 3093, 1565, 1878, 3406,
  1537  	1771, 2060, 1129, 2872, 3429, 2040, 2774, 2781, 3340, 3288,
  1538  	2832, 3338, 2837, 2834, 2833, 2831, 2836, 2835, 1824, 2823,
  1539  	2735, 5, 3080, 2738, 2109, 781, 885, 3328, 3152, 2183,
  1540  	2420, 2459, 2386, 2851, 2681, 666, 2739, 2736, 2989, 2042,
  1541  	1525, 3157, 2852, 775, 774, 694, 2789, 2064, 663, 2983,
  1542  	2616, 2080, 3009, 2854, 2733, 2446, 2723, 2002, 2975, 2171,
  1543  	2552, 1075, 2146, 2471, 2520, 2878, 2600, 1621, 2151, 940,
  1544  	2214, 2521, 159, 2522, 2083, 1127, 2097, 664, 2452, 2438,
  1545  	662, 1999, 1972, 2084, 41, 39, 2422, 1874, 1973, 1893,
  1546  	2592, 2085, 1104, 2192, 1650, 1832, 145, 908, 2170, 2072,
  1547  	2231, 2153, 2513, 973, 968, 1554, 986, 2488, 1534, 1668,
  1548  	1374, 2087, 96, 909, 1492, 887, 676, 1512, 1851, 1897,
  1549  	1302, 1657, 1287, 947, 944, 976, 1767, 979, 2168, 776,
  1550  	1749, 2142, 2143, 1553, 974, 948, 671, 1010, 975, 926,
  1551  	1539, 899, 659, 928, 1358, 1334, 1823, 896, 1969, 95,
  1552  	81, 1125, 780, 103, 100, 40, 101, 1118, 1776, 163,
  1553  	1616, 2065, 123, 121, 1642, 128, 122, 897, 895, 894,
  1554  	129, 1059, 921, 102, 80, 653, 670, 2007, 1378, 1382,
  1555  	3365, 2545, 94, 3538, 3081, 2, 89, 2185, 2186, 2187,
  1556  	2185, 2820, 3391, 2575, 2574, 2229, 2543, 916, 920, 3073,
  1557  	1734, 1488, 632, 3489, 2608, 3036, 2609, 3387, 902, 91,
  1558  	124, 91, 638, 1839, 3127, 1838, 130, 1837, 3392, 941,
  1559  	598, 91, 1836, 1015, 2037, 2038, 1835, 1834, 107, 108,
  1560  	109, 1303, 112, 1807, 889, 118, 893, 3386, 187, 990,
  1561  	1854, 593, 656, 966, 657, 654, 903, 912, 3483, 935,
  1562  	918, 918, 651, 652, 886, 911, 888, 2274, 989, 1298,
  1563  	3127, 1023, 881, 882, 883, 884, 2418, 2719, 892, 1303,
  1564  	2842, 1519, 2565, 658, 936, 2008, 3509, 1016, 1019, 1020,
  1565  	124, 1906, 2448, 964, 963, 1012, 965, 962, 952, 910,
  1566  	957, 2685, 830, 831, 832, 3558, 923, 924, 1029, 1030,
  1567  	1031, 3126, 1034, 1035, 1036, 1037, 1319, 186, 1040, 1041,
  1568  	1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051,
  1569  	1052, 1053, 1054, 1055, 1056, 1032, 2840, 934, 778, 779,
  1570  	3493, 125, 3472, 147, 830, 831, 832, 3504, 3387, 1313,
  1571  	2218, 3442, 3528, 2955, 168, 3491, 2954, 3126, 124, 2842,
  1572  	3470, 2216, 2846, 2568, 3341, 3492, 2387, 1844, 2897, 3476,
  1573  	3477, 3284, 2839, 3283, 2162, 1014, 3086, 2791, 2792, 3087,
  1574  	3490, 632, 1013, 3519, 3471, 158, 632, 1313, 3294, 3487,
  1575  	3105, 146, 1289, 186, 2217, 82, 3094, 2156, 82, 3430,
  1576  	82, 91, 3438, 2211, 2548, 3370, 82, 2283, 3293, 84,
  1577  	165, 1883, 3467, 166, 3104, 2840, 2917, 125, 1631, 147,
  1578  	2582, 2583, 633, 1111, 2462, 1113, 3448, 1555, 2068, 1556,
  1579  	168, 2419, 134, 135, 157, 156, 185, 2497, 2771, 2772,
  1580  	2496, 2846, 2039, 2498, 3170, 961, 2770, 1068, 1069, 2463,
  1581  	2607, 1316, 1062, 1317, 1318, 1309, 2104, 2105, 1301, 1816,
  1582  	1817, 158, 2280, 1110, 1112, 2591, 2103, 146, 3448, 934,
  1583  	778, 779, 2281, 91, 2843, 3510, 91, 1094, 91, 1071,
  1584  	879, 1299, 1122, 878, 91, 2790, 165, 956, 1058, 166,
  1585  	958, 1288, 2546, 1309, 3357, 1082, 3511, 2793, 1099, 1100,
  1586  	1083, 1082, 1095, 959, 2509, 2986, 1083, 1088, 1644, 1645,
  1587  	157, 156, 185, 632, 1081, 2650, 1080, 2122, 2121, 2455,
  1588  	2456, 2905, 2874, 632, 2275, 2276, 2278, 2277, 2903, 632,
  1589  	646, 2272, 1815, 1819, 650, 151, 132, 154, 139, 131,
  1590  	1551, 152, 153, 644, 2155, 2879, 2593, 2578, 169, 1496,
  1591  	2232, 2193, 3316, 2843, 3317, 2553, 3540, 175, 140, 1750,
  1592  	2867, 927, 632, 1115, 1033, 1097, 1098, 1108, 2868, 1120,
  1593  	1103, 1109, 143, 141, 136, 137, 138, 142, 2252, 1724,
  1594  	2253, 1114, 2254, 1064, 133, 2595, 3075, 3074, 961, 3484,
  1595  	953, 633, 2237, 144, 1096, 1121, 633, 955, 954, 1089,
  1596  	1101, 2255, 1039, 1038, 2068, 1107, 2236, 961, 1057, 2876,
  1597  	1102, 151, 1646, 154, 2875, 1643, 2234, 152, 153, 186,
  1598  	2066, 2067, 3268, 1725, 169, 1726, 3071, 999, 960, 988,
  1599  	969, 997, 2196, 175, 970, 1335, 2244, 2240, 2242, 2243,
  1600  	2241, 2245, 2246, 125, 2684, 3131, 959, 2238, 2235, 2081,
  1601  	970, 1755, 1499, 937, 931, 929, 168, 2894, 1336, 1337,
  1602  	1338, 1339, 1340, 1341, 1342, 1344, 1343, 1345, 1346, 1008,
  1603  	1007, 1078, 1061, 1084, 1085, 1086, 1087, 1006, 1005, 2793,
  1604  	2651, 160, 1004, 186, 1003, 1002, 1308, 1305, 1306, 1307,
  1605  	1312, 1314, 1311, 1001, 1310, 996, 1349, 1123, 1124, 2502,
  1606  	1635, 1009, 1349, 945, 1304, 945, 3559, 125, 982, 943,
  1607  	2281, 3516, 165, 1656, 945, 166, 967, 3364, 2544, 3552,
  1608  	168, 1116, 981, 633, 1308, 1305, 1306, 1307, 1312, 1314,
  1609  	1311, 987, 1310, 633, 1768, 922, 991, 981, 185, 633,
  1610  	3070, 993, 1304, 2599, 1370, 994, 992, 2596, 1018, 2423,
  1611  	2425, 1025, 2222, 1280, 981, 2169, 2580, 160, 1017, 155,
  1612  	1352, 1353, 1354, 1355, 1552, 827, 995, 827, 2215, 2511,
  1613  	1366, 960, 633, 2221, 1000, 1060, 165, 827, 998, 166,
  1614  	1764, 1092, 2612, 1290, 2547, 937, 931, 929, 2295, 1026,
  1615  	960, 2813, 1281, 1282, 2577, 1629, 2066, 2067, 1628, 3475,
  1616  	2563, 2987, 185, 988, 1627, 1356, 3444, 2159, 2567, 1765,
  1617  	1625, 597, 592, 1320, 2590, 3125, 2213, 2589, 988, 1360,
  1618  	148, 1655, 3485, 149, 1736, 1735, 1737, 1738, 1739, 3034,
  1619  	3035, 1350, 1351, 3353, 3023, 155, 3005, 1754, 3443, 2493,
  1620  	2458, 2395, 1375, 3474, 1886, 1543, 85, 2160, 3444, 3103,
  1621  	169, 1451, 2566, 161, 2158, 1073, 120, 2453, 2110, 175,
  1622  	173, 3125, 988, 1297, 1758, 930, 1756, 1757, 1349, 1759,
  1623  	1760, 1346, 2769, 905, 2602, 1907, 1119, 2844, 2845, 2601,
  1624  	3443, 3378, 1380, 1011, 1381, 1520, 1522, 1384, 2161, 1908,
  1625  	2848, 1077, 1067, 1079, 1070, 2282, 148, 90, 2157, 149,
  1626  	90, 181, 90, 1105, 1777, 987, 115, 2602, 90, 3066,
  1627  	2999, 2636, 2601, 2233, 169, 2939, 2424, 1828, 1761, 1557,
  1628  	987, 1898, 1487, 175, 2536, 1503, 981, 984, 985, 161,
  1629  	945, 3520, 3166, 1319, 978, 982, 173, 1898, 3550, 2312,
  1630  	1318, 3551, 3041, 3549, 162, 167, 164, 170, 171, 172,
  1631  	174, 176, 177, 178, 179, 977, 2844, 2845, 1319, 3040,
  1632  	180, 182, 183, 184, 987, 2200, 1024, 1317, 1318, 2848,
  1633  	1021, 1665, 1457, 1458, 1459, 1460, 1461, 181, 116, 1664,
  1634  	2210, 1654, 988, 160, 1091, 1751, 1487, 1752, 1856, 1486,
  1635  	1753, 2208, 999, 1500, 997, 1093, 2205, 930, 3560, 3408,
  1636  	1493, 3512, 1857, 1347, 1348, 1855, 2895, 2205, 1480, 3024,
  1637  	2212, 901, 3346, 1504, 1744, 1505, 103, 100, 1905, 101,
  1638  	162, 167, 164, 170, 171, 172, 174, 176, 177, 178,
  1639  	179, 1846, 1848, 1849, 1076, 2209, 180, 182, 183, 184,
  1640  	1319, 1742, 3524, 1519, 3409, 1063, 2207, 160, 3554, 1502,
  1641  	1106, 1778, 3276, 1506, 1521, 1847, 1648, 3347, 3100, 889,
  1642  	3101, 3275, 2339, 1490, 1319, 3266, 1535, 2004, 1316, 3116,
  1643  	1317, 1318, 886, 3115, 1319, 2309, 1524, 2638, 1743, 1641,
  1644  	3048, 888, 3047, 1501, 987, 3561, 1773, 1507, 3037, 991,
  1645  	981, 1660, 1719, 1316, 993, 1317, 1318, 1319, 994, 992,
  1646  	1701, 1658, 1658, 1623, 2821, 1741, 1548, 1549, 988, 2287,
  1647  	2288, 2289, 1335, 1632, 1633, 1634, 1670, 1659, 1671, 2809,
  1648  	1673, 1675, 2518, 1319, 1679, 1681, 1683, 1685, 1687, 1662,
  1649  	830, 831, 832, 1624, 2351, 1336, 1337, 1338, 1339, 1340,
  1650  	1341, 1342, 1344, 1343, 1345, 1346, 1638, 1639, 2308, 1651,
  1651  	1519, 2517, 1637, 1630, 2516, 161, 1697, 1903, 3297, 1700,
  1652  	1781, 1702, 173, 1731, 2165, 1745, 1904, 1785, 1319, 1787,
  1653  	1788, 1789, 1790, 1729, 1728, 1316, 1794, 1317, 1318, 1727,
  1654  	1709, 1710, 1519, 1779, 1780, 1717, 1715, 1716, 1806, 1341,
  1655  	1342, 1344, 1343, 1345, 1346, 1947, 1711, 1784, 1705, 1316,
  1656  	1708, 1317, 1318, 181, 1791, 1792, 1793, 1769, 3514, 1316,
  1657  	987, 1317, 1318, 1707, 1319, 2871, 981, 984, 985, 161,
  1658  	945, 1706, 1677, 638, 978, 982, 173, 1730, 3031, 638,
  1659  	1775, 1284, 1316, 124, 1317, 1318, 964, 963, 2073, 2074,
  1660  	962, 2500, 638, 2181, 2180, 1551, 162, 167, 164, 170,
  1661  	171, 172, 174, 176, 177, 178, 179, 97, 1316, 1783,
  1662  	1317, 1318, 180, 182, 183, 184, 3513, 181, 98, 2617,
  1663  	2179, 2178, 1319, 2177, 2176, 1528, 1804, 2444, 3539, 1319,
  1664  	3500, 1519, 1519, 1805, 1939, 1928, 1929, 1930, 1931, 1941,
  1665  	1932, 1933, 1934, 1946, 1942, 1935, 1936, 1943, 1944, 1945,
  1666  	1937, 1938, 1940, 1316, 3373, 1317, 1318, 1335, 1319, 2611,
  1667  	162, 167, 164, 170, 171, 172, 174, 176, 177, 178,
  1668  	179, 1529, 3372, 1519, 1315, 1519, 180, 182, 183, 184,
  1669  	1336, 1337, 1338, 1339, 1340, 1341, 1342, 1344, 1343, 1345,
  1670  	1346, 2004, 1881, 1881, 3350, 2001, 1319, 1879, 1879, 1316,
  1671  	3349, 1317, 1318, 2619, 2003, 3348, 1335, 3361, 3366, 1331,
  1672  	1882, 1332, 2349, 3522, 1519, 2912, 1852, 3271, 825, 3255,
  1673  	1901, 3254, 1315, 1519, 1902, 1333, 1347, 1348, 1330, 1336,
  1674  	1337, 1338, 1339, 1340, 1341, 1342, 1344, 1343, 1345, 1346,
  1675  	3165, 1859, 3018, 1861, 1862, 1863, 1864, 1865, 1866, 1867,
  1676  	1868, 1869, 1870, 1871, 1872, 1873, 3163, 1316, 1965, 1317,
  1677  	1318, 97, 3112, 1850, 1316, 3302, 1317, 1318, 99, 2444,
  1678  	3437, 1860, 98, 2629, 2628, 2627, 1485, 1484, 2621, 1483,
  1679  	2625, 1519, 2620, 3045, 2618, 3030, 1997, 2444, 3416, 2623,
  1680  	2880, 1812, 1813, 1316, 2877, 1317, 1318, 106, 2622, 2444,
  1681  	3412, 81, 2812, 1829, 81, 2811, 40, 1853, 105, 40,
  1682  	104, 2026, 2010, 2527, 2011, 1487, 2624, 2626, 1840, 1841,
  1683  	1842, 1843, 1961, 3399, 1519, 3084, 3363, 1519, 1520, 2033,
  1684  	2514, 1316, 1482, 1317, 1318, 3279, 1519, 1858, 1336, 1337,
  1685  	1338, 1339, 1340, 1341, 1342, 1344, 1343, 1345, 1346, 1360,
  1686  	2227, 2000, 1337, 1338, 1339, 1340, 1341, 1342, 1344, 1343,
  1687  	1345, 1346, 2057, 2226, 1885, 2063, 1899, 1887, 1888, 2444,
  1688  	3267, 3301, 1890, 2045, 918, 918, 1895, 1808, 1519, 3259,
  1689  	1900, 1774, 1486, 3084, 1519, 2444, 3082, 2009, 2205, 1519,
  1690  	3003, 1519, 3258, 1913, 1914, 1915, 1916, 1917, 1918, 1919,
  1691  	1920, 1921, 1922, 1740, 2078, 1732, 2011, 1948, 1949, 1950,
  1692  	1951, 1952, 1953, 1955, 1722, 1960, 1718, 1962, 1963, 1964,
  1693  	1714, 1966, 1967, 1968, 1713, 1974, 1975, 1976, 1977, 1978,
  1694  	1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988,
  1695  	1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1712, 1998,
  1696  	2119, 2005, 2006, 918, 1530, 918, 918, 918, 918, 918,
  1697  	100, 2050, 101, 2051, 2166, 2018, 2019, 2020, 2021, 2022,
  1698  	2023, 2024, 2025, 1959, 2027, 2028, 2029, 2030, 2031, 2009,
  1699  	100, 99, 101, 1970, 2128, 2129, 2130, 2131, 1117, 1319,
  1700  	2056, 2014, 2015, 2114, 902, 2113, 3092, 2032, 2123, 2554,
  1701  	2124, 2125, 2126, 2127, 2044, 2095, 2532, 1892, 1894, 2360,
  1702  	1519, 2118, 918, 2802, 2801, 2460, 2134, 2135, 2136, 2137,
  1703  	2799, 2800, 2797, 2798, 2998, 2058, 1315, 2117, 1909, 1910,
  1704  	1911, 1912, 2797, 2796, 2069, 2070, 2468, 1519, 2148, 2154,
  1705  	1519, 2076, 1923, 2281, 2576, 2489, 2101, 935, 1620, 2557,
  1706  	2100, 2034, 2194, 2460, 2099, 2550, 2551, 1970, 2116, 3000,
  1707  	2108, 2091, 2115, 1339, 1340, 1341, 1342, 1344, 1343, 1345,
  1708  	1346, 828, 936, 2004, 3263, 2440, 829, 2191, 2489, 2444,
  1709  	2443, 2164, 2305, 1519, 1319, 105, 1880, 2468, 2013, 2206,
  1710  	99, 2016, 2017, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
  1711  	1321, 2149, 2138, 2140, 2141, 2145, 2300, 2764, 2490, 2199,
  1712  	1884, 1519, 2202, 990, 2203, 2167, 2163, 2281, 2492, 2175,
  1713  	2734, 2150, 3404, 1658, 1316, 2998, 1317, 1318, 1620, 1619,
  1714  	2219, 2998, 989, 1319, 1563, 1562, 2149, 2198, 2201, 2197,
  1715  	1319, 2490, 3377, 2444, 1319, 2055, 2468, 2205, 2305, 1319,
  1716  	2467, 2281, 2959, 2223, 1315, 2220, 3049, 2224, 2225, 835,
  1717  	836, 837, 838, 839, 840, 841, 842, 843, 844, 845,
  1718  	846, 847, 848, 849, 850, 851, 852, 853, 854, 855,
  1719  	856, 857, 858, 859, 860, 861, 862, 863, 864, 865,
  1720  	866, 867, 868, 869, 870, 871, 872, 873, 874, 875,
  1721  	876, 2265, 2266, 2230, 2799, 2468, 2268, 3050, 3051, 3052,
  1722  	2707, 2102, 2824, 2305, 1319, 2269, 2360, 3454, 1519, 1316,
  1723  	2336, 1317, 1318, 2335, 3452, 1519, 2298, 2205, 3450, 1519,
  1724  	2303, 2188, 1319, 2306, 3067, 2307, 2071, 1523, 2035, 1884,
  1725  	2314, 1852, 1830, 2347, 2316, 2317, 2318, 2010, 1814, 2011,
  1726  	1763, 1550, 2258, 972, 2324, 2325, 2326, 2327, 2328, 2329,
  1727  	2330, 2331, 2332, 2333, 971, 2291, 891, 2293, 1316, 91,
  1728  	1317, 1318, 3480, 3419, 3290, 1316, 2777, 1317, 1318, 1316,
  1729  	1526, 1317, 1318, 3256, 1316, 3177, 1317, 1318, 3065, 3062,
  1730  	2340, 2341, 2342, 2343, 2344, 2292, 2346, 2271, 3325, 1519,
  1731  	2348, 3043, 2922, 2921, 2353, 2354, 1622, 2355, 1693, 2147,
  1732  	2358, 2279, 2359, 2869, 2826, 2524, 2362, 1519, 2822, 2558,
  1733  	2366, 2778, 2299, 1319, 2371, 2372, 2373, 2374, 2144, 2139,
  1734  	2133, 2523, 1853, 2132, 2290, 1747, 1653, 2385, 1319, 2388,
  1735  	2389, 1649, 1319, 1618, 91, 2780, 117, 2391, 2393, 1316,
  1736  	3053, 1317, 1318, 1062, 2396, 2397, 2398, 2399, 2400, 1694,
  1737  	1695, 1696, 2873, 2775, 3291, 2407, 2408, 1316, 2409, 1317,
  1738  	1318, 2412, 2414, 2057, 2297, 2416, 2311, 2162, 1319, 2524,
  1739  	2791, 2792, 2048, 1319, 3534, 2428, 3532, 2776, 1881, 106,
  1740  	3507, 1689, 3385, 1879, 3010, 3011, 3016, 3054, 3055, 3056,
  1741  	105, 2313, 104, 1810, 1335, 2429, 2294, 3323, 1519, 1319,
  1742  	3311, 99, 2320, 2321, 2322, 2323, 2302, 1319, 3013, 2818,
  1743  	2782, 1335, 3320, 1519, 1319, 2345, 2301, 1336, 1337, 1338,
  1744  	1339, 1340, 1341, 1342, 1344, 1343, 1345, 1346, 1690, 1691,
  1745  	1692, 2817, 1319, 2427, 1336, 1337, 1338, 1339, 1340, 1341,
  1746  	1342, 1344, 1343, 1345, 1346, 2816, 3015, 1375, 1316, 2464,
  1747  	1317, 1318, 3306, 1519, 2430, 1811, 2432, 2969, 2319, 2734,
  1748  	1519, 2445, 1319, 1316, 2537, 1317, 1318, 1316, 2259, 1317,
  1749  	1318, 3147, 1319, 3146, 2756, 2334, 1319, 2054, 2790, 2757,
  1750  	2754, 2753, 2752, 2974, 1519, 2755, 3381, 1517, 1513, 1319,
  1751  	2793, 2967, 1519, 3292, 2062, 1319, 2454, 1493, 2964, 1519,
  1752  	2417, 1527, 1514, 1316, 3004, 1317, 1318, 2712, 1316, 2711,
  1753  	1317, 1318, 2991, 3156, 2483, 3345, 2962, 1519, 2437, 3158,
  1754  	2990, 3145, 2510, 2512, 2441, 1487, 2442, 2052, 2053, 1516,
  1755  	2457, 1515, 2994, 2721, 1316, 2503, 1317, 1318, 1762, 877,
  1756  	2487, 2549, 1316, 2795, 1317, 1318, 2927, 1519, 2507, 1316,
  1757  	1319, 1317, 1318, 2528, 2491, 1319, 2910, 1519, 2494, 1028,
  1758  	2415, 1519, 2154, 1027, 1535, 97, 2501, 1316, 2504, 1317,
  1759  	1318, 1319, 99, 2413, 1519, 2888, 98, 1319, 2523, 2392,
  1760  	1519, 906, 811, 40, 1319, 2758, 2515, 2477, 2478, 907,
  1761  	2605, 1319, 2482, 1283, 1907, 2484, 1319, 1316, 2573, 1317,
  1762  	1318, 2996, 1532, 2564, 2525, 99, 2779, 1316, 1908, 1317,
  1763  	1318, 1316, 1319, 1317, 1318, 125, 2533, 97, 2534, 1319,
  1764  	3546, 2538, 2539, 2540, 1316, 2814, 1317, 1318, 98, 1319,
  1765  	1316, 2570, 1317, 1318, 2965, 1641, 191, 2073, 2074, 191,
  1766  	2519, 2262, 643, 2526, 3459, 2559, 2560, 649, 2529, 2530,
  1767  	2640, 2641, 2642, 2643, 2644, 2375, 1519, 3362, 191, 3286,
  1768  	2794, 2367, 1519, 2569, 2481, 2724, 2726, 2059, 1531, 2649,
  1769  	914, 915, 2251, 191, 2727, 2937, 2710, 2250, 2249, 2248,
  1770  	2933, 1319, 2247, 2976, 2709, 1316, 2285, 1317, 1318, 104,
  1771  	1316, 2594, 1317, 1318, 3333, 2615, 2919, 105, 649, 191,
  1772  	649, 2571, 2630, 2918, 2597, 106, 1316, 2603, 1317, 1318,
  1773  	2604, 2645, 1316, 2915, 1317, 1318, 105, 3153, 104, 1316,
  1774  	3332, 1317, 1318, 2614, 106, 2613, 1316, 99, 1317, 1318,
  1775  	3314, 1316, 3164, 1317, 1318, 105, 2984, 104, 3162, 1319,
  1776  	2631, 3161, 3154, 3063, 2995, 2633, 2993, 1316, 2827, 1317,
  1777  	1318, 2189, 1636, 1319, 1316, 3135, 1317, 1318, 106, 913,
  1778  	2460, 3536, 3535, 3, 1316, 2411, 1317, 1318, 2440, 105,
  1779  	2652, 2337, 2686, 2046, 1544, 1536, 2688, 110, 111, 2610,
  1780  	3535, 2783, 3536, 3351, 2000, 2787, 2000, 2654, 3029, 904,
  1781  	1827, 1825, 2786, 10, 9, 93, 2743, 1826, 918, 2660,
  1782  	8, 2634, 2635, 1, 1286, 2637, 1285, 3033, 2639, 2670,
  1783  	2671, 2672, 2673, 2674, 2761, 3469, 1316, 610, 1317, 1318,
  1784  	2714, 2691, 2687, 2410, 2689, 2036, 2788, 1491, 2646, 2647,
  1785  	2648, 2784, 3508, 3465, 3466, 1733, 2785, 2406, 2746, 2740,
  1786  	2653, 1723, 2763, 2655, 2656, 2657, 1773, 3095, 1971, 2658,
  1787  	2659, 3287, 2830, 1974, 2661, 2195, 2632, 2663, 2702, 3061,
  1788  	2665, 2666, 2667, 2668, 2152, 2715, 980, 2713, 2669, 1974,
  1789  	1974, 1974, 1974, 1974, 1316, 150, 1317, 1318, 2728, 2729,
  1790  	2703, 2704, 2705, 2111, 2691, 2112, 2706, 918, 1316, 3432,
  1791  	1317, 1318, 114, 2759, 2692, 2693, 2694, 2695, 2696, 2697,
  1792  	895, 894, 2747, 2698, 2699, 2750, 2700, 2731, 2701, 2716,
  1793  	2850, 2748, 2749, 2765, 2751, 2662, 2766, 2664, 938, 2767,
  1794  	113, 983, 2690, 1090, 2190, 2773, 2745, 3085, 2508, 2120,
  1795  	1569, 1567, 1568, 2675, 2676, 2677, 2678, 1566, 1571, 1570,
  1796  	2804, 2890, 2737, 2091, 2806, 2805, 100, 2737, 101, 2896,
  1797  	2338, 2938, 1818, 2732, 645, 2480, 639, 188, 1558, 2857,
  1798  	2858, 2907, 2908, 2909, 1319, 2911, 2913, 2154, 893, 1319,
  1799  	2828, 2091, 2091, 2091, 2091, 2091, 2849, 1537, 2762, 2920,
  1800  	2864, 1319, 2951, 1022, 2924, 2925, 2926, 2928, 2929, 2930,
  1801  	2931, 2091, 600, 2932, 2091, 2934, 2935, 2936, 1319, 2803,
  1802  	2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949,
  1803  	2881, 2807, 2808, 2884, 2883, 2886, 2887, 2228, 2956, 1319,
  1804  	606, 2960, 1367, 2961, 2963, 1319, 2966, 2968, 1809, 2970,
  1805  	2971, 2972, 2973, 2829, 2901, 2898, 2899, 2979, 2900, 2825,
  1806  	2892, 2902, 2891, 2904, 2708, 2906, 2495, 933, 2405, 925,
  1807  	1319, 2047, 2431, 2404, 932, 1319, 3264, 2742, 2988, 2720,
  1808  	1319, 2722, 2447, 2725, 2953, 2403, 1319, 2718, 3344, 3155,
  1809  	3417, 2957, 3001, 3002, 2505, 1533, 3006, 2958, 2310, 1896,
  1810  	1319, 1357, 2402, 2088, 1319, 3130, 2473, 2476, 2477, 2478,
  1811  	2474, 1845, 2475, 2479, 668, 2982, 3010, 3011, 667, 1316,
  1812  	1319, 1317, 1318, 2401, 1316, 665, 1317, 1318, 2433, 2390,
  1813  	2461, 1322, 815, 2977, 2978, 2980, 1316, 2421, 1317, 1318,
  1814  	1545, 2472, 1319, 2470, 2985, 2469, 1319, 2260, 3007, 2992,
  1815  	2096, 2914, 3012, 1316, 2384, 1317, 1318, 3008, 3461, 2383,
  1816  	2997, 2090, 1319, 2086, 2382, 2923, 2439, 3021, 3022, 766,
  1817  	2381, 3017, 765, 3014, 1316, 1319, 1317, 1318, 677, 669,
  1818  	1316, 1319, 1317, 1318, 2380, 3019, 1319, 661, 2379, 764,
  1819  	763, 2857, 2858, 3027, 1319, 191, 3026, 191, 3068, 3069,
  1820  	191, 3028, 3083, 2856, 2378, 1316, 1319, 1317, 1318, 3020,
  1821  	1316, 3445, 1317, 1318, 3044, 1316, 3046, 1317, 1318, 3089,
  1822  	3090, 1316, 2579, 1317, 1318, 2870, 2377, 1319, 2581, 2506,
  1823  	2376, 649, 2866, 649, 649, 1316, 1319, 1317, 1318, 1316,
  1824  	1300, 1317, 1318, 1319, 3102, 1509, 2370, 3106, 655, 951,
  1825  	2893, 3368, 2284, 649, 191, 1316, 2916, 1317, 1318, 2369,
  1826  	2473, 2476, 2477, 2478, 2474, 2368, 2475, 2479, 1508, 1926,
  1827  	2365, 1927, 3375, 1319, 3117, 2838, 3091, 1316, 2364, 1317,
  1828  	1318, 1316, 1362, 1317, 1318, 3079, 2819, 2091, 2555, 3121,
  1829  	2363, 2182, 66, 44, 3339, 3038, 3039, 1316, 3405, 1317,
  1830  	1318, 3129, 762, 759, 3132, 3133, 1319, 3134, 2682, 3136,
  1831  	1316, 2361, 1317, 1318, 2683, 3388, 1316, 3107, 1317, 1318,
  1832  	2357, 1316, 3389, 1317, 1318, 758, 3390, 2356, 1954, 1316,
  1833  	1296, 1317, 1318, 1293, 3482, 3064, 1820, 92, 35, 34,
  1834  	33, 1316, 32, 1317, 1318, 31, 25, 24, 3072, 23,
  1835  	22, 21, 3076, 3077, 3078, 3150, 28, 2352, 20, 19,
  1836  	3128, 18, 1316, 2841, 1317, 1318, 3503, 3545, 3088, 1319,
  1837  	1881, 1316, 119, 1317, 1318, 1879, 53, 50, 1316, 48,
  1838  	1317, 1318, 127, 126, 3111, 51, 47, 3179, 1065, 45,
  1839  	2350, 3171, 30, 29, 17, 16, 2740, 3160, 3173, 3159,
  1840  	2740, 15, 3151, 14, 3175, 13, 3167, 3169, 1316, 12,
  1841  	1317, 1318, 11, 7, 1517, 1513, 6, 38, 37, 27,
  1842  	36, 3180, 3181, 3108, 1362, 3109, 26, 4, 3110, 1514,
  1843  	3278, 3113, 3114, 1319, 2542, 3183, 2184, 3265, 0, 3285,
  1844  	3118, 1316, 0, 1317, 1318, 0, 0, 0, 0, 0,
  1845  	3120, 0, 0, 2315, 1510, 1511, 1516, 0, 1515, 3295,
  1846  	3296, 0, 3298, 3262, 3299, 3300, 3261, 3269, 3260, 3303,
  1847  	3304, 3305, 3137, 3307, 3310, 3138, 3308, 3139, 3140, 1881,
  1848  	3141, 191, 3142, 3309, 1879, 649, 649, 3143, 3277, 3319,
  1849  	3321, 3322, 3324, 3326, 3327, 3329, 3312, 3282, 2737, 3281,
  1850  	0, 191, 0, 0, 1316, 3119, 1317, 1318, 0, 0,
  1851  	0, 0, 3168, 0, 0, 0, 0, 2304, 0, 0,
  1852  	0, 649, 0, 3176, 191, 40, 3178, 3313, 0, 0,
  1853  	0, 0, 0, 3359, 0, 0, 649, 3315, 3182, 0,
  1854  	3289, 3318, 191, 0, 0, 0, 3334, 3335, 0, 3355,
  1855  	3337, 3336, 0, 0, 0, 0, 3257, 0, 0, 0,
  1856  	0, 0, 0, 0, 3352, 0, 2740, 0, 1316, 0,
  1857  	1317, 1318, 0, 0, 0, 0, 0, 3358, 0, 649,
  1858  	0, 3272, 3273, 3274, 0, 0, 0, 0, 0, 0,
  1859  	0, 0, 1362, 0, 0, 0, 0, 0, 649, 649,
  1860  	0, 649, 0, 649, 649, 0, 649, 649, 649, 649,
  1861  	649, 649, 0, 0, 0, 0, 0, 0, 0, 1362,
  1862  	0, 0, 1362, 649, 1362, 191, 0, 0, 3360, 0,
  1863  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1864  	0, 0, 0, 3354, 0, 191, 0, 0, 0, 0,
  1865  	0, 0, 0, 0, 0, 0, 0, 0, 649, 3384,
  1866  	191, 0, 3379, 0, 3367, 0, 3342, 0, 0, 0,
  1867  	0, 0, 3374, 0, 649, 3376, 191, 0, 0, 3400,
  1868  	0, 0, 3371, 0, 0, 3401, 3402, 0, 0, 0,
  1869  	0, 0, 191, 0, 0, 0, 0, 0, 0, 191,
  1870  	0, 0, 0, 0, 0, 0, 0, 3413, 191, 191,
  1871  	191, 191, 191, 191, 191, 191, 191, 649, 3394, 3403,
  1872  	0, 3395, 0, 0, 0, 0, 3343, 0, 0, 0,
  1873  	0, 0, 0, 3439, 3440, 0, 0, 0, 0, 0,
  1874  	0, 0, 3410, 0, 0, 0, 0, 3449, 3451, 3453,
  1875  	3446, 3418, 0, 0, 3447, 3420, 3423, 3431, 3428, 3425,
  1876  	3424, 3422, 3427, 3426, 0, 0, 0, 0, 0, 0,
  1877  	0, 0, 3481, 0, 0, 0, 0, 0, 0, 0,
  1878  	0, 0, 0, 3457, 0, 0, 0, 0, 0, 3460,
  1879  	0, 0, 0, 3478, 3468, 3473, 0, 0, 0, 0,
  1880  	0, 3488, 3446, 0, 0, 0, 3447, 0, 0, 40,
  1881  	3382, 3486, 3499, 0, 0, 0, 0, 0, 0, 826,
  1882  	0, 0, 83, 3289, 3434, 0, 3415, 0, 3497, 0,
  1883  	0, 3502, 0, 3396, 0, 0, 3397, 0, 3398, 0,
  1884  	0, 0, 0, 0, 0, 3521, 3523, 3525, 0, 0,
  1885  	0, 2737, 3515, 3518, 0, 1881, 3517, 0, 1773, 0,
  1886  	1879, 0, 0, 3527, 3526, 0, 0, 1370, 3533, 0,
  1887  	3531, 0, 3530, 0, 0, 0, 0, 3544, 3383, 3541,
  1888  	3446, 0, 649, 649, 3447, 40, 3393, 0, 3547, 0,
  1889  	0, 3553, 3555, 3556, 3557, 649, 0, 3529, 0, 0,
  1890  	638, 890, 0, 83, 191, 0, 0, 0, 0, 0,
  1891  	1881, 0, 0, 0, 0, 1879, 3564, 3565, 3563, 0,
  1892  	0, 0, 890, 0, 3309, 0, 0, 3562, 0, 0,
  1893  	0, 0, 3479, 0, 0, 0, 0, 950, 0, 0,
  1894  	0, 0, 0, 0, 632, 0, 0, 0, 0, 0,
  1895  	0, 0, 649, 0, 0, 0, 0, 0, 0, 0,
  1896  	0, 0, 1362, 3494, 0, 3495, 0, 3496, 0, 0,
  1897  	0, 0, 0, 649, 0, 0, 0, 0, 0, 1362,
  1898  	0, 0, 0, 0, 0, 0, 629, 0, 0, 0,
  1899  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1900  	0, 0, 0, 0, 649, 649, 0, 0, 0, 0,
  1901  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1902  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1903  	0, 0, 0, 0, 614, 3542, 0, 3543, 0, 0,
  1904  	0, 0, 0, 0, 0, 0, 0, 612, 0, 0,
  1905  	0, 0, 0, 0, 2012, 0, 0, 0, 0, 0,
  1906  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1907  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1908  	0, 0, 0, 0, 0, 0, 0, 609, 0, 0,
  1909  	0, 0, 0, 0, 0, 0, 624, 191, 0, 0,
  1910  	0, 0, 649, 0, 0, 0, 0, 0, 0, 0,
  1911  	0, 619, 0, 0, 0, 0, 0, 0, 0, 0,
  1912  	0, 622, 0, 0, 0, 0, 191, 0, 0, 649,
  1913  	0, 0, 0, 0, 0, 0, 0, 0, 0, 191,
  1914  	0, 0, 0, 649, 0, 0, 2012, 191, 0, 191,
  1915  	0, 191, 191, 0, 633, 0, 0, 0, 0, 0,
  1916  	0, 0, 0, 0, 0, 0, 649, 0, 0, 0,
  1917  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1918  	0, 0, 0, 0, 0, 0, 0, 599, 0, 601,
  1919  	615, 0, 635, 0, 634, 605, 0, 603, 607, 616,
  1920  	608, 0, 602, 0, 613, 0, 0, 604, 617, 618,
  1921  	621, 625, 626, 627, 623, 620, 0, 611, 636, 0,
  1922  	0, 186, 0, 649, 0, 0, 0, 0, 0, 0,
  1923  	0, 0, 1640, 0, 0, 0, 0, 0, 0, 0,
  1924  	0, 0, 0, 0, 0, 125, 0, 147, 0, 0,
  1925  	649, 0, 0, 0, 0, 0, 649, 0, 168, 0,
  1926  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1927  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1928  	0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
  1929  	0, 0, 0, 0, 0, 146, 0, 0, 0, 0,
  1930  	0, 0, 0, 649, 0, 0, 0, 0, 649, 0,
  1931  	0, 0, 649, 649, 165, 0, 0, 166, 0, 0,
  1932  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1933  	0, 0, 0, 0, 0, 0, 1644, 1645, 157, 156,
  1934  	185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1935  	191, 0, 0, 0, 0, 0, 0, 191, 0, 0,
  1936  	0, 0, 0, 0, 0, 0, 191, 191, 0, 0,
  1937  	191, 0, 191, 0, 0, 0, 0, 0, 0, 191,
  1938  	0, 0, 0, 0, 0, 0, 191, 0, 0, 0,
  1939  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1940  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1941  	0, 0, 191, 0, 0, 0, 0, 0, 0, 0,
  1942  	0, 649, 0, 0, 0, 0, 0, 0, 637, 0,
  1943  	0, 0, 0, 0, 0, 0, 0, 0, 0, 151,
  1944  	1646, 154, 0, 1643, 0, 152, 153, 0, 1126, 630,
  1945  	1126, 1126, 169, 0, 0, 0, 0, 0, 0, 0,
  1946  	0, 175, 0, 0, 631, 0, 0, 0, 0, 0,
  1947  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1948  	0, 0, 0, 0, 0, 0, 0, 1362, 0, 2012,
  1949  	0, 0, 0, 0, 0, 0, 0, 0, 890, 1359,
  1950  	1364, 1365, 0, 1368, 0, 1369, 1371, 1372, 1373, 0,
  1951  	1376, 1377, 1379, 1379, 0, 1379, 1383, 1383, 1385, 1386,
  1952  	1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
  1953  	1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
  1954  	1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416,
  1955  	1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426,
  1956  	1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
  1957  	1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446,
  1958  	1447, 1448, 1449, 0, 0, 160, 0, 1450, 0, 1452,
  1959  	1453, 1454, 1455, 1456, 0, 0, 0, 0, 0, 0,
  1960  	0, 0, 1383, 1383, 1383, 1383, 1383, 0, 0, 0,
  1961  	0, 0, 0, 0, 0, 0, 1462, 1463, 1464, 1465,
  1962  	1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475,
  1963  	0, 0, 0, 0, 0, 0, 0, 0, 191, 0,
  1964  	0, 0, 0, 0, 0, 0, 191, 1489, 0, 0,
  1965  	0, 0, 0, 0, 0, 0, 0, 649, 0, 0,
  1966  	0, 0, 0, 155, 0, 0, 0, 0, 649, 0,
  1967  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1968  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1969  	0, 0, 191, 0, 0, 0, 0, 191, 0, 0,
  1970  	1495, 0, 0, 0, 0, 0, 890, 0, 0, 0,
  1971  	890, 0, 0, 0, 0, 0, 890, 0, 0, 0,
  1972  	0, 0, 0, 0, 148, 0, 0, 149, 0, 0,
  1973  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1974  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1975  	0, 0, 0, 0, 0, 0, 0, 161, 0, 0,
  1976  	0, 0, 0, 0, 173, 649, 0, 0, 0, 0,
  1977  	0, 191, 0, 0, 0, 0, 0, 810, 191, 0,
  1978  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1979  	0, 0, 649, 0, 0, 0, 0, 0, 0, 649,
  1980  	0, 0, 0, 0, 0, 181, 0, 0, 649, 0,
  1981  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1982  	0, 0, 0, 0, 1362, 0, 0, 0, 0, 0,
  1983  	0, 0, 0, 0, 0, 0, 628, 191, 191, 191,
  1984  	191, 191, 648, 0, 0, 0, 0, 0, 162, 167,
  1985  	164, 170, 171, 172, 174, 176, 177, 178, 179, 0,
  1986  	0, 191, 191, 0, 180, 182, 183, 184, 0, 0,
  1987  	0, 0, 0, 3201, 3203, 3202, 3220, 3221, 3222, 3223,
  1988  	3224, 3225, 3226, 716, 191, 0, 0, 0, 0, 0,
  1989  	0, 0, 0, 648, 0, 648, 0, 0, 0, 0,
  1990  	0, 0, 0, 0, 0, 649, 0, 0, 0, 0,
  1991  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1992  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1993  	0, 0, 0, 0, 1126, 0, 0, 0, 0, 0,
  1994  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1995  	0, 0, 649, 0, 0, 0, 0, 0, 0, 0,
  1996  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1997  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1998  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  1999  	649, 0, 0, 0, 0, 0, 0, 0, 649, 0,
  2000  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2001  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2002  	0, 0, 0, 0, 0, 0, 0, 0, 0, 649,
  2003  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2004  	0, 0, 0, 191, 0, 0, 0, 649, 0, 0,
  2005  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2006  	0, 649, 0, 0, 0, 1362, 0, 0, 649, 649,
  2007  	1362, 191, 191, 191, 191, 191, 0, 0, 0, 0,
  2008  	0, 0, 0, 191, 0, 0, 0, 0, 0, 191,
  2009  	0, 191, 0, 0, 191, 191, 191, 0, 0, 1126,
  2010  	1126, 0, 0, 0, 0, 0, 0, 3207, 0, 0,
  2011  	0, 0, 0, 83, 0, 0, 83, 0, 0, 0,
  2012  	0, 0, 3215, 3216, 0, 0, 0, 0, 0, 0,
  2013  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2014  	191, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2015  	0, 0, 0, 649, 0, 0, 1362, 0, 0, 0,
  2016  	0, 649, 0, 0, 0, 0, 191, 0, 0, 0,
  2017  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2018  	191, 0, 0, 0, 782, 3501, 695, 786, 697, 783,
  2019  	784, 0, 693, 696, 785, 1586, 0, 0, 0, 191,
  2020  	0, 0, 191, 0, 0, 0, 0, 0, 0, 0,
  2021  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2022  	714, 715, 3200, 3204, 3205, 3206, 3217, 3218, 3219, 3227,
  2023  	3229, 747, 3228, 3230, 3231, 3232, 3235, 3236, 3237, 3238,
  2024  	3233, 3234, 3239, 3184, 3188, 3185, 3186, 3187, 3199, 3189,
  2025  	3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3240,
  2026  	3241, 3242, 3243, 3244, 3245, 3210, 3214, 3213, 3211, 3212,
  2027  	3208, 3209, 0, 0, 0, 0, 0, 0, 0, 0,
  2028  	0, 0, 649, 0, 787, 0, 788, 0, 0, 792,
  2029  	0, 0, 0, 794, 793, 0, 795, 761, 760, 0,
  2030  	0, 789, 790, 0, 791, 0, 0, 0, 0, 0,
  2031  	0, 191, 0, 0, 0, 0, 0, 0, 0, 0,
  2032  	0, 82, 42, 43, 84, 0, 0, 0, 0, 0,
  2033  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1574,
  2034  	0, 88, 0, 0, 0, 46, 73, 74, 0, 71,
  2035  	75, 0, 0, 0, 0, 0, 0, 0, 72, 0,
  2036  	0, 0, 0, 0, 0, 0, 0, 191, 2089, 3246,
  2037  	3247, 3248, 3249, 3250, 3251, 3252, 3253, 0, 0, 0,
  2038  	0, 0, 0, 0, 0, 0, 0, 59, 0, 0,
  2039  	0, 0, 0, 0, 0, 0, 191, 0, 0, 91,
  2040  	0, 0, 0, 0, 0, 0, 648, 1279, 648, 648,
  2041  	0, 0, 0, 0, 0, 0, 191, 0, 0, 191,
  2042  	191, 191, 0, 1587, 0, 0, 0, 0, 648, 649,
  2043  	649, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2044  	950, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2045  	0, 0, 0, 0, 0, 0, 0, 1361, 0, 0,
  2046  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2047  	0, 0, 0, 950, 0, 0, 649, 649, 649, 649,
  2048  	0, 0, 0, 0, 0, 1600, 1603, 1604, 1605, 1606,
  2049  	1607, 1608, 0, 1609, 1610, 1612, 1613, 1611, 1614, 1615,
  2050  	1588, 1589, 1590, 1591, 1572, 1573, 1601, 0, 1575, 0,
  2051  	1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 0,
  2052  	0, 1585, 1592, 1593, 1594, 1595, 0, 1596, 1597, 1598,
  2053  	1599, 0, 0, 0, 0, 0, 0, 49, 52, 55,
  2054  	54, 57, 0, 70, 0, 0, 79, 76, 0, 0,
  2055  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2056  	0, 0, 1494, 0, 0, 0, 0, 0, 0, 0,
  2057  	58, 87, 86, 0, 0, 68, 69, 56, 0, 0,
  2058  	0, 0, 191, 77, 78, 0, 0, 0, 0, 0,
  2059  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1361,
  2060  	0, 1362, 0, 0, 0, 0, 649, 0, 649, 0,
  2061  	0, 0, 0, 0, 0, 0, 0, 0, 0, 595,
  2062  	0, 0, 0, 0, 0, 60, 61, 0, 62, 63,
  2063  	64, 65, 0, 0, 0, 0, 0, 0, 880, 0,
  2064  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2065  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2066  	648, 648, 0, 0, 2286, 0, 0, 0, 649, 0,
  2067  	0, 1602, 0, 0, 0, 0, 0, 0, 0, 946,
  2068  	0, 191, 0, 0, 649, 0, 0, 0, 0, 0,
  2069  	0, 0, 0, 0, 0, 0, 648, 649, 0, 0,
  2070  	0, 0, 0, 2296, 0, 0, 0, 0, 0, 0,
  2071  	0, 648, 0, 0, 0, 0, 0, 0, 0, 0,
  2072  	0, 1617, 0, 0, 0, 0, 0, 0, 0, 0,
  2073  	0, 1626, 0, 0, 0, 0, 0, 0, 0, 0,
  2074  	0, 0, 0, 0, 0, 0, 0, 649, 0, 0,
  2075  	0, 649, 649, 0, 648, 0, 1652, 0, 0, 0,
  2076  	0, 85, 0, 0, 1661, 0, 0, 1361, 1663, 0,
  2077  	0, 1666, 1667, 648, 648, 0, 648, 0, 648, 648,
  2078  	649, 648, 648, 648, 648, 648, 648, 0, 0, 0,
  2079  	0, 0, 0, 0, 1361, 1698, 1699, 1361, 648, 1361,
  2080  	0, 1704, 0, 0, 0, 0, 0, 0, 0, 0,
  2081  	0, 0, 0, 0, 0, 0, 0, 0, 0, 768,
  2082  	0, 0, 0, 90, 0, 0, 0, 0, 0, 2394,
  2083  	0, 0, 0, 648, 0, 0, 0, 0, 0, 0,
  2084  	0, 0, 0, 0, 0, 0, 1766, 0, 0, 648,
  2085  	0, 0, 0, 0, 0, 0, 0, 0, 0, 649,
  2086  	0, 2426, 0, 0, 0, 0, 0, 0, 0, 0,
  2087  	0, 0, 0, 189, 0, 191, 596, 0, 0, 890,
  2088  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2089  	0, 0, 648, 649, 191, 596, 0, 0, 0, 0,
  2090  	2465, 2466, 0, 0, 0, 0, 0, 0, 0, 2089,
  2091  	900, 0, 890, 2485, 0, 0, 0, 0, 0, 0,
  2092  	0, 0, 0, 0, 0, 0, 0, 919, 919, 67,
  2093  	0, 0, 0, 0, 0, 0, 596, 0, 0, 0,
  2094  	0, 0, 0, 0, 649, 0, 1586, 0, 0, 0,
  2095  	0, 0, 0, 0, 1362, 0, 649, 0, 0, 0,
  2096  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2097  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2098  	649, 2012, 0, 0, 0, 0, 0, 0, 0, 0,
  2099  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2100  	0, 0, 649, 0, 0, 0, 0, 0, 0, 0,
  2101  	0, 0, 0, 0, 0, 0, 191, 649, 0, 0,
  2102  	0, 0, 0, 0, 0, 0, 2562, 0, 0, 0,
  2103  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2104  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2105  	0, 0, 0, 0, 0, 0, 0, 648, 648, 0,
  2106  	0, 649, 0, 0, 0, 0, 0, 0, 0, 0,
  2107  	648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2108  	0, 0, 0, 649, 0, 0, 0, 0, 191, 0,
  2109  	1574, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2110  	0, 649, 0, 649, 0, 0, 0, 0, 0, 0,
  2111  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2112  	0, 0, 0, 0, 0, 0, 0, 648, 0, 0,
  2113  	0, 0, 0, 0, 0, 0, 0, 1361, 0, 0,
  2114  	0, 0, 0, 0, 0, 0, 1889, 0, 648, 0,
  2115  	0, 0, 0, 0, 1361, 1066, 0, 1072, 0, 0,
  2116  	1074, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2117  	0, 0, 0, 0, 1587, 0, 0, 0, 0, 648,
  2118  	648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2119  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2120  	0, 0, 0, 0, 0, 0, 0, 2679, 0, 0,
  2121  	0, 0, 0, 0, 1292, 0, 0, 0, 0, 0,
  2122  	0, 0, 0, 0, 0, 0, 0, 0, 0, 648,
  2123  	0, 0, 0, 0, 0, 0, 1600, 1603, 1604, 1605,
  2124  	1606, 1607, 1608, 0, 1609, 1610, 1612, 1613, 1611, 1614,
  2125  	1615, 1588, 1589, 1590, 1591, 1572, 1573, 1601, 0, 1575,
  2126  	2089, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584,
  2127  	0, 0, 1585, 1592, 1593, 1594, 1595, 648, 1596, 1597,
  2128  	1598, 1599, 0, 2741, 0, 83, 0, 0, 2089, 2089,
  2129  	2089, 2089, 2089, 0, 0, 0, 0, 0, 0, 0,
  2130  	0, 0, 0, 0, 648, 0, 0, 0, 2089, 0,
  2131  	0, 2089, 0, 0, 0, 0, 0, 0, 648, 0,
  2132  	0, 648, 0, 0, 0, 0, 0, 0, 0, 0,
  2133  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2134  	0, 648, 0, 0, 0, 0, 0, 0, 0, 0,
  2135  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2136  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2137  	0, 0, 0, 0, 0, 2847, 0, 0, 0, 0,
  2138  	0, 0, 0, 0, 0, 2855, 0, 0, 0, 0,
  2139  	0, 0, 0, 0, 0, 0, 0, 0, 648, 0,
  2140  	0, 0, 0, 0, 0, 2172, 2173, 2174, 0, 0,
  2141  	0, 0, 596, 0, 596, 0, 0, 596, 0, 0,
  2142  	0, 0, 1602, 0, 0, 648, 0, 0, 0, 0,
  2143  	0, 648, 1661, 0, 0, 1661, 0, 1661, 0, 0,
  2144  	0, 91, 0, 2204, 828, 0, 0, 0, 816, 829,
  2145  	830, 831, 832, 817, 0, 0, 818, 819, 0, 820,
  2146  	0, 0, 0, 0, 767, 0, 0, 0, 0, 0,
  2147  	0, 596, 0, 825, 833, 834, 0, 0, 648, 0,
  2148  	0, 0, 0, 648, 1547, 0, 0, 648, 648, 0,
  2149  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1363,
  2150  	0, 0, 1564, 0, 0, 0, 0, 0, 0, 0,
  2151  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2152  	2859, 2860, 0, 0, 0, 0, 0, 0, 0, 647,
  2153  	0, 0, 835, 836, 837, 838, 839, 840, 841, 842,
  2154  	843, 844, 845, 846, 847, 848, 849, 850, 851, 852,
  2155  	853, 854, 855, 856, 857, 858, 859, 860, 861, 862,
  2156  	863, 864, 865, 866, 867, 868, 869, 870, 871, 872,
  2157  	873, 874, 875, 876, 0, 0, 0, 0, 0, 0,
  2158  	942, 0, 949, 0, 2089, 1703, 0, 0, 0, 0,
  2159  	0, 0, 0, 0, 0, 0, 648, 3025, 0, 0,
  2160  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2161  	0, 0, 0, 0, 0, 2861, 0, 0, 0, 0,
  2162  	1748, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2163  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2164  	0, 1363, 0, 0, 0, 0, 0, 0, 0, 0,
  2165  	0, 0, 1782, 0, 0, 0, 0, 0, 0, 1786,
  2166  	0, 0, 1361, 0, 648, 0, 0, 0, 0, 0,
  2167  	1797, 1798, 1799, 1800, 1801, 1802, 1803, 0, 0, 0,
  2168  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2169  	0, 0, 2862, 2863, 0, 0, 0, 0, 596, 0,
  2170  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2171  	0, 0, 0, 0, 0, 0, 0, 0, 900, 0,
  2172  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2173  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2174  	0, 596, 0, 0, 0, 0, 0, 0, 0, 0,
  2175  	0, 0, 0, 0, 0, 0, 0, 0, 0, 596,
  2176  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2177  	0, 0, 0, 782, 0, 0, 786, 0, 783, 784,
  2178  	0, 0, 0, 785, 0, 0, 0, 0, 0, 0,
  2179  	0, 0, 0, 0, 0, 3144, 0, 3148, 3149, 0,
  2180  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1363,
  2181  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2182  	2741, 0, 83, 0, 2741, 0, 0, 0, 0, 0,
  2183  	0, 0, 648, 0, 0, 0, 1363, 0, 0, 1363,
  2184  	0, 1363, 596, 648, 0, 0, 0, 0, 0, 0,
  2185  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2186  	0, 0, 1720, 0, 1833, 0, 0, 0, 0, 0,
  2187  	0, 0, 0, 0, 0, 0, 0, 596, 0, 0,
  2188  	0, 0, 0, 0, 0, 0, 0, 0, 2499, 0,
  2189  	0, 3270, 0, 1772, 0, 0, 0, 0, 0, 0,
  2190  	0, 0, 0, 0, 0, 0, 0, 0, 0, 596,
  2191  	0, 0, 0, 0, 0, 0, 596, 0, 0, 0,
  2192  	0, 0, 0, 0, 0, 1795, 1796, 596, 596, 596,
  2193  	596, 596, 596, 596, 0, 0, 0, 0, 0, 0,
  2194  	648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2195  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2196  	0, 0, 0, 0, 0, 0, 0, 648, 0, 0,
  2197  	0, 0, 0, 0, 648, 0, 0, 0, 1661, 1661,
  2198  	0, 0, 0, 648, 0, 0, 0, 0, 0, 0,
  2199  	2741, 0, 0, 0, 0, 0, 0, 0, 0, 1361,
  2200  	2572, 0, 0, 0, 1385, 1386, 1387, 1388, 1389, 1390,
  2201  	1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400,
  2202  	1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413,
  2203  	1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
  2204  	1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433,
  2205  	1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444,
  2206  	1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471,
  2207  	1472, 1473, 1474, 1475, 0, 0, 0, 0, 0, 0,
  2208  	648, 0, 0, 0, 0, 0, 0, 0, 3369, 0,
  2209  	0, 0, 0, 1128, 0, 1128, 1128, 0, 0, 2075,
  2210  	0, 0, 0, 0, 0, 0, 83, 2079, 0, 2082,
  2211  	0, 0, 1833, 0, 0, 1291, 0, 0, 0, 0,
  2212  	0, 596, 0, 0, 0, 0, 0, 648, 0, 0,
  2213  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2214  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2215  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2216  	0, 0, 0, 0, 0, 648, 0, 0, 0, 0,
  2217  	0, 0, 0, 648, 0, 0, 0, 3414, 0, 1363,
  2218  	0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
  2219  	0, 919, 919, 0, 0, 0, 1363, 0, 0, 0,
  2220  	0, 0, 0, 0, 648, 0, 0, 0, 0, 0,
  2221  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2222  	0, 0, 648, 0, 0, 0, 0, 0, 0, 0,
  2223  	0, 0, 0, 0, 0, 0, 648, 0, 0, 0,
  2224  	1361, 0, 0, 648, 648, 1361, 0, 0, 0, 0,
  2225  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2226  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2227  	919, 1772, 919, 919, 919, 919, 919, 0, 0, 3498,
  2228  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2229  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2230  	0, 0, 0, 0, 0, 0, 2810, 0, 0, 0,
  2231  	1833, 0, 0, 0, 1720, 0, 0, 2239, 0, 0,
  2232  	0, 0, 0, 0, 0, 0, 2256, 2257, 648, 919,
  2233  	2261, 1361, 0, 0, 0, 0, 648, 0, 0, 2264,
  2234  	0, 0, 0, 900, 0, 0, 2267, 1497, 1498, 0,
  2235  	0, 0, 0, 0, 0, 0, 596, 0, 0, 0,
  2236  	0, 0, 0, 1772, 596, 0, 596, 0, 596, 2098,
  2237  	0, 0, 2270, 0, 0, 0, 0, 0, 0, 0,
  2238  	0, 0, 0, 1541, 0, 0, 0, 2889, 0, 0,
  2239  	0, 0, 0, 0, 0, 0, 0, 0, 1559, 0,
  2240  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2241  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2242  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2243  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2244  	0, 942, 0, 0, 0, 0, 0, 0, 0, 0,
  2245  	0, 0, 0, 0, 0, 0, 0, 648, 0, 0,
  2246  	1669, 1669, 0, 1669, 0, 1669, 1669, 0, 1678, 1669,
  2247  	1669, 1669, 1669, 1669, 0, 0, 0, 0, 0, 0,
  2248  	0, 0, 0, 0, 0, 942, 0, 0, 0, 0,
  2249  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2250  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2251  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2252  	1746, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2253  	0, 0, 0, 0, 0, 0, 1770, 0, 0, 0,
  2254  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2255  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2256  	3032, 0, 0, 0, 0, 0, 0, 596, 0, 0,
  2257  	828, 0, 0, 0, 596, 829, 0, 0, 0, 1128,
  2258  	0, 0, 0, 596, 596, 1880, 0, 596, 0, 2263,
  2259  	0, 0, 0, 0, 0, 0, 596, 0, 0, 0,
  2260  	0, 0, 0, 596, 648, 648, 0, 0, 0, 0,
  2261  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2262  	0, 0, 0, 0, 0, 0, 0, 0, 0, 596,
  2263  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2264  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2265  	0, 648, 648, 648, 648, 0, 0, 2486, 835, 836,
  2266  	837, 838, 839, 840, 841, 842, 843, 844, 845, 846,
  2267  	847, 848, 849, 850, 851, 852, 853, 854, 855, 856,
  2268  	857, 858, 859, 860, 861, 862, 863, 864, 865, 866,
  2269  	867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
  2270  	0, 0, 0, 0, 1363, 0, 1772, 0, 0, 0,
  2271  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2272  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2273  	0, 2535, 0, 0, 0, 0, 0, 0, 0, 0,
  2274  	0, 0, 0, 0, 1128, 1128, 0, 0, 0, 0,
  2275  	0, 0, 0, 0, 0, 0, 0, 1821, 0, 0,
  2276  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2277  	0, 0, 0, 0, 0, 0, 1361, 0, 0, 0,
  2278  	0, 648, 0, 648, 0, 0, 0, 0, 0, 0,
  2279  	0, 0, 0, 0, 0, 0, 0, 2584, 2585, 2586,
  2280  	2587, 2588, 0, 0, 0, 0, 0, 0, 0, 0,
  2281  	0, 0, 0, 0, 1875, 0, 0, 0, 0, 0,
  2282  	0, 1833, 2598, 0, 0, 0, 0, 0, 0, 0,
  2283  	0, 0, 0, 0, 0, 1891, 0, 0, 0, 0,
  2284  	0, 0, 0, 648, 2606, 0, 0, 0, 0, 0,
  2285  	0, 0, 0, 0, 0, 596, 0, 0, 0, 648,
  2286  	0, 0, 0, 1720, 0, 0, 1924, 1925, 0, 0,
  2287  	0, 0, 648, 0, 0, 0, 0, 0, 0, 0,
  2288  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2289  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2290  	0, 0, 0, 0, 0, 0, 0, 0, 0, 596,
  2291  	0, 0, 0, 0, 596, 0, 1128, 0, 0, 0,
  2292  	0, 0, 648, 0, 0, 0, 648, 648, 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  	0, 0, 0, 0, 0, 648, 0, 0, 0, 0,
  2296  	0, 0, 0, 0, 2049, 0, 0, 0, 0, 0,
  2297  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2298  	0, 0, 0, 0, 0, 0, 0, 0, 596, 0,
  2299  	0, 2061, 0, 0, 0, 2541, 0, 0, 0, 0,
  2300  	0, 0, 0, 0, 0, 1541, 0, 0, 1128, 0,
  2301  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2302  	0, 0, 0, 0, 0, 0, 0, 0, 942, 0,
  2303  	0, 0, 0, 0, 648, 0, 0, 0, 0, 0,
  2304  	0, 1363, 0, 0, 0, 0, 0, 0, 0, 0,
  2305  	0, 0, 0, 0, 596, 596, 596, 596, 596, 0,
  2306  	0, 0, 0, 0, 0, 0, 0, 0, 648, 0,
  2307  	0, 0, 0, 0, 0, 0, 0, 0, 596, 596,
  2308  	0, 0, 0, 0, 0, 949, 0, 0, 0, 0,
  2309  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2310  	2815, 596, 0, 0, 0, 0, 0, 0, 0, 0,
  2311  	0, 0, 942, 0, 0, 0, 0, 0, 949, 648,
  2312  	0, 0, 0, 0, 0, 919, 2853, 0, 0, 1361,
  2313  	0, 648, 0, 0, 0, 0, 0, 0, 0, 0,
  2314  	2865, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2315  	0, 0, 0, 0, 0, 648, 648, 0, 0, 2882,
  2316  	0, 0, 2885, 0, 0, 942, 0, 0, 0, 0,
  2317  	1875, 0, 0, 0, 1875, 1875, 0, 648, 0, 0,
  2318  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2319  	0, 0, 648, 0, 0, 0, 0, 0, 0, 0,
  2320  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2321  	0, 0, 0, 0, 919, 0, 0, 0, 0, 0,
  2322  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2323  	0, 0, 0, 0, 0, 0, 648, 0, 0, 0,
  2324  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2325  	0, 0, 0, 0, 0, 0, 0, 0, 648, 0,
  2326  	596, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2327  	0, 2981, 0, 0, 0, 0, 648, 0, 648, 0,
  2328  	0, 0, 1363, 2273, 0, 0, 0, 1363, 596, 596,
  2329  	596, 596, 596, 0, 0, 0, 0, 0, 0, 0,
  2330  	2760, 0, 0, 0, 0, 0, 1720, 0, 596, 0,
  2331  	0, 596, 2768, 1772, 0, 0, 0, 0, 0, 0,
  2332  	0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
  2333  	0, 0, 828, 0, 0, 0, 816, 829, 830, 831,
  2334  	832, 817, 0, 0, 818, 819, 0, 820, 0, 0,
  2335  	0, 1128, 0, 0, 0, 0, 3042, 596, 0, 0,
  2336  	0, 825, 833, 834, 0, 0, 0, 0, 0, 0,
  2337  	0, 0, 0, 1363, 0, 0, 3057, 0, 0, 3058,
  2338  	3059, 3060, 0, 596, 0, 0, 0, 0, 0, 0,
  2339  	0, 0, 0, 0, 0, 0, 0, 596, 0, 0,
  2340  	0, 0, 0, 0, 0, 0, 0, 0, 2859, 2860,
  2341  	0, 0, 0, 0, 0, 0, 596, 0, 0, 596,
  2342  	835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
  2343  	845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
  2344  	855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
  2345  	865, 866, 867, 868, 869, 870, 871, 872, 873, 874,
  2346  	875, 876, 0, 0, 0, 0, 0, 0, 0, 0,
  2347  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2348  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2349  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2350  	0, 0, 0, 2861, 0, 0, 0, 0, 0, 0,
  2351  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2434,
  2352  	0, 0, 0, 0, 0, 0, 0, 0, 596, 0,
  2353  	2449, 0, 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  	2862, 2863, 0, 0, 596, 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, 0, 0,
  2361  	0, 0, 0, 596, 0, 0, 0, 0, 0, 0,
  2362  	0, 0, 0, 0, 0, 0, 0, 2531, 0, 0,
  2363  	0, 0, 0, 596, 0, 0, 596, 596, 596, 0,
  2364  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2365  	0, 0, 0, 0, 2061, 0, 0, 0, 0, 0,
  2366  	0, 2556, 0, 0, 0, 0, 0, 0, 0, 0,
  2367  	2561, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2368  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2369  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2370  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2371  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2372  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2373  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2374  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2375  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2376  	0, 0, 0, 0, 0, 0, 0, 1875, 0, 0,
  2377  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2378  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2379  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1720,
  2380  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2381  	0, 0, 0, 0, 1875, 0, 0, 0, 1363, 0,
  2382  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2383  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2384  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2385  	0, 0, 2680, 0, 3380, 0, 0, 0, 0, 0,
  2386  	1128, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2387  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2388  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2389  	0, 1669, 0, 0, 0, 0, 0, 0, 1720, 0,
  2390  	0, 0, 0, 0, 0, 0, 0, 0, 0, 2717,
  2391  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2392  	0, 0, 0, 1128, 0, 0, 0, 0, 0, 0,
  2393  	2744, 1669, 0, 0, 0, 0, 0, 0, 0, 0,
  2394  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2395  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2396  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2397  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2398  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2399  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2400  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2401  	0, 0, 0, 0, 0, 942, 0, 0, 0, 0,
  2402  	0, 0, 0, 2061, 0, 0, 0, 0, 0, 0,
  2403  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2404  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2405  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2406  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2407  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2408  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2409  	0, 0, 1720, 0, 0, 0, 0, 0, 0, 0,
  2410  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2411  	0, 596, 0, 0, 0, 0, 0, 0, 0, 0,
  2412  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2413  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2414  	0, 0, 0, 0, 2952, 0, 0, 0, 0, 0,
  2415  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2416  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2417  	0, 1363, 0, 0, 0, 0, 0, 0, 0, 0,
  2418  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2419  	0, 0, 0, 0, 0, 0, 0, 0, 3433, 0,
  2420  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2421  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2422  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2423  	0, 0, 0, 1720, 0, 0, 0, 0, 0, 0,
  2424  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2425  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2426  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2427  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2428  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2429  	0, 2061, 2061, 0, 0, 0, 0, 0, 0, 0,
  2430  	0, 0, 0, 0, 0, 1772, 0, 0, 0, 0,
  2431  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2432  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2433  	0, 0, 0, 0, 0, 0, 0, 0, 3096, 3097,
  2434  	3098, 3099, 0, 0, 0, 0, 0, 0, 0, 0,
  2435  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2436  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2437  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2438  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2439  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2440  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2441  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2442  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2443  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2444  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2445  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2446  	0, 0, 0, 0, 0, 0, 0, 0, 3172, 0,
  2447  	3174, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2448  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2449  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2450  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2451  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2452  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2453  	2061, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2454  	0, 0, 0, 0, 0, 0, 3280, 0, 0, 0,
  2455  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1128,
  2456  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2457  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2458  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2459  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2460  	0, 0, 0, 0, 0, 0, 0, 0, 0, 3330,
  2461  	0, 0, 0, 3330, 3330, 0, 0, 0, 0, 0,
  2462  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2463  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2464  	0, 0, 2061, 0, 0, 0, 0, 0, 0, 0,
  2465  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2466  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2467  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2468  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2469  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2470  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2471  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2472  	0, 2061, 0, 0, 0, 0, 0, 0, 0, 0,
  2473  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2474  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2475  	0, 0, 0, 0, 0, 2061, 0, 0, 0, 0,
  2476  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2477  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2478  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2479  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2480  	0, 0, 0, 0, 0, 0, 3407, 0, 0, 0,
  2481  	0, 0, 0, 0, 0, 0, 0, 0, 3411, 0,
  2482  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2483  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2484  	0, 0, 1128, 1128, 0, 0, 0, 0, 0, 0,
  2485  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2486  	0, 0, 0, 0, 3455, 0, 0, 0, 0, 0,
  2487  	0, 0, 0, 0, 0, 0, 0, 0, 0, 3463,
  2488  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2489  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2490  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2491  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2492  	0, 0, 0, 3407, 0, 0, 0, 0, 0, 0,
  2493  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2494  	0, 0, 0, 0, 0, 2061, 0, 0, 0, 0,
  2495  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2496  	0, 0, 383, 2952, 0, 3463, 1262, 1247, 502, 0,
  2497  	1190, 1265, 1159, 1178, 1275, 1181, 1184, 1226, 1138, 1204,
  2498  	402, 1175, 1131, 1163, 1133, 1170, 1134, 1161, 1192, 260,
  2499  	1158, 1249, 1208, 1264, 353, 257, 1140, 1164, 416, 1180,
  2500  	198, 1228, 471, 244, 364, 361, 510, 272, 263, 259,
  2501  	242, 306, 372, 414, 492, 408, 1271, 357, 1214, 0,
  2502  	481, 387, 0, 0, 0, 1194, 1253, 1202, 1240, 1189,
  2503  	1227, 1148, 1213, 1266, 1176, 1223, 1267, 312, 240, 314,
  2504  	197, 399, 482, 276, 0, 0, 0, 0, 3435, 812,
  2505  	0, 0, 0, 0, 3436, 0, 0, 0, 0, 230,
  2506  	0, 0, 237, 0, 0, 0, 338, 347, 346, 327,
  2507  	328, 330, 332, 337, 344, 350, 1172, 1220, 1261, 1173,
  2508  	1222, 255, 310, 262, 254, 507, 1272, 1252, 1137, 1201,
  2509  	1260, 0, 0, 221, 1263, 1196, 0, 1225, 0, 1278,
  2510  	1132, 1216, 0, 1135, 1139, 1274, 1256, 1167, 265, 0,
  2511  	0, 0, 0, 0, 0, 0, 1193, 1203, 1237, 1241,
  2512  	1187, 0, 0, 0, 0, 0, 0, 0, 1165, 0,
  2513  	1212, 0, 0, 0, 1144, 1136, 0, 0, 0, 0,
  2514  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2515  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2516  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2517  	0, 0, 0, 0, 0, 0, 0, 0, 1191, 0,
  2518  	0, 0, 0, 1147, 0, 1166, 1238, 0, 1130, 287,
  2519  	1141, 388, 247, 0, 438, 1245, 1255, 1188, 549, 1259,
  2520  	1186, 1185, 1232, 1145, 1251, 1179, 352, 1143, 319, 193,
  2521  	217, 0, 1177, 398, 446, 458, 1250, 1162, 1171, 245,
  2522  	1169, 456, 412, 527, 225, 274, 443, 418, 454, 426,
  2523  	277, 1211, 1230, 455, 359, 512, 436, 524, 550, 551,
  2524  	253, 392, 536, 496, 544, 568, 218, 250, 406, 489,
  2525  	530, 478, 384, 508, 509, 318, 477, 285, 196, 356,
  2526  	556, 216, 464, 358, 234, 223, 514, 533, 279, 441,
  2527  	563, 205, 491, 522, 231, 468, 0, 0, 570, 239,
  2528  	488, 207, 519, 487, 380, 315, 316, 206, 0, 442,
  2529  	258, 283, 0, 0, 248, 401, 516, 517, 246, 571,
  2530  	220, 543, 212, 1142, 542, 394, 511, 520, 381, 370,
  2531  	211, 518, 379, 369, 323, 342, 343, 270, 296, 433,
  2532  	362, 434, 295, 297, 390, 389, 391, 200, 531, 0,
  2533  	201, 0, 483, 532, 572, 226, 227, 229, 1157, 269,
  2534  	273, 281, 284, 292, 293, 302, 354, 405, 432, 428,
  2535  	437, 1246, 506, 525, 537, 548, 554, 555, 557, 558,
  2536  	559, 560, 561, 564, 562, 393, 300, 479, 322, 360,
  2537  	1235, 1277, 411, 457, 232, 529, 480, 1152, 1156, 1150,
  2538  	1217, 1151, 1206, 1207, 1153, 1268, 1269, 1270, 573, 574,
  2539  	575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
  2540  	585, 586, 587, 588, 589, 590, 0, 1239, 1146, 0,
  2541  	1154, 1155, 1248, 1257, 1258, 591, 371, 470, 526, 324,
  2542  	336, 339, 329, 348, 0, 349, 325, 326, 331, 333,
  2543  	334, 335, 340, 341, 345, 351, 241, 203, 377, 385,
  2544  	505, 301, 208, 209, 210, 498, 499, 500, 501, 540,
  2545  	541, 545, 447, 448, 449, 450, 282, 535, 298, 453,
  2546  	452, 320, 321, 366, 435, 1210, 192, 213, 355, 1273,
  2547  	439, 278, 569, 539, 534, 199, 215, 1149, 252, 1160,
  2548  	1168, 0, 1174, 1182, 1183, 1195, 1197, 1198, 1199, 1200,
  2549  	1218, 1219, 1221, 1229, 1231, 1234, 1236, 1243, 1254, 1276,
  2550  	194, 195, 202, 214, 224, 228, 235, 251, 266, 268,
  2551  	275, 288, 299, 307, 308, 311, 317, 367, 373, 374,
  2552  	375, 376, 395, 396, 397, 400, 403, 404, 407, 409,
  2553  	410, 413, 417, 421, 422, 423, 425, 427, 429, 440,
  2554  	445, 459, 460, 461, 462, 463, 466, 467, 472, 473,
  2555  	474, 475, 476, 484, 485, 490, 513, 515, 528, 546,
  2556  	552, 465, 290, 291, 430, 431, 303, 304, 566, 567,
  2557  	289, 523, 553, 521, 565, 547, 424, 365, 1209, 1215,
  2558  	368, 271, 294, 309, 1224, 538, 486, 219, 451, 280,
  2559  	243, 1242, 1244, 204, 238, 222, 249, 264, 267, 313,
  2560  	378, 386, 415, 420, 286, 261, 236, 444, 233, 469,
  2561  	493, 494, 495, 497, 382, 256, 419, 1205, 1233, 363,
  2562  	503, 504, 305, 383, 0, 0, 0, 1262, 1247, 502,
  2563  	0, 1190, 1265, 1159, 1178, 1275, 1181, 1184, 1226, 1138,
  2564  	1204, 402, 1175, 1131, 1163, 1133, 1170, 1134, 1161, 1192,
  2565  	260, 1158, 1249, 1208, 1264, 353, 257, 1140, 1164, 416,
  2566  	1180, 198, 1228, 471, 244, 364, 361, 510, 272, 263,
  2567  	259, 242, 306, 372, 414, 492, 408, 1271, 357, 1214,
  2568  	0, 481, 387, 0, 0, 0, 1194, 1253, 1202, 1240,
  2569  	1189, 1227, 1148, 1213, 1266, 1176, 1223, 1267, 312, 240,
  2570  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  2571  	190, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2572  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  2573  	327, 328, 330, 332, 337, 344, 350, 1172, 1220, 1261,
  2574  	1173, 1222, 255, 310, 262, 254, 507, 1272, 1252, 1137,
  2575  	1201, 1260, 0, 0, 221, 1263, 1196, 0, 1225, 0,
  2576  	1278, 1132, 1216, 0, 1135, 1139, 1274, 1256, 1167, 265,
  2577  	0, 0, 0, 0, 0, 0, 0, 1193, 1203, 1237,
  2578  	1241, 1187, 0, 0, 0, 0, 0, 2769, 0, 1165,
  2579  	0, 1212, 0, 0, 0, 1144, 1136, 0, 0, 0,
  2580  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2581  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2582  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2583  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1191,
  2584  	0, 0, 0, 0, 1147, 0, 1166, 1238, 0, 1130,
  2585  	287, 1141, 388, 247, 0, 438, 1245, 1255, 1188, 549,
  2586  	1259, 1186, 1185, 1232, 1145, 1251, 1179, 352, 1143, 319,
  2587  	193, 217, 0, 1177, 398, 446, 458, 1250, 1162, 1171,
  2588  	245, 1169, 456, 412, 527, 225, 274, 443, 418, 454,
  2589  	426, 277, 1211, 1230, 455, 359, 512, 436, 524, 550,
  2590  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  2591  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  2592  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  2593  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  2594  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  2595  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  2596  	571, 220, 543, 212, 1142, 542, 394, 511, 520, 381,
  2597  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  2598  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  2599  	0, 201, 0, 483, 532, 572, 226, 227, 229, 1157,
  2600  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  2601  	428, 437, 1246, 506, 525, 537, 548, 554, 555, 557,
  2602  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  2603  	360, 1235, 1277, 411, 457, 232, 529, 480, 1152, 1156,
  2604  	1150, 1217, 1151, 1206, 1207, 1153, 1268, 1269, 1270, 573,
  2605  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  2606  	584, 585, 586, 587, 588, 589, 590, 0, 1239, 1146,
  2607  	0, 1154, 1155, 1248, 1257, 1258, 591, 371, 470, 526,
  2608  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  2609  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  2610  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  2611  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  2612  	453, 452, 320, 321, 366, 435, 1210, 192, 213, 355,
  2613  	1273, 439, 278, 569, 539, 534, 199, 215, 1149, 252,
  2614  	1160, 1168, 0, 1174, 1182, 1183, 1195, 1197, 1198, 1199,
  2615  	1200, 1218, 1219, 1221, 1229, 1231, 1234, 1236, 1243, 1254,
  2616  	1276, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  2617  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  2618  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  2619  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  2620  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  2621  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  2622  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  2623  	567, 289, 523, 553, 521, 565, 547, 424, 365, 1209,
  2624  	1215, 368, 271, 294, 309, 1224, 538, 486, 219, 451,
  2625  	280, 243, 1242, 1244, 204, 238, 222, 249, 264, 267,
  2626  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  2627  	469, 493, 494, 495, 497, 382, 256, 419, 1205, 1233,
  2628  	363, 503, 504, 305, 383, 0, 0, 0, 1262, 1247,
  2629  	502, 0, 1190, 1265, 1159, 1178, 1275, 1181, 1184, 1226,
  2630  	1138, 1204, 402, 1175, 1131, 1163, 1133, 1170, 1134, 1161,
  2631  	1192, 260, 1158, 1249, 1208, 1264, 353, 257, 1140, 1164,
  2632  	416, 1180, 198, 1228, 471, 244, 364, 361, 510, 272,
  2633  	263, 259, 242, 306, 372, 414, 492, 408, 1271, 357,
  2634  	1214, 0, 481, 387, 0, 0, 0, 1194, 1253, 1202,
  2635  	1240, 1189, 1227, 1148, 1213, 1266, 1176, 1223, 1267, 312,
  2636  	240, 314, 197, 399, 482, 276, 0, 0, 0, 0,
  2637  	0, 638, 0, 0, 0, 0, 0, 0, 0, 0,
  2638  	0, 230, 0, 0, 237, 0, 0, 0, 338, 347,
  2639  	346, 327, 328, 330, 332, 337, 344, 350, 1172, 1220,
  2640  	1261, 1173, 1222, 255, 310, 262, 254, 507, 1272, 1252,
  2641  	1137, 1201, 1260, 0, 0, 221, 1263, 1196, 0, 1225,
  2642  	0, 1278, 1132, 1216, 0, 1135, 1139, 1274, 1256, 1167,
  2643  	265, 0, 0, 0, 0, 0, 0, 0, 1193, 1203,
  2644  	1237, 1241, 1187, 0, 0, 0, 0, 0, 2730, 0,
  2645  	1165, 0, 1212, 0, 0, 0, 1144, 1136, 0, 0,
  2646  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2647  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2648  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2649  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2650  	1191, 0, 0, 0, 0, 1147, 0, 1166, 1238, 0,
  2651  	1130, 287, 1141, 388, 247, 0, 438, 1245, 1255, 1188,
  2652  	549, 1259, 1186, 1185, 1232, 1145, 1251, 1179, 352, 1143,
  2653  	319, 193, 217, 0, 1177, 398, 446, 458, 1250, 1162,
  2654  	1171, 245, 1169, 456, 412, 527, 225, 274, 443, 418,
  2655  	454, 426, 277, 1211, 1230, 455, 359, 512, 436, 524,
  2656  	550, 551, 253, 392, 536, 496, 544, 568, 218, 250,
  2657  	406, 489, 530, 478, 384, 508, 509, 318, 477, 285,
  2658  	196, 356, 556, 216, 464, 358, 234, 223, 514, 533,
  2659  	279, 441, 563, 205, 491, 522, 231, 468, 0, 0,
  2660  	570, 239, 488, 207, 519, 487, 380, 315, 316, 206,
  2661  	0, 442, 258, 283, 0, 0, 248, 401, 516, 517,
  2662  	246, 571, 220, 543, 212, 1142, 542, 394, 511, 520,
  2663  	381, 370, 211, 518, 379, 369, 323, 342, 343, 270,
  2664  	296, 433, 362, 434, 295, 297, 390, 389, 391, 200,
  2665  	531, 0, 201, 0, 483, 532, 572, 226, 227, 229,
  2666  	1157, 269, 273, 281, 284, 292, 293, 302, 354, 405,
  2667  	432, 428, 437, 1246, 506, 525, 537, 548, 554, 555,
  2668  	557, 558, 559, 560, 561, 564, 562, 393, 300, 479,
  2669  	322, 360, 1235, 1277, 411, 457, 232, 529, 480, 1152,
  2670  	1156, 1150, 1217, 1151, 1206, 1207, 1153, 1268, 1269, 1270,
  2671  	573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
  2672  	583, 584, 585, 586, 587, 588, 589, 590, 0, 1239,
  2673  	1146, 0, 1154, 1155, 1248, 1257, 1258, 591, 371, 470,
  2674  	526, 324, 336, 339, 329, 348, 0, 349, 325, 326,
  2675  	331, 333, 334, 335, 340, 341, 345, 351, 241, 203,
  2676  	377, 385, 505, 301, 208, 209, 210, 498, 499, 500,
  2677  	501, 540, 541, 545, 447, 448, 449, 450, 282, 535,
  2678  	298, 453, 452, 320, 321, 366, 435, 1210, 192, 213,
  2679  	355, 1273, 439, 278, 569, 539, 534, 199, 215, 1149,
  2680  	252, 1160, 1168, 0, 1174, 1182, 1183, 1195, 1197, 1198,
  2681  	1199, 1200, 1218, 1219, 1221, 1229, 1231, 1234, 1236, 1243,
  2682  	1254, 1276, 194, 195, 202, 214, 224, 228, 235, 251,
  2683  	266, 268, 275, 288, 299, 307, 308, 311, 317, 367,
  2684  	373, 374, 375, 376, 395, 396, 397, 400, 403, 404,
  2685  	407, 409, 410, 413, 417, 421, 422, 423, 425, 427,
  2686  	429, 440, 445, 459, 460, 461, 462, 463, 466, 467,
  2687  	472, 473, 474, 475, 476, 484, 485, 490, 513, 515,
  2688  	528, 546, 552, 465, 290, 291, 430, 431, 303, 304,
  2689  	566, 567, 289, 523, 553, 521, 565, 547, 424, 365,
  2690  	1209, 1215, 368, 271, 294, 309, 1224, 538, 486, 219,
  2691  	451, 280, 243, 1242, 1244, 204, 238, 222, 249, 264,
  2692  	267, 313, 378, 386, 415, 420, 286, 261, 236, 444,
  2693  	233, 469, 493, 494, 495, 497, 382, 256, 419, 1205,
  2694  	1233, 363, 503, 504, 305, 383, 0, 0, 0, 1262,
  2695  	1247, 502, 0, 1190, 1265, 1159, 1178, 1275, 1181, 1184,
  2696  	1226, 1138, 1204, 402, 1175, 1131, 1163, 1133, 1170, 1134,
  2697  	1161, 1192, 260, 1158, 1249, 1208, 1264, 353, 257, 1140,
  2698  	1164, 416, 1180, 198, 1228, 471, 244, 364, 361, 510,
  2699  	272, 263, 259, 242, 306, 372, 414, 492, 408, 1271,
  2700  	357, 1214, 0, 481, 387, 0, 0, 0, 1194, 1253,
  2701  	1202, 1240, 1189, 1227, 1148, 1213, 1266, 1176, 1223, 1267,
  2702  	312, 240, 314, 197, 399, 482, 276, 0, 0, 0,
  2703  	0, 0, 812, 0, 0, 0, 0, 0, 0, 0,
  2704  	0, 0, 230, 0, 0, 237, 0, 0, 0, 338,
  2705  	347, 346, 327, 328, 330, 332, 337, 344, 350, 1172,
  2706  	1220, 1261, 1173, 1222, 255, 310, 262, 254, 507, 1272,
  2707  	1252, 1137, 1201, 1260, 0, 0, 221, 1263, 1196, 0,
  2708  	1225, 0, 1278, 1132, 1216, 0, 1135, 1139, 1274, 1256,
  2709  	1167, 265, 0, 0, 0, 0, 0, 0, 0, 1193,
  2710  	1203, 1237, 1241, 1187, 0, 0, 0, 0, 0, 2077,
  2711  	0, 1165, 0, 1212, 0, 0, 0, 1144, 1136, 0,
  2712  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2713  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2714  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2715  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2716  	0, 1191, 0, 0, 0, 0, 1147, 0, 1166, 1238,
  2717  	0, 1130, 287, 1141, 388, 247, 0, 438, 1245, 1255,
  2718  	1188, 549, 1259, 1186, 1185, 1232, 1145, 1251, 1179, 352,
  2719  	1143, 319, 193, 217, 0, 1177, 398, 446, 458, 1250,
  2720  	1162, 1171, 245, 1169, 456, 412, 527, 225, 274, 443,
  2721  	418, 454, 426, 277, 1211, 1230, 455, 359, 512, 436,
  2722  	524, 550, 551, 253, 392, 536, 496, 544, 568, 218,
  2723  	250, 406, 489, 530, 478, 384, 508, 509, 318, 477,
  2724  	285, 196, 356, 556, 216, 464, 358, 234, 223, 514,
  2725  	533, 279, 441, 563, 205, 491, 522, 231, 468, 0,
  2726  	0, 570, 239, 488, 207, 519, 487, 380, 315, 316,
  2727  	206, 0, 442, 258, 283, 0, 0, 248, 401, 516,
  2728  	517, 246, 571, 220, 543, 212, 1142, 542, 394, 511,
  2729  	520, 381, 370, 211, 518, 379, 369, 323, 342, 343,
  2730  	270, 296, 433, 362, 434, 295, 297, 390, 389, 391,
  2731  	200, 531, 0, 201, 0, 483, 532, 572, 226, 227,
  2732  	229, 1157, 269, 273, 281, 284, 292, 293, 302, 354,
  2733  	405, 432, 428, 437, 1246, 506, 525, 537, 548, 554,
  2734  	555, 557, 558, 559, 560, 561, 564, 562, 393, 300,
  2735  	479, 322, 360, 1235, 1277, 411, 457, 232, 529, 480,
  2736  	1152, 1156, 1150, 1217, 1151, 1206, 1207, 1153, 1268, 1269,
  2737  	1270, 573, 574, 575, 576, 577, 578, 579, 580, 581,
  2738  	582, 583, 584, 585, 586, 587, 588, 589, 590, 0,
  2739  	1239, 1146, 0, 1154, 1155, 1248, 1257, 1258, 591, 371,
  2740  	470, 526, 324, 336, 339, 329, 348, 0, 349, 325,
  2741  	326, 331, 333, 334, 335, 340, 341, 345, 351, 241,
  2742  	203, 377, 385, 505, 301, 208, 209, 210, 498, 499,
  2743  	500, 501, 540, 541, 545, 447, 448, 449, 450, 282,
  2744  	535, 298, 453, 452, 320, 321, 366, 435, 1210, 192,
  2745  	213, 355, 1273, 439, 278, 569, 539, 534, 199, 215,
  2746  	1149, 252, 1160, 1168, 0, 1174, 1182, 1183, 1195, 1197,
  2747  	1198, 1199, 1200, 1218, 1219, 1221, 1229, 1231, 1234, 1236,
  2748  	1243, 1254, 1276, 194, 195, 202, 214, 224, 228, 235,
  2749  	251, 266, 268, 275, 288, 299, 307, 308, 311, 317,
  2750  	367, 373, 374, 375, 376, 395, 396, 397, 400, 403,
  2751  	404, 407, 409, 410, 413, 417, 421, 422, 423, 425,
  2752  	427, 429, 440, 445, 459, 460, 461, 462, 463, 466,
  2753  	467, 472, 473, 474, 475, 476, 484, 485, 490, 513,
  2754  	515, 528, 546, 552, 465, 290, 291, 430, 431, 303,
  2755  	304, 566, 567, 289, 523, 553, 521, 565, 547, 424,
  2756  	365, 1209, 1215, 368, 271, 294, 309, 1224, 538, 486,
  2757  	219, 451, 280, 243, 1242, 1244, 204, 238, 222, 249,
  2758  	264, 267, 313, 378, 386, 415, 420, 286, 261, 236,
  2759  	444, 233, 469, 493, 494, 495, 497, 382, 256, 419,
  2760  	1205, 1233, 363, 503, 504, 305, 383, 0, 0, 0,
  2761  	1262, 1247, 502, 0, 1190, 1265, 1159, 1178, 1275, 1181,
  2762  	1184, 1226, 1138, 1204, 402, 1175, 1131, 1163, 1133, 1170,
  2763  	1134, 1161, 1192, 260, 1158, 1249, 1208, 1264, 353, 257,
  2764  	1140, 1164, 416, 1180, 198, 1228, 471, 244, 364, 361,
  2765  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  2766  	1271, 357, 1214, 0, 481, 387, 0, 0, 0, 1194,
  2767  	1253, 1202, 1240, 1189, 1227, 1148, 1213, 1266, 1176, 1223,
  2768  	1267, 312, 240, 314, 197, 399, 482, 276, 0, 91,
  2769  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  2770  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  2771  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  2772  	1172, 1220, 1261, 1173, 1222, 255, 310, 262, 254, 507,
  2773  	1272, 1252, 1137, 1201, 1260, 0, 0, 221, 1263, 1196,
  2774  	0, 1225, 0, 1278, 1132, 1216, 0, 1135, 1139, 1274,
  2775  	1256, 1167, 265, 0, 0, 0, 0, 0, 0, 0,
  2776  	1193, 1203, 1237, 1241, 1187, 0, 0, 0, 0, 0,
  2777  	0, 0, 1165, 0, 1212, 0, 0, 0, 1144, 1136,
  2778  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2779  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2780  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2781  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2782  	0, 0, 1191, 0, 0, 0, 0, 1147, 0, 1166,
  2783  	1238, 0, 1130, 287, 1141, 388, 247, 0, 438, 1245,
  2784  	1255, 1188, 549, 1259, 1186, 1185, 1232, 1145, 1251, 1179,
  2785  	352, 1143, 319, 193, 217, 0, 1177, 398, 446, 458,
  2786  	1250, 1162, 1171, 245, 1169, 456, 412, 527, 225, 274,
  2787  	443, 418, 454, 426, 277, 1211, 1230, 455, 359, 512,
  2788  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  2789  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  2790  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  2791  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  2792  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  2793  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  2794  	516, 517, 246, 571, 220, 543, 212, 1142, 542, 394,
  2795  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  2796  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  2797  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  2798  	227, 229, 1157, 269, 273, 281, 284, 292, 293, 302,
  2799  	354, 405, 432, 428, 437, 1246, 506, 525, 537, 548,
  2800  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  2801  	300, 479, 322, 360, 1235, 1277, 411, 457, 232, 529,
  2802  	480, 1152, 1156, 1150, 1217, 1151, 1206, 1207, 1153, 1268,
  2803  	1269, 1270, 573, 574, 575, 576, 577, 578, 579, 580,
  2804  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  2805  	0, 1239, 1146, 0, 1154, 1155, 1248, 1257, 1258, 591,
  2806  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  2807  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  2808  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  2809  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  2810  	282, 535, 298, 453, 452, 320, 321, 366, 435, 1210,
  2811  	192, 213, 355, 1273, 439, 278, 569, 539, 534, 199,
  2812  	215, 1149, 252, 1160, 1168, 0, 1174, 1182, 1183, 1195,
  2813  	1197, 1198, 1199, 1200, 1218, 1219, 1221, 1229, 1231, 1234,
  2814  	1236, 1243, 1254, 1276, 194, 195, 202, 214, 224, 228,
  2815  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  2816  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  2817  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  2818  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  2819  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  2820  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  2821  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  2822  	424, 365, 1209, 1215, 368, 271, 294, 309, 1224, 538,
  2823  	486, 219, 451, 280, 243, 1242, 1244, 204, 238, 222,
  2824  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  2825  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  2826  	419, 1205, 1233, 363, 503, 504, 305, 383, 0, 0,
  2827  	0, 1262, 1247, 502, 0, 1190, 1265, 1159, 1178, 1275,
  2828  	1181, 1184, 1226, 1138, 1204, 402, 1175, 1131, 1163, 1133,
  2829  	1170, 1134, 1161, 1192, 260, 1158, 1249, 1208, 1264, 353,
  2830  	257, 1140, 1164, 416, 1180, 198, 1228, 471, 244, 364,
  2831  	361, 510, 272, 263, 259, 242, 306, 372, 414, 492,
  2832  	408, 1271, 357, 1214, 0, 481, 387, 0, 0, 0,
  2833  	1194, 1253, 1202, 1240, 1189, 1227, 1148, 1213, 1266, 1176,
  2834  	1223, 1267, 312, 240, 314, 197, 399, 482, 276, 0,
  2835  	0, 0, 0, 0, 190, 0, 0, 0, 0, 0,
  2836  	0, 0, 0, 0, 230, 0, 0, 237, 0, 0,
  2837  	0, 338, 347, 346, 327, 328, 330, 332, 337, 344,
  2838  	350, 1172, 1220, 1261, 1173, 1222, 255, 310, 262, 254,
  2839  	507, 1272, 1252, 1137, 1201, 1260, 0, 0, 221, 1263,
  2840  	1196, 0, 1225, 0, 1278, 1132, 1216, 0, 1135, 1139,
  2841  	1274, 1256, 1167, 265, 0, 0, 0, 0, 0, 0,
  2842  	0, 1193, 1203, 1237, 1241, 1187, 0, 0, 0, 0,
  2843  	0, 0, 0, 1165, 0, 1212, 0, 0, 0, 1144,
  2844  	1136, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2845  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2846  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2847  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2848  	0, 0, 0, 1191, 0, 0, 0, 0, 1147, 0,
  2849  	1166, 1238, 0, 1130, 287, 1141, 388, 247, 0, 438,
  2850  	1245, 1255, 1188, 549, 1259, 1186, 1185, 1232, 1145, 1251,
  2851  	1179, 352, 1143, 319, 193, 217, 0, 1177, 398, 446,
  2852  	458, 1250, 1162, 1171, 245, 1169, 456, 412, 527, 225,
  2853  	274, 443, 418, 454, 426, 277, 1211, 1230, 455, 359,
  2854  	512, 436, 524, 550, 551, 253, 392, 536, 496, 544,
  2855  	568, 218, 250, 406, 489, 530, 478, 384, 508, 509,
  2856  	318, 477, 285, 196, 356, 556, 216, 464, 358, 234,
  2857  	223, 514, 533, 279, 441, 563, 205, 491, 522, 231,
  2858  	468, 0, 0, 570, 239, 488, 207, 519, 487, 380,
  2859  	315, 316, 206, 0, 442, 258, 283, 0, 0, 248,
  2860  	401, 516, 517, 246, 571, 220, 543, 212, 1142, 542,
  2861  	394, 511, 520, 381, 370, 211, 518, 379, 369, 323,
  2862  	342, 343, 270, 296, 433, 362, 434, 295, 297, 390,
  2863  	389, 391, 200, 531, 0, 201, 0, 483, 532, 572,
  2864  	226, 227, 229, 1157, 269, 273, 281, 284, 292, 293,
  2865  	302, 354, 405, 432, 428, 437, 1246, 506, 525, 537,
  2866  	548, 554, 555, 557, 558, 559, 560, 561, 564, 562,
  2867  	393, 300, 479, 322, 360, 1235, 1277, 411, 457, 232,
  2868  	529, 480, 1152, 1156, 1150, 1217, 1151, 1206, 1207, 1153,
  2869  	1268, 1269, 1270, 573, 574, 575, 576, 577, 578, 579,
  2870  	580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
  2871  	590, 0, 1239, 1146, 0, 1154, 1155, 1248, 1257, 1258,
  2872  	591, 371, 470, 526, 324, 336, 339, 329, 348, 0,
  2873  	349, 325, 326, 331, 333, 334, 335, 340, 341, 345,
  2874  	351, 241, 203, 377, 385, 505, 301, 208, 209, 210,
  2875  	498, 499, 500, 501, 540, 541, 545, 447, 448, 449,
  2876  	450, 282, 535, 298, 453, 452, 320, 321, 366, 435,
  2877  	1210, 192, 213, 355, 1273, 439, 278, 569, 539, 534,
  2878  	199, 215, 1149, 252, 1160, 1168, 0, 1174, 1182, 1183,
  2879  	1195, 1197, 1198, 1199, 1200, 1218, 1219, 1221, 1229, 1231,
  2880  	1234, 1236, 1243, 1254, 1276, 194, 195, 202, 214, 224,
  2881  	228, 235, 251, 266, 268, 275, 288, 299, 307, 308,
  2882  	311, 317, 367, 373, 374, 375, 376, 395, 396, 397,
  2883  	400, 403, 404, 407, 409, 410, 413, 417, 421, 422,
  2884  	423, 425, 427, 429, 440, 445, 459, 460, 461, 462,
  2885  	463, 466, 467, 472, 473, 474, 475, 476, 484, 485,
  2886  	490, 513, 515, 528, 546, 552, 465, 290, 291, 430,
  2887  	431, 303, 304, 566, 567, 289, 523, 553, 521, 565,
  2888  	547, 424, 365, 1209, 1215, 368, 271, 294, 309, 1224,
  2889  	538, 486, 219, 451, 280, 243, 1242, 1244, 204, 238,
  2890  	222, 249, 264, 267, 313, 378, 386, 415, 420, 286,
  2891  	261, 236, 444, 233, 469, 493, 494, 495, 497, 382,
  2892  	256, 419, 1205, 1233, 363, 503, 504, 305, 383, 0,
  2893  	0, 0, 1262, 1247, 502, 0, 1190, 1265, 1159, 1178,
  2894  	1275, 1181, 1184, 1226, 1138, 1204, 402, 1175, 1131, 1163,
  2895  	1133, 1170, 1134, 1161, 1192, 260, 1158, 1249, 1208, 1264,
  2896  	353, 257, 1140, 1164, 416, 1180, 198, 1228, 471, 244,
  2897  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  2898  	492, 408, 1271, 357, 1214, 0, 481, 387, 0, 0,
  2899  	0, 1194, 1253, 1202, 1240, 1189, 1227, 1148, 1213, 1266,
  2900  	1176, 1223, 1267, 312, 240, 314, 197, 399, 482, 276,
  2901  	0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
  2902  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  2903  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  2904  	344, 350, 1172, 1220, 1261, 1173, 1222, 255, 310, 262,
  2905  	254, 507, 1272, 1252, 1137, 1201, 1260, 0, 0, 221,
  2906  	1263, 1196, 0, 1225, 0, 1278, 1132, 1216, 0, 1135,
  2907  	1139, 1274, 1256, 1167, 265, 0, 0, 0, 0, 0,
  2908  	0, 0, 1193, 1203, 1237, 1241, 1187, 0, 0, 0,
  2909  	0, 0, 0, 0, 1165, 0, 1212, 0, 0, 0,
  2910  	1144, 1136, 0, 0, 0, 0, 0, 0, 0, 0,
  2911  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2912  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2913  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2914  	0, 0, 0, 0, 1191, 0, 0, 0, 0, 1147,
  2915  	0, 1166, 1238, 0, 1130, 287, 1141, 388, 247, 0,
  2916  	438, 1245, 1255, 1188, 549, 1259, 1186, 1185, 1232, 1145,
  2917  	1251, 1179, 352, 1143, 319, 193, 217, 0, 1177, 398,
  2918  	446, 458, 1250, 1162, 1171, 245, 1169, 456, 412, 527,
  2919  	225, 274, 443, 418, 454, 426, 277, 1211, 1230, 455,
  2920  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  2921  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  2922  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  2923  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  2924  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  2925  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  2926  	248, 401, 516, 517, 246, 571, 220, 543, 212, 1142,
  2927  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  2928  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  2929  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  2930  	572, 226, 227, 229, 1157, 269, 273, 281, 284, 292,
  2931  	293, 302, 354, 405, 432, 428, 437, 1246, 506, 525,
  2932  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  2933  	562, 393, 300, 479, 322, 360, 1235, 1277, 411, 457,
  2934  	232, 529, 480, 1152, 1156, 1150, 1217, 1151, 1206, 1207,
  2935  	1153, 1268, 1269, 1270, 573, 574, 575, 576, 577, 578,
  2936  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  2937  	589, 590, 0, 1239, 1146, 0, 1154, 1155, 1248, 1257,
  2938  	1258, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  2939  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  2940  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  2941  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  2942  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  2943  	435, 1210, 192, 213, 355, 1273, 439, 278, 569, 539,
  2944  	534, 199, 215, 1149, 252, 1160, 1168, 0, 1174, 1182,
  2945  	1183, 1195, 1197, 1198, 1199, 1200, 1218, 1219, 1221, 1229,
  2946  	1231, 1234, 1236, 1243, 1254, 1276, 194, 195, 202, 214,
  2947  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  2948  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  2949  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  2950  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  2951  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  2952  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  2953  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  2954  	565, 547, 424, 365, 1209, 1215, 368, 271, 294, 309,
  2955  	1224, 538, 486, 219, 451, 280, 243, 1242, 1244, 204,
  2956  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  2957  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  2958  	382, 256, 419, 1205, 1233, 363, 503, 504, 305, 383,
  2959  	0, 0, 0, 1262, 1247, 502, 0, 1190, 1265, 1159,
  2960  	1178, 1275, 1181, 1184, 1226, 1138, 1204, 402, 1175, 1131,
  2961  	1163, 1133, 1170, 1134, 1161, 1192, 260, 1158, 1249, 1208,
  2962  	1264, 353, 257, 1140, 1164, 416, 1180, 198, 1228, 471,
  2963  	244, 364, 361, 510, 272, 263, 259, 242, 306, 372,
  2964  	414, 492, 408, 1271, 357, 1214, 0, 481, 387, 0,
  2965  	0, 0, 1194, 1253, 1202, 1240, 1189, 1227, 1148, 1213,
  2966  	1266, 1176, 1223, 1267, 312, 240, 314, 197, 399, 482,
  2967  	276, 0, 0, 0, 0, 0, 812, 0, 0, 0,
  2968  	0, 0, 0, 0, 0, 0, 230, 0, 0, 237,
  2969  	0, 0, 0, 338, 347, 346, 327, 328, 330, 332,
  2970  	337, 344, 350, 1172, 1220, 1261, 1173, 1222, 255, 310,
  2971  	262, 254, 507, 1272, 1252, 1137, 1201, 1260, 0, 0,
  2972  	221, 1263, 1196, 0, 1225, 0, 1278, 1132, 1216, 0,
  2973  	1135, 1139, 1274, 1256, 1167, 265, 0, 0, 0, 0,
  2974  	0, 0, 0, 1193, 1203, 1237, 1241, 1187, 0, 0,
  2975  	0, 0, 0, 0, 0, 1165, 0, 1212, 0, 0,
  2976  	0, 1144, 1136, 0, 0, 0, 0, 0, 0, 0,
  2977  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2978  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2979  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  2980  	0, 0, 0, 0, 0, 1191, 0, 0, 0, 0,
  2981  	1147, 0, 1166, 1238, 0, 1130, 287, 1141, 388, 247,
  2982  	0, 438, 1245, 1255, 1188, 549, 1259, 1186, 1185, 1232,
  2983  	1145, 1251, 1179, 352, 1143, 319, 193, 217, 0, 1177,
  2984  	398, 446, 458, 1250, 1162, 1171, 245, 1169, 456, 412,
  2985  	527, 225, 274, 443, 418, 454, 426, 277, 1211, 1230,
  2986  	455, 359, 512, 436, 524, 550, 551, 253, 392, 536,
  2987  	496, 544, 568, 218, 250, 406, 489, 530, 478, 384,
  2988  	508, 509, 318, 477, 285, 196, 356, 556, 216, 464,
  2989  	358, 234, 223, 514, 533, 279, 441, 563, 205, 491,
  2990  	522, 231, 468, 0, 0, 570, 239, 488, 207, 519,
  2991  	487, 380, 315, 316, 206, 0, 442, 258, 283, 0,
  2992  	0, 248, 401, 516, 517, 246, 571, 220, 543, 212,
  2993  	1142, 542, 394, 511, 520, 381, 370, 211, 518, 379,
  2994  	369, 323, 342, 343, 270, 296, 433, 362, 434, 295,
  2995  	297, 390, 389, 391, 200, 531, 0, 201, 0, 483,
  2996  	532, 572, 226, 227, 229, 1157, 269, 273, 281, 284,
  2997  	292, 293, 302, 354, 405, 432, 428, 437, 1246, 506,
  2998  	525, 537, 548, 554, 555, 557, 558, 559, 560, 561,
  2999  	564, 562, 393, 300, 479, 322, 360, 1235, 1277, 411,
  3000  	457, 232, 529, 480, 1152, 1156, 1150, 1217, 1151, 1206,
  3001  	1207, 1153, 1268, 1269, 1270, 573, 574, 575, 576, 577,
  3002  	578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
  3003  	588, 589, 590, 0, 1239, 1146, 0, 1154, 1155, 1248,
  3004  	1257, 1258, 591, 371, 470, 526, 324, 336, 339, 329,
  3005  	348, 0, 349, 325, 326, 331, 333, 334, 335, 340,
  3006  	341, 345, 351, 241, 203, 377, 385, 505, 301, 208,
  3007  	209, 210, 498, 499, 500, 501, 540, 541, 545, 447,
  3008  	448, 449, 450, 282, 535, 298, 453, 452, 320, 321,
  3009  	366, 435, 1210, 192, 213, 355, 1273, 439, 278, 569,
  3010  	539, 534, 199, 215, 1149, 252, 1160, 1168, 0, 1174,
  3011  	1182, 1183, 1195, 1197, 1198, 1199, 1200, 1218, 1219, 1221,
  3012  	1229, 1231, 1234, 1236, 1243, 1254, 1276, 194, 195, 202,
  3013  	214, 224, 228, 235, 251, 266, 268, 275, 288, 299,
  3014  	307, 308, 311, 317, 367, 373, 374, 375, 376, 395,
  3015  	396, 397, 400, 403, 404, 407, 409, 410, 413, 417,
  3016  	421, 422, 423, 425, 427, 429, 440, 445, 459, 460,
  3017  	461, 462, 463, 466, 467, 472, 473, 474, 475, 476,
  3018  	484, 485, 490, 513, 515, 528, 546, 552, 465, 290,
  3019  	291, 430, 431, 303, 304, 566, 567, 289, 523, 553,
  3020  	521, 565, 547, 424, 365, 1209, 1215, 368, 271, 294,
  3021  	309, 1224, 538, 486, 219, 451, 280, 243, 1242, 1244,
  3022  	204, 238, 222, 249, 264, 267, 313, 378, 386, 415,
  3023  	420, 286, 261, 236, 444, 233, 469, 493, 494, 495,
  3024  	497, 382, 256, 419, 1205, 1233, 363, 503, 504, 305,
  3025  	383, 0, 0, 0, 0, 0, 502, 0, 691, 0,
  3026  	0, 0, 0, 0, 0, 0, 0, 0, 402, 0,
  3027  	0, 0, 0, 678, 0, 0, 0, 260, 683, 0,
  3028  	0, 0, 353, 257, 0, 0, 416, 0, 198, 0,
  3029  	471, 244, 364, 361, 510, 272, 263, 259, 242, 306,
  3030  	372, 414, 492, 408, 690, 357, 0, 0, 481, 387,
  3031  	0, 0, 0, 0, 0, 686, 687, 0, 0, 0,
  3032  	0, 0, 0, 0, 0, 312, 240, 314, 197, 399,
  3033  	482, 276, 0, 91, 0, 0, 828, 812, 778, 779,
  3034  	816, 829, 830, 831, 832, 817, 0, 230, 818, 819,
  3035  	237, 820, 0, 777, 718, 720, 719, 737, 738, 739,
  3036  	740, 741, 742, 743, 716, 825, 833, 834, 0, 255,
  3037  	310, 262, 254, 507, 0, 0, 1956, 1957, 1958, 0,
  3038  	0, 221, 0, 0, 0, 0, 0, 0, 0, 660,
  3039  	675, 0, 689, 0, 0, 0, 265, 0, 0, 0,
  3040  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3041  	0, 0, 672, 673, 0, 0, 0, 0, 772, 0,
  3042  	674, 0, 0, 682, 835, 836, 837, 838, 839, 840,
  3043  	841, 842, 843, 844, 845, 846, 847, 848, 849, 850,
  3044  	851, 852, 853, 854, 855, 856, 857, 858, 859, 860,
  3045  	861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
  3046  	871, 872, 873, 874, 875, 876, 685, 0, 0, 0,
  3047  	0, 0, 0, 0, 0, 0, 0, 287, 0, 388,
  3048  	247, 0, 438, 771, 0, 0, 549, 0, 0, 769,
  3049  	0, 0, 0, 0, 352, 0, 319, 193, 217, 0,
  3050  	0, 398, 446, 458, 0, 0, 0, 822, 0, 456,
  3051  	412, 527, 225, 274, 443, 418, 454, 426, 277, 0,
  3052  	0, 455, 359, 512, 436, 524, 550, 551, 253, 392,
  3053  	536, 496, 544, 568, 218, 250, 406, 489, 530, 478,
  3054  	384, 508, 509, 318, 477, 285, 196, 356, 556, 216,
  3055  	464, 358, 234, 223, 514, 533, 279, 441, 563, 205,
  3056  	491, 522, 231, 468, 0, 0, 570, 239, 488, 207,
  3057  	519, 487, 380, 315, 316, 206, 0, 442, 258, 283,
  3058  	0, 0, 248, 401, 823, 824, 246, 571, 724, 543,
  3059  	212, 0, 542, 394, 511, 520, 381, 370, 211, 518,
  3060  	379, 369, 323, 732, 733, 270, 296, 433, 362, 434,
  3061  	295, 297, 390, 389, 391, 200, 531, 0, 201, 0,
  3062  	483, 532, 572, 226, 227, 229, 0, 269, 273, 281,
  3063  	284, 292, 293, 302, 354, 405, 432, 428, 437, 0,
  3064  	506, 525, 537, 548, 554, 555, 557, 558, 559, 560,
  3065  	561, 564, 562, 393, 300, 479, 322, 360, 0, 0,
  3066  	411, 457, 232, 529, 480, 782, 770, 695, 786, 697,
  3067  	783, 784, 692, 693, 696, 785, 573, 574, 575, 576,
  3068  	577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
  3069  	587, 588, 589, 590, 0, 773, 681, 680, 0, 688,
  3070  	0, 714, 715, 717, 721, 722, 723, 734, 735, 736,
  3071  	744, 746, 747, 745, 748, 749, 750, 753, 754, 755,
  3072  	756, 751, 752, 757, 698, 702, 699, 700, 701, 713,
  3073  	703, 704, 705, 706, 707, 708, 709, 710, 711, 712,
  3074  	796, 797, 798, 799, 800, 801, 727, 731, 730, 728,
  3075  	729, 725, 726, 679, 192, 213, 355, 0, 439, 278,
  3076  	569, 539, 534, 199, 215, 787, 252, 788, 0, 0,
  3077  	792, 0, 0, 0, 794, 793, 0, 795, 761, 760,
  3078  	0, 0, 789, 790, 0, 791, 0, 0, 194, 195,
  3079  	202, 214, 224, 228, 235, 251, 266, 268, 275, 288,
  3080  	299, 307, 308, 311, 317, 367, 373, 374, 375, 376,
  3081  	395, 396, 397, 400, 403, 404, 407, 409, 410, 413,
  3082  	417, 421, 422, 423, 425, 427, 429, 440, 445, 459,
  3083  	460, 461, 462, 463, 466, 467, 472, 473, 474, 475,
  3084  	476, 484, 485, 490, 513, 515, 528, 546, 552, 465,
  3085  	802, 803, 804, 805, 806, 807, 808, 809, 289, 523,
  3086  	553, 521, 565, 547, 424, 365, 0, 0, 368, 271,
  3087  	294, 309, 0, 538, 486, 219, 451, 280, 243, 827,
  3088  	0, 204, 238, 222, 249, 264, 267, 313, 378, 386,
  3089  	415, 420, 286, 261, 236, 444, 233, 469, 493, 494,
  3090  	495, 497, 382, 256, 419, 383, 0, 363, 503, 504,
  3091  	305, 502, 0, 691, 0, 0, 0, 0, 0, 0,
  3092  	0, 0, 0, 402, 0, 0, 0, 0, 678, 0,
  3093  	0, 0, 260, 683, 0, 0, 0, 353, 257, 0,
  3094  	0, 416, 0, 198, 0, 471, 244, 364, 361, 510,
  3095  	272, 263, 259, 242, 306, 372, 414, 492, 408, 690,
  3096  	357, 0, 0, 481, 387, 0, 0, 0, 0, 0,
  3097  	686, 687, 0, 0, 0, 0, 0, 0, 2106, 0,
  3098  	312, 240, 314, 197, 399, 482, 276, 0, 91, 0,
  3099  	0, 828, 812, 778, 779, 816, 829, 830, 831, 832,
  3100  	817, 0, 230, 818, 819, 237, 820, 0, 777, 718,
  3101  	720, 719, 737, 738, 739, 740, 741, 742, 743, 716,
  3102  	825, 833, 834, 2107, 255, 310, 262, 254, 507, 0,
  3103  	0, 0, 0, 0, 0, 0, 221, 0, 0, 0,
  3104  	0, 0, 0, 0, 660, 675, 0, 689, 0, 0,
  3105  	0, 265, 0, 0, 0, 0, 0, 0, 0, 0,
  3106  	0, 0, 0, 0, 0, 0, 0, 672, 673, 0,
  3107  	0, 0, 0, 772, 0, 674, 0, 0, 682, 835,
  3108  	836, 837, 838, 839, 840, 841, 842, 843, 844, 845,
  3109  	846, 847, 848, 849, 850, 851, 852, 853, 854, 855,
  3110  	856, 857, 858, 859, 860, 861, 862, 863, 864, 865,
  3111  	866, 867, 868, 869, 870, 871, 872, 873, 874, 875,
  3112  	876, 685, 0, 0, 0, 0, 0, 0, 0, 0,
  3113  	0, 0, 287, 0, 388, 247, 0, 438, 771, 0,
  3114  	0, 549, 0, 0, 769, 0, 0, 0, 0, 352,
  3115  	0, 319, 193, 217, 0, 0, 398, 446, 458, 0,
  3116  	0, 0, 822, 0, 456, 412, 527, 225, 274, 443,
  3117  	418, 454, 426, 277, 0, 0, 455, 359, 512, 436,
  3118  	524, 550, 551, 253, 392, 536, 496, 544, 568, 218,
  3119  	250, 406, 489, 530, 478, 384, 508, 509, 318, 477,
  3120  	285, 196, 356, 556, 216, 464, 358, 234, 223, 514,
  3121  	533, 279, 441, 563, 205, 491, 522, 231, 468, 0,
  3122  	0, 570, 239, 488, 207, 519, 487, 380, 315, 316,
  3123  	206, 0, 442, 258, 283, 0, 0, 248, 401, 823,
  3124  	824, 246, 571, 724, 543, 212, 0, 542, 394, 511,
  3125  	520, 381, 370, 211, 518, 379, 369, 323, 732, 733,
  3126  	270, 296, 433, 362, 434, 295, 297, 390, 389, 391,
  3127  	200, 531, 0, 201, 0, 483, 532, 572, 226, 227,
  3128  	229, 0, 269, 273, 281, 284, 292, 293, 302, 354,
  3129  	405, 432, 428, 437, 0, 506, 525, 537, 548, 554,
  3130  	555, 557, 558, 559, 560, 561, 564, 562, 393, 300,
  3131  	479, 322, 360, 0, 0, 411, 457, 232, 529, 480,
  3132  	782, 770, 695, 786, 697, 783, 784, 692, 693, 696,
  3133  	785, 573, 574, 575, 576, 577, 578, 579, 580, 581,
  3134  	582, 583, 584, 585, 586, 587, 588, 589, 590, 0,
  3135  	773, 681, 680, 0, 688, 0, 714, 715, 717, 721,
  3136  	722, 723, 734, 735, 736, 744, 746, 747, 745, 748,
  3137  	749, 750, 753, 754, 755, 756, 751, 752, 757, 698,
  3138  	702, 699, 700, 701, 713, 703, 704, 705, 706, 707,
  3139  	708, 709, 710, 711, 712, 796, 797, 798, 799, 800,
  3140  	801, 727, 731, 730, 728, 729, 725, 726, 679, 192,
  3141  	213, 355, 0, 439, 278, 569, 539, 534, 199, 215,
  3142  	787, 252, 788, 0, 0, 792, 0, 0, 0, 794,
  3143  	793, 0, 795, 761, 760, 0, 0, 789, 790, 0,
  3144  	791, 0, 0, 194, 195, 202, 214, 224, 228, 235,
  3145  	251, 266, 268, 275, 288, 299, 307, 308, 311, 317,
  3146  	367, 373, 374, 375, 376, 395, 396, 397, 400, 403,
  3147  	404, 407, 409, 410, 413, 417, 421, 422, 423, 425,
  3148  	427, 429, 440, 445, 459, 460, 461, 462, 463, 466,
  3149  	467, 472, 473, 474, 475, 476, 484, 485, 490, 513,
  3150  	515, 528, 546, 552, 465, 802, 803, 804, 805, 806,
  3151  	807, 808, 809, 289, 523, 553, 521, 565, 547, 424,
  3152  	365, 0, 0, 368, 271, 294, 309, 0, 538, 486,
  3153  	219, 451, 280, 243, 827, 0, 204, 238, 222, 249,
  3154  	264, 267, 313, 378, 386, 415, 420, 286, 261, 236,
  3155  	444, 233, 469, 493, 494, 495, 497, 382, 256, 419,
  3156  	0, 383, 363, 503, 504, 305, 82, 502, 0, 691,
  3157  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  3158  	0, 0, 0, 0, 678, 0, 0, 0, 260, 683,
  3159  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  3160  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  3161  	306, 372, 414, 492, 408, 690, 357, 0, 0, 481,
  3162  	387, 0, 0, 0, 0, 0, 686, 687, 0, 0,
  3163  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  3164  	399, 482, 276, 0, 91, 0, 0, 828, 812, 778,
  3165  	779, 816, 829, 830, 831, 832, 817, 0, 230, 818,
  3166  	819, 237, 820, 0, 777, 718, 720, 719, 737, 738,
  3167  	739, 740, 741, 742, 743, 716, 825, 833, 834, 0,
  3168  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  3169  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  3170  	660, 675, 0, 689, 0, 0, 0, 265, 0, 0,
  3171  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3172  	0, 0, 0, 672, 673, 0, 0, 0, 0, 772,
  3173  	0, 674, 0, 0, 682, 835, 836, 837, 838, 839,
  3174  	840, 841, 842, 843, 844, 845, 846, 847, 848, 849,
  3175  	850, 851, 852, 853, 854, 855, 856, 857, 858, 859,
  3176  	860, 861, 862, 863, 864, 865, 866, 867, 868, 869,
  3177  	870, 871, 872, 873, 874, 875, 876, 685, 0, 0,
  3178  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  3179  	388, 247, 0, 438, 771, 0, 0, 549, 0, 0,
  3180  	769, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  3181  	0, 0, 398, 446, 458, 0, 0, 0, 822, 0,
  3182  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  3183  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  3184  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  3185  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  3186  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  3187  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  3188  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  3189  	283, 0, 0, 248, 401, 823, 824, 246, 571, 724,
  3190  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  3191  	518, 379, 369, 323, 732, 733, 270, 296, 433, 362,
  3192  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  3193  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  3194  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  3195  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  3196  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  3197  	0, 411, 457, 232, 529, 480, 782, 770, 695, 786,
  3198  	697, 783, 784, 692, 693, 696, 785, 573, 574, 575,
  3199  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  3200  	586, 587, 588, 589, 590, 0, 773, 681, 680, 0,
  3201  	688, 0, 714, 715, 717, 721, 722, 723, 734, 735,
  3202  	736, 744, 746, 747, 745, 748, 749, 750, 753, 754,
  3203  	755, 756, 751, 752, 757, 698, 702, 699, 700, 701,
  3204  	713, 703, 704, 705, 706, 707, 708, 709, 710, 711,
  3205  	712, 796, 797, 798, 799, 800, 801, 727, 731, 730,
  3206  	728, 729, 725, 726, 679, 192, 213, 355, 90, 439,
  3207  	278, 569, 539, 534, 199, 215, 787, 252, 788, 0,
  3208  	0, 792, 0, 0, 0, 794, 793, 0, 795, 761,
  3209  	760, 0, 0, 789, 790, 0, 791, 0, 0, 194,
  3210  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  3211  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  3212  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  3213  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  3214  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  3215  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  3216  	465, 802, 803, 804, 805, 806, 807, 808, 809, 289,
  3217  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  3218  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  3219  	827, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  3220  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  3221  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  3222  	504, 305, 502, 0, 691, 0, 0, 0, 0, 0,
  3223  	0, 0, 0, 0, 402, 0, 0, 0, 0, 678,
  3224  	0, 0, 0, 260, 683, 0, 0, 0, 353, 257,
  3225  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  3226  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  3227  	690, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  3228  	0, 686, 687, 0, 0, 0, 0, 0, 0, 0,
  3229  	0, 312, 240, 314, 197, 399, 482, 276, 0, 91,
  3230  	0, 0, 828, 812, 778, 779, 816, 829, 830, 831,
  3231  	832, 817, 0, 230, 818, 819, 237, 820, 0, 777,
  3232  	718, 720, 719, 737, 738, 739, 740, 741, 742, 743,
  3233  	716, 825, 833, 834, 0, 255, 310, 262, 254, 507,
  3234  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  3235  	0, 0, 0, 0, 0, 660, 675, 0, 689, 0,
  3236  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  3237  	0, 0, 0, 0, 0, 0, 0, 0, 672, 673,
  3238  	0, 0, 0, 0, 772, 0, 674, 0, 0, 682,
  3239  	835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
  3240  	845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
  3241  	855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
  3242  	865, 866, 867, 868, 869, 870, 871, 872, 873, 874,
  3243  	875, 876, 685, 0, 0, 0, 0, 0, 0, 0,
  3244  	0, 0, 0, 287, 0, 388, 247, 0, 438, 771,
  3245  	0, 0, 549, 0, 0, 769, 0, 0, 0, 0,
  3246  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  3247  	0, 0, 0, 822, 0, 456, 412, 527, 225, 274,
  3248  	443, 418, 454, 426, 277, 3421, 0, 455, 359, 512,
  3249  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  3250  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  3251  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  3252  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  3253  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  3254  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  3255  	823, 824, 246, 571, 724, 543, 212, 0, 542, 394,
  3256  	511, 520, 381, 370, 211, 518, 379, 369, 323, 732,
  3257  	733, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  3258  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  3259  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  3260  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  3261  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  3262  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  3263  	480, 782, 770, 695, 786, 697, 783, 784, 692, 693,
  3264  	696, 785, 573, 574, 575, 576, 577, 578, 579, 580,
  3265  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  3266  	0, 773, 681, 680, 0, 688, 0, 714, 715, 717,
  3267  	721, 722, 723, 734, 735, 736, 744, 746, 747, 745,
  3268  	748, 749, 750, 753, 754, 755, 756, 751, 752, 757,
  3269  	698, 702, 699, 700, 701, 713, 703, 704, 705, 706,
  3270  	707, 708, 709, 710, 711, 712, 796, 797, 798, 799,
  3271  	800, 801, 727, 731, 730, 728, 729, 725, 726, 679,
  3272  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  3273  	215, 787, 252, 788, 0, 0, 792, 0, 0, 0,
  3274  	794, 793, 0, 795, 761, 760, 0, 0, 789, 790,
  3275  	0, 791, 0, 0, 194, 195, 202, 214, 224, 228,
  3276  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  3277  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  3278  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  3279  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  3280  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  3281  	513, 515, 528, 546, 552, 465, 802, 803, 804, 805,
  3282  	806, 807, 808, 809, 289, 523, 553, 521, 565, 547,
  3283  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  3284  	486, 219, 451, 280, 243, 827, 0, 204, 238, 222,
  3285  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  3286  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  3287  	419, 383, 0, 363, 503, 504, 305, 502, 0, 691,
  3288  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  3289  	0, 0, 0, 0, 678, 0, 0, 0, 260, 683,
  3290  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  3291  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  3292  	306, 372, 414, 492, 408, 690, 357, 0, 0, 481,
  3293  	387, 0, 0, 0, 0, 0, 686, 687, 0, 0,
  3294  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  3295  	399, 482, 276, 0, 91, 0, 1519, 828, 812, 778,
  3296  	779, 816, 829, 830, 831, 832, 817, 0, 230, 818,
  3297  	819, 237, 820, 0, 777, 718, 720, 719, 737, 738,
  3298  	739, 740, 741, 742, 743, 716, 825, 833, 834, 0,
  3299  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  3300  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  3301  	660, 675, 0, 689, 0, 0, 0, 265, 0, 0,
  3302  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3303  	0, 0, 0, 672, 673, 0, 0, 0, 0, 772,
  3304  	0, 674, 0, 0, 682, 835, 836, 837, 838, 839,
  3305  	840, 841, 842, 843, 844, 845, 846, 847, 848, 849,
  3306  	850, 851, 852, 853, 854, 855, 856, 857, 858, 859,
  3307  	860, 861, 862, 863, 864, 865, 866, 867, 868, 869,
  3308  	870, 871, 872, 873, 874, 875, 876, 685, 0, 0,
  3309  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  3310  	388, 247, 0, 438, 771, 0, 0, 549, 0, 0,
  3311  	769, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  3312  	0, 0, 398, 446, 458, 0, 0, 0, 822, 0,
  3313  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  3314  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  3315  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  3316  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  3317  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  3318  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  3319  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  3320  	283, 0, 0, 248, 401, 823, 824, 246, 571, 724,
  3321  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  3322  	518, 379, 369, 323, 732, 733, 270, 296, 433, 362,
  3323  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  3324  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  3325  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  3326  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  3327  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  3328  	0, 411, 457, 232, 529, 480, 782, 770, 695, 786,
  3329  	697, 783, 784, 692, 693, 696, 785, 573, 574, 575,
  3330  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  3331  	586, 587, 588, 589, 590, 0, 773, 681, 680, 0,
  3332  	688, 0, 714, 715, 717, 721, 722, 723, 734, 735,
  3333  	736, 744, 746, 747, 745, 748, 749, 750, 753, 754,
  3334  	755, 756, 751, 752, 757, 698, 702, 699, 700, 701,
  3335  	713, 703, 704, 705, 706, 707, 708, 709, 710, 711,
  3336  	712, 796, 797, 798, 799, 800, 801, 727, 731, 730,
  3337  	728, 729, 725, 726, 679, 192, 213, 355, 0, 439,
  3338  	278, 569, 539, 534, 199, 215, 787, 252, 788, 0,
  3339  	0, 792, 0, 0, 0, 794, 793, 0, 795, 761,
  3340  	760, 0, 0, 789, 790, 0, 791, 0, 0, 194,
  3341  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  3342  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  3343  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  3344  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  3345  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  3346  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  3347  	465, 802, 803, 804, 805, 806, 807, 808, 809, 289,
  3348  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  3349  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  3350  	827, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  3351  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  3352  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  3353  	504, 305, 502, 0, 691, 0, 0, 0, 0, 0,
  3354  	0, 0, 0, 0, 402, 0, 0, 0, 0, 678,
  3355  	0, 0, 0, 260, 683, 0, 0, 0, 353, 257,
  3356  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  3357  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  3358  	690, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  3359  	0, 686, 687, 0, 0, 0, 0, 0, 0, 0,
  3360  	0, 312, 240, 314, 197, 399, 482, 276, 0, 91,
  3361  	0, 0, 828, 812, 778, 779, 816, 829, 830, 831,
  3362  	832, 817, 0, 230, 818, 819, 237, 820, 0, 777,
  3363  	718, 720, 719, 737, 738, 739, 740, 741, 742, 743,
  3364  	716, 825, 833, 834, 0, 255, 310, 262, 254, 507,
  3365  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  3366  	0, 0, 0, 0, 0, 660, 675, 0, 689, 0,
  3367  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  3368  	0, 0, 0, 0, 0, 0, 0, 0, 672, 673,
  3369  	917, 0, 0, 0, 772, 0, 674, 0, 0, 682,
  3370  	835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
  3371  	845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
  3372  	855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
  3373  	865, 866, 867, 868, 869, 870, 871, 872, 873, 874,
  3374  	875, 876, 685, 0, 0, 0, 0, 0, 0, 0,
  3375  	0, 0, 0, 287, 0, 388, 247, 0, 438, 771,
  3376  	0, 0, 549, 0, 0, 769, 0, 0, 0, 0,
  3377  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  3378  	0, 0, 0, 822, 0, 456, 412, 527, 225, 274,
  3379  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  3380  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  3381  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  3382  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  3383  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  3384  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  3385  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  3386  	823, 824, 246, 571, 724, 543, 212, 0, 542, 394,
  3387  	511, 520, 381, 370, 211, 518, 379, 369, 323, 732,
  3388  	733, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  3389  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  3390  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  3391  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  3392  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  3393  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  3394  	480, 782, 770, 695, 786, 697, 783, 784, 692, 693,
  3395  	696, 785, 573, 574, 575, 576, 577, 578, 579, 580,
  3396  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  3397  	0, 773, 681, 680, 0, 688, 0, 714, 715, 717,
  3398  	721, 722, 723, 734, 735, 736, 744, 746, 747, 745,
  3399  	748, 749, 750, 753, 754, 755, 756, 751, 752, 757,
  3400  	698, 702, 699, 700, 701, 713, 703, 704, 705, 706,
  3401  	707, 708, 709, 710, 711, 712, 796, 797, 798, 799,
  3402  	800, 801, 727, 731, 730, 728, 729, 725, 726, 679,
  3403  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  3404  	215, 787, 252, 788, 0, 0, 792, 0, 0, 0,
  3405  	794, 793, 0, 795, 761, 760, 0, 0, 789, 790,
  3406  	0, 791, 0, 0, 194, 195, 202, 214, 224, 228,
  3407  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  3408  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  3409  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  3410  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  3411  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  3412  	513, 515, 528, 546, 552, 465, 802, 803, 804, 805,
  3413  	806, 807, 808, 809, 289, 523, 553, 521, 565, 547,
  3414  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  3415  	486, 219, 451, 280, 243, 827, 0, 204, 238, 222,
  3416  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  3417  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  3418  	419, 383, 0, 363, 503, 504, 305, 502, 0, 691,
  3419  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  3420  	0, 0, 0, 0, 678, 0, 0, 0, 260, 683,
  3421  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  3422  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  3423  	306, 372, 414, 492, 408, 690, 357, 0, 0, 481,
  3424  	387, 0, 0, 0, 0, 0, 686, 687, 0, 0,
  3425  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  3426  	399, 482, 276, 0, 91, 0, 0, 828, 812, 778,
  3427  	779, 816, 829, 830, 831, 832, 817, 0, 230, 818,
  3428  	819, 237, 820, 0, 777, 718, 720, 719, 737, 738,
  3429  	739, 740, 741, 742, 743, 716, 825, 833, 834, 0,
  3430  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  3431  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  3432  	660, 675, 0, 689, 0, 0, 0, 265, 0, 0,
  3433  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3434  	0, 0, 0, 672, 673, 0, 0, 0, 0, 772,
  3435  	0, 674, 0, 0, 682, 835, 836, 837, 838, 839,
  3436  	840, 841, 842, 843, 844, 845, 846, 847, 848, 849,
  3437  	850, 851, 852, 853, 854, 855, 856, 857, 858, 859,
  3438  	860, 861, 862, 863, 864, 865, 866, 867, 868, 869,
  3439  	870, 871, 872, 873, 874, 875, 876, 685, 0, 0,
  3440  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  3441  	388, 247, 0, 438, 771, 0, 0, 549, 0, 0,
  3442  	769, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  3443  	0, 0, 398, 446, 458, 0, 0, 0, 822, 0,
  3444  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  3445  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  3446  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  3447  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  3448  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  3449  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  3450  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  3451  	283, 0, 0, 248, 401, 823, 824, 246, 571, 724,
  3452  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  3453  	518, 379, 369, 323, 732, 733, 270, 296, 433, 362,
  3454  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  3455  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  3456  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  3457  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  3458  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  3459  	0, 411, 457, 232, 529, 480, 782, 770, 695, 786,
  3460  	697, 783, 784, 692, 693, 696, 785, 573, 574, 575,
  3461  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  3462  	586, 587, 588, 589, 590, 0, 773, 681, 680, 0,
  3463  	688, 0, 714, 715, 717, 721, 722, 723, 734, 735,
  3464  	736, 744, 746, 747, 745, 748, 749, 750, 753, 754,
  3465  	755, 756, 751, 752, 757, 698, 702, 699, 700, 701,
  3466  	713, 703, 704, 705, 706, 707, 708, 709, 710, 711,
  3467  	712, 796, 797, 798, 799, 800, 801, 727, 731, 730,
  3468  	728, 729, 725, 726, 679, 192, 213, 355, 0, 439,
  3469  	278, 569, 539, 534, 199, 215, 787, 252, 788, 0,
  3470  	0, 792, 0, 0, 0, 794, 793, 0, 795, 761,
  3471  	760, 0, 0, 789, 790, 0, 791, 0, 0, 194,
  3472  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  3473  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  3474  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  3475  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  3476  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  3477  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  3478  	465, 802, 803, 804, 805, 806, 807, 808, 809, 289,
  3479  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  3480  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  3481  	827, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  3482  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  3483  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  3484  	504, 305, 502, 0, 691, 0, 0, 0, 0, 0,
  3485  	0, 0, 0, 0, 402, 0, 0, 0, 0, 678,
  3486  	0, 0, 0, 260, 683, 0, 0, 0, 353, 257,
  3487  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  3488  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  3489  	690, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  3490  	0, 686, 687, 0, 0, 0, 0, 0, 0, 0,
  3491  	0, 312, 240, 314, 197, 399, 482, 276, 0, 91,
  3492  	0, 0, 828, 812, 778, 779, 816, 829, 830, 831,
  3493  	832, 817, 0, 230, 818, 819, 237, 820, 0, 777,
  3494  	718, 720, 719, 737, 738, 739, 740, 741, 742, 743,
  3495  	716, 825, 833, 834, 0, 255, 310, 262, 254, 507,
  3496  	0, 0, 0, 0, 0, 0, 0, 221, 0, 0,
  3497  	0, 0, 0, 0, 0, 0, 675, 0, 689, 0,
  3498  	0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
  3499  	0, 0, 0, 0, 0, 0, 0, 0, 672, 673,
  3500  	0, 0, 0, 0, 772, 0, 674, 0, 0, 682,
  3501  	835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
  3502  	845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
  3503  	855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
  3504  	865, 866, 867, 868, 869, 870, 871, 872, 873, 874,
  3505  	875, 876, 685, 0, 0, 0, 0, 0, 0, 0,
  3506  	0, 0, 0, 287, 0, 388, 247, 0, 438, 771,
  3507  	0, 0, 549, 0, 0, 769, 0, 0, 0, 0,
  3508  	352, 0, 319, 193, 217, 0, 0, 398, 446, 458,
  3509  	0, 0, 0, 822, 0, 456, 412, 527, 225, 274,
  3510  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  3511  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  3512  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  3513  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  3514  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  3515  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  3516  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  3517  	823, 824, 246, 571, 724, 543, 212, 0, 542, 394,
  3518  	511, 520, 381, 370, 211, 518, 379, 369, 323, 732,
  3519  	733, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  3520  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  3521  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  3522  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  3523  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  3524  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  3525  	480, 782, 770, 695, 786, 697, 783, 784, 692, 693,
  3526  	696, 785, 573, 574, 575, 576, 577, 578, 579, 580,
  3527  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  3528  	0, 773, 681, 680, 0, 688, 0, 714, 715, 717,
  3529  	721, 722, 723, 734, 735, 736, 744, 746, 747, 745,
  3530  	748, 749, 750, 753, 754, 755, 756, 751, 752, 757,
  3531  	698, 702, 699, 700, 701, 713, 703, 704, 705, 706,
  3532  	707, 708, 709, 710, 711, 712, 796, 797, 798, 799,
  3533  	800, 801, 727, 731, 730, 728, 729, 725, 726, 679,
  3534  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  3535  	215, 787, 252, 788, 0, 0, 792, 0, 0, 0,
  3536  	794, 793, 0, 795, 761, 760, 0, 0, 789, 790,
  3537  	0, 791, 0, 0, 194, 195, 202, 214, 224, 228,
  3538  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  3539  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  3540  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  3541  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  3542  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  3543  	513, 515, 528, 546, 552, 465, 802, 803, 804, 805,
  3544  	806, 807, 808, 809, 289, 523, 553, 521, 565, 547,
  3545  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  3546  	486, 219, 451, 280, 243, 827, 0, 204, 238, 222,
  3547  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  3548  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  3549  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  3550  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  3551  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  3552  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  3553  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  3554  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  3555  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3556  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  3557  	399, 482, 276, 0, 0, 0, 0, 0, 638, 0,
  3558  	0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
  3559  	0, 237, 0, 0, 0, 338, 347, 346, 327, 328,
  3560  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  3561  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  3562  	0, 0, 221, 0, 0, 0, 0, 1335, 0, 0,
  3563  	0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
  3564  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3565  	1336, 1337, 1338, 1339, 1340, 1341, 1342, 1344, 1343, 1345,
  3566  	1346, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3567  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3568  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3569  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3570  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3571  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  3572  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  3573  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  3574  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  3575  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  3576  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  3577  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  3578  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  3579  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  3580  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  3581  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  3582  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  3583  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  3584  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  3585  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  3586  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  3587  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  3588  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  3589  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  3590  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  3591  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  3592  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  3593  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  3594  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  3595  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  3596  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  3597  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  3598  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  3599  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  3600  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  3601  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3602  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  3603  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  3604  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  3605  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  3606  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  3607  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  3608  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  3609  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  3610  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  3611  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  3612  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  3613  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  3614  	494, 495, 497, 382, 256, 419, 383, 0, 363, 503,
  3615  	504, 305, 502, 0, 0, 0, 0, 0, 0, 0,
  3616  	0, 0, 0, 0, 402, 0, 0, 0, 0, 0,
  3617  	0, 0, 0, 260, 0, 0, 0, 0, 353, 257,
  3618  	0, 0, 416, 0, 198, 0, 471, 244, 364, 361,
  3619  	510, 272, 263, 259, 242, 306, 372, 414, 492, 408,
  3620  	0, 357, 0, 0, 481, 387, 0, 0, 0, 0,
  3621  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3622  	0, 312, 240, 314, 197, 399, 482, 276, 0, 0,
  3623  	0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
  3624  	0, 0, 0, 230, 0, 0, 237, 0, 0, 0,
  3625  	338, 347, 346, 327, 328, 330, 332, 337, 344, 350,
  3626  	0, 0, 0, 0, 0, 255, 310, 262, 254, 507,
  3627  	0, 0, 0, 0, 0, 0, 0, 221, 0, 988,
  3628  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3629  	0, 0, 265, 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, 0, 0, 0,
  3634  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3635  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3636  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3637  	0, 0, 0, 287, 0, 388, 247, 0, 438, 0,
  3638  	0, 987, 549, 0, 0, 0, 0, 0, 984, 985,
  3639  	352, 945, 319, 193, 217, 978, 982, 398, 446, 458,
  3640  	0, 0, 0, 245, 0, 456, 412, 527, 225, 274,
  3641  	443, 418, 454, 426, 277, 0, 0, 455, 359, 512,
  3642  	436, 524, 550, 551, 253, 392, 536, 496, 544, 568,
  3643  	218, 250, 406, 489, 530, 478, 384, 508, 509, 318,
  3644  	477, 285, 196, 356, 556, 216, 464, 358, 234, 223,
  3645  	514, 533, 279, 441, 563, 205, 491, 522, 231, 468,
  3646  	0, 0, 570, 239, 488, 207, 519, 487, 380, 315,
  3647  	316, 206, 0, 442, 258, 283, 0, 0, 248, 401,
  3648  	516, 517, 246, 571, 220, 543, 212, 0, 542, 394,
  3649  	511, 520, 381, 370, 211, 518, 379, 369, 323, 342,
  3650  	343, 270, 296, 433, 362, 434, 295, 297, 390, 389,
  3651  	391, 200, 531, 0, 201, 0, 483, 532, 572, 226,
  3652  	227, 229, 0, 269, 273, 281, 284, 292, 293, 302,
  3653  	354, 405, 432, 428, 437, 0, 506, 525, 537, 548,
  3654  	554, 555, 557, 558, 559, 560, 561, 564, 562, 393,
  3655  	300, 479, 322, 360, 0, 0, 411, 457, 232, 529,
  3656  	480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3657  	0, 0, 573, 574, 575, 576, 577, 578, 579, 580,
  3658  	581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
  3659  	0, 0, 0, 0, 0, 0, 0, 0, 0, 591,
  3660  	371, 470, 526, 324, 336, 339, 329, 348, 0, 349,
  3661  	325, 326, 331, 333, 334, 335, 340, 341, 345, 351,
  3662  	241, 203, 377, 385, 505, 301, 208, 209, 210, 498,
  3663  	499, 500, 501, 540, 541, 545, 447, 448, 449, 450,
  3664  	282, 535, 298, 453, 452, 320, 321, 366, 435, 0,
  3665  	192, 213, 355, 0, 439, 278, 569, 539, 534, 199,
  3666  	215, 0, 252, 0, 0, 0, 0, 0, 0, 0,
  3667  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3668  	0, 0, 0, 0, 194, 195, 202, 214, 224, 228,
  3669  	235, 251, 266, 268, 275, 288, 299, 307, 308, 311,
  3670  	317, 367, 373, 374, 375, 376, 395, 396, 397, 400,
  3671  	403, 404, 407, 409, 410, 413, 417, 421, 422, 423,
  3672  	425, 427, 429, 440, 445, 459, 460, 461, 462, 463,
  3673  	466, 467, 472, 473, 474, 475, 476, 484, 485, 490,
  3674  	513, 515, 528, 546, 552, 465, 290, 291, 430, 431,
  3675  	303, 304, 566, 567, 289, 523, 553, 521, 565, 547,
  3676  	424, 365, 0, 0, 368, 271, 294, 309, 0, 538,
  3677  	486, 219, 451, 280, 243, 0, 0, 204, 238, 222,
  3678  	249, 264, 267, 313, 378, 386, 415, 420, 286, 261,
  3679  	236, 444, 233, 469, 493, 494, 495, 497, 382, 256,
  3680  	419, 383, 0, 363, 503, 504, 305, 502, 0, 0,
  3681  	0, 0, 0, 0, 0, 0, 0, 0, 0, 402,
  3682  	0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
  3683  	0, 0, 0, 353, 257, 0, 0, 416, 0, 198,
  3684  	0, 471, 244, 364, 361, 510, 272, 263, 259, 242,
  3685  	306, 372, 414, 492, 408, 0, 357, 0, 0, 481,
  3686  	387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3687  	0, 0, 0, 0, 0, 0, 312, 240, 314, 197,
  3688  	399, 482, 276, 0, 0, 0, 0, 1482, 812, 0,
  3689  	0, 1479, 0, 0, 0, 0, 1477, 0, 230, 1478,
  3690  	1476, 237, 1481, 0, 777, 338, 347, 346, 327, 328,
  3691  	330, 332, 337, 344, 350, 0, 0, 0, 0, 0,
  3692  	255, 310, 262, 254, 507, 0, 0, 0, 0, 0,
  3693  	0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
  3694  	0, 0, 0, 0, 0, 0, 0, 265, 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, 0, 0, 0, 0, 0, 0, 0, 0,
  3700  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3701  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3702  	0, 0, 0, 0, 0, 0, 0, 0, 287, 0,
  3703  	388, 247, 0, 438, 0, 0, 0, 549, 0, 0,
  3704  	0, 0, 0, 0, 0, 352, 0, 319, 193, 217,
  3705  	0, 0, 398, 446, 458, 0, 0, 0, 245, 0,
  3706  	456, 412, 527, 225, 274, 443, 418, 454, 426, 277,
  3707  	0, 0, 455, 359, 512, 436, 524, 550, 551, 253,
  3708  	392, 536, 496, 544, 568, 218, 250, 406, 489, 530,
  3709  	478, 384, 508, 509, 318, 477, 285, 196, 356, 556,
  3710  	216, 464, 358, 234, 223, 514, 533, 279, 441, 563,
  3711  	205, 491, 522, 231, 468, 0, 0, 570, 239, 488,
  3712  	207, 519, 487, 380, 315, 316, 206, 0, 442, 258,
  3713  	283, 0, 0, 248, 401, 516, 517, 246, 571, 220,
  3714  	543, 212, 0, 542, 394, 511, 520, 381, 370, 211,
  3715  	518, 379, 369, 323, 342, 343, 270, 296, 433, 362,
  3716  	434, 295, 297, 390, 389, 391, 200, 531, 0, 201,
  3717  	0, 483, 532, 572, 226, 227, 229, 0, 269, 273,
  3718  	281, 284, 292, 293, 302, 354, 405, 432, 428, 437,
  3719  	0, 506, 525, 537, 548, 554, 555, 557, 558, 559,
  3720  	560, 561, 564, 562, 393, 300, 479, 322, 360, 0,
  3721  	0, 411, 457, 232, 529, 480, 0, 0, 0, 0,
  3722  	0, 0, 0, 0, 0, 0, 0, 573, 574, 575,
  3723  	576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
  3724  	586, 587, 588, 589, 590, 0, 0, 0, 0, 0,
  3725  	0, 0, 0, 0, 591, 371, 470, 526, 324, 336,
  3726  	339, 329, 348, 0, 349, 325, 326, 331, 333, 334,
  3727  	335, 340, 341, 345, 351, 241, 203, 377, 385, 505,
  3728  	301, 208, 209, 210, 498, 499, 500, 501, 540, 541,
  3729  	545, 447, 448, 449, 450, 282, 535, 298, 453, 452,
  3730  	320, 321, 366, 435, 0, 192, 213, 355, 0, 439,
  3731  	278, 569, 539, 534, 199, 215, 0, 252, 0, 0,
  3732  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3733  	0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
  3734  	195, 202, 214, 224, 228, 235, 251, 266, 268, 275,
  3735  	288, 299, 307, 308, 311, 317, 367, 373, 374, 375,
  3736  	376, 395, 396, 397, 400, 403, 404, 407, 409, 410,
  3737  	413, 417, 421, 422, 423, 425, 427, 429, 440, 445,
  3738  	459, 460, 461, 462, 463, 466, 467, 472, 473, 474,
  3739  	475, 476, 484, 485, 490, 513, 515, 528, 546, 552,
  3740  	465, 290, 291, 430, 431, 303, 304, 566, 567, 289,
  3741  	523, 553, 521, 565, 547, 424, 365, 0, 0, 368,
  3742  	271, 294, 309, 0, 538, 486, 219, 451, 280, 243,
  3743  	0, 0, 204, 238, 222, 249, 264, 267, 313, 378,
  3744  	386, 415, 420, 286, 261, 236, 444, 233, 469, 493,
  3745  	494, 495, 497, 382, 256, 419, 0, 383, 363, 503,
  3746  	504, 305, 82, 502, 0, 0, 0, 0, 0, 0,
  3747  	0, 0, 0, 0, 0, 402, 0, 0, 0, 0,
  3748  	0, 0, 0, 0, 260, 0, 0, 0, 0, 353,
  3749  	257, 0, 0, 416, 0, 198, 0, 471, 244, 364,
  3750  	361, 510, 272, 263, 259, 242, 306, 372, 414, 492,
  3751  	408, 0, 357, 0, 0, 481, 387, 0, 0, 0,
  3752  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3753  	0, 0, 312, 240, 314, 197, 399, 482, 276, 0,
  3754  	91, 0, 0, 0, 190, 0, 0, 0, 0, 0,
  3755  	0, 0, 0, 0, 230, 0, 0, 237, 0, 0,
  3756  	0, 338, 347, 346, 327, 328, 330, 332, 337, 344,
  3757  	350, 0, 0, 0, 0, 0, 255, 310, 262, 254,
  3758  	507, 0, 0, 0, 0, 0, 0, 0, 221, 0,
  3759  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3760  	0, 0, 0, 265, 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, 0, 0,
  3765  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3766  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3767  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3768  	0, 0, 0, 0, 287, 0, 388, 247, 0, 438,
  3769  	0, 0, 0, 549, 0, 0, 0, 0, 0, 0,
  3770  	0, 352, 0, 319, 193, 217, 0, 0, 398, 446,
  3771  	458, 0, 0, 0, 245, 0, 456, 412, 527, 225,
  3772  	274, 443, 418, 454, 426, 277, 0, 0, 455, 359,
  3773  	512, 436, 524, 550, 551, 253, 392, 536, 496, 544,
  3774  	568, 218, 250, 406, 489, 530, 478, 384, 508, 509,
  3775  	318, 477, 285, 196, 356, 556, 216, 464, 358, 234,
  3776  	223, 514, 533, 279, 441, 563, 205, 491, 522, 231,
  3777  	468, 0, 0, 570, 239, 488, 207, 519, 487, 380,
  3778  	315, 316, 206, 0, 442, 258, 283, 0, 0, 248,
  3779  	401, 516, 517, 246, 571, 220, 543, 212, 0, 542,
  3780  	394, 511, 520, 381, 370, 211, 518, 379, 369, 323,
  3781  	342, 343, 270, 296, 433, 362, 434, 295, 297, 390,
  3782  	389, 391, 200, 531, 0, 201, 0, 483, 532, 572,
  3783  	226, 227, 229, 0, 269, 273, 281, 284, 292, 293,
  3784  	302, 354, 405, 432, 428, 437, 0, 506, 525, 537,
  3785  	548, 554, 555, 557, 558, 559, 560, 561, 564, 562,
  3786  	393, 300, 479, 322, 360, 0, 0, 411, 457, 232,
  3787  	529, 480, 0, 0, 0, 0, 0, 0, 0, 0,
  3788  	0, 0, 0, 573, 574, 575, 576, 577, 578, 579,
  3789  	580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
  3790  	590, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3791  	591, 371, 470, 526, 324, 336, 339, 329, 348, 0,
  3792  	349, 325, 326, 331, 333, 334, 335, 340, 341, 345,
  3793  	351, 241, 203, 377, 385, 505, 301, 208, 209, 210,
  3794  	498, 499, 500, 501, 540, 541, 545, 447, 448, 449,
  3795  	450, 282, 535, 298, 453, 452, 320, 321, 366, 435,
  3796  	0, 192, 213, 355, 90, 439, 278, 569, 539, 534,
  3797  	199, 215, 0, 252, 0, 0, 0, 0, 0, 0,
  3798  	2093, 0, 0, 2092, 0, 0, 0, 0, 0, 0,
  3799  	0, 0, 0, 0, 0, 194, 195, 202, 214, 224,
  3800  	228, 235, 251, 266, 268, 275, 288, 299, 307, 308,
  3801  	311, 317, 367, 373, 374, 375, 376, 395, 396, 397,
  3802  	400, 403, 404, 407, 409, 410, 413, 417, 421, 422,
  3803  	423, 425, 427, 429, 440, 445, 459, 460, 461, 462,
  3804  	463, 466, 467, 472, 473, 474, 475, 476, 484, 485,
  3805  	490, 513, 515, 528, 546, 552, 465, 290, 291, 430,
  3806  	431, 303, 304, 566, 567, 289, 523, 553, 521, 565,
  3807  	547, 424, 365, 0, 0, 368, 271, 294, 309, 0,
  3808  	538, 486, 219, 451, 280, 243, 0, 0, 204, 238,
  3809  	222, 249, 264, 267, 313, 378, 386, 415, 420, 286,
  3810  	261, 236, 444, 233, 469, 493, 494, 495, 497, 382,
  3811  	256, 419, 1538, 0, 363, 503, 504, 305, 502, 0,
  3812  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3813  	402, 0, 0, 0, 1540, 0, 0, 0, 0, 260,
  3814  	0, 0, 0, 0, 353, 257, 0, 0, 416, 0,
  3815  	198, 0, 471, 244, 364, 361, 510, 272, 263, 259,
  3816  	242, 306, 372, 414, 492, 408, 0, 357, 0, 0,
  3817  	481, 387, 0, 0, 0, 0, 0, 0, 0, 0,
  3818  	0, 0, 0, 0, 0, 0, 0, 312, 240, 314,
  3819  	197, 399, 482, 276, 0, 0, 0, 0, 1542, 638,
  3820  	0, 0, 0, 0, 0, 0, 0, 0, 0, 230,
  3821  	0, 0, 237, 0, 0, 0, 338, 347, 346, 327,
  3822  	328, 330, 332, 337, 344, 350, 0, 0, 0, 0,
  3823  	0, 255, 310, 262, 254, 507, 0, 0, 0, 0,
  3824  	0, 0, 0, 221, 0, 0, 0, 1316, 0, 1317,
  3825  	1318, 0, 0, 0, 0, 0, 0, 0, 265, 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, 0, 0, 0, 0, 0, 0, 0,
  3831  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3832  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3833  	0, 0, 0, 0, 0, 0, 0, 0, 0, 287,
  3834  	0, 388, 247, 0, 438, 0, 0, 0, 549, 0,
  3835  	0, 0, 0, 0, 0, 0, 352, 0, 319, 193,
  3836  	217, 0, 0, 398, 446, 458, 0, 0, 0, 245,
  3837  	0, 456, 412, 527, 225, 274, 443, 418, 454, 426,
  3838  	277, 0, 0, 455, 359, 512, 436, 524, 550, 551,
  3839  	253, 392, 536, 496, 544, 568, 218, 250, 406, 489,
  3840  	530, 478, 384, 508, 509, 318, 477, 285, 196, 356,
  3841  	556, 216, 464, 358, 234, 223, 514, 533, 279, 441,
  3842  	563, 205, 491, 522, 231, 468, 0, 0, 570, 239,
  3843  	488, 207, 519, 487, 380, 315, 316, 206, 0, 442,
  3844  	258, 283, 0, 0, 248, 401, 516, 517, 246, 571,
  3845  	220, 543, 212, 0, 542, 394, 511, 520, 381, 370,
  3846  	211, 518, 379, 369, 323, 342, 343, 270, 296, 433,
  3847  	362, 434, 295, 297, 390, 389, 391, 200, 531, 0,
  3848  	201, 0, 483, 532, 572, 226, 227, 229, 0, 269,
  3849  	273, 281, 284, 292, 293, 302, 354, 405, 432, 428,
  3850  	437, 0, 506, 525, 537, 548, 554, 555, 557, 558,
  3851  	559, 560, 561, 564, 562, 393, 300, 479, 322, 360,
  3852  	0, 0, 411, 457, 232, 529, 480, 0, 0, 0,
  3853  	0, 0, 0, 0, 0, 0, 0, 0, 573, 574,
  3854  	575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
  3855  	585, 586, 587, 588, 589, 590, 0, 0, 0, 0,
  3856  	0, 0, 0, 0, 0, 591, 371, 470, 526, 324,
  3857  	336, 339, 329, 348, 0, 349, 325, 326, 331, 333,
  3858  	334, 335, 340, 341, 345, 351, 241, 203, 377, 385,
  3859  	505, 301, 208, 209, 210, 498, 499, 500, 501, 540,
  3860  	541, 545, 447, 448, 449, 450, 282, 535, 298, 453,
  3861  	452, 320, 321, 366, 435, 0, 192, 213, 355, 0,
  3862  	439, 278, 569, 539, 534, 199, 215, 0, 252, 0,
  3863  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3864  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3865  	194, 195, 202, 214, 224, 228, 235, 251, 266, 268,
  3866  	275, 288, 299, 307, 308, 311, 317, 367, 373, 374,
  3867  	375, 376, 395, 396, 397, 400, 403, 404, 407, 409,
  3868  	410, 413, 417, 421, 422, 423, 425, 427, 429, 440,
  3869  	445, 459, 460, 461, 462, 463, 466, 467, 472, 473,
  3870  	474, 475, 476, 484, 485, 490, 513, 515, 528, 546,
  3871  	552, 465, 290, 291, 430, 431, 303, 304, 566, 567,
  3872  	289, 523, 553, 521, 565, 547, 424, 365, 0, 0,
  3873  	368, 271, 294, 309, 0, 538, 486, 219, 451, 280,
  3874  	243, 0, 0, 204, 238, 222, 249, 264, 267, 313,
  3875  	378, 386, 415, 420, 286, 261, 236, 444, 233, 469,
  3876  	493, 494, 495, 497, 382, 256, 419, 0, 383, 363,
  3877  	503, 504, 305, 82, 502, 0, 0, 0, 0, 0,
  3878  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  3879  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  3880  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  3881  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  3882  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  3883  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3884  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  3885  	0, 91, 0, 1519, 0, 638, 0, 0, 0, 0,
  3886  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  3887  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  3888  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  3889  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  3890  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3891  	0, 0, 0, 0, 265, 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, 0, 0,
  3896  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3897  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3898  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3899  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  3900  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  3901  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  3902  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  3903  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  3904  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  3905  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  3906  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  3907  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  3908  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  3909  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  3910  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  3911  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  3912  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  3913  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  3914  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  3915  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  3916  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  3917  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  3918  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  3919  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  3920  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  3921  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  3922  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  3923  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  3924  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  3925  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  3926  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  3927  	435, 0, 192, 213, 355, 90, 439, 278, 569, 539,
  3928  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  3929  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3930  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  3931  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  3932  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  3933  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  3934  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  3935  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  3936  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  3937  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  3938  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  3939  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  3940  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  3941  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  3942  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  3943  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3944  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  3945  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  3946  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  3947  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  3948  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  3949  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  3950  	314, 197, 399, 482, 276, 0, 91, 0, 0, 0,
  3951  	190, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3952  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  3953  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  3954  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  3955  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  3956  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  3962  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3963  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3964  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3965  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  3966  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  3967  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  3968  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  3969  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  3970  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  3971  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  3972  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  3973  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  3974  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  3975  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  3976  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  3977  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  3978  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  3979  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  3980  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  3981  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  3982  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  3983  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  3984  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  3985  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  3986  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  3987  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  3988  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  3989  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  3990  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  3991  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  3992  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  3993  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  3994  	0, 0, 0, 0, 0, 0, 2093, 0, 0, 2092,
  3995  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3996  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  3997  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  3998  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  3999  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4000  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4001  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4002  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4003  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4004  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4005  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4006  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4007  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4008  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4009  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4010  	2043, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4011  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4012  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4013  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4014  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4015  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4016  	0, 0, 0, 0, 1721, 190, 0, 0, 0, 0,
  4017  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  4018  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4019  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4020  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4021  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4022  	0, 0, 0, 0, 265, 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, 0, 0,
  4027  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4028  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4029  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4030  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4031  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4032  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4033  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4034  	225, 274, 443, 418, 454, 426, 277, 0, 2041, 455,
  4035  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4036  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4037  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4038  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4039  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4040  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4041  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4042  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4043  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4044  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4045  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4046  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4047  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4048  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4049  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4050  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4051  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4052  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4053  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4054  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4055  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4056  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4057  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4058  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4059  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4060  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4061  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4062  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4063  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4064  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4065  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4066  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4067  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4068  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4069  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4070  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4071  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4072  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4073  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4074  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4075  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4076  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  4077  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4078  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4079  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4080  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4081  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  4082  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4083  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  4084  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  4085  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  4086  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  4087  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  4088  	0, 0, 0, 0, 0, 0, 0, 0, 939, 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, 0, 0, 0, 0, 0, 0, 0,
  4093  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4094  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4095  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4096  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  4097  	0, 0, 0, 0, 0, 0, 0, 352, 945, 319,
  4098  	193, 217, 943, 0, 398, 446, 458, 0, 0, 0,
  4099  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  4100  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  4101  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  4102  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  4103  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  4104  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  4105  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  4106  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  4107  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  4108  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  4109  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  4110  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  4111  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  4112  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  4113  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  4114  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  4115  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  4116  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  4117  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  4118  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  4119  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  4120  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  4121  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  4122  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  4123  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  4124  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  4125  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4126  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4127  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  4128  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  4129  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  4130  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4131  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4132  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4133  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4134  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4135  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4136  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4137  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4138  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4139  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4140  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4141  	2043, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4142  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4143  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4144  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4145  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4146  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4147  	0, 0, 0, 0, 1721, 190, 0, 0, 0, 0,
  4148  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  4149  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4150  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4151  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4152  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4153  	0, 0, 0, 0, 265, 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, 0, 0,
  4158  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4159  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4160  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4161  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4162  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4163  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4164  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4165  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  4166  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4167  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4168  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4169  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4170  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4171  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4172  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4173  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4174  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4175  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4176  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4177  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4178  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4179  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4180  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4181  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4182  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4183  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4184  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4185  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4186  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4187  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4188  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4189  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4190  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4191  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4192  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4193  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4194  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4195  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4196  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4197  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4198  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4199  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4200  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4201  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4202  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4203  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4204  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4205  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4206  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4207  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  4208  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4209  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4210  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4211  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4212  	314, 197, 399, 482, 276, 0, 0, 0, 1519, 0,
  4213  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4214  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  4215  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  4216  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  4217  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  4218  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  4224  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4225  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4226  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4227  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  4228  	0, 0, 0, 3331, 0, 0, 0, 352, 0, 319,
  4229  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  4230  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  4231  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  4232  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  4233  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  4234  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  4235  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  4236  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  4237  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  4238  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  4239  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  4240  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  4241  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  4242  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  4243  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  4244  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  4245  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  4246  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  4247  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  4248  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  4249  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  4250  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  4251  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  4252  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  4253  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  4254  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  4255  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  4256  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4257  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4258  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  4259  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  4260  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  4261  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4262  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4263  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4264  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4265  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4266  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4267  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4268  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4269  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4270  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4271  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4272  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4273  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4274  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4275  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4276  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4277  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4278  	0, 0, 0, 0, 1876, 638, 0, 0, 0, 0,
  4279  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  4280  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4281  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4282  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4283  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4284  	0, 0, 0, 0, 265, 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, 1877, 0, 0, 0, 0, 0, 0, 0, 0,
  4288  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4289  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4290  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4291  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4292  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4293  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4294  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4295  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4296  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  4297  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4298  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4299  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4300  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4301  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4302  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4303  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4304  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4305  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4306  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4307  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4308  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4309  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4310  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4311  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4312  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4313  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4314  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4315  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4316  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4317  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4318  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4319  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4320  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4321  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4322  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4323  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4324  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4325  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4326  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4327  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4328  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4329  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4330  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4331  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4332  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4333  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4334  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4335  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4336  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4337  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4338  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  4339  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4340  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4341  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4342  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4343  	314, 197, 399, 482, 276, 0, 0, 0, 0, 2450,
  4344  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4345  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  4346  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  4347  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  4348  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  4349  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 2451, 0, 0, 0,
  4353  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4354  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4355  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4356  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4357  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4358  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  4359  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  4360  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  4361  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  4362  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  4363  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  4364  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  4365  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  4366  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  4367  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  4368  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  4369  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  4370  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  4371  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  4372  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  4373  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  4374  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  4375  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  4376  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  4377  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  4378  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  4379  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  4380  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  4381  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  4382  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  4383  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  4384  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  4385  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  4386  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  4387  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4388  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4389  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  4390  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  4391  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  4392  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4393  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4394  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4395  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4396  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4397  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4398  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4399  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4400  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4401  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4402  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4403  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4404  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4405  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4406  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4407  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4408  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4409  	0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
  4410  	2435, 0, 0, 0, 0, 230, 0, 0, 237, 2436,
  4411  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4412  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4413  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4414  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4415  	0, 0, 0, 0, 265, 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, 0, 0,
  4420  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4421  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4422  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4423  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4424  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4425  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4426  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4427  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  4428  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4429  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4430  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4431  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4432  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4433  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4434  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4435  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4436  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4437  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4438  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4439  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4440  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4441  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4442  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4443  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4444  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4445  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4446  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4447  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4448  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4449  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4450  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4451  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4452  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4453  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4454  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4455  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4456  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4457  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4458  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4459  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4460  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4461  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4462  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4463  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4464  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4465  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4466  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4467  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4468  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4469  	260, 1561, 0, 0, 0, 353, 257, 0, 0, 416,
  4470  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4471  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4472  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4473  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4474  	314, 197, 399, 482, 276, 0, 0, 0, 0, 1560,
  4475  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4476  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  4477  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  4478  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  4479  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  4480  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  4486  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4487  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4488  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4489  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  4490  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  4491  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  4492  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  4493  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  4494  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  4495  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  4496  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  4497  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  4498  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  4499  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  4500  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  4501  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  4502  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  4503  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  4504  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  4505  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  4506  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  4507  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  4508  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  4509  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  4510  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  4511  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  4512  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  4513  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  4514  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  4515  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  4516  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  4517  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  4518  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4519  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4520  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  4521  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  4522  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  4523  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4524  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4525  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4526  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4527  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4528  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4529  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4530  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4531  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4532  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4533  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4534  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4535  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4536  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4537  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4538  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4539  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4540  	0, 0, 0, 0, 0, 640, 641, 642, 0, 0,
  4541  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  4542  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4543  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4544  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4545  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4546  	0, 0, 0, 0, 265, 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, 0, 0,
  4551  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4552  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4553  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4554  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4555  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4556  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4557  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4558  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  4559  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4560  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4561  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4562  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4563  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4564  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4565  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4566  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4567  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4568  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4569  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4570  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4571  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4572  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4573  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4574  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4575  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4576  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4577  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4578  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4579  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4580  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4581  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4582  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4583  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4584  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4585  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4586  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4587  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4588  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4589  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4590  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4591  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4592  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4593  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4594  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4595  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4596  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4597  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4598  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4599  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4600  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  4601  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4602  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4603  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4604  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4605  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  4606  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4607  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  4608  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  4609  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  4610  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  4611  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  4617  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4618  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4619  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4620  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  4621  	0, 0, 0, 3456, 0, 0, 0, 352, 0, 319,
  4622  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  4623  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  4624  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  4625  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  4626  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  4627  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  4628  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  4629  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  4630  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  4631  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  4632  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  4633  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  4634  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  4635  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  4636  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  4637  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  4638  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  4639  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  4640  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  4641  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  4642  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  4643  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  4644  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  4645  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  4646  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  4647  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  4648  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  4649  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4650  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4651  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  4652  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  4653  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  4654  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4655  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4656  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4657  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4658  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4659  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4660  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4661  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4662  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4663  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4664  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4665  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4666  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4667  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4668  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4669  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4670  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4671  	0, 0, 0, 0, 1721, 190, 0, 0, 0, 0,
  4672  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  4673  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4674  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4675  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4676  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4677  	0, 0, 0, 0, 265, 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, 0, 0,
  4682  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4683  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4684  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4685  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4686  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4687  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4688  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4689  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  4690  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4691  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4692  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4693  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4694  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4695  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4696  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4697  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4698  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4699  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4700  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4701  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4702  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4703  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4704  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4705  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4706  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4707  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4708  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4709  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4710  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4711  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4712  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4713  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4714  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4715  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4716  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4717  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4718  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4719  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4720  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4721  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4722  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4723  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4724  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4725  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4726  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4727  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4728  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4729  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4730  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4731  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  4732  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4733  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4734  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4735  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4736  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  4737  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4738  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  4739  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  4740  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  4741  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  4742  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  4748  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4749  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4750  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4751  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  4752  	0, 0, 0, 3331, 0, 0, 0, 352, 0, 319,
  4753  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  4754  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  4755  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  4756  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  4757  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  4758  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  4759  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  4760  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  4761  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  4762  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  4763  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  4764  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  4765  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  4766  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  4767  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  4768  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  4769  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  4770  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  4771  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  4772  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  4773  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  4774  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  4775  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  4776  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  4777  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  4778  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  4779  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  4780  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4781  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4782  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  4783  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  4784  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  4785  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4786  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4787  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4788  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4789  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4790  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4791  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4792  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4793  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4794  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4795  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4796  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4797  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4798  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4799  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4800  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4801  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4802  	0, 91, 0, 0, 0, 638, 0, 0, 0, 0,
  4803  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  4804  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4805  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4806  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4807  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4808  	0, 0, 0, 0, 265, 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, 0, 0,
  4813  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4814  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4815  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4816  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4817  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4818  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4819  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4820  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  4821  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4822  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4823  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4824  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4825  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4826  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4827  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4828  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4829  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4830  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4831  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4832  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4833  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4834  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4835  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4836  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4837  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4838  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4839  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4840  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4841  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4842  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4843  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4844  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4845  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4846  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4847  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4848  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4849  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4850  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4851  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4852  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4853  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4854  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4855  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4856  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4857  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4858  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4859  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4860  	0, 0, 0, 0, 2094, 0, 0, 0, 0, 0,
  4861  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4862  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  4863  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4864  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4865  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4866  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4867  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  4868  	190, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4869  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  4870  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  4871  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  4872  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  4873  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  4879  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4880  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4881  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4882  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  4883  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  4884  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  4885  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  4886  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  4887  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  4888  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  4889  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  4890  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  4891  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  4892  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  4893  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  4894  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  4895  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  4896  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  4897  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  4898  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  4899  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  4900  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  4901  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  4902  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  4903  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  4904  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  4905  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  4906  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  4907  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  4908  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  4909  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  4910  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  4911  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4912  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4913  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  4914  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  4915  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  4916  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  4917  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  4918  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  4919  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  4920  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  4921  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  4922  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  4923  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  4924  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  4925  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  4926  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  4927  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  4928  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  4929  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  4930  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  4931  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4932  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  4933  	0, 0, 0, 0, 1542, 638, 0, 0, 0, 0,
  4934  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  4935  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  4936  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  4937  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  4938  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4939  	0, 0, 0, 0, 265, 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, 0, 0,
  4944  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4945  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4946  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4947  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  4948  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  4949  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  4950  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  4951  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  4952  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  4953  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  4954  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  4955  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  4956  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  4957  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  4958  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  4959  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  4960  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  4961  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  4962  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  4963  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  4964  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  4965  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  4966  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  4967  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  4968  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  4969  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  4970  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  4971  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  4972  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  4973  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  4974  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  4975  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  4976  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  4977  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4978  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  4979  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  4980  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  4981  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  4982  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  4983  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  4984  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  4985  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  4986  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  4987  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  4988  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  4989  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  4990  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  4991  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  4992  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  4993  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  4994  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  4995  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  4996  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  4997  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  4998  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  4999  	190, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5000  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5001  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5002  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5003  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5004  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5010  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5011  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5012  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5013  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5014  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5015  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5016  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5017  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5018  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5019  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5020  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5021  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5022  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5023  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5024  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5025  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5026  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5027  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5028  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5029  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5030  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5031  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5032  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5033  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5034  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5035  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5036  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5037  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5038  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5039  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5040  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5041  	1831, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5042  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5043  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5044  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5045  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5046  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5047  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5048  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5049  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5050  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5051  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5052  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5053  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5054  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5055  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5056  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5057  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  5058  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  5059  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5060  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5061  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5062  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5063  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5064  	0, 0, 0, 0, 1822, 638, 0, 0, 0, 0,
  5065  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5066  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5067  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5068  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5069  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5070  	0, 0, 0, 0, 265, 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, 0, 0,
  5075  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5076  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5077  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5078  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  5079  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  5080  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5081  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5082  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  5083  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  5084  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  5085  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  5086  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  5087  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  5088  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  5089  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  5090  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  5091  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  5092  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  5093  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  5094  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  5095  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  5096  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  5097  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  5098  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  5099  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  5100  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  5101  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  5102  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  5103  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  5104  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  5105  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  5106  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  5107  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  5108  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5109  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  5110  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  5111  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  5112  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  5113  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  5114  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  5115  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  5116  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  5117  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  5118  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  5119  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  5120  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  5121  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  5122  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5123  	0, 402, 0, 1688, 0, 0, 0, 0, 0, 0,
  5124  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  5125  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  5126  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  5127  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  5128  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  5129  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  5130  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5131  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5132  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5133  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5134  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5135  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5141  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5142  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5143  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5144  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5145  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5146  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5147  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5148  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5149  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5150  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5151  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5152  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5153  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5154  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5155  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5156  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5157  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5158  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5159  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5160  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5161  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5162  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5163  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5164  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5165  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5166  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5167  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5168  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5169  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5170  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5171  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5172  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5173  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5174  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5175  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5176  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5177  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5178  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5179  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5180  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5181  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5182  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5183  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5184  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5185  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5186  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5187  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5188  	0, 0, 0, 0, 0, 0, 402, 0, 1686, 0,
  5189  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  5190  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5191  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5192  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5193  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5194  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5195  	0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
  5196  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5197  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5198  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5199  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5200  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5201  	0, 0, 0, 0, 265, 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, 0, 0,
  5206  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5207  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5208  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5209  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  5210  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  5211  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5212  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5213  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  5214  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  5215  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  5216  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  5217  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  5218  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  5219  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  5220  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  5221  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  5222  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  5223  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  5224  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  5225  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  5226  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  5227  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  5228  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  5229  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  5230  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  5231  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  5232  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  5233  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  5234  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  5235  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  5236  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  5237  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  5238  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  5239  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5240  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  5241  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  5242  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  5243  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  5244  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  5245  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  5246  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  5247  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  5248  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  5249  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  5250  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  5251  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  5252  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  5253  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5254  	0, 402, 0, 1684, 0, 0, 0, 0, 0, 0,
  5255  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  5256  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  5257  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  5258  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  5259  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  5260  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  5261  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5262  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5263  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5264  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5265  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5266  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5272  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5273  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5274  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5275  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5276  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5277  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5278  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5279  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5280  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5281  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5282  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5283  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5284  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5285  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5286  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5287  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5288  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5289  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5290  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5291  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5292  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5293  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5294  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5295  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5296  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5297  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5298  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5299  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5300  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5301  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5302  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5303  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5304  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5305  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5306  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5307  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5308  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5309  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5310  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5311  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5312  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5313  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5314  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5315  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5316  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5317  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5318  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5319  	0, 0, 0, 0, 0, 0, 402, 0, 1682, 0,
  5320  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  5321  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5322  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5323  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5324  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5325  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5326  	0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
  5327  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5328  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5329  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5330  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5331  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5332  	0, 0, 0, 0, 265, 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, 0, 0,
  5337  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5338  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5339  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5340  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  5341  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  5342  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5343  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5344  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  5345  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  5346  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  5347  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  5348  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  5349  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  5350  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  5351  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  5352  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  5353  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  5354  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  5355  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  5356  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  5357  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  5358  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  5359  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  5360  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  5361  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  5362  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  5363  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  5364  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  5365  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  5366  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  5367  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  5368  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  5369  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  5370  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5371  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  5372  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  5373  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  5374  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  5375  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  5376  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  5377  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  5378  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  5379  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  5380  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  5381  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  5382  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  5383  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  5384  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5385  	0, 402, 0, 1680, 0, 0, 0, 0, 0, 0,
  5386  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  5387  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  5388  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  5389  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  5390  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  5391  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  5392  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5393  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5394  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5395  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5396  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5397  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5403  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5404  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5405  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5406  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5407  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5408  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5409  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5410  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5411  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5412  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5413  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5414  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5415  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5416  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5417  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5418  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5419  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5420  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5421  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5422  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5423  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5424  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5425  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5426  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5427  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5428  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5429  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5430  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5431  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5432  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5433  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5434  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5435  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5436  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5437  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5438  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5439  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5440  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5441  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5442  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5443  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5444  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5445  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5446  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5447  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5448  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5449  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5450  	0, 0, 0, 0, 0, 0, 402, 0, 1676, 0,
  5451  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  5452  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5453  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5454  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5455  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5456  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5457  	0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
  5458  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5459  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5460  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5461  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5462  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5463  	0, 0, 0, 0, 265, 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, 0, 0,
  5468  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5469  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5470  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5471  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  5472  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  5473  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5474  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5475  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  5476  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  5477  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  5478  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  5479  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  5480  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  5481  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  5482  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  5483  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  5484  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  5485  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  5486  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  5487  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  5488  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  5489  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  5490  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  5491  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  5492  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  5493  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  5494  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  5495  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  5496  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  5497  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  5498  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  5499  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  5500  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  5501  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5502  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  5503  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  5504  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  5505  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  5506  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  5507  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  5508  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  5509  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  5510  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  5511  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  5512  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  5513  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  5514  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  5515  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5516  	0, 402, 0, 1674, 0, 0, 0, 0, 0, 0,
  5517  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  5518  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  5519  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  5520  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  5521  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  5522  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  5523  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5524  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5525  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5526  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5527  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5528  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5534  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5535  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5536  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5537  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5538  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5539  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5540  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5541  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5542  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5543  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5544  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5545  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5546  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5547  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5548  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5549  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5550  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5551  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5552  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5553  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5554  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5555  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5556  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5557  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5558  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5559  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5560  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5561  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5562  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5563  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5564  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5565  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5566  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5567  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5568  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5569  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5570  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5571  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5572  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5573  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5574  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5575  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5576  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5577  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5578  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5579  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5580  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5581  	0, 0, 0, 0, 0, 0, 402, 0, 1672, 0,
  5582  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  5583  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5584  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5585  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5586  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5587  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5588  	0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
  5589  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5590  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5591  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5592  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5593  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5594  	0, 0, 0, 0, 265, 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, 0, 0,
  5599  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5600  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5601  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5602  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  5603  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  5604  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5605  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5606  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  5607  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  5608  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  5609  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  5610  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  5611  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  5612  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  5613  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  5614  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  5615  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  5616  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  5617  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  5618  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  5619  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  5620  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  5621  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  5622  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  5623  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  5624  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  5625  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  5626  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  5627  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  5628  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  5629  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  5630  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  5631  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  5632  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5633  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  5634  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  5635  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  5636  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  5637  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  5638  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  5639  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  5640  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  5641  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  5642  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  5643  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  5644  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  5645  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  5646  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5647  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  5648  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  5649  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  5650  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  5651  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  5652  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  5653  	314, 197, 399, 482, 276, 0, 1647, 0, 0, 0,
  5654  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5655  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5656  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5657  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5658  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5659  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5665  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5666  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5667  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5668  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5669  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5670  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5671  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5672  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5673  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5674  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5675  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5676  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5677  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5678  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5679  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5680  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5681  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5682  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5683  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5684  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5685  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5686  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5687  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5688  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5689  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5690  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5691  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5692  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5693  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5694  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5695  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5696  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5697  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5698  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5699  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5700  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5701  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5702  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5703  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5704  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5705  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5706  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5707  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5708  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5709  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5710  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5711  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5712  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  5713  	0, 0, 0, 0, 1546, 260, 0, 0, 0, 0,
  5714  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5715  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5716  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5717  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5718  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5719  	0, 0, 0, 0, 0, 190, 0, 0, 0, 0,
  5720  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5721  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5722  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5723  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5724  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5725  	0, 0, 0, 0, 265, 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, 0, 0, 0, 0,
  5730  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5731  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5732  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5733  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  5734  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  5735  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5736  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5737  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  5738  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  5739  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  5740  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  5741  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  5742  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  5743  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  5744  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  5745  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  5746  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  5747  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  5748  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  5749  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  5750  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  5751  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  5752  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  5753  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  5754  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  5755  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  5756  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  5757  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  5758  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  5759  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  5760  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  5761  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  5762  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  5763  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5764  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  5765  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  5766  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  5767  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  5768  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  5769  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  5770  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  5771  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  5772  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  5773  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  5774  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  5775  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  5776  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  5777  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5778  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  5779  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  5780  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  5781  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  5782  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  5783  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  5784  	314, 197, 399, 482, 276, 0, 91, 0, 0, 0,
  5785  	812, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5786  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5787  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5788  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5789  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5790  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5796  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5797  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5798  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5799  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5800  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5801  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5802  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5803  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5804  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5805  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5806  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5807  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5808  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5809  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5810  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5811  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5812  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5813  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5814  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5815  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5816  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5817  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5818  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5819  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5820  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5821  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5822  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5823  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5824  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5825  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5826  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5827  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5828  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5829  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5830  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5831  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5832  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5833  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5834  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5835  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5836  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5837  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5838  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5839  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5840  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5841  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5842  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5843  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  5844  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  5845  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5846  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5847  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5848  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5849  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5850  	0, 0, 0, 0, 0, 190, 0, 0, 0, 0,
  5851  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5852  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5853  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5854  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5855  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5856  	0, 0, 0, 0, 265, 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, 0, 0,
  5861  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5862  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5863  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5864  	0, 0, 0, 1295, 0, 287, 0, 388, 247, 0,
  5865  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  5866  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5867  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5868  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  5869  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  5870  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  5871  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  5872  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  5873  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  5874  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  5875  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  5876  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  5877  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  5878  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  5879  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  5880  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  5881  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  5882  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  5883  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  5884  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  5885  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  5886  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  5887  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  5888  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  5889  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  5890  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  5891  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  5892  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  5893  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  5894  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5895  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  5896  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  5897  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  5898  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  5899  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  5900  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  5901  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  5902  	430, 431, 303, 304, 566, 567, 1294, 523, 553, 521,
  5903  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  5904  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  5905  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  5906  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  5907  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  5908  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5909  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  5910  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  5911  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  5912  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  5913  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  5914  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  5915  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  5916  	190, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5917  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  5918  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  5919  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  5920  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  5921  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  5927  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5928  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5929  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5930  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  5931  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  5932  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  5933  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  5934  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  5935  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  5936  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  5937  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  5938  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  5939  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  5940  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  5941  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  5942  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  5943  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  5944  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  5945  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  5946  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  5947  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  5948  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  5949  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  5950  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  5951  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  5952  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  5953  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  5954  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  5955  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  5956  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  5957  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  5958  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  5959  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5960  	0, 0, 0, 0, 0, 0, 0, 898, 0, 0,
  5961  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  5962  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  5963  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  5964  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  5965  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  5966  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  5967  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  5968  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  5969  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  5970  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  5971  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  5972  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  5973  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  5974  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  5975  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  5976  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  5977  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  5978  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  5979  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5980  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  5981  	0, 0, 0, 0, 0, 190, 0, 0, 0, 0,
  5982  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  5983  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  5984  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  5985  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  5986  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5987  	0, 0, 0, 0, 265, 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, 0, 0,
  5992  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5993  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5994  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  5995  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  5996  	438, 0, 594, 0, 549, 0, 0, 0, 0, 0,
  5997  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  5998  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  5999  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  6000  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  6001  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  6002  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  6003  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  6004  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  6005  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  6006  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  6007  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  6008  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  6009  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  6010  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  6011  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  6012  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  6013  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  6014  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  6015  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  6016  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  6017  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  6018  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  6019  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  6020  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  6021  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  6022  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  6023  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  6024  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  6025  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6026  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  6027  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  6028  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  6029  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  6030  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  6031  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  6032  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  6033  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  6034  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  6035  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  6036  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  6037  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  6038  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  6039  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6040  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  6041  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  6042  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  6043  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  6044  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  6045  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  6046  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  6047  	638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6048  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  6049  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  6050  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  6051  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  6052  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  6058  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6059  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6060  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6061  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  6062  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  6063  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  6064  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  6065  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  6066  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  6067  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  6068  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  6069  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  6070  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  6071  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  6072  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  6073  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  6074  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  6075  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  6076  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  6077  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  6078  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  6079  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  6080  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  6081  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  6082  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  6083  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  6084  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  6085  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  6086  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  6087  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  6088  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  6089  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  6090  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6091  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6092  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  6093  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  6094  	374, 375, 376, 3464, 396, 397, 400, 403, 404, 407,
  6095  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  6096  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  6097  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  6098  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  6099  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  6100  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  6101  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  6102  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  6103  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  6104  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  6105  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  6106  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  6107  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  6108  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  6109  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  6110  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6111  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  6112  	0, 0, 0, 0, 0, 638, 0, 0, 0, 0,
  6113  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  6114  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  6115  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  6116  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  6117  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6118  	0, 0, 0, 0, 265, 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, 0, 0,
  6123  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6124  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6125  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6126  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  6127  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  6128  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  6129  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  6130  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  6131  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  6132  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  6133  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  6134  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  6135  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  6136  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  6137  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  6138  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  6139  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  6140  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  6141  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  6142  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  6143  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  6144  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  6145  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  6146  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  6147  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  6148  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  6149  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  6150  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  6151  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  6152  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  6153  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  6154  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  6155  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  6156  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6157  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  6158  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  6159  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  6160  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  6161  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  6162  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  6163  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  6164  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  6165  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  6166  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  6167  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  6168  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  6169  	382, 256, 419, 383, 0, 363, 503, 504, 305, 502,
  6170  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6171  	0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
  6172  	260, 0, 0, 0, 0, 353, 257, 0, 0, 416,
  6173  	0, 198, 0, 471, 244, 364, 361, 510, 272, 263,
  6174  	259, 242, 306, 372, 414, 492, 408, 0, 357, 0,
  6175  	0, 481, 387, 0, 0, 0, 0, 0, 0, 0,
  6176  	0, 0, 0, 0, 0, 0, 0, 0, 312, 240,
  6177  	314, 197, 399, 482, 276, 0, 0, 0, 0, 0,
  6178  	812, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6179  	230, 0, 0, 237, 0, 0, 0, 338, 347, 346,
  6180  	327, 328, 330, 332, 337, 344, 350, 0, 0, 0,
  6181  	0, 0, 255, 310, 262, 254, 507, 0, 0, 0,
  6182  	0, 0, 0, 0, 221, 0, 0, 0, 0, 0,
  6183  	0, 0, 0, 0, 0, 0, 0, 0, 0, 265,
  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, 0, 0, 0, 0, 0, 0, 0,
  6192  	287, 0, 388, 247, 0, 438, 0, 0, 0, 549,
  6193  	0, 0, 0, 0, 0, 0, 0, 352, 0, 319,
  6194  	193, 217, 0, 0, 398, 446, 458, 0, 0, 0,
  6195  	245, 0, 456, 412, 527, 225, 274, 443, 418, 454,
  6196  	426, 277, 0, 0, 455, 359, 512, 436, 524, 550,
  6197  	551, 253, 392, 536, 496, 544, 568, 218, 250, 406,
  6198  	489, 530, 478, 384, 508, 509, 318, 477, 285, 196,
  6199  	356, 556, 216, 464, 358, 234, 223, 514, 533, 279,
  6200  	441, 563, 205, 491, 522, 231, 468, 0, 0, 570,
  6201  	239, 488, 207, 519, 487, 380, 315, 316, 206, 0,
  6202  	442, 258, 283, 0, 0, 248, 401, 516, 517, 246,
  6203  	571, 220, 543, 212, 0, 542, 394, 511, 520, 381,
  6204  	370, 211, 518, 379, 369, 323, 342, 343, 270, 296,
  6205  	433, 362, 434, 295, 297, 390, 389, 391, 200, 531,
  6206  	0, 201, 0, 483, 532, 572, 226, 227, 229, 0,
  6207  	269, 273, 281, 284, 292, 293, 302, 354, 405, 432,
  6208  	428, 437, 0, 506, 525, 537, 548, 554, 555, 557,
  6209  	558, 559, 560, 561, 564, 562, 393, 300, 479, 322,
  6210  	360, 0, 0, 411, 457, 232, 529, 480, 0, 0,
  6211  	0, 0, 0, 0, 0, 0, 0, 0, 0, 573,
  6212  	574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  6213  	584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
  6214  	0, 0, 0, 0, 0, 0, 591, 371, 470, 526,
  6215  	324, 336, 339, 329, 348, 0, 349, 325, 326, 331,
  6216  	333, 334, 335, 340, 341, 345, 351, 241, 203, 377,
  6217  	385, 505, 301, 208, 209, 210, 498, 499, 500, 501,
  6218  	540, 541, 545, 447, 448, 449, 450, 282, 535, 298,
  6219  	453, 452, 320, 321, 366, 435, 0, 192, 213, 355,
  6220  	0, 439, 278, 569, 539, 534, 199, 215, 0, 252,
  6221  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6222  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6223  	0, 194, 195, 202, 214, 224, 228, 235, 251, 266,
  6224  	268, 275, 288, 299, 307, 308, 311, 317, 367, 373,
  6225  	374, 375, 376, 395, 396, 397, 400, 403, 404, 407,
  6226  	409, 410, 413, 417, 421, 422, 423, 425, 427, 429,
  6227  	440, 445, 459, 460, 461, 462, 463, 466, 467, 472,
  6228  	473, 474, 475, 476, 484, 485, 490, 513, 515, 528,
  6229  	546, 552, 465, 290, 291, 430, 431, 303, 304, 566,
  6230  	567, 289, 523, 553, 521, 565, 547, 424, 365, 0,
  6231  	0, 368, 271, 294, 309, 0, 538, 486, 219, 451,
  6232  	280, 243, 0, 0, 204, 238, 222, 249, 264, 267,
  6233  	313, 378, 386, 415, 420, 286, 261, 236, 444, 233,
  6234  	469, 493, 494, 495, 497, 382, 256, 419, 383, 0,
  6235  	363, 503, 504, 305, 502, 0, 0, 0, 0, 0,
  6236  	0, 0, 0, 0, 0, 0, 402, 0, 0, 0,
  6237  	0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
  6238  	353, 257, 0, 0, 416, 0, 198, 0, 471, 244,
  6239  	364, 361, 510, 272, 263, 259, 242, 306, 372, 414,
  6240  	492, 408, 0, 357, 0, 0, 481, 387, 0, 0,
  6241  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6242  	0, 0, 0, 312, 240, 314, 197, 399, 482, 276,
  6243  	0, 0, 0, 0, 0, 190, 0, 0, 0, 0,
  6244  	0, 0, 0, 0, 0, 230, 0, 0, 237, 0,
  6245  	0, 0, 338, 347, 346, 327, 328, 330, 332, 337,
  6246  	344, 350, 0, 0, 0, 0, 0, 255, 310, 262,
  6247  	254, 507, 0, 0, 0, 0, 0, 0, 0, 221,
  6248  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6249  	0, 0, 0, 0, 265, 0, 0, 0, 0, 0,
  6250  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6251  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6252  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6253  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6254  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6255  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6256  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6257  	0, 0, 0, 0, 0, 287, 0, 388, 247, 0,
  6258  	438, 0, 0, 0, 549, 0, 0, 0, 0, 0,
  6259  	0, 0, 352, 0, 319, 193, 217, 0, 0, 398,
  6260  	446, 458, 0, 0, 0, 245, 0, 456, 412, 527,
  6261  	225, 274, 443, 418, 454, 426, 277, 0, 0, 455,
  6262  	359, 512, 436, 524, 550, 551, 253, 392, 536, 496,
  6263  	544, 568, 218, 250, 406, 489, 530, 478, 384, 508,
  6264  	509, 318, 477, 285, 196, 356, 556, 216, 464, 358,
  6265  	234, 223, 514, 533, 279, 441, 563, 205, 491, 522,
  6266  	231, 468, 0, 0, 570, 239, 488, 207, 519, 487,
  6267  	380, 315, 316, 206, 0, 442, 258, 283, 0, 0,
  6268  	248, 401, 516, 517, 246, 571, 220, 543, 212, 0,
  6269  	542, 394, 511, 520, 381, 370, 211, 518, 379, 369,
  6270  	323, 342, 343, 270, 296, 433, 362, 434, 295, 297,
  6271  	390, 389, 391, 200, 531, 0, 201, 0, 483, 532,
  6272  	572, 226, 227, 229, 0, 269, 273, 281, 284, 292,
  6273  	293, 302, 354, 405, 432, 428, 437, 0, 506, 525,
  6274  	537, 548, 554, 555, 557, 558, 559, 560, 561, 564,
  6275  	562, 393, 300, 479, 322, 360, 0, 0, 411, 457,
  6276  	232, 529, 480, 0, 0, 0, 0, 0, 0, 0,
  6277  	0, 0, 0, 0, 573, 574, 575, 576, 577, 578,
  6278  	579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
  6279  	589, 590, 0, 0, 0, 0, 0, 0, 0, 0,
  6280  	0, 591, 371, 470, 526, 324, 336, 339, 329, 348,
  6281  	0, 349, 325, 326, 331, 333, 334, 335, 340, 341,
  6282  	345, 351, 241, 203, 377, 385, 505, 301, 208, 209,
  6283  	210, 498, 499, 500, 501, 540, 541, 545, 447, 448,
  6284  	449, 450, 282, 535, 298, 453, 452, 320, 321, 366,
  6285  	435, 0, 192, 213, 355, 0, 439, 278, 569, 539,
  6286  	534, 199, 215, 0, 252, 0, 0, 0, 0, 0,
  6287  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  6288  	0, 0, 0, 0, 0, 0, 194, 195, 202, 214,
  6289  	224, 228, 235, 251, 266, 268, 275, 288, 299, 307,
  6290  	308, 311, 317, 367, 373, 374, 375, 376, 395, 396,
  6291  	397, 400, 403, 404, 407, 409, 410, 413, 417, 421,
  6292  	422, 423, 425, 427, 429, 440, 445, 459, 460, 461,
  6293  	462, 463, 466, 467, 472, 473, 474, 475, 476, 484,
  6294  	485, 490, 513, 515, 528, 546, 552, 465, 290, 291,
  6295  	430, 431, 303, 304, 566, 567, 289, 523, 553, 521,
  6296  	565, 547, 424, 365, 0, 0, 368, 271, 294, 309,
  6297  	0, 538, 486, 219, 451, 280, 243, 0, 0, 204,
  6298  	238, 222, 249, 264, 267, 313, 378, 386, 415, 420,
  6299  	286, 261, 236, 444, 233, 469, 493, 494, 495, 497,
  6300  	382, 256, 419, 0, 0, 363, 503, 504, 305,
  6301  }
  6302  
  6303  var yyPact = [...]int{
  6304  	-1000, -1000, 4962, -1000, -463, -1000, -1000, -1000, -1000, -1000,
  6305  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6306  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6307  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2212,
  6308  	2367, -1000, -1000, -1000, -1000, 2434, -1000, 829, 1919, -1000,
  6309  	2253, 319, -1000, 46994, 584, -1000, 44374, 583, 3459, 29964,
  6310  	-1000, 238, -1000, 220, 45684, 226, -1000, -1000, -1000, -1000,
  6311  	-357, 18827, 2164, 99, 96, 46994, -1000, -1000, -1000, -1000,
  6312  	2420, 1917, -1000, 399, -1000, -1000, -1000, -1000, -1000, -1000,
  6313  	43719, -1000, 921, -1000, -1000, 2245, 2264, 2446, 721, 2208,
  6314  	-1000, 2338, 1917, -1000, 18827, 2409, 2316, 18172, 18172, 503,
  6315  	-1000, -1000, 256, -1000, -1000, 25379, 46994, 32584, 361, -1000,
  6316  	2253, -1000, -1000, -1000, 87, -1000, 370, 1836, -1000, 1825,
  6317  	-1000, 691, 502, 431, 514, 510, 429, 421, 420, 418,
  6318  	414, 413, 406, 405, 442, -1000, 742, 742, -123, -130,
  6319  	685, 519, 487, 487, 735, 558, 2197, 2193, -1000, -1000,
  6320  	742, 742, 742, 398, 742, 742, 742, 742, 331, 330,
  6321  	742, 742, 742, 742, 742, 742, 742, 742, 742, 742,
  6322  	742, 742, 742, 742, 742, 742, 742, 380, 2253, 309,
  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, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6333  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6334  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6335  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6336  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6337  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6338  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6339  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6340  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6341  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6342  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6343  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6344  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6345  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6346  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6347  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6348  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6349  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6350  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6351  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6352  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6353  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6354  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6355  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6356  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6357  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6358  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6359  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6360  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6361  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6362  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6363  	-1000, -1000, 46994, 218, 46994, -1000, 644, 46994, 885, 885,
  6364  	132, 885, 885, 885, 885, 232, 755, 93, -1000, 227,
  6365  	290, 223, 295, 898, 195, -1000, -1000, 287, 898, 1558,
  6366  	-1000, 727, 294, 211, -1000, 885, 885, -1000, 12252, 141,
  6367  	12252, 12252, -1000, 2230, -1000, -1000, -1000, -1000, -1000, 1149,
  6368  	-1000, -1000, -1000, -1000, -10, 552, -1000, -1000, -1000, -1000,
  6369  	45684, 43064, 255, -1000, -1000, 74, -1000, -1000, 1598, 1174,
  6370  	18827, 1602, -1000, 1226, 702, -1000, -1000, -1000, -1000, -1000,
  6371  	618, -1000, 19482, 19482, 19482, 19482, -1000, -1000, 1842, 42409,
  6372  	1842, 1842, 19482, 1842, -1000, 19482, 1842, 1842, 1842, 18827,
  6373  	1842, 1842, 1842, 1842, -1000, 1842, 1842, 1842, 1842, 1842,
  6374  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6375  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6376  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6377  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6378  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6379  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6380  	1842, 1842, 1842, -1000, -1000, -1000, -1000, 1842, 640, 1842,
  6381  	1842, 1842, 1842, 1842, -1000, -1000, -1000, -1000, -1000, -1000,
  6382  	-1000, -1000, 1842, 1842, 1842, 1842, 1842, -1000, -1000, -1000,
  6383  	-1000, -1000, -1000, -1000, -1000, -1000, 1842, 1842, 1842, 1842,
  6384  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6385  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6386  	-1000, 21447, 1349, 1347, 1346, -1000, 16207, 1842, -1000, -1000,
  6387  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6388  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6389  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6390  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6391  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 46994, -1000,
  6392  	1842, 257, 45684, 45684, 391, 2338, 1917, -1000, 2420, 2386,
  6393  	399, -1000, 3040, 2041, 1398, 1203, 1917, 1809, 46994, -1000,
  6394  	1853, -1000, -1000, -1000, -1000, 2109, 1241, 1524, -1000, -1000,
  6395  	-1000, -1000, 2250, 18827, -1000, -1000, 2430, -1000, 22758, 634,
  6396  	2429, 41754, -1000, 503, 503, 1823, 459, 27, -1000, -1000,
  6397  	-1000, -1000, 778, 29309, -1000, -1000, -1000, -1000, 1706, 46994,
  6398  	-1000, -1000, 5563, 1142, -1000, 1916, -1000, 1700, -1000, 1879,
  6399  	18827, 1931, 582, 1142, 575, 569, 566, -1000, -21, -1000,
  6400  	-1000, -1000, -1000, -1000, -1000, 742, 742, 742, -1000, 441,
  6401  	2402, 319, 3863, -1000, -1000, -1000, 41099, 1914, 1142, -1000,
  6402  	1909, -1000, 854, 587, 676, 676, 1142, -1000, -1000, 46339,
  6403  	1142, 852, 844, 1142, 1142, 45684, 45684, -1000, 40444, -1000,
  6404  	39789, 39134, 1136, 45684, 38479, 37824, 37169, 36514, 35859, -1000,
  6405  	2019, -1000, 1936, -1000, -1000, -1000, 46339, 1142, 1142, 46339,
  6406  	45684, 46339, 46994, 1142, -1000, -1000, 404, -1000, -1000, 1135,
  6407  	1127, 1114, 742, 742, 1110, 1518, 1494, 1490, 742, 742,
  6408  	1099, 1486, 31274, 1484, 334, 1093, 1088, 1087, 1141, 1475,
  6409  	188, 1473, 1019, 992, 1079, 45684, 1908, 46994, -1000, 280,
  6410  	770, 571, 777, 2253, 2163, 1822, 549, 581, 1142, 501,
  6411  	501, 45684, -1000, 12913, -1000, -1000, 1451, 18827, -1000, 899,
  6412  	898, 898, -1000, -1000, -1000, -1000, -1000, -1000, 885, 46994,
  6413  	899, -1000, -1000, -1000, 898, 885, 46994, 885, 885, 885,
  6414  	885, 898, 898, 898, 885, 46994, 46994, 46994, 46994, 46994,
  6415  	46994, 46994, 46994, 46994, 12252, 727, 885, -369, -1000, 1447,
  6416  	-1000, -1000, 2048, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6417  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6418  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6419  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6420  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6421  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6422  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6423  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6424  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6425  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6426  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6427  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6428  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6429  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6430  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6431  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 12252,
  6432  	12252, -1000, -1000, -1000, -1000, -1000, 1820, -1000, 221, 56,
  6433  	225, -1000, 35204, 407, 776, -1000, 407, -1000, -1000, -1000,
  6434  	1814, 34549, -1000, -375, -376, -380, -385, -1000, -1000, -1000,
  6435  	-387, -389, -1000, -1000, -1000, 18827, 18827, 18827, 18827, -157,
  6436  	-1000, 922, 19482, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6437  	154, 853, 19482, 19482, 19482, 19482, 19482, 19482, 19482, 19482,
  6438  	19482, 19482, 19482, 19482, 19482, 19482, 19482, -1000, -1000, 27344,
  6439  	7130, 7130, 702, 702, 702, 702, -1000, -87, 1811, 46339,
  6440  	-1000, -1000, -1000, 633, 18827, 18827, 702, -1000, 1142, 16207,
  6441  	20137, 18172, 18172, 18827, 784, 1174, 46339, 18827, -1000, 1203,
  6442  	-1000, -1000, -1000, 1071, -1000, 860, 2239, 2239, 2239, 2239,
  6443  	18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827,
  6444  	2239, 45684, 45684, 864, 18827, 18827, 18827, 18827, 18827, 18827,
  6445  	14896, 18827, 18827, 19482, 18827, 18827, 18827, 1203, 18827, 18827,
  6446  	18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827,
  6447  	18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827,
  6448  	18827, 18827, 18827, 18827, 18827, 1203, 18827, 1259, 18827, 18827,
  6449  	18172, 14235, 18172, 18172, 18172, 18172, 18172, -1000, -1000, -1000,
  6450  	-1000, -1000, 18827, 18827, 18827, 18827, 18827, 18827, 18827, 18827,
  6451  	1203, 18827, 18827, 18827, 18827, 18827, -1000, -1000, -1000, -1000,
  6452  	-1000, -1000, -1000, -1000, -1000, -1000, 1449, 1244, 1246, 18827,
  6453  	-1000, 1810, -1000, -168, 24724, 18827, 1443, 2428, 1964, 45684,
  6454  	-1000, -1000, -1000, 2338, -1000, 2338, 1449, 2133, 2087, 18172,
  6455  	-1000, -1000, 2133, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6456  	-1000, 1611, -1000, 46994, 1809, 2311, 45684, 2101, 1435, 437,
  6457  	-1000, 18827, 18827, 1808, -1000, 1220, 46994, -1000, -157, -1000,
  6458  	33894, -1000, -1000, 11591, 46994, 385, 46994, -1000, 24069, 33239,
  6459  	388, -1000, 27, 1783, -1000, 65, 53, 15551, 692, -1000,
  6460  	-1000, -1000, 685, 20792, 1582, 692, 153, -1000, -1000, -1000,
  6461  	1879, -1000, 1879, 1879, 1879, 1879, 437, 437, 437, 437,
  6462  	-1000, -1000, -1000, -1000, -1000, 1906, 1903, -1000, 1879, 1879,
  6463  	1879, 1879, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6464  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1902,
  6465  	1902, 1902, 1901, 1901, 1882, 1882, 475, -1000, 18827, 306,
  6466  	32584, 2279, 1078, 1103, 280, 522, 1959, 1142, 1142, 1142,
  6467  	522, -1000, 1193, 1190, 1163, -1000, -452, 1803, -1000, -1000,
  6468  	2401, -1000, -1000, 981, 877, 875, 855, 45684, 262, 368,
  6469  	-1000, 464, -1000, 32584, 1142, 838, 676, 1142, -1000, 1142,
  6470  	-1000, -1000, -1000, -1000, -1000, 1142, -1000, -1000, 1799, -1000,
  6471  	1719, 929, 874, 918, 863, 1799, -1000, -1000, -98, 1799,
  6472  	-1000, 1799, -1000, 1799, -1000, 1799, -1000, 1799, -1000, -1000,
  6473  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 793, 228, -198,
  6474  	45684, 262, 542, -1000, 521, 27344, -1000, -1000, -1000, 27344,
  6475  	27344, -1000, -1000, -1000, -1000, 1433, 1420, -1000, -1000, -1000,
  6476  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6477  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6478  	-1000, -1000, -1000, -1000, -1000, -1000, -440, 46994, -1000, 269,
  6479  	772, 346, 378, 364, 46994, 343, 2328, 2325, 2324, 2323,
  6480  	2318, 296, 329, 46994, 46994, 501, 2061, 46994, 2284, 46994,
  6481  	-1000, -1000, -1000, -1000, -1000, 1174, 46994, -1000, -1000, 885,
  6482  	885, -1000, -1000, 46994, 885, -1000, -1000, -1000, -1000, -1000,
  6483  	-1000, -1000, -1000, 885, -1000, -1000, -1000, -1000, -1000, -1000,
  6484  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 46994,
  6485  	-1000, -1000, -1000, -1000, -10, 219, -1000, -1000, 45684, -1000,
  6486  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -79, -1000,
  6487  	112, 60, 394, -1000, -1000, -1000, -1000, -1000, 2333, -1000,
  6488  	1174, 836, 808, -1000, 1842, -1000, -1000, 1000, -1000, -1000,
  6489  	-1000, -1000, -1000, -1000, -1000, 154, 19482, 19482, 19482, 1924,
  6490  	536, 1941, 1335, 1348, 1557, 1557, 1031, 1031, 708, 708,
  6491  	708, 708, 708, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6492  	-1000, 1402, -1000, 1842, 46339, 1682, 14235, 1740, 1998, 1203,
  6493  	3079, -1000, 1654, -1000, 1654, 1070, 800, -1000, 18827, 1203,
  6494  	3015, -1000, -1000, 1203, 1203, 1203, 18827, -1000, -1000, 18827,
  6495  	18827, 18827, 18827, 1103, 1103, 1103, 1103, 1103, 1103, 1103,
  6496  	1103, 1103, 1103, 18827, 1795, 1792, 2426, -1000, -1000, -1000,
  6497  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6498  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1046, 1103,
  6499  	1103, 1103, 1103, 1103, 18827, 1888, -1000, -1000, -1000, 1294,
  6500  	2952, 982, 2919, 1103, 1103, -1000, 1103, 2889, 2882, 1203,
  6501  	1598, 1203, 1788, -1000, 2873, 1103, 2852, 2840, 2832, 2243,
  6502  	2827, 2821, 2808, 1103, 1103, 1103, 2237, 2792, 2788, 2766,
  6503  	2750, 2746, 2732, 2726, 2721, 2716, 1103, -159, 1103, 1203,
  6504  	-1000, -1000, -1000, -1000, -1000, 2691, 2161, 1203, 1785, 1842,
  6505  	630, -1000, -1000, 1654, 1203, 1203, 1654, 1654, 2685, 2664,
  6506  	2647, 2635, 2630, 2419, 1103, 1103, -1000, 1103, 2405, 2347,
  6507  	2155, 2142, 1203, -1000, 1246, 46994, -1000, -333, -1000, 28,
  6508  	684, 1842, -1000, 31274, 1203, -1000, 1641, -1000, 985, -1000,
  6509  	-1000, -1000, -1000, -1000, 28654, 1720, 2133, -1000, -1000, 1842,
  6510  	1651, -1000, -1000, 437, 126, 27999, 690, 690, 160, 1174,
  6511  	1174, 18827, -1000, -1000, -1000, -1000, -1000, -1000, 629, 2414,
  6512  	401, 1842, -1000, 1777, 2843, -1000, -1000, -1000, 2308, 22103,
  6513  	-1000, -1000, 1842, 1842, 46994, 1723, 1690, -1000, 628, -1000,
  6514  	1164, 1783, 27, 35, -1000, -1000, -1000, -1000, 1174, -1000,
  6515  	1161, 386, 621, -1000, 466, -1000, -1000, -1000, -1000, 2177,
  6516  	138, -1000, -1000, -1000, 261, 437, -1000, -1000, -1000, -1000,
  6517  	-1000, -1000, 1400, 1400, -1000, -1000, -1000, -1000, -1000, 1068,
  6518  	-1000, -1000, -1000, -1000, 1065, -1000, -1000, 1036, -1000, -1000,
  6519  	2221, 1957, 306, -1000, -1000, 742, 1383, -1000, -1000, 2183,
  6520  	742, 742, 45684, -1000, -1000, 1577, 2279, 269, 46994, 791,
  6521  	2057, -1000, 1959, 1959, 1959, 46994, -1000, -1000, -1000, -1000,
  6522  	-1000, -1000, -442, 64, 415, -1000, -1000, -1000, 395, 45684,
  6523  	1627, -1000, 265, -1000, 1570, -1000, 45684, -1000, 1620, 1892,
  6524  	1142, 1142, -1000, -1000, -1000, 45684, 1842, -1000, -1000, -1000,
  6525  	-1000, 572, 2241, 260, -1000, -1000, -177, -1000, -1000, 262,
  6526  	265, 46339, 1142, 692, -1000, -1000, -1000, -1000, -1000, -443,
  6527  	1615, 564, 259, 340, 46994, 46994, 46994, 46994, 46994, 597,
  6528  	-1000, -1000, 73, -1000, -1000, 246, -1000, -1000, -1000, -1000,
  6529  	246, -1000, -1000, -1000, -1000, 312, 516, -1000, 46994, 46994,
  6530  	665, -1000, -1000, -1000, 898, -1000, -1000, 898, -1000, -1000,
  6531  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6532  	2226, 46994, 48, -407, -1000, -403, 18827, -1000, -1000, -1000,
  6533  	-1000, 1177, 530, 1941, 19482, 19482, 19482, -1000, -1000, -1000,
  6534  	1102, 1102, 27344, -1000, 18827, 18172, -1000, -1000, 18827, 18827,
  6535  	771, -1000, 18827, 939, -1000, 18827, -1000, -1000, -1000, 1246,
  6536  	1103, 1103, 1103, 1103, -1000, -1000, -1000, -1000, -1000, -1000,
  6537  	-1000, -1000, -1000, -1000, 1726, 18827, 18827, 18827, 1203, 348,
  6538  	-1000, -1000, -1000, -1000, -1000, 2425, -1000, 18827, -1000, 27344,
  6539  	18827, 18827, 18827, -1000, -1000, -1000, 18827, 18827, -1000, -1000,
  6540  	18827, 18827, -1000, 18827, 18827, 18827, -1000, 18827, 18827, 18827,
  6541  	18827, -1000, -1000, -1000, -1000, 18827, 18827, 18827, 18827, 18827,
  6542  	18827, 18827, 18827, 18827, 18827, -1000, -1000, 32584, 69, -159,
  6543  	1259, 69, 1259, -1000, 18172, 13574, -1000, -1000, -1000, -1000,
  6544  	-1000, 18827, 18827, 18827, 18827, 18827, 18827, -1000, -1000, -1000,
  6545  	18827, 18827, -1000, 18827, -1000, 18827, -1000, -1000, -1000, -1000,
  6546  	-1000, 684, -1000, 676, 676, 676, 45684, -1000, -1000, -1000,
  6547  	-1000, 1782, -1000, 2331, -1000, 2121, 2119, 2423, 2414, -1000,
  6548  	24069, 2133, -1000, -1000, 45684, -325, -1000, 2156, 2287, 690,
  6549  	690, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10930, 2338,
  6550  	18827, 2052, 46339, 144, -1000, 23414, 45684, 46339, 24069, 24069,
  6551  	24069, 24069, 24069, -1000, 2085, 2084, -1000, 2083, 2077, 2188,
  6552  	46994, -1000, 1449, 1608, -1000, 18827, 26034, 1689, 24069, -1000,
  6553  	-1000, 24069, 46994, 10269, -1000, -1000, 44, 32, -1000, -1000,
  6554  	-1000, -1000, 685, -1000, -1000, 1904, 2304, 2171, -1000, -1000,
  6555  	-1000, -1000, -1000, 1604, -1000, 1594, 1776, 1592, 1585, 228,
  6556  	-1000, 1893, 2214, 742, 742, -1000, 1033, -1000, 1142, 1375,
  6557  	1372, -1000, -1000, -1000, 561, -1000, 2268, 46994, 2038, 2024,
  6558  	2002, -1000, -451, 1018, 1891, 1790, 18827, 1887, 2398, 1715,
  6559  	45684, -1000, -1000, 46339, -1000, 324, -1000, 306, 45684, -1000,
  6560  	-1000, -1000, 368, 46994, -1000, 7892, -1000, -1000, -1000, 265,
  6561  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 46994, 281, -1000,
  6562  	1886, 1133, -1000, -1000, 1944, -1000, -1000, -1000, -1000, 252,
  6563  	339, 1364, 244, 1360, 244, -1000, 46994, 632, 1957, 46994,
  6564  	-1000, -1000, -1000, 885, 885, -1000, -1000, 2211, -1000, 1142,
  6565  	1103, 19482, 19482, -1000, 702, 505, -139, 1879, 1879, -1000,
  6566  	1879, 1882, -1000, 1879, 210, 1879, 203, 1879, -1000, -1000,
  6567  	1203, 1203, 1246, -1000, 2138, 1352, -1000, 1174, 18827, 2295,
  6568  	-1000, -1000, -1000, -1000, -1000, -28, 2285, 2278, 1103, -1000,
  6569  	1876, 1875, 18827, 1103, 1203, 2128, 1103, 1103, 1103, 1103,
  6570  	-1000, 1174, 1246, 2262, 1246, 1103, 1103, 2257, 322, 1103,
  6571  	1581, 1581, 1581, 1581, 1581, 1246, 1246, 1246, 1246, 45684,
  6572  	-1000, -159, -1000, -1000, -201, -204, -1000, 1203, -159, 1724,
  6573  	1203, -1000, 2098, 2080, 2216, 2073, 1103, 2039, 1103, 1103,
  6574  	1103, 2065, -1000, 2330, 2330, 2330, 1460, 985, 46994, -1000,
  6575  	-1000, -1000, -1000, 2414, 2389, 1718, -1000, -1000, 126, 463,
  6576  	-1000, 2134, 2287, -1000, 2396, 2152, 2394, -1000, -1000, -1000,
  6577  	-1000, -1000, 1174, -1000, 2240, 1703, -1000, 769, 1631, -1000,
  6578  	-1000, 17517, 1462, 2116, 625, 1460, 1697, 2843, 1977, 2001,
  6579  	2689, -1000, -1000, -1000, -1000, 2049, -1000, 1989, -1000, -1000,
  6580  	1853, -1000, 1314, 385, 24069, 1659, 1659, -1000, 623, -1000,
  6581  	-1000, -1000, -1000, -1000, -1000, -1000, 900, 6004, 2445, -1000,
  6582  	1355, -1000, 1148, 193, 1002, -1000, -1000, 742, 742, -1000,
  6583  	832, 815, -1000, 46994, 1874, -1000, 437, 1353, 437, 996,
  6584  	-1000, -1000, 994, -1000, -1000, -1000, -1000, 1784, 1978, -1000,
  6585  	-1000, -1000, -1000, 46994, -1000, -1000, 46994, 46994, 46994, 1862,
  6586  	2393, -1000, 18827, 1861, 768, 1805, 45684, 45684, -1000, -1000,
  6587  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 474,
  6588  	742, -421, 315, 314, 742, 742, 742, -458, -1000, -1000,
  6589  	1457, 1455, -1000, -125, -1000, 18827, -1000, -1000, -1000, 1044,
  6590  	1044, 1349, 1347, 1346, -1000, 1853, -1000, -1000, -1000, 1567,
  6591  	-1000, -1000, -105, 45684, 45684, 45684, 45684, -1000, -1000, 972,
  6592  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6593  	-1000, -1000, 702, 1203, 350, -112, 1203, -1000, -1000, 437,
  6594  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6595  	18827, -1000, 18827, -1000, 1174, 18827, 2338, 1332, 18827, 18827,
  6596  	-1000, 987, 983, 1103, -1000, -1000, -1000, 18827, -1000, -1000,
  6597  	-1000, -1000, -1000, 18827, -1000, -1000, -1000, 18827, 202, 1102,
  6598  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6599  	1203, 381, -1000, -1000, -1000, -1000, 2410, -1000, 1203, 18827,
  6600  	-1000, -1000, 18827, -1000, 18827, 18827, -1000, 18827, -1000, 18827,
  6601  	-1000, -1000, -1000, -1000, 18827, 1842, 2124, 1842, 1842, 26034,
  6602  	-1000, -1000, 2389, 2369, 2392, 2129, 2136, 2136, 2134, -1000,
  6603  	2391, 2388, -1000, 1326, 2382, 1310, 805, -1000, 46339, 18827,
  6604  	144, -1000, 396, 45684, 144, 45684, -1000, 2348, -1000, -1000,
  6605  	18827, 1858, -1000, 18827, -1000, -1000, -1000, -1000, 7130, 2414,
  6606  	1659, -1000, -1000, 714, -1000, 18827, -1000, -1000, -1000, 4415,
  6607  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1291, 1289,
  6608  	-1000, -1000, 1856, 18827, -1000, -1000, -1000, 1463, 1450, -1000,
  6609  	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 1853, -1000, -1000,
  6610  	-1000, -1000, 368, -449, 1645, 45684, 979, -1000, 1441, 1715,
  6611  	355, 144, 1287, 742, 742, 742, 975, 966, 31274, 1407,
  6612  	-1000, 45684, 433, -1000, 368, -1000, -132, -134, 1103, -1000,
  6613  	-1000, 2303, -1000, -1000, 13574, -1000, -1000, 1847, 1946, -1000,
  6614  	-1000, -1000, -1000, 2100, -92, -115, -1000, -1000, 1103, 1103,
  6615  	1080, 1203, -1000, 1103, 1103, 1442, 1336, -1000, 1103, 1246,
  6616  	2034, -1000, 202, 1203, 1993, -1000, -1000, 7130, -1000, -1000,
  6617  	2348, 2380, 69, -1000, -1000, 263, 69, 1174, 1994, 1103,
  6618  	1979, 1870, 1103, 1103, 26689, -1000, 2370, 2344, 31929, 31929,
  6619  	684, 2369, -167, 18827, 18827, 2130, 945, -1000, -1000, -1000,
  6620  	-1000, 1275, 1270, -1000, 1264, -1000, 2440, -1000, 1174, -1000,
  6621  	144, -1000, 622, 1631, -1000, 2338, 1174, 45684, 1174, 125,
  6622  	2348, -1000, 1103, -1000, 1842, 1842, 1842, 1842, 1842, 1842,
  6623  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6624  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6625  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6626  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6627  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6628  	1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
  6629  	1842, 1842, 1842, 1842, -1000, -1000, 45684, 1278, -1000, -1000,
  6630  	2301, 1397, 63, -1000, 1279, 1715, -1000, -1000, 142, -1000,
  6631  	18827, -1000, 31274, 1242, 1224, -1000, -1000, -1000, -1000, -458,
  6632  	-1000, -1000, -1000, -1000, -1000, -1000, 399, 1714, -1000, 740,
  6633  	45684, 46994, -1000, 2093, -1000, -1000, -1000, 18827, -1000, -1000,
  6634  	-1000, -1000, -1000, -1000, -1000, -1000, 18827, -1000, 1203, 1975,
  6635  	-1000, -265, -1000, -422, 18827, -159, -1000, -1000, -159, -1000,
  6636  	18827, -1000, -1000, 18827, -1000, 18827, -1000, -1000, 1395, -1000,
  6637  	-1000, -1000, -1000, -1000, 1395, 1395, -1000, -167, -1000, 1694,
  6638  	-1000, 45684, 1174, 1598, -1000, 932, -1000, -1000, -1000, -1000,
  6639  	-1000, 46339, 1631, 45684, -1000, 1371, 1203, 1842, 2338, -1000,
  6640  	1359, -1000, 399, -1000, 1846, 1790, -1000, -1000, -1000, 16862,
  6641  	-1000, -1000, -1000, -1000, -1000, 245, -102, 13574, 9608, 1341,
  6642  	-1000, -99, 1103, 1246, -1000, -396, -1000, -1000, -1000, -1000,
  6643  	216, -1000, -1000, 1598, -1000, -1000, 1800, 1796, 1789, 30619,
  6644  	-1000, -1000, -1000, -1000, -167, -1000, -1000, 2288, -1000, -1000,
  6645  	1596, -1000, -1000, 26034, 45029, -1000, -85, 251, -102, 18827,
  6646  	1845, 1203, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
  6647  	-20, -1000, -1000, 611, -1000, -1000, -1000, 1944, -113, -1000,
  6648  	-1000, -1000, 258, -410, -188, -203, -1000, -1000, 19482, -1000,
  6649  	18827, -1000, 18827, -1000, 18827, -1000, -1000, -1000, 45684, 1842,
  6650  	-1000, 1202, -1000, 4812, -218, 1973, -1000, -89, -1000, -1000,
  6651  	-1000, 892, 1186, -1000, -1000, -1000, -1000, -1000, -1000, 1129,
  6652  	45684, -1000, 472, -1000, -1000, 12913, -105, -120, 799, -1000,
  6653  	-1000, -1000, -1000, -1000, 1285, 964, 1103, -1000, 45684, -1000,
  6654  	45029, -209, 692, 7130, -1000, 1969, 1967, 2418, -1000, -1000,
  6655  	-1000, -1000, -1000, -1000, -460, 1199, 276, -1000, -1000, -1000,
  6656  	258, -1000, 18827, -1000, 18827, -1000, 1203, -1000, -1000, 2263,
  6657  	125, -1000, 2439, -1000, 2436, 696, 696, -1000, 962, -460,
  6658  	-1000, -1000, 1103, 1103, -1000, -260, -1000, -1000, -1000, -1000,
  6659  	-1000, 465, 976, -1000, -1000, -1000, -1000, -1000, 7130, -1000,
  6660  	-1000, -1000, 248, 248, -1000, -1000,
  6661  }
  6662  
  6663  var yyPgo = [...]int{
  6664  	0, 3086, 3084, 39, 2, 37, 36, 3077, 172, 105,
  6665  	194, 38, 206, 104, 3076, 166, 3070, 3069, 3068, 3067,
  6666  	3066, 3063, 2467, 2461, 2460, 3062, 3059, 3055, 3053, 3051,
  6667  	3045, 3044, 3043, 3042, 3039, 167, 161, 187, 3038, 3036,
  6668  	3035, 116, 184, 91, 93, 190, 3033, 3032, 84, 3029,
  6669  	3027, 3026, 186, 183, 182, 866, 3022, 179, 113, 49,
  6670  	3017, 3016, 3013, 3011, 3009, 3008, 3006, 3001, 3000, 2999,
  6671  	2997, 2996, 2995, 2992, 2990, 2989, 2988, 205, 2987, 2986,
  6672  	24, 2984, 86, 2983, 2980, 2978, 2976, 2975, 8, 2972,
  6673  	2965, 15, 52, 2964, 2958, 54, 2957, 2955, 2954, 2953,
  6674  	2952, 19, 2948, 28, 2944, 31, 2943, 2942, 124, 2941,
  6675  	2938, 2936, 42, 2935, 2925, 2922, 2921, 2919, 2918, 2906,
  6676  	140, 2902, 2901, 2900, 301, 193, 2899, 2898, 295, 197,
  6677  	109, 2895, 2890, 137, 191, 2882, 120, 2879, 2878, 2875,
  6678  	150, 2872, 162, 2861, 2853, 73, 63, 2846, 68, 2840,
  6679  	2839, 13, 97, 64, 9, 6, 18, 2837, 2829, 65,
  6680  	100, 2828, 101, 2822, 2819, 99, 94, 2816, 103, 111,
  6681  	2813, 2811, 12, 7, 2808, 3, 5, 10, 72, 2807,
  6682  	2802, 115, 2800, 2797, 2795, 83, 2793, 2791, 5212, 2790,
  6683  	96, 131, 106, 78, 2787, 50, 51, 2782, 2781, 2780,
  6684  	2778, 2775, 55, 2768, 2764, 2761, 138, 221, 168, 2755,
  6685  	43, 45, 56, 136, 2753, 149, 80, 196, 164, 2751,
  6686  	2749, 139, 130, 2748, 2747, 69, 48, 46, 2745, 135,
  6687  	128, 119, 117, 133, 132, 2744, 2740, 61, 75, 2739,
  6688  	2738, 2737, 2733, 165, 2732, 2731, 76, 2729, 58, 2728,
  6689  	169, 2727, 21, 60, 2726, 47, 156, 2724, 77, 2722,
  6690  	2721, 71, 129, 74, 40, 2719, 153, 163, 125, 181,
  6691  	2717, 2716, 57, 2714, 2698, 2692, 192, 302, 2690, 2687,
  6692  	81, 177, 146, 148, 90, 2669, 308, 2662, 2653, 22,
  6693  	2252, 6114, 2652, 95, 160, 2647, 2628, 5469, 20, 59,
  6694  	25, 2627, 112, 2626, 2625, 2624, 2622, 195, 171, 107,
  6695  	159, 70, 2621, 2620, 2619, 17, 2609, 2608, 2607, 2602,
  6696  	2601, 2600, 87, 35, 34, 33, 199, 67, 44, 98,
  6697  	152, 151, 82, 2599, 2598, 2597, 122, 89, 2594, 158,
  6698  	154, 123, 126, 2593, 178, 141, 114, 2591, 157, 32,
  6699  	2590, 2588, 2562, 2559, 92, 2555, 2553, 2545, 2536, 155,
  6700  	143, 121, 79, 2534, 88, 118, 147, 144, 53, 2529,
  6701  	62, 2525, 2522, 30, 185, 29, 2521, 16, 108, 102,
  6702  	2518, 4427, 180, 2517, 23, 310, 145, 2511, 2505, 4,
  6703  	11, 14, 2504, 2503, 2502, 2497, 134, 2495, 2487, 2485,
  6704  	2477, 27, 66, 26, 1, 110, 85, 2476, 2474, 142,
  6705  	2473, 2465, 3469, 0, 127, 2433, 198,
  6706  }
  6707  
  6708  //line sql.y:7986
  6709  type yySymType struct {
  6710  	union             any
  6711  	empty             struct{}
  6712  	LengthScaleOption LengthScaleOption
  6713  	tableName         TableName
  6714  	identifierCS      IdentifierCS
  6715  	str               string
  6716  	strs              []string
  6717  	vindexParam       VindexParam
  6718  	jsonObjectParam   *JSONObjectParam
  6719  	identifierCI      IdentifierCI
  6720  	joinCondition     *JoinCondition
  6721  	databaseOption    DatabaseOption
  6722  	columnType        *ColumnType
  6723  	columnCharset     ColumnCharset
  6724  	yys               int
  6725  }
  6726  
  6727  func (st *yySymType) JSONTableExprUnion() *JSONTableExpr {
  6728  	v, _ := st.union.(*JSONTableExpr)
  6729  	return v
  6730  }
  6731  
  6732  func (st *yySymType) aliasedTableNameUnion() *AliasedTableExpr {
  6733  	v, _ := st.union.(*AliasedTableExpr)
  6734  	return v
  6735  }
  6736  
  6737  func (st *yySymType) alterDatabaseUnion() *AlterDatabase {
  6738  	v, _ := st.union.(*AlterDatabase)
  6739  	return v
  6740  }
  6741  
  6742  func (st *yySymType) alterMigrationUnion() *AlterMigration {
  6743  	v, _ := st.union.(*AlterMigration)
  6744  	return v
  6745  }
  6746  
  6747  func (st *yySymType) alterOptionUnion() AlterOption {
  6748  	v, _ := st.union.(AlterOption)
  6749  	return v
  6750  }
  6751  
  6752  func (st *yySymType) alterOptionsUnion() []AlterOption {
  6753  	v, _ := st.union.([]AlterOption)
  6754  	return v
  6755  }
  6756  
  6757  func (st *yySymType) alterTableUnion() *AlterTable {
  6758  	v, _ := st.union.(*AlterTable)
  6759  	return v
  6760  }
  6761  
  6762  func (st *yySymType) argumentLessWindowExprTypeUnion() ArgumentLessWindowExprType {
  6763  	v, _ := st.union.(ArgumentLessWindowExprType)
  6764  	return v
  6765  }
  6766  
  6767  func (st *yySymType) boolValUnion() BoolVal {
  6768  	v, _ := st.union.(BoolVal)
  6769  	return v
  6770  }
  6771  
  6772  func (st *yySymType) booleanUnion() bool {
  6773  	v, _ := st.union.(bool)
  6774  	return v
  6775  }
  6776  
  6777  func (st *yySymType) colKeyOptUnion() ColumnKeyOption {
  6778  	v, _ := st.union.(ColumnKeyOption)
  6779  	return v
  6780  }
  6781  
  6782  func (st *yySymType) colNameUnion() *ColName {
  6783  	v, _ := st.union.(*ColName)
  6784  	return v
  6785  }
  6786  
  6787  func (st *yySymType) colNamesUnion() []*ColName {
  6788  	v, _ := st.union.([]*ColName)
  6789  	return v
  6790  }
  6791  
  6792  func (st *yySymType) colTupleUnion() ColTuple {
  6793  	v, _ := st.union.(ColTuple)
  6794  	return v
  6795  }
  6796  
  6797  func (st *yySymType) columnDefinitionUnion() *ColumnDefinition {
  6798  	v, _ := st.union.(*ColumnDefinition)
  6799  	return v
  6800  }
  6801  
  6802  func (st *yySymType) columnDefinitionsUnion() []*ColumnDefinition {
  6803  	v, _ := st.union.([]*ColumnDefinition)
  6804  	return v
  6805  }
  6806  
  6807  func (st *yySymType) columnFormatUnion() ColumnFormat {
  6808  	v, _ := st.union.(ColumnFormat)
  6809  	return v
  6810  }
  6811  
  6812  func (st *yySymType) columnStorageUnion() ColumnStorage {
  6813  	v, _ := st.union.(ColumnStorage)
  6814  	return v
  6815  }
  6816  
  6817  func (st *yySymType) columnTypeOptionsUnion() *ColumnTypeOptions {
  6818  	v, _ := st.union.(*ColumnTypeOptions)
  6819  	return v
  6820  }
  6821  
  6822  func (st *yySymType) columnsUnion() Columns {
  6823  	v, _ := st.union.(Columns)
  6824  	return v
  6825  }
  6826  
  6827  func (st *yySymType) comparisonExprOperatorUnion() ComparisonExprOperator {
  6828  	v, _ := st.union.(ComparisonExprOperator)
  6829  	return v
  6830  }
  6831  
  6832  func (st *yySymType) constraintDefinitionUnion() *ConstraintDefinition {
  6833  	v, _ := st.union.(*ConstraintDefinition)
  6834  	return v
  6835  }
  6836  
  6837  func (st *yySymType) constraintInfoUnion() ConstraintInfo {
  6838  	v, _ := st.union.(ConstraintInfo)
  6839  	return v
  6840  }
  6841  
  6842  func (st *yySymType) convertTypeUnion() *ConvertType {
  6843  	v, _ := st.union.(*ConvertType)
  6844  	return v
  6845  }
  6846  
  6847  func (st *yySymType) createDatabaseUnion() *CreateDatabase {
  6848  	v, _ := st.union.(*CreateDatabase)
  6849  	return v
  6850  }
  6851  
  6852  func (st *yySymType) createTableUnion() *CreateTable {
  6853  	v, _ := st.union.(*CreateTable)
  6854  	return v
  6855  }
  6856  
  6857  func (st *yySymType) cteUnion() *CommonTableExpr {
  6858  	v, _ := st.union.(*CommonTableExpr)
  6859  	return v
  6860  }
  6861  
  6862  func (st *yySymType) ctesUnion() []*CommonTableExpr {
  6863  	v, _ := st.union.([]*CommonTableExpr)
  6864  	return v
  6865  }
  6866  
  6867  func (st *yySymType) databaseOptionsUnion() []DatabaseOption {
  6868  	v, _ := st.union.([]DatabaseOption)
  6869  	return v
  6870  }
  6871  
  6872  func (st *yySymType) definerUnion() *Definer {
  6873  	v, _ := st.union.(*Definer)
  6874  	return v
  6875  }
  6876  
  6877  func (st *yySymType) derivedTableUnion() *DerivedTable {
  6878  	v, _ := st.union.(*DerivedTable)
  6879  	return v
  6880  }
  6881  
  6882  func (st *yySymType) explainTypeUnion() ExplainType {
  6883  	v, _ := st.union.(ExplainType)
  6884  	return v
  6885  }
  6886  
  6887  func (st *yySymType) exprUnion() Expr {
  6888  	v, _ := st.union.(Expr)
  6889  	return v
  6890  }
  6891  
  6892  func (st *yySymType) exprsUnion() Exprs {
  6893  	v, _ := st.union.(Exprs)
  6894  	return v
  6895  }
  6896  
  6897  func (st *yySymType) firstOrLastValueExprTypeUnion() FirstOrLastValueExprType {
  6898  	v, _ := st.union.(FirstOrLastValueExprType)
  6899  	return v
  6900  }
  6901  
  6902  func (st *yySymType) frameClauseUnion() *FrameClause {
  6903  	v, _ := st.union.(*FrameClause)
  6904  	return v
  6905  }
  6906  
  6907  func (st *yySymType) framePointUnion() *FramePoint {
  6908  	v, _ := st.union.(*FramePoint)
  6909  	return v
  6910  }
  6911  
  6912  func (st *yySymType) framePointTypeUnion() FramePointType {
  6913  	v, _ := st.union.(FramePointType)
  6914  	return v
  6915  }
  6916  
  6917  func (st *yySymType) frameUnitTypeUnion() FrameUnitType {
  6918  	v, _ := st.union.(FrameUnitType)
  6919  	return v
  6920  }
  6921  
  6922  func (st *yySymType) fromFirstLastClauseUnion() *FromFirstLastClause {
  6923  	v, _ := st.union.(*FromFirstLastClause)
  6924  	return v
  6925  }
  6926  
  6927  func (st *yySymType) fromFirstLastTypeUnion() FromFirstLastType {
  6928  	v, _ := st.union.(FromFirstLastType)
  6929  	return v
  6930  }
  6931  
  6932  func (st *yySymType) ignoreUnion() Ignore {
  6933  	v, _ := st.union.(Ignore)
  6934  	return v
  6935  }
  6936  
  6937  func (st *yySymType) indexColumnUnion() *IndexColumn {
  6938  	v, _ := st.union.(*IndexColumn)
  6939  	return v
  6940  }
  6941  
  6942  func (st *yySymType) indexColumnsUnion() []*IndexColumn {
  6943  	v, _ := st.union.([]*IndexColumn)
  6944  	return v
  6945  }
  6946  
  6947  func (st *yySymType) indexDefinitionUnion() *IndexDefinition {
  6948  	v, _ := st.union.(*IndexDefinition)
  6949  	return v
  6950  }
  6951  
  6952  func (st *yySymType) indexHintUnion() *IndexHint {
  6953  	v, _ := st.union.(*IndexHint)
  6954  	return v
  6955  }
  6956  
  6957  func (st *yySymType) indexHintForTypeUnion() IndexHintForType {
  6958  	v, _ := st.union.(IndexHintForType)
  6959  	return v
  6960  }
  6961  
  6962  func (st *yySymType) indexHintsUnion() IndexHints {
  6963  	v, _ := st.union.(IndexHints)
  6964  	return v
  6965  }
  6966  
  6967  func (st *yySymType) indexInfoUnion() *IndexInfo {
  6968  	v, _ := st.union.(*IndexInfo)
  6969  	return v
  6970  }
  6971  
  6972  func (st *yySymType) indexOptionUnion() *IndexOption {
  6973  	v, _ := st.union.(*IndexOption)
  6974  	return v
  6975  }
  6976  
  6977  func (st *yySymType) indexOptionsUnion() []*IndexOption {
  6978  	v, _ := st.union.([]*IndexOption)
  6979  	return v
  6980  }
  6981  
  6982  func (st *yySymType) insUnion() *Insert {
  6983  	v, _ := st.union.(*Insert)
  6984  	return v
  6985  }
  6986  
  6987  func (st *yySymType) insertActionUnion() InsertAction {
  6988  	v, _ := st.union.(InsertAction)
  6989  	return v
  6990  }
  6991  
  6992  func (st *yySymType) integerUnion() int {
  6993  	v, _ := st.union.(int)
  6994  	return v
  6995  }
  6996  
  6997  func (st *yySymType) intervalTypeUnion() IntervalTypes {
  6998  	v, _ := st.union.(IntervalTypes)
  6999  	return v
  7000  }
  7001  
  7002  func (st *yySymType) isExprOperatorUnion() IsExprOperator {
  7003  	v, _ := st.union.(IsExprOperator)
  7004  	return v
  7005  }
  7006  
  7007  func (st *yySymType) joinTypeUnion() JoinType {
  7008  	v, _ := st.union.(JoinType)
  7009  	return v
  7010  }
  7011  
  7012  func (st *yySymType) jsonObjectParamsUnion() []*JSONObjectParam {
  7013  	v, _ := st.union.([]*JSONObjectParam)
  7014  	return v
  7015  }
  7016  
  7017  func (st *yySymType) jtColumnDefinitionUnion() *JtColumnDefinition {
  7018  	v, _ := st.union.(*JtColumnDefinition)
  7019  	return v
  7020  }
  7021  
  7022  func (st *yySymType) jtColumnListUnion() []*JtColumnDefinition {
  7023  	v, _ := st.union.([]*JtColumnDefinition)
  7024  	return v
  7025  }
  7026  
  7027  func (st *yySymType) jtOnResponseUnion() *JtOnResponse {
  7028  	v, _ := st.union.(*JtOnResponse)
  7029  	return v
  7030  }
  7031  
  7032  func (st *yySymType) lagLeadExprTypeUnion() LagLeadExprType {
  7033  	v, _ := st.union.(LagLeadExprType)
  7034  	return v
  7035  }
  7036  
  7037  func (st *yySymType) limitUnion() *Limit {
  7038  	v, _ := st.union.(*Limit)
  7039  	return v
  7040  }
  7041  
  7042  func (st *yySymType) literalUnion() *Literal {
  7043  	v, _ := st.union.(*Literal)
  7044  	return v
  7045  }
  7046  
  7047  func (st *yySymType) lockUnion() Lock {
  7048  	v, _ := st.union.(Lock)
  7049  	return v
  7050  }
  7051  
  7052  func (st *yySymType) lockTypeUnion() LockType {
  7053  	v, _ := st.union.(LockType)
  7054  	return v
  7055  }
  7056  
  7057  func (st *yySymType) matchActionUnion() MatchAction {
  7058  	v, _ := st.union.(MatchAction)
  7059  	return v
  7060  }
  7061  
  7062  func (st *yySymType) matchExprOptionUnion() MatchExprOption {
  7063  	v, _ := st.union.(MatchExprOption)
  7064  	return v
  7065  }
  7066  
  7067  func (st *yySymType) namedWindowUnion() *NamedWindow {
  7068  	v, _ := st.union.(*NamedWindow)
  7069  	return v
  7070  }
  7071  
  7072  func (st *yySymType) namedWindowsUnion() NamedWindows {
  7073  	v, _ := st.union.(NamedWindows)
  7074  	return v
  7075  }
  7076  
  7077  func (st *yySymType) nullTreatmentClauseUnion() *NullTreatmentClause {
  7078  	v, _ := st.union.(*NullTreatmentClause)
  7079  	return v
  7080  }
  7081  
  7082  func (st *yySymType) nullTreatmentTypeUnion() NullTreatmentType {
  7083  	v, _ := st.union.(NullTreatmentType)
  7084  	return v
  7085  }
  7086  
  7087  func (st *yySymType) optLikeUnion() *OptLike {
  7088  	v, _ := st.union.(*OptLike)
  7089  	return v
  7090  }
  7091  
  7092  func (st *yySymType) optValUnion() Expr {
  7093  	v, _ := st.union.(Expr)
  7094  	return v
  7095  }
  7096  
  7097  func (st *yySymType) orderUnion() *Order {
  7098  	v, _ := st.union.(*Order)
  7099  	return v
  7100  }
  7101  
  7102  func (st *yySymType) orderByUnion() OrderBy {
  7103  	v, _ := st.union.(OrderBy)
  7104  	return v
  7105  }
  7106  
  7107  func (st *yySymType) orderDirectionUnion() OrderDirection {
  7108  	v, _ := st.union.(OrderDirection)
  7109  	return v
  7110  }
  7111  
  7112  func (st *yySymType) overClauseUnion() *OverClause {
  7113  	v, _ := st.union.(*OverClause)
  7114  	return v
  7115  }
  7116  
  7117  func (st *yySymType) partDefUnion() *PartitionDefinition {
  7118  	v, _ := st.union.(*PartitionDefinition)
  7119  	return v
  7120  }
  7121  
  7122  func (st *yySymType) partDefsUnion() []*PartitionDefinition {
  7123  	v, _ := st.union.([]*PartitionDefinition)
  7124  	return v
  7125  }
  7126  
  7127  func (st *yySymType) partSpecUnion() *PartitionSpec {
  7128  	v, _ := st.union.(*PartitionSpec)
  7129  	return v
  7130  }
  7131  
  7132  func (st *yySymType) partSpecsUnion() []*PartitionSpec {
  7133  	v, _ := st.union.([]*PartitionSpec)
  7134  	return v
  7135  }
  7136  
  7137  func (st *yySymType) partitionByTypeUnion() PartitionByType {
  7138  	v, _ := st.union.(PartitionByType)
  7139  	return v
  7140  }
  7141  
  7142  func (st *yySymType) partitionDefinitionOptionsUnion() *PartitionDefinitionOptions {
  7143  	v, _ := st.union.(*PartitionDefinitionOptions)
  7144  	return v
  7145  }
  7146  
  7147  func (st *yySymType) partitionEngineUnion() *PartitionEngine {
  7148  	v, _ := st.union.(*PartitionEngine)
  7149  	return v
  7150  }
  7151  
  7152  func (st *yySymType) partitionOptionUnion() *PartitionOption {
  7153  	v, _ := st.union.(*PartitionOption)
  7154  	return v
  7155  }
  7156  
  7157  func (st *yySymType) partitionValueRangeUnion() *PartitionValueRange {
  7158  	v, _ := st.union.(*PartitionValueRange)
  7159  	return v
  7160  }
  7161  
  7162  func (st *yySymType) partitionsUnion() Partitions {
  7163  	v, _ := st.union.(Partitions)
  7164  	return v
  7165  }
  7166  
  7167  func (st *yySymType) referenceActionUnion() ReferenceAction {
  7168  	v, _ := st.union.(ReferenceAction)
  7169  	return v
  7170  }
  7171  
  7172  func (st *yySymType) referenceDefinitionUnion() *ReferenceDefinition {
  7173  	v, _ := st.union.(*ReferenceDefinition)
  7174  	return v
  7175  }
  7176  
  7177  func (st *yySymType) renameTablePairsUnion() []*RenameTablePair {
  7178  	v, _ := st.union.([]*RenameTablePair)
  7179  	return v
  7180  }
  7181  
  7182  func (st *yySymType) revertMigrationUnion() *RevertMigration {
  7183  	v, _ := st.union.(*RevertMigration)
  7184  	return v
  7185  }
  7186  
  7187  func (st *yySymType) scopeUnion() Scope {
  7188  	v, _ := st.union.(Scope)
  7189  	return v
  7190  }
  7191  
  7192  func (st *yySymType) selStmtUnion() SelectStatement {
  7193  	v, _ := st.union.(SelectStatement)
  7194  	return v
  7195  }
  7196  
  7197  func (st *yySymType) selectExprUnion() SelectExpr {
  7198  	v, _ := st.union.(SelectExpr)
  7199  	return v
  7200  }
  7201  
  7202  func (st *yySymType) selectExprsUnion() SelectExprs {
  7203  	v, _ := st.union.(SelectExprs)
  7204  	return v
  7205  }
  7206  
  7207  func (st *yySymType) selectIntoUnion() *SelectInto {
  7208  	v, _ := st.union.(*SelectInto)
  7209  	return v
  7210  }
  7211  
  7212  func (st *yySymType) setExprUnion() *SetExpr {
  7213  	v, _ := st.union.(*SetExpr)
  7214  	return v
  7215  }
  7216  
  7217  func (st *yySymType) setExprsUnion() SetExprs {
  7218  	v, _ := st.union.(SetExprs)
  7219  	return v
  7220  }
  7221  
  7222  func (st *yySymType) showFilterUnion() *ShowFilter {
  7223  	v, _ := st.union.(*ShowFilter)
  7224  	return v
  7225  }
  7226  
  7227  func (st *yySymType) starExprUnion() StarExpr {
  7228  	v, _ := st.union.(StarExpr)
  7229  	return v
  7230  }
  7231  
  7232  func (st *yySymType) statementUnion() Statement {
  7233  	v, _ := st.union.(Statement)
  7234  	return v
  7235  }
  7236  
  7237  func (st *yySymType) subPartitionUnion() *SubPartition {
  7238  	v, _ := st.union.(*SubPartition)
  7239  	return v
  7240  }
  7241  
  7242  func (st *yySymType) subPartitionDefinitionUnion() *SubPartitionDefinition {
  7243  	v, _ := st.union.(*SubPartitionDefinition)
  7244  	return v
  7245  }
  7246  
  7247  func (st *yySymType) subPartitionDefinitionOptionsUnion() *SubPartitionDefinitionOptions {
  7248  	v, _ := st.union.(*SubPartitionDefinitionOptions)
  7249  	return v
  7250  }
  7251  
  7252  func (st *yySymType) subPartitionDefinitionsUnion() SubPartitionDefinitions {
  7253  	v, _ := st.union.(SubPartitionDefinitions)
  7254  	return v
  7255  }
  7256  
  7257  func (st *yySymType) subqueryUnion() *Subquery {
  7258  	v, _ := st.union.(*Subquery)
  7259  	return v
  7260  }
  7261  
  7262  func (st *yySymType) tableAndLockTypeUnion() *TableAndLockType {
  7263  	v, _ := st.union.(*TableAndLockType)
  7264  	return v
  7265  }
  7266  
  7267  func (st *yySymType) tableAndLockTypesUnion() TableAndLockTypes {
  7268  	v, _ := st.union.(TableAndLockTypes)
  7269  	return v
  7270  }
  7271  
  7272  func (st *yySymType) tableExprUnion() TableExpr {
  7273  	v, _ := st.union.(TableExpr)
  7274  	return v
  7275  }
  7276  
  7277  func (st *yySymType) tableExprsUnion() TableExprs {
  7278  	v, _ := st.union.(TableExprs)
  7279  	return v
  7280  }
  7281  
  7282  func (st *yySymType) tableNamesUnion() TableNames {
  7283  	v, _ := st.union.(TableNames)
  7284  	return v
  7285  }
  7286  
  7287  func (st *yySymType) tableOptionUnion() *TableOption {
  7288  	v, _ := st.union.(*TableOption)
  7289  	return v
  7290  }
  7291  
  7292  func (st *yySymType) tableOptionsUnion() TableOptions {
  7293  	v, _ := st.union.(TableOptions)
  7294  	return v
  7295  }
  7296  
  7297  func (st *yySymType) tableSpecUnion() *TableSpec {
  7298  	v, _ := st.union.(*TableSpec)
  7299  	return v
  7300  }
  7301  
  7302  func (st *yySymType) trimTypeUnion() TrimType {
  7303  	v, _ := st.union.(TrimType)
  7304  	return v
  7305  }
  7306  
  7307  func (st *yySymType) txAccessModeUnion() TxAccessMode {
  7308  	v, _ := st.union.(TxAccessMode)
  7309  	return v
  7310  }
  7311  
  7312  func (st *yySymType) txAccessModesUnion() []TxAccessMode {
  7313  	v, _ := st.union.([]TxAccessMode)
  7314  	return v
  7315  }
  7316  
  7317  func (st *yySymType) updateExprUnion() *UpdateExpr {
  7318  	v, _ := st.union.(*UpdateExpr)
  7319  	return v
  7320  }
  7321  
  7322  func (st *yySymType) updateExprsUnion() UpdateExprs {
  7323  	v, _ := st.union.(UpdateExprs)
  7324  	return v
  7325  }
  7326  
  7327  func (st *yySymType) valTupleUnion() ValTuple {
  7328  	v, _ := st.union.(ValTuple)
  7329  	return v
  7330  }
  7331  
  7332  func (st *yySymType) valuesUnion() Values {
  7333  	v, _ := st.union.(Values)
  7334  	return v
  7335  }
  7336  
  7337  func (st *yySymType) variableUnion() *Variable {
  7338  	v, _ := st.union.(*Variable)
  7339  	return v
  7340  }
  7341  
  7342  func (st *yySymType) variablesUnion() []*Variable {
  7343  	v, _ := st.union.([]*Variable)
  7344  	return v
  7345  }
  7346  
  7347  func (st *yySymType) vexplainTypeUnion() VExplainType {
  7348  	v, _ := st.union.(VExplainType)
  7349  	return v
  7350  }
  7351  
  7352  func (st *yySymType) vindexParamsUnion() []VindexParam {
  7353  	v, _ := st.union.([]VindexParam)
  7354  	return v
  7355  }
  7356  
  7357  func (st *yySymType) whenUnion() *When {
  7358  	v, _ := st.union.(*When)
  7359  	return v
  7360  }
  7361  
  7362  func (st *yySymType) whensUnion() []*When {
  7363  	v, _ := st.union.([]*When)
  7364  	return v
  7365  }
  7366  
  7367  func (st *yySymType) windowDefinitionUnion() *WindowDefinition {
  7368  	v, _ := st.union.(*WindowDefinition)
  7369  	return v
  7370  }
  7371  
  7372  func (st *yySymType) windowDefinitionsUnion() WindowDefinitions {
  7373  	v, _ := st.union.(WindowDefinitions)
  7374  	return v
  7375  }
  7376  
  7377  func (st *yySymType) windowSpecificationUnion() *WindowSpecification {
  7378  	v, _ := st.union.(*WindowSpecification)
  7379  	return v
  7380  }
  7381  
  7382  func (st *yySymType) withUnion() *With {
  7383  	v, _ := st.union.(*With)
  7384  	return v
  7385  }
  7386  
  7387  var yyR1 = [...]int{
  7388  	0, 410, 411, 411, 7, 7, 7, 7, 7, 7,
  7389  	7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
  7390  	7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
  7391  	7, 7, 7, 7, 7, 7, 7, 7, 7, 258,
  7392  	381, 382, 382, 256, 256, 33, 72, 35, 35, 34,
  7393  	34, 37, 37, 36, 8, 8, 8, 9, 9, 9,
  7394  	9, 9, 9, 9, 9, 10, 10, 10, 10, 10,
  7395  	11, 11, 11, 11, 13, 13, 13, 13, 13, 20,
  7396  	21, 12, 12, 22, 22, 106, 106, 23, 24, 24,
  7397  	24, 24, 414, 414, 183, 183, 181, 181, 182, 182,
  7398  	261, 261, 25, 265, 265, 267, 267, 267, 267, 257,
  7399  	257, 257, 26, 26, 266, 266, 268, 268, 268, 271,
  7400  	271, 271, 271, 310, 310, 310, 27, 27, 27, 27,
  7401  	27, 126, 126, 384, 384, 383, 377, 377, 376, 376,
  7402  	375, 380, 380, 379, 379, 378, 39, 40, 49, 49,
  7403  	49, 49, 50, 51, 385, 385, 350, 56, 56, 55,
  7404  	55, 55, 55, 55, 55, 57, 57, 53, 53, 52,
  7405  	52, 54, 54, 352, 352, 338, 338, 351, 351, 351,
  7406  	351, 351, 351, 351, 337, 337, 137, 137, 235, 235,
  7407  	235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
  7408  	235, 235, 235, 235, 235, 400, 400, 400, 399, 399,
  7409  	236, 236, 236, 236, 236, 236, 236, 236, 147, 147,
  7410  	159, 159, 159, 159, 159, 145, 145, 146, 144, 144,
  7411  	144, 153, 153, 153, 153, 153, 153, 153, 153, 153,
  7412  	153, 153, 153, 153, 153, 153, 153, 153, 404, 404,
  7413  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7414  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7415  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7416  	404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
  7417  	158, 158, 154, 154, 154, 155, 155, 155, 156, 156,
  7418  	401, 401, 401, 401, 315, 315, 315, 315, 318, 318,
  7419  	316, 316, 316, 316, 316, 316, 316, 316, 316, 317,
  7420  	317, 317, 317, 317, 317, 317, 319, 319, 319, 319,
  7421  	319, 320, 320, 320, 320, 320, 320, 320, 320, 320,
  7422  	320, 320, 320, 320, 320, 320, 320, 321, 321, 321,
  7423  	321, 321, 321, 321, 321, 336, 336, 322, 322, 330,
  7424  	330, 331, 331, 332, 332, 332, 333, 333, 333, 334,
  7425  	334, 327, 327, 327, 327, 327, 327, 327, 327, 327,
  7426  	329, 329, 328, 328, 328, 339, 364, 364, 363, 363,
  7427  	361, 361, 361, 361, 361, 361, 361, 361, 348, 348,
  7428  	358, 358, 358, 358, 358, 347, 347, 343, 343, 343,
  7429  	344, 344, 345, 345, 342, 342, 346, 346, 360, 360,
  7430  	359, 359, 340, 340, 341, 341, 366, 402, 402, 402,
  7431  	402, 402, 403, 403, 367, 392, 394, 394, 394, 393,
  7432  	393, 390, 391, 389, 389, 389, 389, 389, 82, 82,
  7433  	82, 284, 284, 285, 285, 356, 356, 355, 355, 355,
  7434  	357, 357, 354, 354, 354, 354, 354, 354, 354, 354,
  7435  	354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
  7436  	354, 354, 354, 354, 354, 354, 354, 354, 354, 354,
  7437  	354, 354, 354, 279, 279, 279, 388, 388, 388, 388,
  7438  	388, 388, 387, 387, 387, 353, 353, 353, 353, 386,
  7439  	386, 58, 58, 216, 216, 405, 405, 406, 406, 406,
  7440  	46, 46, 46, 46, 46, 46, 45, 45, 45, 41,
  7441  	41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
  7442  	41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
  7443  	41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
  7444  	47, 47, 42, 42, 42, 42, 42, 42, 42, 42,
  7445  	42, 42, 28, 28, 28, 28, 28, 28, 28, 28,
  7446  	28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  7447  	28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  7448  	108, 108, 109, 109, 109, 109, 111, 111, 111, 369,
  7449  	369, 59, 59, 3, 3, 171, 173, 174, 174, 172,
  7450  	172, 172, 172, 172, 172, 61, 61, 60, 60, 176,
  7451  	175, 177, 177, 177, 1, 1, 2, 2, 4, 4,
  7452  	374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
  7453  	374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
  7454  	374, 374, 335, 335, 335, 368, 368, 370, 110, 110,
  7455  	110, 110, 110, 110, 110, 110, 110, 110, 114, 113,
  7456  	113, 112, 115, 115, 115, 115, 115, 115, 115, 115,
  7457  	372, 372, 372, 62, 62, 373, 323, 324, 325, 5,
  7458  	6, 349, 371, 122, 122, 29, 38, 38, 30, 30,
  7459  	30, 30, 31, 31, 63, 64, 64, 64, 64, 64,
  7460  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7461  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7462  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7463  	64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  7464  	64, 64, 64, 64, 64, 64, 64, 278, 278, 287,
  7465  	287, 277, 277, 302, 302, 302, 280, 280, 280, 281,
  7466  	281, 398, 398, 398, 274, 274, 65, 65, 65, 303,
  7467  	303, 303, 303, 67, 67, 407, 407, 408, 408, 409,
  7468  	409, 409, 68, 69, 69, 305, 305, 306, 306, 70,
  7469  	71, 83, 83, 83, 83, 83, 83, 83, 84, 84,
  7470  	84, 84, 107, 107, 107, 15, 15, 15, 15, 79,
  7471  	79, 79, 14, 14, 17, 66, 66, 73, 395, 395,
  7472  	396, 397, 397, 397, 397, 74, 76, 32, 32, 32,
  7473  	32, 32, 32, 132, 132, 120, 120, 120, 120, 120,
  7474  	120, 120, 120, 120, 120, 120, 120, 127, 127, 127,
  7475  	121, 121, 415, 77, 78, 78, 125, 125, 125, 118,
  7476  	118, 118, 124, 124, 124, 16, 16, 18, 260, 260,
  7477  	19, 19, 129, 129, 131, 131, 131, 131, 131, 133,
  7478  	133, 133, 133, 133, 133, 133, 128, 128, 130, 130,
  7479  	130, 130, 295, 295, 295, 294, 294, 165, 165, 167,
  7480  	166, 166, 168, 168, 169, 169, 169, 169, 214, 214,
  7481  	191, 191, 253, 253, 254, 254, 252, 252, 259, 259,
  7482  	255, 255, 255, 255, 262, 262, 170, 170, 170, 170,
  7483  	178, 178, 179, 179, 180, 180, 304, 304, 300, 300,
  7484  	300, 299, 299, 184, 184, 184, 186, 185, 185, 185,
  7485  	185, 187, 187, 189, 189, 188, 188, 190, 195, 195,
  7486  	194, 194, 192, 192, 192, 192, 193, 193, 193, 193,
  7487  	196, 196, 142, 142, 142, 142, 142, 142, 142, 157,
  7488  	157, 157, 157, 160, 160, 160, 160, 160, 160, 160,
  7489  	160, 160, 160, 160, 243, 243, 148, 148, 148, 148,
  7490  	148, 148, 148, 148, 148, 148, 148, 148, 148, 152,
  7491  	152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
  7492  	152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
  7493  	152, 152, 152, 152, 151, 219, 219, 218, 218, 85,
  7494  	85, 85, 86, 86, 87, 87, 87, 87, 87, 88,
  7495  	88, 88, 88, 88, 143, 143, 90, 90, 89, 89,
  7496  	209, 209, 292, 292, 91, 92, 92, 95, 95, 94,
  7497  	93, 93, 99, 99, 96, 96, 98, 98, 97, 100,
  7498  	100, 101, 102, 102, 275, 275, 197, 197, 205, 205,
  7499  	205, 205, 198, 198, 198, 198, 198, 198, 198, 206,
  7500  	206, 206, 213, 207, 207, 203, 203, 201, 201, 201,
  7501  	201, 201, 201, 201, 201, 201, 201, 202, 202, 202,
  7502  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7503  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7504  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7505  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7506  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7507  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7508  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7509  	202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
  7510  	202, 202, 202, 162, 162, 162, 162, 224, 224, 149,
  7511  	149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
  7512  	149, 149, 149, 149, 150, 150, 163, 163, 163, 163,
  7513  	164, 164, 164, 164, 164, 164, 164, 312, 312, 117,
  7514  	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
  7515  	117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
  7516  	416, 416, 326, 326, 326, 326, 204, 204, 204, 204,
  7517  	204, 123, 123, 123, 123, 123, 309, 309, 309, 313,
  7518  	313, 313, 311, 311, 311, 311, 311, 311, 311, 311,
  7519  	311, 311, 311, 311, 311, 311, 311, 314, 314, 222,
  7520  	222, 119, 119, 220, 220, 221, 223, 223, 215, 215,
  7521  	215, 215, 217, 217, 200, 200, 200, 225, 225, 226,
  7522  	226, 103, 104, 104, 105, 105, 227, 227, 229, 228,
  7523  	228, 230, 231, 231, 231, 232, 232, 233, 233, 233,
  7524  	48, 48, 48, 48, 48, 43, 43, 43, 43, 44,
  7525  	44, 44, 44, 134, 134, 134, 134, 136, 136, 135,
  7526  	135, 80, 80, 81, 81, 81, 140, 140, 141, 141,
  7527  	141, 138, 138, 139, 139, 250, 250, 234, 234, 234,
  7528  	241, 241, 241, 237, 237, 239, 239, 239, 240, 240,
  7529  	240, 238, 247, 247, 249, 249, 248, 248, 244, 244,
  7530  	245, 245, 246, 246, 246, 242, 242, 199, 199, 199,
  7531  	199, 199, 251, 251, 251, 251, 263, 263, 210, 210,
  7532  	212, 212, 211, 211, 161, 264, 264, 272, 269, 269,
  7533  	270, 270, 296, 296, 296, 273, 273, 286, 286, 282,
  7534  	282, 283, 283, 276, 276, 288, 288, 288, 75, 208,
  7535  	208, 365, 365, 362, 291, 291, 293, 293, 297, 297,
  7536  	301, 301, 298, 298, 289, 289, 289, 289, 289, 289,
  7537  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7538  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7539  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7540  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7541  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7542  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7543  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7544  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7545  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7546  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7547  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7548  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7549  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7550  	289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
  7551  	289, 289, 289, 290, 290, 290, 290, 290, 290, 290,
  7552  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7553  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7554  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7555  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7556  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7557  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7558  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7559  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7560  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7561  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7562  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7563  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7564  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7565  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7566  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7567  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7568  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7569  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7570  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7571  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7572  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7573  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7574  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7575  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7576  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7577  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7578  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7579  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7580  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7581  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7582  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7583  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7584  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7585  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7586  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7587  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7588  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7589  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7590  	290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
  7591  	290, 290, 290, 412, 413, 307, 308, 308, 308,
  7592  }
  7593  
  7594  var yyR2 = [...]int{
  7595  	0, 3, 0, 1, 1, 1, 1, 1, 1, 1,
  7596  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7597  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7598  	1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
  7599  	1, 0, 1, 1, 1, 2, 3, 2, 3, 0,
  7600  	1, 3, 1, 4, 3, 3, 4, 3, 2, 3,
  7601  	4, 3, 4, 2, 7, 1, 3, 3, 3, 3,
  7602  	1, 2, 1, 1, 3, 2, 3, 3, 2, 5,
  7603  	7, 10, 9, 7, 8, 1, 1, 10, 11, 9,
  7604  	8, 8, 1, 1, 1, 3, 1, 3, 1, 3,
  7605  	0, 4, 3, 1, 3, 3, 3, 3, 3, 1,
  7606  	1, 2, 5, 4, 1, 3, 3, 2, 2, 2,
  7607  	2, 2, 1, 1, 1, 1, 2, 2, 6, 12,
  7608  	2, 0, 2, 0, 2, 1, 0, 2, 1, 3,
  7609  	3, 0, 1, 1, 3, 3, 6, 4, 7, 8,
  7610  	8, 8, 6, 3, 1, 1, 5, 0, 1, 1,
  7611  	1, 1, 2, 2, 2, 0, 1, 4, 4, 4,
  7612  	4, 4, 4, 2, 4, 1, 3, 1, 1, 3,
  7613  	4, 3, 3, 3, 5, 10, 0, 2, 0, 2,
  7614  	3, 5, 3, 4, 2, 3, 2, 3, 3, 3,
  7615  	3, 2, 2, 4, 4, 1, 1, 1, 1, 1,
  7616  	0, 2, 2, 3, 3, 2, 2, 2, 1, 1,
  7617  	2, 2, 2, 2, 2, 1, 1, 1, 1, 2,
  7618  	2, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  7619  	2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
  7620  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7621  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7622  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7623  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7624  	1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
  7625  	2, 1, 2, 1, 3, 1, 1, 1, 2, 1,
  7626  	1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  7627  	2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
  7628  	2, 3, 3, 3, 2, 2, 2, 2, 2, 2,
  7629  	1, 1, 1, 1, 1, 5, 5, 1, 1, 1,
  7630  	1, 1, 1, 1, 1, 1, 3, 0, 3, 0,
  7631  	5, 1, 3, 0, 3, 5, 0, 1, 1, 0,
  7632  	1, 0, 3, 3, 2, 2, 2, 1, 2, 2,
  7633  	0, 1, 0, 2, 2, 5, 0, 1, 1, 2,
  7634  	1, 3, 2, 1, 1, 3, 3, 3, 0, 1,
  7635  	4, 3, 3, 4, 2, 0, 2, 1, 1, 1,
  7636  	1, 1, 0, 1, 1, 1, 0, 1, 1, 3,
  7637  	3, 4, 3, 1, 3, 1, 7, 6, 7, 7,
  7638  	8, 8, 0, 1, 5, 2, 1, 1, 1, 0,
  7639  	1, 3, 3, 1, 1, 2, 2, 2, 0, 1,
  7640  	1, 1, 2, 0, 1, 0, 1, 1, 3, 2,
  7641  	1, 2, 3, 3, 3, 4, 4, 3, 3, 3,
  7642  	3, 4, 4, 3, 3, 3, 3, 3, 3, 3,
  7643  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  7644  	3, 4, 5, 0, 2, 2, 1, 1, 1, 1,
  7645  	1, 1, 1, 1, 1, 3, 1, 1, 1, 0,
  7646  	1, 0, 1, 0, 2, 0, 2, 0, 2, 2,
  7647  	0, 1, 5, 1, 3, 7, 1, 3, 3, 1,
  7648  	2, 2, 2, 5, 5, 5, 6, 8, 5, 5,
  7649  	4, 4, 4, 6, 5, 5, 5, 2, 2, 2,
  7650  	2, 3, 3, 3, 4, 3, 3, 1, 3, 5,
  7651  	1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  7652  	2, 2, 3, 4, 4, 2, 11, 3, 6, 8,
  7653  	6, 6, 6, 13, 8, 6, 10, 5, 5, 5,
  7654  	7, 5, 5, 5, 5, 5, 7, 7, 5, 5,
  7655  	0, 6, 5, 6, 4, 5, 0, 8, 9, 0,
  7656  	3, 0, 1, 0, 3, 8, 4, 1, 3, 3,
  7657  	6, 7, 7, 8, 4, 0, 1, 0, 1, 3,
  7658  	3, 1, 1, 2, 1, 1, 0, 2, 0, 2,
  7659  	5, 3, 7, 4, 4, 4, 4, 3, 3, 3,
  7660  	7, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  7661  	3, 2, 0, 2, 2, 1, 3, 2, 0, 2,
  7662  	2, 2, 2, 2, 2, 2, 2, 2, 3, 1,
  7663  	3, 3, 0, 2, 2, 2, 2, 2, 2, 2,
  7664  	4, 4, 3, 0, 1, 4, 3, 4, 4, 3,
  7665  	3, 3, 2, 1, 3, 3, 3, 5, 7, 7,
  7666  	6, 5, 3, 2, 3, 3, 3, 7, 3, 3,
  7667  	3, 3, 4, 7, 5, 2, 4, 4, 4, 4,
  7668  	4, 5, 5, 4, 4, 4, 4, 4, 4, 4,
  7669  	4, 2, 2, 4, 4, 4, 4, 4, 2, 3,
  7670  	3, 3, 3, 5, 2, 3, 3, 2, 3, 4,
  7671  	4, 4, 3, 4, 4, 5, 3, 0, 1, 0,
  7672  	1, 1, 1, 0, 2, 2, 0, 2, 2, 0,
  7673  	2, 0, 1, 1, 1, 1, 2, 1, 3, 1,
  7674  	1, 1, 1, 1, 3, 0, 1, 1, 3, 3,
  7675  	2, 2, 1, 1, 5, 0, 1, 0, 1, 2,
  7676  	3, 0, 3, 3, 3, 3, 3, 1, 0, 1,
  7677  	1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
  7678  	1, 1, 4, 4, 4, 2, 2, 3, 1, 3,
  7679  	2, 1, 2, 1, 2, 2, 4, 3, 3, 6,
  7680  	4, 7, 6, 1, 3, 2, 2, 2, 2, 1,
  7681  	1, 1, 3, 2, 1, 1, 1, 0, 1, 1,
  7682  	0, 3, 0, 2, 0, 2, 1, 2, 2, 0,
  7683  	1, 1, 0, 1, 1, 5, 5, 4, 0, 2,
  7684  	4, 4, 0, 1, 0, 1, 2, 3, 4, 1,
  7685  	1, 1, 1, 1, 1, 1, 1, 3, 1, 2,
  7686  	3, 5, 0, 1, 2, 1, 1, 0, 1, 2,
  7687  	1, 3, 1, 1, 1, 4, 3, 1, 1, 2,
  7688  	3, 7, 0, 3, 0, 1, 1, 3, 1, 3,
  7689  	1, 1, 3, 3, 1, 3, 4, 4, 4, 3,
  7690  	2, 4, 0, 1, 0, 2, 0, 1, 0, 1,
  7691  	2, 1, 1, 1, 2, 2, 1, 2, 3, 2,
  7692  	3, 2, 2, 2, 1, 1, 3, 3, 0, 1,
  7693  	1, 2, 6, 5, 6, 6, 0, 2, 3, 3,
  7694  	0, 2, 3, 3, 3, 2, 3, 1, 6, 3,
  7695  	4, 3, 1, 3, 4, 5, 6, 3, 4, 5,
  7696  	6, 3, 4, 1, 1, 1, 3, 3, 3, 3,
  7697  	3, 3, 3, 3, 3, 3, 3, 3, 1, 1,
  7698  	1, 1, 1, 3, 1, 1, 1, 2, 2, 2,
  7699  	2, 1, 1, 2, 7, 7, 6, 6, 2, 2,
  7700  	1, 6, 3, 3, 3, 1, 3, 1, 3, 1,
  7701  	1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  7702  	2, 2, 2, 2, 1, 1, 0, 1, 2, 5,
  7703  	0, 3, 0, 1, 4, 4, 2, 0, 1, 1,
  7704  	2, 2, 1, 1, 2, 2, 0, 1, 1, 1,
  7705  	1, 5, 1, 3, 0, 3, 1, 1, 1, 2,
  7706  	1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
  7707  	1, 1, 1, 1, 3, 4, 6, 4, 4, 8,
  7708  	6, 8, 6, 5, 4, 10, 2, 2, 1, 2,
  7709  	2, 2, 4, 5, 5, 5, 5, 5, 4, 4,
  7710  	4, 4, 4, 4, 4, 4, 4, 4, 8, 8,
  7711  	8, 6, 5, 4, 4, 4, 4, 4, 7, 4,
  7712  	4, 6, 6, 6, 8, 6, 6, 4, 4, 3,
  7713  	4, 6, 6, 4, 4, 4, 6, 8, 6, 4,
  7714  	6, 6, 8, 10, 7, 8, 8, 9, 4, 4,
  7715  	4, 4, 6, 6, 6, 6, 6, 6, 6, 6,
  7716  	6, 6, 4, 4, 6, 5, 9, 6, 9, 1,
  7717  	1, 1, 1, 1, 1, 1, 1, 0, 2, 6,
  7718  	8, 10, 12, 14, 6, 8, 8, 10, 12, 14,
  7719  	6, 8, 10, 12, 6, 8, 4, 4, 3, 4,
  7720  	6, 6, 4, 6, 4, 6, 8, 0, 2, 1,
  7721  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7722  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7723  	0, 2, 0, 2, 3, 3, 4, 4, 4, 4,
  7724  	4, 0, 3, 4, 7, 3, 1, 1, 1, 0,
  7725  	5, 5, 2, 3, 1, 2, 2, 1, 2, 1,
  7726  	2, 2, 1, 2, 2, 1, 1, 0, 1, 0,
  7727  	1, 0, 2, 1, 2, 4, 0, 2, 1, 1,
  7728  	3, 5, 1, 1, 1, 2, 2, 0, 3, 0,
  7729  	2, 2, 1, 3, 0, 1, 0, 1, 3, 1,
  7730  	3, 2, 0, 1, 1, 0, 1, 2, 4, 4,
  7731  	0, 2, 2, 1, 1, 3, 3, 3, 3, 3,
  7732  	3, 3, 3, 0, 3, 3, 3, 0, 3, 1,
  7733  	1, 0, 4, 0, 1, 1, 0, 3, 1, 3,
  7734  	2, 1, 1, 0, 1, 2, 4, 9, 3, 5,
  7735  	0, 3, 3, 0, 1, 0, 2, 2, 0, 2,
  7736  	2, 2, 0, 2, 1, 2, 3, 3, 0, 2,
  7737  	1, 2, 3, 4, 3, 0, 1, 2, 1, 5,
  7738  	4, 4, 1, 3, 3, 5, 0, 5, 1, 3,
  7739  	1, 2, 3, 4, 1, 1, 3, 3, 1, 2,
  7740  	1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
  7741  	2, 0, 3, 0, 1, 0, 1, 1, 5, 0,
  7742  	1, 0, 1, 2, 1, 1, 1, 1, 1, 1,
  7743  	0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7744  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7745  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7746  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7747  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7748  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7749  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7750  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7751  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7752  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7753  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7754  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7755  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7756  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7757  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7758  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7759  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7760  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7761  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7762  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7763  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7764  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7765  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7766  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7767  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7768  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7769  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7770  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7771  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7772  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7773  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7774  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7775  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7776  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7777  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7778  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7779  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7780  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7781  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7782  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7783  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7784  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7785  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7786  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7787  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7788  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7789  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7790  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7791  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7792  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7793  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7794  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7795  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7796  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7797  	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  7798  	1, 1, 1, 1, 1, 0, 0, 1, 1,
  7799  }
  7800  
  7801  var yyChk = [...]int{
  7802  	-1000, -410, -77, -415, -7, -11, -20, -21, -22, -23,
  7803  	-24, -25, -26, -27, -28, -29, -30, -31, -63, -64,
  7804  	-65, -67, -68, -69, -70, -71, -14, -17, -66, -32,
  7805  	-33, -72, -73, -74, -75, -76, -16, -18, -19, -9,
  7806  	-8, -13, 10, 11, -106, -34, 33, -39, -49, 225,
  7807  	-50, -40, 226, -51, 228, 227, 265, 229, 258, 75,
  7808  	313, 314, 316, 317, 318, 319, -107, 617, 263, 264,
  7809  	231, 37, 46, 34, 35, 38, 235, 271, 272, 234,
  7810  	-10, -35, 9, -412, 12, 449, 260, 259, 29, -12,
  7811  	511, 87, -78, -411, 665, -250, -234, 23, 34, 30,
  7812  	-233, -229, -125, -234, 21, 19, 8, -77, -77, -77,
  7813  	13, 14, -77, -350, -352, 87, 159, 87, -77, -56,
  7814  	-55, -53, -52, -54, -57, 32, -46, -47, -374, -45,
  7815  	-42, 230, 227, 275, 123, 124, 265, 266, 267, 229,
  7816  	249, 264, 268, 263, 284, -41, 82, 34, 511, 514,
  7817  	-357, 226, 232, 233, 228, 450, 126, 125, 76, -354,
  7818  	372, 544, 635, -57, 637, 101, 104, 636, 45, 239,
  7819  	638, 639, 640, 551, 641, 248, 642, 643, 644, 645,
  7820  	651, 592, 652, 653, 654, 127, 8, -77, -301, -297,
  7821  	91, -290, 508, 251, 542, 543, 300, 82, 42, 517,
  7822  	369, 372, 544, 479, 635, 313, 329, 323, 484, 485,
  7823  	486, 352, 344, 509, 545, 518, 303, 252, 288, 629,
  7824  	342, 135, 637, 307, 546, 266, 377, 378, 547, 379,
  7825  	101, 316, 416, 650, 306, 548, 648, 104, 636, 321,
  7826  	80, 478, 52, 632, 45, 261, 340, 234, 336, 638,
  7827  	289, 549, 520, 282, 126, 123, 657, 37, 332, 51,
  7828  	31, 647, 125, 50, 639, 150, 550, 640, 551, 381,
  7829  	359, 623, 49, 382, 267, 552, 85, 272, 513, 310,
  7830  	631, 383, 498, 333, 384, 299, 646, 231, 553, 612,
  7831  	604, 605, 385, 386, 624, 364, 360, 365, 500, 554,
  7832  	408, 483, 387, 608, 609, 664, 53, 555, 556, 625,
  7833  	124, 557, 79, 641, 81, 327, 328, 558, 297, 250,
  7834  	503, 504, 410, 356, 461, 468, 469, 111, 112, 464,
  7835  	113, 470, 114, 471, 472, 473, 462, 115, 108, 463,
  7836  	474, 475, 357, 358, 116, 476, 110, 109, 465, 467,
  7837  	117, 477, 248, 36, 388, 510, 301, 59, 305, 276,
  7838  	411, 47, 362, 661, 46, 619, 505, 559, 622, 355,
  7839  	351, 458, 54, 560, 561, 562, 563, 480, 642, 354,
  7840  	326, 350, 656, 4, 294, 481, 643, 63, 233, 367,
  7841  	366, 368, 283, 407, 347, 564, 565, 566, 255, 83,
  7842  	567, 337, 22, 568, 569, 389, 290, 570, 57, 571,
  7843  	572, 414, 264, 573, 55, 644, 40, 574, 269, 658,
  7844  	645, 575, 576, 577, 618, 578, 271, 579, 391, 580,
  7845  	606, 607, 390, 361, 363, 506, 278, 392, 236, 512,
  7846  	581, 311, 331, 268, 649, 582, 256, 494, 495, 496,
  7847  	497, 630, 502, 501, 270, 275, 263, 415, 257, 583,
  7848  	584, 585, 586, 587, 304, 603, 588, 589, 317, 651,
  7849  	459, 44, 590, 591, 592, 593, 594, 298, 293, 409,
  7850  	418, 62, 84, 374, 595, 596, 628, 325, 322, 291,
  7851  	597, 314, 56, 652, 653, 654, 285, 655, 487, 488,
  7852  	489, 490, 10, 662, 663, 482, 394, 127, 295, 296,
  7853  	48, 348, 277, 598, 308, 599, 338, 339, 353, 324,
  7854  	349, 615, 315, 613, 279, 395, 460, 265, 600, 417,
  7855  	292, 370, 375, 309, 516, 499, 284, 396, 627, 515,
  7856  	491, 492, 346, 343, 286, 493, 601, 617, 397, 240,
  7857  	280, 281, 602, 614, 398, 399, 302, 400, 401, 402,
  7858  	403, 404, 406, 312, 405, 616, 610, 611, 287, 514,
  7859  	320, 341, 376, 430, 431, 432, 433, 434, 435, 436,
  7860  	437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
  7861  	447, 457, 238, -77, 238, -188, -297, 238, -269, 378,
  7862  	-287, 380, 393, 388, 398, 386, -278, 389, 391, 278,
  7863  	-398, 408, 238, 395, 225, 381, 390, 399, 400, 302,
  7864  	406, 401, 312, 405, 287, 402, 403, 404, -381, 177,
  7865  	640, 655, 135, 345, 385, 383, 409, 619, 91, -303,
  7866  	91, 92, 93, -290, 315, -305, 320, -291, -381, -290,
  7867  	318, -77, -77, -307, -307, -127, 619, 621, -207, -142,
  7868  	143, -157, -160, -148, -152, -201, -202, -203, -204, -158,
  7869  	-217, -256, 166, 167, 174, 144, -213, -161, 27, 507,
  7870  	451, 450, 177, 32, -151, 220, 69, 70, 453, 146,
  7871  	58, 12, 426, 427, -159, 421, 428, 423, 478, 480,
  7872  	481, 482, 479, 484, 485, 486, 487, 488, 489, 490,
  7873  	491, 492, 493, 483, 455, 456, 118, 457, 108, 110,
  7874  	109, 458, 459, 460, 342, 505, 506, 500, 503, 504,
  7875  	502, 501, 357, 358, 461, 462, 463, 111, 112, 113,
  7876  	114, 115, 116, 117, 464, 467, 465, 466, 468, 469,
  7877  	470, 475, 476, 471, 472, 473, 474, 477, -87, -99,
  7878  	533, 532, -100, -149, -150, -163, -164, -291, -297, 243,
  7879  	420, 237, 172, 449, -153, -146, -215, 107, 92, 93,
  7880  	-8, -211, 419, 424, 425, 429, 422, 519, 521, 536,
  7881  	537, 539, 524, 529, 528, 531, 494, 495, 496, 497,
  7882  	498, 499, 604, 605, 606, 607, 608, 609, 610, 611,
  7883  	-381, -290, 91, -155, -154, -197, 94, 99, 102, 103,
  7884  	105, -404, 261, 338, 339, 119, -412, 633, 90, 95,
  7885  	96, 97, 98, 120, 121, 178, 179, 180, 181, 182,
  7886  	183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
  7887  	193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
  7888  	203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
  7889  	213, 214, 215, 216, 217, 218, 219, 45, 394, 394,
  7890  	-188, -77, -77, -77, -77, -227, -125, -229, -10, -8,
  7891  	-412, 9, -77, -8, -9, -13, -35, -37, 538, -36,
  7892  	-297, 100, -234, -250, 13, 162, 43, 51, -232, -233,
  7893  	-12, -8, -142, 20, 24, 25, -130, 168, -142, -297,
  7894  	-130, -276, 242, -77, -77, -265, -310, 315, -267, 409,
  7895  	619, 408, -257, -270, 91, -256, -269, 407, -351, 159,
  7896  	-337, -341, -291, 253, -367, 249, -188, -360, -359, -291,
  7897  	-412, -126, -286, 239, 247, 246, 136, -385, 139, 295,
  7898  	420, 237, -52, -53, -54, -269, 176, 639, -108, 270,
  7899  	274, 88, 88, -341, -340, -339, -386, 274, 253, -366,
  7900  	-358, 245, 254, -347, 246, 247, -342, 239, 137, -386,
  7901  	-342, 244, 254, 249, 253, 274, 274, 127, 274, 127,
  7902  	274, 274, 274, 274, 274, 274, 274, 274, 274, 269,
  7903  	-348, 151, -348, 515, 515, -354, -386, 249, 239, -386,
  7904  	-386, 245, -288, -342, 241, 26, 241, 36, 36, -348,
  7905  	-348, -348, -269, 176, -348, -348, -348, -348, 282, 282,
  7906  	-348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
  7907  	-348, -348, -348, -348, -348, -348, -348, 238, -385, -134,
  7908  	405, 302, 82, -55, 284, -38, -188, -286, 239, 240,
  7909  	-385, 271, -188, 221, -188, -280, 159, 16, -280, -277,
  7910  	394, 392, 379, 384, -280, -280, -280, -280, 285, 377,
  7911  	-343, 239, 36, 250, 394, 285, 377, 285, 286, 285,
  7912  	286, 387, 397, 285, -302, 15, 162, 420, 382, 386,
  7913  	278, 238, 279, 240, 396, 286, -302, 90, -281, 159,
  7914  	285, 394, 281, -280, -280, -308, -412, -293, -291, -289,
  7915  	230, 24, 142, 26, 28, 145, 177, 130, 20, 146,
  7916  	38, 232, 345, 249, 176, 245, 450, 225, 73, 519,
  7917  	421, 423, 419, 426, 452, 453, 420, 380, 32, 14,
  7918  	521, 29, 259, 25, 39, 170, 227, 149, 522, 262,
  7919  	27, 260, 118, 121, 524, 23, 76, 254, 15, 247,
  7920  	41, 17, 525, 526, 18, 243, 242, 162, 239, 71,
  7921  	12, 220, 30, 158, 67, 527, 137, 528, 529, 530,
  7922  	531, 131, 69, 159, 21, 659, 424, 425, 34, 620,
  7923  	507, 273, 172, 74, 60, 621, 143, 422, 532, 533,
  7924  	119, 534, 122, 77, 626, 139, 19, 72, 43, 535,
  7925  	274, 536, 244, 660, 537, 412, 538, 160, 228, 449,
  7926  	70, 161, 633, 539, 634, 237, 393, 9, 454, 33,
  7927  	258, 246, 129, 68, 540, 238, 148, 455, 456, 241,
  7928  	132, 120, 8, 136, 35, 13, 75, 78, 427, 428,
  7929  	429, 58, 128, 511, 147, 16, 541, 413, 141, -381,
  7930  	622, -308, -308, 33, 92, -407, -408, -409, 511, 412,
  7931  	241, -291, -188, -83, 612, 229, -84, 618, 24, 236,
  7932  	-132, 394, -120, 177, 640, 623, 624, 625, 622, 391,
  7933  	630, 628, 626, 285, 627, 88, 139, 141, 142, 4,
  7934  	-142, 158, -198, 151, 152, 153, 154, 155, 156, 157,
  7935  	162, 143, 145, 159, -243, 140, 163, 164, 165, 166,
  7936  	167, 168, 169, 171, 170, 172, 173, 160, 161, 176,
  7937  	223, 224, -152, -152, -152, -152, -213, -219, -218, -412,
  7938  	-215, -381, -290, -297, -412, -412, -152, -275, -412, -412,
  7939  	-148, -412, -412, -412, -222, -142, -412, -412, -416, -412,
  7940  	-416, -416, -326, -412, -326, -412, -412, -412, -412, -412,
  7941  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7942  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7943  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7944  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7945  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7946  	-412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
  7947  	-412, 221, -412, -412, -412, -412, -412, -326, -326, -326,
  7948  	-326, -326, -412, -412, -412, -412, -412, -412, -412, -412,
  7949  	-412, -412, -412, -412, -412, -412, 103, 99, 102, 94,
  7950  	-217, 105, 90, 90, 90, 90, -8, -9, -207, -412,
  7951  	-307, -395, -396, -191, -188, -412, 302, -291, -291, 271,
  7952  	-232, -12, -8, -227, -233, -229, -8, -77, -118, -131,
  7953  	64, 65, -133, 25, 39, 68, 66, 24, -413, 89,
  7954  	-413, -250, -413, 88, -37, -253, 87, 62, 44, 90,
  7955  	90, 88, 22, -228, -230, -142, 15, -295, 4, -294,
  7956  	26, -291, 90, 221, 15, -189, 30, -188, -276, -276,
  7957  	88, 91, 315, -266, -268, 410, 412, 151, -296, -291,
  7958  	90, 32, 89, 88, -188, -315, -318, -320, -319, -321,
  7959  	-316, -317, 342, 343, 177, 346, 348, 349, 350, 351,
  7960  	352, 353, 354, 355, 356, 359, 33, 261, 338, 339,
  7961  	340, 341, 360, 361, 362, 363, 365, 366, 367, 368,
  7962  	323, 344, 509, 324, 325, 326, 327, 328, 329, 331,
  7963  	332, 335, 333, 334, 336, 337, -382, -381, 87, 89,
  7964  	88, -322, 87, -142, -134, 238, -381, 239, 239, 239,
  7965  	-77, 449, -348, -348, -348, 269, 20, -45, -42, -374,
  7966  	19, -41, -42, 230, 123, 124, 227, 87, -337, 87,
  7967  	-346, -382, -381, 87, 137, 244, 136, -345, -342, -345,
  7968  	-346, -381, -215, -381, 137, 137, -381, -381, -262, -291,
  7969  	-262, -262, 24, -262, 24, -262, 24, 96, -291, -262,
  7970  	24, -262, 24, -262, 24, -262, 24, -262, 24, 32,
  7971  	79, 80, 81, 32, 83, 84, 85, -215, -381, -381,
  7972  	-215, -337, -215, -188, -381, -269, 96, 96, 96, -348,
  7973  	-348, 96, 90, 90, 90, -348, -348, 96, 90, -299,
  7974  	-297, 90, 90, -387, 255, 299, 301, 96, 96, 96,
  7975  	96, 32, 90, -388, 32, 647, 646, 648, 649, 650,
  7976  	90, 96, 32, 96, 32, 96, -291, 87, -188, -140,
  7977  	289, 225, 227, 230, 77, 90, 305, 306, 303, 308,
  7978  	309, 151, 45, 88, 241, 238, -381, -282, 243, -282,
  7979  	-291, -298, -297, -289, 90, -142, -344, 15, 162, -302,
  7980  	-302, -280, -188, -344, -302, -280, -188, -280, -280, -280,
  7981  	-280, -302, -302, -302, -280, -297, -297, -188, -188, -188,
  7982  	-188, -188, -188, -188, -308, -281, -280, 622, 90, -274,
  7983  	15, 77, -308, -308, 88, 321, 413, 414, -306, 318,
  7984  	-79, -291, 90, -15, -11, -23, -22, -24, 151, -15,
  7985  	88, 511, -181, -188, 622, 622, 622, 622, 622, 622,
  7986  	-142, -142, -142, -142, 534, -205, 119, 143, 120, 121,
  7987  	-160, -206, -211, -213, 106, 162, 145, 159, -243, -148,
  7988  	-152, -148, -148, -148, -148, -148, -148, -148, -148, -148,
  7989  	-148, -148, -148, -148, -309, -291, 90, 177, -156, -155,
  7990  	105, -404, -156, 508, 88, -218, 221, -142, -142, -381,
  7991  	-142, -291, -128, -130, -128, -142, -220, -221, 147, -215,
  7992  	-142, -413, -413, 96, 105, 168, -124, 25, 39, -124,
  7993  	-124, -124, -124, -142, -142, -142, -142, -142, -142, -142,
  7994  	-142, -142, -142, -124, -291, -291, -117, -116, 431, 432,
  7995  	433, 434, 436, 437, 438, 441, 442, 446, 447, 430,
  7996  	448, 435, 440, 443, 444, 445, 439, 341, -142, -142,
  7997  	-142, -142, -142, -142, -85, -142, 130, 131, 132, -207,
  7998  	-142, -148, -142, -142, -142, -413, -142, -142, -142, -208,
  7999  	-207, -380, -379, -378, -142, -142, -142, -142, -142, -142,
  8000  	-142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
  8001  	-142, -142, -142, -142, -142, -142, -142, -413, -142, -162,
  8002  	-146, 96, -258, 105, 92, -142, -142, -129, -128, -293,
  8003  	-298, -289, -290, -128, -129, -129, -128, -128, -142, -142,
  8004  	-142, -142, -142, -142, -142, -142, -413, -142, -142, -142,
  8005  	-142, -142, -250, -413, -207, 88, -397, 412, 413, 620,
  8006  	-300, 274, -299, 26, -208, 90, 15, -260, 78, -291,
  8007  	-232, -232, 64, 65, 60, -128, -133, -413, -36, 26,
  8008  	-252, -291, 63, 90, -327, -269, 369, 370, 177, -142,
  8009  	-142, 88, -231, 28, 29, -188, -294, 168, -298, -188,
  8010  	-261, 274, -188, -166, -168, -169, -170, -191, -214, -412,
  8011  	-171, -8, 530, 527, 15, -181, -182, -190, -297, -267,
  8012  	-310, -266, 88, 411, 413, 414, 77, 122, -142, -328,
  8013  	176, -356, -355, -354, -337, -339, -340, -341, 89, -328,
  8014  	-333, 375, 374, -322, -322, -322, -322, -322, -327, -327,
  8015  	-327, -327, 87, 87, -322, -322, -322, -322, -330, 87,
  8016  	-330, -330, -331, -330, 87, -331, -332, 87, -332, -367,
  8017  	-142, -364, -363, -361, -362, 248, 101, 602, 558, 511,
  8018  	551, 592, 78, -359, -231, 96, -413, -140, -283, 243,
  8019  	-365, -362, -381, -381, -381, -283, 91, 90, 91, 90,
  8020  	91, 90, -109, -59, -1, 659, 660, 661, 88, 20,
  8021  	-338, -337, -58, 299, -370, -371, 274, -366, -360, -346,
  8022  	137, -345, -346, -346, -381, 88, 30, 127, 127, 127,
  8023  	127, 511, 227, 33, -284, 550, 143, 602, 558, -337,
  8024  	-58, 241, 241, -309, -309, -309, 90, 90, -279, 655,
  8025  	-181, -136, 291, 151, 280, 280, 238, 238, 293, -188,
  8026  	304, 307, 305, 306, 303, 308, 309, 24, 24, 24,
  8027  	24, 24, 292, 294, 296, 282, -188, -188, -282, 77,
  8028  	-183, -188, 27, -297, -188, -280, -280, -188, -280, -280,
  8029  	-188, -409, 322, -291, 356, 613, 614, 616, 615, -120,
  8030  	412, 88, 511, 23, -121, 23, -412, 119, 120, 121,
  8031  	-206, -148, -152, -148, 142, 262, -412, -215, -413, -293,
  8032  	26, 88, 78, -413, 88, 88, -413, -413, 88, 15,
  8033  	-223, -221, 149, -142, -413, 88, -413, -413, -413, -207,
  8034  	-142, -142, -142, -142, -413, -413, -413, -413, -413, -413,
  8035  	-413, -413, -413, -413, -207, 88, 88, 15, -313, 26,
  8036  	-413, -413, -413, -413, -413, -222, -413, 15, -413, 78,
  8037  	88, 162, 88, -413, -413, -413, 88, 88, -413, -413,
  8038  	88, 88, -413, 88, 88, 88, -413, 88, 88, 88,
  8039  	88, -413, -413, -413, -413, 88, 88, 88, 88, 88,
  8040  	88, 88, 88, 88, 88, -413, -92, 535, -413, -413,
  8041  	88, -413, 88, -413, -412, 221, -413, -413, -413, -413,
  8042  	-413, 88, 88, 88, 88, 88, 88, -413, -413, -413,
  8043  	88, 88, -413, 88, -413, 88, -413, -396, 619, 413,
  8044  	-195, -194, -192, 75, 242, 76, -412, -299, -413, -156,
  8045  	-258, -259, -258, -200, -291, 96, 105, -234, -165, -167,
  8046  	15, -133, -213, 89, 88, -327, -238, -244, -277, -291,
  8047  	90, 177, -329, 177, -329, 369, 370, -230, 221, -196,
  8048  	16, -199, 33, 58, -11, -412, -412, 33, 88, -184,
  8049  	-186, -185, -187, 67, 71, 73, 68, 69, 70, 74,
  8050  	-304, 26, -8, -166, -8, -412, -188, -181, -414, 15,
  8051  	78, -414, 88, 221, -268, -271, 415, 412, 418, -381,
  8052  	90, -108, 88, -354, -341, -235, -137, 41, -334, 376,
  8053  	-327, 518, -327, -336, 90, -336, 96, 96, 96, 89,
  8054  	-48, -43, -44, 34, 82, -361, -348, 90, 40, -348,
  8055  	-348, -291, 89, -231, -136, -188, 143, 77, -365, -365,
  8056  	-365, -297, -2, 658, 664, 137, 87, 379, 19, -252,
  8057  	88, 89, -216, 300, 89, -110, -291, 89, 87, -346,
  8058  	-346, -291, -412, 238, 32, 32, 602, 558, 550, -58,
  8059  	-216, -215, -381, -328, 657, 656, 89, 240, 298, -141,
  8060  	426, -138, 90, 91, -188, -188, -188, -188, -188, 230,
  8061  	227, 402, -405, 310, -405, 283, 241, -181, -188, 88,
  8062  	-82, 257, 252, -302, -302, 34, -188, 412, 631, 629,
  8063  	-142, 142, 262, -160, -152, -148, -311, 177, 342, 261,
  8064  	340, 336, 356, 347, 374, 338, 375, 333, 332, 331,
  8065  	-311, -309, -207, -130, -142, -142, 150, -142, 148, -142,
  8066  	-413, -413, -413, -413, -413, -227, -142, -142, -142, -413,
  8067  	177, 342, 15, -142, -309, -142, -142, -142, -142, -142,
  8068  	-378, -142, -207, -142, -207, -142, -142, -142, -142, -142,
  8069  	-379, -379, -379, -379, -379, -207, -207, -207, -207, -412,
  8070  	-291, -95, -94, -93, 585, 242, -92, -162, -95, -162,
  8071  	-129, -293, -142, -142, -142, -142, -142, -142, -142, -142,
  8072  	-142, -142, -192, -342, -342, -342, -262, 88, -273, 23,
  8073  	15, 58, 58, -165, -196, -166, -133, -291, -241, 612,
  8074  	-247, 47, -245, -246, 48, -242, 49, 57, -329, -329,
  8075  	168, -232, -142, -263, 77, -264, -272, -215, -210, -212,
  8076  	-211, -412, -251, -413, -291, -262, -264, -168, -169, -169,
  8077  	-168, -169, 67, 67, 67, 72, 67, 72, 67, -185,
  8078  	-297, -413, -142, -300, 78, -166, -166, -190, -297, 168,
  8079  	412, 416, 417, -354, -403, 119, 143, 32, 77, 372,
  8080  	101, -401, 176, 547, 597, 602, 558, 551, 592, -402,
  8081  	244, 136, 137, 256, 26, 42, 89, 88, 89, 88,
  8082  	89, 89, 88, -285, -284, -44, -43, -348, -348, 96,
  8083  	-381, 90, 90, 240, 27, -188, 77, 77, 77, -111,
  8084  	662, 96, 87, -3, 82, -142, 87, 20, -337, -215,
  8085  	-372, -323, -373, -324, -325, -5, -6, -349, -114, 58,
  8086  	101, -62, 45, 239, 642, 643, 127, -412, 655, -364,
  8087  	-252, -368, -370, -188, -145, -412, -144, -146, -153, 166,
  8088  	167, 261, 338, 339, -216, -188, -135, 289, 297, 87,
  8089  	-139, 92, -384, 78, 280, 372, 280, 90, -406, 311,
  8090  	90, -406, -188, -82, -48, -188, -280, -280, 34, -381,
  8091  	-413, -160, -152, -123, 162, 511, -314, 517, -322, -322,
  8092  	-322, -332, -322, 328, -322, 328, -322, -413, -413, -413,
  8093  	88, -413, 23, -413, -142, 88, -119, 454, 88, 88,
  8094  	-413, 87, 87, -142, -413, -413, -413, 88, -413, -413,
  8095  	-413, -413, -413, 88, -413, -413, -413, 88, -312, 603,
  8096  	-413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
  8097  	-91, -292, -291, -92, 567, 567, -413, -92, -224, 88,
  8098  	-413, -413, 88, -413, 88, 88, -413, 88, -413, 88,
  8099  	-413, -413, -413, -413, 88, -193, 23, -193, -193, -413,
  8100  	-258, -188, -196, -225, 17, -238, 52, 348, -249, -248,
  8101  	56, 48, -246, 20, 50, 20, 31, -263, 88, 151,
  8102  	88, -413, -413, 88, 58, 221, -413, -196, -179, -178,
  8103  	77, 78, -180, 77, -178, 67, 67, -253, 88, -261,
  8104  	-166, -196, -196, 221, 119, -412, -147, -159, -145, 13,
  8105  	90, 90, -381, -400, 646, 647, 32, 96, -348, -348,
  8106  	137, 137, -188, 87, -327, 90, -327, 96, 96, 32,
  8107  	83, 84, 85, 32, 79, 80, 81, -188, -188, -188,
  8108  	-188, -369, 87, 20, -142, 87, 151, 89, -252, -252,
  8109  	276, 162, -348, 640, 282, 282, -348, -348, -348, -113,
  8110  	-112, 662, 89, -413, 88, -335, 511, 514, -142, -154,
  8111  	-154, -253, 89, -377, 511, -383, -291, -291, -291, -291,
  8112  	96, 98, -413, 509, 74, 512, -413, -327, -142, -142,
  8113  	-142, -232, 90, -142, -142, 96, 96, -413, -142, -207,
  8114  	-142, -413, -176, -175, -177, 623, 119, 32, -311, -413,
  8115  	-209, 274, -98, -97, -96, 15, -413, -142, -142, -142,
  8116  	-142, -142, -142, -142, -412, 67, 19, 17, -412, -412,
  8117  	-300, -225, -226, 18, 20, -239, 54, -237, 53, -237,
  8118  	-248, 20, 20, 90, 20, 90, 137, -272, -142, -212,
  8119  	58, -11, -291, -210, -291, -227, -142, 87, -142, -156,
  8120  	-196, -196, -142, -202, 478, 480, 481, 482, 479, 484,
  8121  	485, 486, 487, 488, 489, 490, 491, 492, 493, 483,
  8122  	457, 108, 110, 109, 458, 459, 460, 342, 505, 506,
  8123  	500, 503, 504, 502, 501, 357, 358, 461, 462, 463,
  8124  	111, 112, 113, 114, 115, 116, 117, 464, 467, 465,
  8125  	468, 469, 470, 475, 476, 471, 472, 473, 474, 477,
  8126  	494, 495, 496, 497, 498, 499, 604, 605, 606, 607,
  8127  	608, 609, 610, 611, 90, 90, 87, -142, 89, 89,
  8128  	-253, -368, -59, 89, -254, -252, 96, 89, 277, -211,
  8129  	-412, 90, -348, -348, -348, 96, 96, -299, -413, 88,
  8130  	-291, -402, -370, 515, 515, -413, 26, -376, -375, -293,
  8131  	87, 78, 63, 510, 513, -413, -413, 88, -413, -413,
  8132  	-413, 89, 89, -413, -413, -413, 88, -413, -175, -177,
  8133  	-413, 77, -156, -227, 20, -95, 299, 301, -95, -413,
  8134  	88, -413, -413, 88, -413, 88, -413, -413, -255, -413,
  8135  	-291, 244, 20, 20, -255, -255, -195, -226, -105, -104,
  8136  	-103, 541, -142, -207, -240, 55, 77, 122, 90, 90,
  8137  	90, 13, -210, 221, -232, -252, -173, 379, -227, -413,
  8138  	-252, 89, 26, 89, 664, 137, 89, -211, -122, -412,
  8139  	273, -299, 90, 90, -112, -115, -11, 88, 151, -252,
  8140  	-188, 63, -142, -207, -413, 77, 522, 623, -90, -89,
  8141  	-86, 634, 660, -207, -92, -92, -142, -142, -142, 88,
  8142  	-413, -413, -413, -105, 88, -102, -101, -291, 77, 122,
  8143  	-264, -291, 89, -413, -412, -232, 89, -236, -11, 87,
  8144  	-3, 273, -323, -373, -324, -325, -5, -6, -349, -80,
  8145  	511, -375, -353, -297, -293, 90, 96, 89, 511, -413,
  8146  	-413, -88, 145, 632, 600, -143, -154, -151, 220, -413,
  8147  	88, -413, 88, -413, 88, -291, 244, -103, 88, 26,
  8148  	-300, -174, -172, -291, 564, -393, -392, 507, -403, -399,
  8149  	119, 143, 101, -401, 602, 558, 128, 129, -80, -142,
  8150  	87, -413, -81, 288, 619, 221, -384, 512, -88, 633,
  8151  	578, 553, 578, 553, -142, -142, -142, -101, -412, -413,
  8152  	88, 23, -315, -61, 575, -390, -391, 77, -394, 385,
  8153  	574, 595, 119, 90, 89, -252, 249, -298, -377, 513,
  8154  	142, -413, 88, -413, 88, -413, -91, -172, 571, -328,
  8155  	-156, -391, 77, -390, 77, 14, 13, -4, 663, 89,
  8156  	290, -88, -142, -142, -413, -60, 27, -173, -389, 257,
  8157  	252, 255, 33, -389, 96, -4, -413, -413, 575, 251,
  8158  	32, 119, -156, -176, -175, -175,
  8159  }
  8160  
  8161  var yyDef = [...]int{
  8162  	872, -2, -2, 874, 2, 4, 5, 6, 7, 8,
  8163  	9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
  8164  	19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
  8165  	29, 30, 31, 32, 33, 34, 35, 36, 37, 70,
  8166  	72, 73, 872, 872, 872, 0, 872, 0, 0, 872,
  8167  	-2, -2, 872, 1480, 0, 872, 0, 0, -2, 787,
  8168  	793, 0, 802, -2, 0, 0, 872, 872, 2035, 2035,
  8169  	867, 0, 0, 0, 0, 0, 872, 872, 872, 872,
  8170  	1346, 50, 872, 0, 85, 86, 822, 823, 824, 65,
  8171  	0, 2033, 873, 1, 3, 71, 75, 0, 0, 0,
  8172  	58, 1355, 0, 78, 0, 0, 876, 0, 0, 1463,
  8173  	872, 872, 0, 126, 127, 0, 0, 0, -2, 130,
  8174  	-2, 159, 160, 161, 0, 166, 600, 523, 575, 521,
  8175  	560, -2, 509, 0, 0, 0, 0, 0, 0, 0,
  8176  	0, 0, 0, 0, 0, 526, 398, 398, 0, 0,
  8177  	-2, 509, 509, 509, 1465, 0, 0, 0, 557, 460,
  8178  	398, 398, 398, 0, 398, 398, 398, 398, 0, 0,
  8179  	398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
  8180  	398, 398, 398, 398, 398, 398, 398, 1373, 165, 1481,
  8181  	1478, 1479, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640,
  8182  	1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650,
  8183  	1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660,
  8184  	1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670,
  8185  	1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680,
  8186  	1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690,
  8187  	1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700,
  8188  	1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
  8189  	1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720,
  8190  	1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730,
  8191  	1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740,
  8192  	1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750,
  8193  	1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760,
  8194  	1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770,
  8195  	1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780,
  8196  	1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790,
  8197  	1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800,
  8198  	1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810,
  8199  	1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820,
  8200  	1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830,
  8201  	1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840,
  8202  	1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850,
  8203  	1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860,
  8204  	1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870,
  8205  	1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880,
  8206  	1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890,
  8207  	1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900,
  8208  	1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
  8209  	1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920,
  8210  	1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930,
  8211  	1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940,
  8212  	1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950,
  8213  	1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960,
  8214  	1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970,
  8215  	1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980,
  8216  	1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,
  8217  	1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
  8218  	2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
  8219  	2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020,
  8220  	2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030,
  8221  	2031, 2032, 0, 1457, 0, 713, 975, 0, 776, 776,
  8222  	0, 776, 776, 776, 776, 0, 0, 0, 725, 0,
  8223  	0, 0, 0, 773, 0, 741, 742, 0, 773, 0,
  8224  	748, 779, 0, 0, 754, 776, 776, 757, 2036, 0,
  8225  	2036, 2036, 1448, 0, 770, 768, 782, 783, 40, 786,
  8226  	789, 790, 791, 792, 795, 0, 806, 809, 1474, 1475,
  8227  	0, 811, 818, 835, 836, 0, 868, 869, 45, 1123,
  8228  	0, 997, 1002, 1013, 1028, 1029, 1030, 1031, 1032, 1034,
  8229  	1035, 1036, 0, 0, 0, 0, 1041, 1042, 0, 0,
  8230  	0, 0, 0, 1104, 1050, 0, 0, 0, 0, 1319,
  8231  	0, 0, 1280, 1280, 1138, 1280, 1282, 1282, 1682, 1818,
  8232  	1826, 1946, 1644, 1649, 1650, 1651, 1939, 1940, 1941, 1942,
  8233  	1981, 1982, 1986, 1742, 0, 0, 0, 2032, 1779, 1787,
  8234  	1788, 1812, 1911, 1967, 1661, 1807, 1876, 1739, 1761, 1762,
  8235  	1893, 1894, 1783, 1784, 1765, 1777, 1780, 1768, 1769, 1771,
  8236  	1773, 1778, 1785, 1791, 1770, 1790, 1789, 0, 1766, 1767,
  8237  	1772, 1782, 1786, 1774, 1775, 1776, 1781, 1792, 0, 0,
  8238  	0, 0, 0, 1219, 1220, 1221, 1222, 0, 0, 0,
  8239  	0, 0, 0, 0, 290, 291, 1332, 1333, 43, 44,
  8240  	1122, 1444, 1282, 1282, 1282, 1282, 1282, 1064, 1065, 1066,
  8241  	1067, 1068, 1092, 1093, 1099, 1100, 1888, 1889, 1890, 1891,
  8242  	1723, 1976, 1731, 1732, 1871, 1872, 1744, 1745, 2007, 2008,
  8243  	-2, -2, -2, 231, 232, 233, 234, 235, 236, 237,
  8244  	238, 0, 1686, 1957, 1958, 227, 0, 0, 295, 296,
  8245  	292, 293, 294, 1106, 1107, 248, 249, 250, 251, 252,
  8246  	253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
  8247  	263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
  8248  	273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
  8249  	283, 284, 285, 286, 287, 288, 289, 2035, 0, 845,
  8250  	0, 0, 0, 0, 0, 1355, 0, 1347, 1346, 63,
  8251  	0, 872, -2, 0, 0, 0, 0, 47, 0, 52,
  8252  	932, 875, 77, 76, 1395, 0, 0, 0, 59, 1356,
  8253  	67, 69, 1357, 0, 877, 878, 0, 908, 912, 0,
  8254  	0, 0, 1464, 1463, 1463, 102, 0, 0, 103, 123,
  8255  	124, 125, 0, 0, 109, 110, 1450, 1451, 0, 0,
  8256  	177, 178, 0, 41, 425, 0, 173, 0, 418, 357,
  8257  	0, 1373, 0, 0, 0, 0, 0, 872, 0, 1458,
  8258  	154, 155, 162, 163, 164, 398, 398, 398, 572, 0,
  8259  	0, 165, 165, 530, 531, 532, 0, 0, -2, 423,
  8260  	0, 510, 0, 0, 412, 412, 416, 414, 415, 0,
  8261  	0, 0, 0, 0, 0, 0, 0, 549, 0, 550,
  8262  	0, 0, 0, 0, 0, 0, 0, 0, 0, 661,
  8263  	0, 399, 0, 570, 571, 461, 0, 0, 0, 0,
  8264  	0, 0, 0, 0, 1466, 1467, 0, 547, 548, 0,
  8265  	0, 0, 398, 398, 0, 0, 0, 0, 398, 398,
  8266  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8267  	0, 0, 0, 0, 0, 0, 0, 0, 153, 1386,
  8268  	0, 0, 0, -2, 0, 705, 0, 0, 0, 1459,
  8269  	1459, 0, 712, 0, 714, 715, 0, 0, 716, 0,
  8270  	773, 773, 771, 772, 718, 719, 720, 721, 776, 0,
  8271  	0, 407, 408, 409, 773, 776, 0, 776, 776, 776,
  8272  	776, 773, 773, 773, 776, 0, 0, 0, 0, 0,
  8273  	0, 0, 0, 0, 2036, 779, 776, 0, 749, 0,
  8274  	750, 751, 752, 755, 756, 758, 2037, 2038, 1476, 1477,
  8275  	1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493,
  8276  	1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503,
  8277  	1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513,
  8278  	1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
  8279  	1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
  8280  	1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
  8281  	1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
  8282  	1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563,
  8283  	1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573,
  8284  	1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583,
  8285  	1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593,
  8286  	1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603,
  8287  	1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613,
  8288  	1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623,
  8289  	1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 2036,
  8290  	2036, 762, 766, 1449, 788, 794, 796, 797, 0, 0,
  8291  	807, 810, 829, 49, 1730, 817, 49, 819, 820, 821,
  8292  	847, 848, 853, 0, 0, 0, 0, 859, 860, 861,
  8293  	0, 0, 864, 865, 866, 0, 0, 0, 0, 0,
  8294  	995, 0, 0, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
  8295  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8296  	0, 0, 0, 0, 0, 0, 0, 1014, 1015, 0,
  8297  	0, 0, 1037, 1038, 1039, 1040, 1043, 0, 1055, 0,
  8298  	1057, 1328, -2, 0, 0, 0, 1048, 1049, 0, 0,
  8299  	0, 0, 0, 0, 0, 1320, 0, 0, 1136, 0,
  8300  	1137, 1139, 1140, 0, 1141, 882, 882, 882, 882, 882,
  8301  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8302  	882, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8303  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8304  	0, 1469, 141, 0, 0, 0, 0, 0, 0, 0,
  8305  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8306  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8307  	892, 0, 0, 892, 892, 0, 0, 220, 221, 222,
  8308  	223, 224, 0, 0, 0, 0, 0, 0, 0, 0,
  8309  	0, 0, 0, 0, 0, 0, 239, 240, 241, 242,
  8310  	243, 244, 297, 245, 246, 247, 1122, 0, 0, 0,
  8311  	46, 837, 838, 0, 958, 1469, 0, 0, 888, 0,
  8312  	57, 66, 68, 1355, 61, 1355, 0, 894, 0, 0,
  8313  	-2, -2, 895, 901, 902, 903, 904, 905, 54, 2034,
  8314  	55, 0, 74, 0, 48, 0, 0, 0, 0, 371,
  8315  	1398, 0, 0, 1348, 1349, 1352, 0, 909, 1824, 913,
  8316  	0, 915, 916, 0, 0, 100, 0, 974, 0, 0,
  8317  	0, 111, 0, 113, 114, 0, 0, 0, 382, 1452,
  8318  	1453, 1454, -2, 405, 0, 382, 366, 305, 306, 307,
  8319  	357, 309, 357, 357, 357, 357, 371, 371, 371, 371,
  8320  	340, 341, 342, 343, 344, 0, 0, 326, 357, 357,
  8321  	357, 357, 347, 348, 349, 350, 351, 352, 353, 354,
  8322  	310, 311, 312, 313, 314, 315, 316, 317, 318, 359,
  8323  	359, 359, 359, 359, 363, 363, 0, 42, 0, 386,
  8324  	0, 1352, 0, 0, 1386, 1461, 1471, 0, 0, 0,
  8325  	1461, 132, 0, 0, 0, 573, 611, 524, 561, 574,
  8326  	0, 527, 528, -2, 0, 0, 509, 0, 511, 0,
  8327  	406, 0, -2, 0, 416, 0, 412, 416, 413, 416,
  8328  	404, 417, 551, 552, 553, 0, 555, 556, 641, 944,
  8329  	0, 0, 0, 0, 0, 647, 648, 649, 0, 651,
  8330  	652, 653, 654, 655, 656, 657, 658, 659, 660, 562,
  8331  	563, 564, 565, 566, 567, 568, 569, 0, 0, 0,
  8332  	0, 511, 0, 558, 0, 0, 462, 463, 464, 0,
  8333  	0, 467, 468, 469, 470, 0, 0, 473, 474, 475,
  8334  	961, 962, 476, 477, 502, 503, 504, 478, 479, 480,
  8335  	481, 482, 483, 484, 496, 497, 498, 499, 500, 501,
  8336  	485, 486, 487, 488, 489, 490, 493, 0, 147, 1377,
  8337  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8338  	0, 0, 0, 0, 0, 1459, 0, 0, 0, 0,
  8339  	891, 976, 1482, 1483, 777, 778, 0, 410, 411, 776,
  8340  	776, 722, 763, 0, 776, 726, 764, 727, 729, 728,
  8341  	730, 743, 744, 776, 733, 774, 775, 734, 735, 736,
  8342  	737, 738, 739, 740, 759, 745, 746, 747, 780, 0,
  8343  	784, 785, 760, 761, 0, 0, 800, 801, 0, 808,
  8344  	832, 830, 831, 833, 825, 826, 827, 828, 0, 834,
  8345  	0, 0, 850, 96, 855, 856, 857, 858, 870, 863,
  8346  	1124, 992, 993, 994, 0, 996, 999, 0, 1108, 1110,
  8347  	1001, 1003, 1119, 1120, 1121, 0, 0, 0, 0, 0,
  8348  	1007, 1011, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023,
  8349  	1024, 1025, 1026, 1027, 1033, 1296, 1297, 1298, 1052, 298,
  8350  	299, 0, 1053, 0, 0, 0, 0, 0, 0, 0,
  8351  	1123, 1054, 0, 906, 0, 0, 1326, 1323, 0, 0,
  8352  	0, 1281, 1283, 0, 0, 0, 0, 883, 884, 0,
  8353  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8354  	0, 0, 0, 0, 0, 0, 0, 1259, 1260, 1261,
  8355  	1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271,
  8356  	1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1299, 0,
  8357  	0, 0, 0, 0, 1319, 0, 1059, 1060, 1061, 0,
  8358  	0, 0, 0, 0, 0, 1179, 0, 0, 0, 0,
  8359  	1470, 0, 142, 143, 0, 0, 0, 0, 0, 0,
  8360  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8361  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8362  	1223, 1224, 1225, 1226, 39, 0, 0, 0, 893, 1330,
  8363  	0, -2, -2, 0, 0, 0, 0, 0, 0, 0,
  8364  	0, 0, 0, 0, 0, 0, 1248, 0, 0, 0,
  8365  	0, 0, 0, 1442, 0, 0, 840, 841, 843, 0,
  8366  	978, 0, 959, 0, 0, 846, 0, 887, 0, 890,
  8367  	60, 62, 899, 900, 0, 917, 896, 56, 51, 0,
  8368  	0, 936, 1396, 371, 1418, 0, 380, 380, 377, 1358,
  8369  	1359, 0, 1351, 1353, 1354, 79, 914, 910, 0, 990,
  8370  	0, 0, 973, 0, 920, 922, 923, 924, 956, 0,
  8371  	927, 928, 0, 0, 0, 0, 0, 98, 975, 104,
  8372  	0, 112, 0, 0, 117, 118, 105, 106, 107, 108,
  8373  	0, 600, -2, 457, 179, 181, 182, 183, 174, -2,
  8374  	369, 367, 368, 308, 371, 371, 334, 335, 336, 337,
  8375  	338, 339, 0, 0, 327, 328, 329, 330, 319, 0,
  8376  	320, 321, 322, 361, 0, 323, 324, 0, 325, 424,
  8377  	0, 1360, 387, 388, 390, 398, 0, 393, 394, 0,
  8378  	398, 398, 0, 419, 420, 0, 1352, 1377, 0, 0,
  8379  	0, 1472, 1471, 1471, 1471, 0, 167, 168, 169, 170,
  8380  	171, 172, 636, 0, 0, 612, 634, 635, 165, 0,
  8381  	0, 175, 513, 512, 0, 668, 0, 422, 0, 0,
  8382  	416, 416, 401, 402, 554, 0, 0, 643, 644, 645,
  8383  	646, 0, 0, 0, 540, 451, 0, 541, 542, 511,
  8384  	513, 0, 0, 382, 465, 466, 471, 472, 491, 0,
  8385  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8386  	587, 588, 589, 592, 594, 515, 598, 591, 593, 595,
  8387  	515, 599, 1374, 1375, 1376, 0, 0, 706, 0, 0,
  8388  	448, 94, 1460, 711, 773, 732, 765, 773, 724, 731,
  8389  	753, 798, 799, 804, 812, 813, 814, 815, 816, 854,
  8390  	0, 0, 0, 0, 862, 0, 0, 1000, 1109, 1111,
  8391  	1004, 0, 1008, 1012, 0, 0, 0, 1058, 1056, 1330,
  8392  	0, 0, 0, 1105, 0, 0, 1127, 1128, 0, 0,
  8393  	0, 1324, 0, 0, 1134, 0, 1284, 1285, 1142, 0,
  8394  	0, 0, 0, 0, 1148, 1149, 1150, 1151, 1152, 1153,
  8395  	1154, 1155, 1156, 1157, 1346, 0, 0, 0, 0, 0,
  8396  	1163, 1164, 1165, 1166, 1167, 0, 1169, 0, 1170, 0,
  8397  	0, 0, 0, 1177, 1178, 1180, 0, 0, 1183, 1184,
  8398  	0, 0, 1185, 0, 0, 0, 1189, 0, 0, 0,
  8399  	0, 1198, 1199, 1200, 1201, 0, 0, 0, 0, 0,
  8400  	0, 0, 0, 0, 0, 1212, 1213, 0, 1087, 0,
  8401  	0, 1087, 0, 1125, 892, 0, 1286, 1287, 1288, 1289,
  8402  	1290, 0, 0, 0, 0, 0, 0, 1246, 1247, 1249,
  8403  	0, 0, 1252, 0, 1254, 0, 1443, 839, 842, 844,
  8404  	930, 979, 980, 0, 0, 0, 0, 960, 1468, 885,
  8405  	886, 889, 938, 0, 1334, 0, 0, 917, 990, 918,
  8406  	0, 897, 53, 933, 0, 1400, 1399, 1412, 1425, 380,
  8407  	380, 374, 375, 381, 376, 378, 379, 1350, 0, 1355,
  8408  	0, 1436, 0, 0, 1428, 0, 0, 0, 0, 0,
  8409  	0, 0, 0, 963, 0, 0, 966, 0, 0, 0,
  8410  	0, 957, 928, 0, 929, 0, -2, 0, 0, 92,
  8411  	93, 0, 0, 0, 115, 116, 0, 0, 122, 383,
  8412  	384, 156, 165, 459, 180, 432, 0, 0, 304, 370,
  8413  	331, 332, 333, 0, 355, 0, 0, 0, 0, 453,
  8414  	128, 1364, 1363, 398, 398, 389, 0, 392, 0, 0,
  8415  	0, 1473, 358, 421, 0, 146, 0, 0, 0, 0,
  8416  	0, 152, 606, 0, 0, 613, 0, 0, 0, 522,
  8417  	0, 533, 534, 0, 640, -2, 702, 386, 0, 400,
  8418  	403, 945, 0, 0, 535, 0, 538, 539, 452, 513,
  8419  	544, 545, 559, 546, 494, 495, 492, 0, 0, 1387,
  8420  	1388, 1393, 1391, 1392, 133, 580, 582, 581, 585, 0,
  8421  	0, 0, 517, 0, 517, 578, 0, 448, 1360, 0,
  8422  	710, 449, 450, 776, 776, 849, 97, 0, 852, 0,
  8423  	0, 0, 0, 1005, 1009, 1291, 1317, 357, 357, 1304,
  8424  	357, 363, 1307, 357, 1309, 357, 1312, 357, 1315, 1316,
  8425  	0, 0, 0, 907, 0, 0, 1133, 1327, 0, 0,
  8426  	1143, 1144, 1145, 1146, 1147, 1321, 0, 0, 0, 1162,
  8427  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8428  	144, 145, 0, 0, 0, 0, 0, 0, 1257, 0,
  8429  	0, 0, 0, 0, 0, 0, 0, 0, 0, 1082,
  8430  	1086, 0, 1088, 1089, 0, 0, 1215, 0, 0, 1227,
  8431  	0, 1331, 0, 0, 0, 0, 0, 0, 0, 0,
  8432  	0, 0, 981, 986, 986, 986, 0, 0, 0, 1455,
  8433  	1456, 1335, 1336, 990, 1337, 919, 898, 937, 1418, 0,
  8434  	1411, 0, -2, 1420, 0, 0, 0, 1426, 372, 373,
  8435  	911, 80, 991, 83, 0, 1436, 1445, 0, 1427, 1438,
  8436  	1440, 0, 0, 0, 1432, 0, 990, 921, 952, 954,
  8437  	0, 949, 964, 965, 967, 0, 969, 0, 971, 972,
  8438  	932, 926, 0, 100, 0, 990, 990, 99, 0, 977,
  8439  	119, 120, 121, 458, 184, 189, 0, 0, 0, 194,
  8440  	0, 196, 0, 0, 0, 201, 202, 398, 398, 433,
  8441  	0, 301, 303, 0, 0, 187, 371, 0, 371, 0,
  8442  	362, 364, 0, 434, 454, 1361, 1362, 0, 0, 391,
  8443  	395, 396, 397, 0, 1462, 148, 0, 0, 0, 609,
  8444  	0, 637, 0, 0, 0, 0, 0, 0, 176, 514,
  8445  	669, 670, 671, 672, 673, 674, 675, 676, 677, 0,
  8446  	398, 0, 0, 0, 398, 398, 398, 0, 694, 385,
  8447  	0, 0, 665, 662, 536, 0, 225, 226, 228, 0,
  8448  	0, 0, 0, 0, 543, 932, 1378, 1379, 1380, 0,
  8449  	1390, 1394, 136, 0, 0, 0, 0, 590, 596, 0,
  8450  	516, 597, 707, 708, 709, 95, 717, 723, 851, 871,
  8451  	998, 1006, 1010, 0, 0, 0, 0, 1318, 1302, 371,
  8452  	1305, 1306, 1308, 1310, 1311, 1313, 1314, 1046, 1047, 1051,
  8453  	0, 1130, 0, 1132, 1325, 0, 1355, 0, 0, 0,
  8454  	1161, 0, 0, 0, 1172, 1171, 1173, 0, 1175, 1176,
  8455  	1181, 1182, 1186, 0, 1188, 1190, 1191, 0, 0, 0,
  8456  	1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
  8457  	0, 1080, 1083, 1214, 1090, 1091, 1096, 1217, 0, 0,
  8458  	1126, 1229, 0, 1234, 0, 0, 1240, 0, 1244, 0,
  8459  	1250, 1251, 1253, 1255, 0, 0, 0, 0, 0, 958,
  8460  	939, 64, 1337, 1339, 0, 1405, 1403, 1403, 1413, 1414,
  8461  	0, 0, 1421, 0, 0, 0, 0, 84, 0, 0,
  8462  	0, 1441, 0, 0, 0, 0, 101, 1346, 946, 953,
  8463  	0, 0, 947, 0, 948, 968, 970, 925, 0, 990,
  8464  	990, 90, 91, 0, 190, 0, 192, 218, 219, 0,
  8465  	195, 197, 198, 199, 205, 206, 207, 200, 0, 0,
  8466  	300, 302, 0, 0, 345, 356, 346, 0, 0, 1365,
  8467  	1366, 1367, 1368, 1369, 1370, 1371, 1372, 932, 149, 150,
  8468  	151, 601, 0, 611, 0, 934, 0, 604, 0, 525,
  8469  	0, 0, 0, 398, 398, 398, 0, 0, 0, 0,
  8470  	679, 0, 0, 642, 0, 650, 0, 0, 0, 229,
  8471  	230, 0, 1389, 579, 0, 134, 135, 0, 0, 584,
  8472  	518, 519, 1044, 0, 0, 0, 1045, 1303, 0, 0,
  8473  	0, 0, 1322, 0, 0, 0, 0, 1168, 0, 0,
  8474  	0, 1194, 0, 0, 0, 631, 632, 0, 1258, 1085,
  8475  	1346, 0, 1087, 1097, 1098, 0, 1087, 1228, 0, 0,
  8476  	0, 0, 0, 0, 0, 987, 0, 0, 0, 0,
  8477  	978, 1339, 1344, 0, 0, 1408, 0, 1401, 1404, 1402,
  8478  	1415, 0, 0, 1422, 0, 1424, 0, 1446, 1447, 1439,
  8479  	0, 1431, 1434, 1430, 1433, 1355, 950, 0, 955, 0,
  8480  	1346, 89, 0, 193, 0, 0, 0, 0, 0, 0,
  8481  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8482  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8483  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8484  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8485  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8486  	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  8487  	0, 0, 0, 0, 203, 204, 0, 0, 360, 365,
  8488  	0, 0, 0, 602, 0, 935, 614, 605, 0, 692,
  8489  	0, 696, 0, 0, 0, 699, 700, 701, 678, 0,
  8490  	682, 426, 666, 663, 664, 537, 0, 137, 138, 0,
  8491  	0, 0, 1292, 0, 1295, 1129, 1131, 0, 1158, 1159,
  8492  	1160, 1300, 1301, 1174, 1187, 1192, 0, 1195, 0, 0,
  8493  	1196, 0, 633, 1076, 0, 0, 1094, 1095, 0, 1230,
  8494  	0, 1235, 1236, 0, 1241, 0, 1245, 1256, 0, 983,
  8495  	940, 941, 988, 989, 0, 0, 931, 1344, 82, 1345,
  8496  	1342, 0, 1340, 1338, 1397, 0, 1406, 1407, 1416, 1417,
  8497  	1423, 0, 1429, 0, 87, 0, 0, 0, 1355, 191,
  8498  	0, 210, 0, 610, 0, 613, 603, 690, 691, 0,
  8499  	703, 695, 697, 698, 680, -2, 1381, 0, 0, 0,
  8500  	586, 1293, 0, 0, 1197, 0, 629, 630, 1084, 1077,
  8501  	0, 1062, 1063, 1081, 1216, 1218, 0, 0, 0, 0,
  8502  	982, 984, 985, 81, 0, 1341, 1102, 0, 1409, 1410,
  8503  	1437, 1435, 951, 958, 0, 88, 439, 432, 1381, 0,
  8504  	0, 0, 683, 684, 685, 686, 687, 688, 689, 576,
  8505  	1383, 139, 140, 0, 506, 507, 508, 133, 0, 1135,
  8506  	1193, 1078, 0, 0, 0, 0, 1074, 1075, 0, 1231,
  8507  	0, 1237, 0, 1242, 0, 942, 943, 1343, 0, 0,
  8508  	615, 0, 617, 0, -2, 427, 440, 0, 185, 211,
  8509  	212, 0, 0, 215, 216, 217, 208, 209, 129, 0,
  8510  	0, 704, 0, 1384, 1385, 0, 136, 0, 0, 1069,
  8511  	1070, 1071, 1072, 1073, 0, 0, 0, 1103, 1082, 616,
  8512  	0, 0, 382, 0, 626, 428, 429, 0, 435, 436,
  8513  	437, 438, 213, 214, 638, 0, 0, 505, 583, 1294,
  8514  	0, 1232, 0, 1238, 0, 1243, 0, 618, 619, 627,
  8515  	0, 430, 0, 431, 0, 0, 0, 607, 0, 638,
  8516  	1382, 1079, 0, 0, 1101, 0, 628, 624, 441, 443,
  8517  	444, 0, 0, 442, 639, 608, 1233, 1239, 0, 445,
  8518  	446, 447, 620, 621, 622, 623,
  8519  }
  8520  
  8521  var yyTok1 = [...]int{
  8522  	1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8523  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8524  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8525  	3, 3, 3, 144, 3, 3, 3, 171, 163, 3,
  8526  	87, 89, 168, 166, 88, 167, 221, 169, 3, 3,
  8527  	3, 3, 3, 3, 3, 3, 3, 3, 3, 665,
  8528  	152, 151, 153, 3, 3, 3, 3, 3, 3, 3,
  8529  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8530  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8531  	3, 3, 3, 3, 173, 3, 3, 3, 3, 3,
  8532  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8533  	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
  8534  	3, 3, 3, 3, 140, 3, 174,
  8535  }
  8536  
  8537  var yyTok2 = [...]int{
  8538  	2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
  8539  	12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
  8540  	22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
  8541  	32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
  8542  	42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
  8543  	52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
  8544  	62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  8545  	72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
  8546  	82, 83, 84, 85, 86, 90, 91, 92, 93, 94,
  8547  	95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
  8548  	105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
  8549  	115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
  8550  	125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
  8551  	135, 136, 137, 138, 139, 141, 142, 143, 145, 146,
  8552  	147, 148, 149, 150, 154, 155, 156, 157, 158, 159,
  8553  	160, 161, 162, 164, 165, 170, 172, 175, 176, 177,
  8554  	178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
  8555  	188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
  8556  	198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
  8557  	208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
  8558  	218, 219, 220, 222, 223, 224, 225, 226, 227, 228,
  8559  	229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
  8560  	239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
  8561  	249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
  8562  	259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
  8563  	269, 270, 271, 272, 273, 274,
  8564  }
  8565  
  8566  var yyTok3 = [...]int{
  8567  	57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279,
  8568  	57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284,
  8569  	57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289,
  8570  	57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294,
  8571  	57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299,
  8572  	57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304,
  8573  	57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309,
  8574  	57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314,
  8575  	57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319,
  8576  	57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324,
  8577  	57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329,
  8578  	57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334,
  8579  	57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339,
  8580  	57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344,
  8581  	57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349,
  8582  	57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354,
  8583  	57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359,
  8584  	57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364,
  8585  	57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369,
  8586  	57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374,
  8587  	57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379,
  8588  	57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384,
  8589  	57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389,
  8590  	57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394,
  8591  	57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399,
  8592  	57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404,
  8593  	57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409,
  8594  	57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414,
  8595  	57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419,
  8596  	57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424,
  8597  	57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429,
  8598  	57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434,
  8599  	57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439,
  8600  	57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444,
  8601  	57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449,
  8602  	57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454,
  8603  	57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459,
  8604  	57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464,
  8605  	57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469,
  8606  	57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474,
  8607  	57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479,
  8608  	57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484,
  8609  	57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489,
  8610  	57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494,
  8611  	57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499,
  8612  	57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504,
  8613  	57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509,
  8614  	57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514,
  8615  	57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519,
  8616  	57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524,
  8617  	57850, 525, 57851, 526, 57852, 527, 57853, 528, 57854, 529,
  8618  	57855, 530, 57856, 531, 57857, 532, 57858, 533, 57859, 534,
  8619  	57860, 535, 57861, 536, 57862, 537, 57863, 538, 57864, 539,
  8620  	57865, 540, 57866, 541, 57867, 542, 57868, 543, 57869, 544,
  8621  	57870, 545, 57871, 546, 57872, 547, 57873, 548, 57874, 549,
  8622  	57875, 550, 57876, 551, 57877, 552, 57878, 553, 57879, 554,
  8623  	57880, 555, 57881, 556, 57882, 557, 57883, 558, 57884, 559,
  8624  	57885, 560, 57886, 561, 57887, 562, 57888, 563, 57889, 564,
  8625  	57890, 565, 57891, 566, 57892, 567, 57893, 568, 57894, 569,
  8626  	57895, 570, 57896, 571, 57897, 572, 57898, 573, 57899, 574,
  8627  	57900, 575, 57901, 576, 57902, 577, 57903, 578, 57904, 579,
  8628  	57905, 580, 57906, 581, 57907, 582, 57908, 583, 57909, 584,
  8629  	57910, 585, 57911, 586, 57912, 587, 57913, 588, 57914, 589,
  8630  	57915, 590, 57916, 591, 57917, 592, 57918, 593, 57919, 594,
  8631  	57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599,
  8632  	57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604,
  8633  	57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609,
  8634  	57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614,
  8635  	57940, 615, 57941, 616, 57942, 617, 57943, 618, 57944, 619,
  8636  	57945, 620, 57946, 621, 57947, 622, 57948, 623, 57949, 624,
  8637  	57950, 625, 57951, 626, 57952, 627, 57953, 628, 57954, 629,
  8638  	57955, 630, 57956, 631, 57957, 632, 57958, 633, 57959, 634,
  8639  	57960, 635, 57961, 636, 57962, 637, 57963, 638, 57964, 639,
  8640  	57965, 640, 57966, 641, 57967, 642, 57968, 643, 57969, 644,
  8641  	57970, 645, 57971, 646, 57972, 647, 57973, 648, 57974, 649,
  8642  	57975, 650, 57976, 651, 57977, 652, 57978, 653, 57979, 654,
  8643  	57980, 655, 57981, 656, 57982, 657, 57983, 658, 57984, 659,
  8644  	57985, 660, 57986, 661, 57987, 662, 57988, 663, 57989, 664,
  8645  	0,
  8646  }
  8647  
  8648  var yyErrorMessages = [...]struct {
  8649  	state int
  8650  	token int
  8651  	msg   string
  8652  }{}
  8653  
  8654  //line yaccpar:1
  8655  
  8656  /*	parser for yacc output	*/
  8657  
  8658  func yyIaddr(v any) __yyunsafe__.Pointer {
  8659  	type h struct {
  8660  		t __yyunsafe__.Pointer
  8661  		p __yyunsafe__.Pointer
  8662  	}
  8663  	return (*h)(__yyunsafe__.Pointer(&v)).p
  8664  }
  8665  
  8666  var (
  8667  	yyDebug        = 0
  8668  	yyErrorVerbose = false
  8669  )
  8670  
  8671  type yyLexer interface {
  8672  	Lex(lval *yySymType) int
  8673  	Error(s string)
  8674  }
  8675  
  8676  type yyParser interface {
  8677  	Parse(yyLexer) int
  8678  	Lookahead() int
  8679  }
  8680  
  8681  type yyParserImpl struct {
  8682  	lval  yySymType
  8683  	stack [yyInitialStackSize]yySymType
  8684  	char  int
  8685  }
  8686  
  8687  func (p *yyParserImpl) Lookahead() int {
  8688  	return p.char
  8689  }
  8690  
  8691  func yyNewParser() yyParser {
  8692  	return &yyParserImpl{}
  8693  }
  8694  
  8695  const yyFlag = -1000
  8696  
  8697  func yyTokname(c int) string {
  8698  	if c >= 1 && c-1 < len(yyToknames) {
  8699  		if yyToknames[c-1] != "" {
  8700  			return yyToknames[c-1]
  8701  		}
  8702  	}
  8703  	return __yyfmt__.Sprintf("tok-%v", c)
  8704  }
  8705  
  8706  func yyStatname(s int) string {
  8707  	if s >= 0 && s < len(yyStatenames) {
  8708  		if yyStatenames[s] != "" {
  8709  			return yyStatenames[s]
  8710  		}
  8711  	}
  8712  	return __yyfmt__.Sprintf("state-%v", s)
  8713  }
  8714  
  8715  func yyErrorMessage(state, lookAhead int) string {
  8716  	const TOKSTART = 4
  8717  
  8718  	if !yyErrorVerbose {
  8719  		return "syntax error"
  8720  	}
  8721  
  8722  	for _, e := range yyErrorMessages {
  8723  		if e.state == state && e.token == lookAhead {
  8724  			return "syntax error: " + e.msg
  8725  		}
  8726  	}
  8727  
  8728  	res := "syntax error: unexpected " + yyTokname(lookAhead)
  8729  
  8730  	// To match Bison, suggest at most four expected tokens.
  8731  	expected := make([]int, 0, 4)
  8732  
  8733  	// Look for shiftable tokens.
  8734  	base := yyPact[state]
  8735  	for tok := TOKSTART; tok-1 < len(yyToknames); tok++ {
  8736  		if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok {
  8737  			if len(expected) == cap(expected) {
  8738  				return res
  8739  			}
  8740  			expected = append(expected, tok)
  8741  		}
  8742  	}
  8743  
  8744  	if yyDef[state] == -2 {
  8745  		i := 0
  8746  		for yyExca[i] != -1 || yyExca[i+1] != state {
  8747  			i += 2
  8748  		}
  8749  
  8750  		// Look for tokens that we accept or reduce.
  8751  		for i += 2; yyExca[i] >= 0; i += 2 {
  8752  			tok := yyExca[i]
  8753  			if tok < TOKSTART || yyExca[i+1] == 0 {
  8754  				continue
  8755  			}
  8756  			if len(expected) == cap(expected) {
  8757  				return res
  8758  			}
  8759  			expected = append(expected, tok)
  8760  		}
  8761  
  8762  		// If the default action is to accept or reduce, give up.
  8763  		if yyExca[i+1] != 0 {
  8764  			return res
  8765  		}
  8766  	}
  8767  
  8768  	for i, tok := range expected {
  8769  		if i == 0 {
  8770  			res += ", expecting "
  8771  		} else {
  8772  			res += " or "
  8773  		}
  8774  		res += yyTokname(tok)
  8775  	}
  8776  	return res
  8777  }
  8778  
  8779  func yylex1(lex yyLexer, lval *yySymType) (char, token int) {
  8780  	token = 0
  8781  	char = lex.Lex(lval)
  8782  	if char <= 0 {
  8783  		token = yyTok1[0]
  8784  		goto out
  8785  	}
  8786  	if char < len(yyTok1) {
  8787  		token = yyTok1[char]
  8788  		goto out
  8789  	}
  8790  	if char >= yyPrivate {
  8791  		if char < yyPrivate+len(yyTok2) {
  8792  			token = yyTok2[char-yyPrivate]
  8793  			goto out
  8794  		}
  8795  	}
  8796  	for i := 0; i < len(yyTok3); i += 2 {
  8797  		token = yyTok3[i+0]
  8798  		if token == char {
  8799  			token = yyTok3[i+1]
  8800  			goto out
  8801  		}
  8802  	}
  8803  
  8804  out:
  8805  	if token == 0 {
  8806  		token = yyTok2[1] /* unknown char */
  8807  	}
  8808  	if yyDebug >= 3 {
  8809  		__yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char))
  8810  	}
  8811  	return char, token
  8812  }
  8813  
  8814  func yyParse(yylex yyLexer) int {
  8815  	return yyNewParser().Parse(yylex)
  8816  }
  8817  
  8818  func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int {
  8819  	var yyn int
  8820  	var yyVAL yySymType
  8821  	var yyDollar []yySymType
  8822  	_ = yyDollar // silence set and not used
  8823  	yyS := yyrcvr.stack[:]
  8824  
  8825  	Nerrs := 0   /* number of errors */
  8826  	Errflag := 0 /* error recovery flag */
  8827  	yystate := 0
  8828  	yyrcvr.char = -1
  8829  	yytoken := -1 // yyrcvr.char translated into internal numbering
  8830  	defer func() {
  8831  		// Make sure we report no lookahead when not parsing.
  8832  		yystate = -1
  8833  		yyrcvr.char = -1
  8834  		yytoken = -1
  8835  	}()
  8836  	yyp := -1
  8837  	goto yystack
  8838  
  8839  ret0:
  8840  	return 0
  8841  
  8842  ret1:
  8843  	return 1
  8844  
  8845  yystack:
  8846  	/* put a state and value onto the stack */
  8847  	if yyDebug >= 4 {
  8848  		__yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate))
  8849  	}
  8850  
  8851  	yyp++
  8852  	if yyp >= len(yyS) {
  8853  		nyys := make([]yySymType, len(yyS)*2)
  8854  		copy(nyys, yyS)
  8855  		yyS = nyys
  8856  	}
  8857  	yyS[yyp] = yyVAL
  8858  	yyS[yyp].yys = yystate
  8859  
  8860  yynewstate:
  8861  	yyn = yyPact[yystate]
  8862  	if yyn <= yyFlag {
  8863  		goto yydefault /* simple state */
  8864  	}
  8865  	if yyrcvr.char < 0 {
  8866  		yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  8867  	}
  8868  	yyn += yytoken
  8869  	if yyn < 0 || yyn >= yyLast {
  8870  		goto yydefault
  8871  	}
  8872  	yyn = yyAct[yyn]
  8873  	if yyChk[yyn] == yytoken { /* valid shift */
  8874  		yyrcvr.char = -1
  8875  		yytoken = -1
  8876  		yyVAL = yyrcvr.lval
  8877  		yystate = yyn
  8878  		if Errflag > 0 {
  8879  			Errflag--
  8880  		}
  8881  		goto yystack
  8882  	}
  8883  
  8884  yydefault:
  8885  	/* default state action */
  8886  	yyn = yyDef[yystate]
  8887  	if yyn == -2 {
  8888  		if yyrcvr.char < 0 {
  8889  			yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
  8890  		}
  8891  
  8892  		/* look through exception table */
  8893  		xi := 0
  8894  		for {
  8895  			if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate {
  8896  				break
  8897  			}
  8898  			xi += 2
  8899  		}
  8900  		for xi += 2; ; xi += 2 {
  8901  			yyn = yyExca[xi+0]
  8902  			if yyn < 0 || yyn == yytoken {
  8903  				break
  8904  			}
  8905  		}
  8906  		yyn = yyExca[xi+1]
  8907  		if yyn < 0 {
  8908  			goto ret0
  8909  		}
  8910  	}
  8911  	if yyn == 0 {
  8912  		/* error ... attempt to resume parsing */
  8913  		switch Errflag {
  8914  		case 0: /* brand new error */
  8915  			yylex.Error(yyErrorMessage(yystate, yytoken))
  8916  			Nerrs++
  8917  			if yyDebug >= 1 {
  8918  				__yyfmt__.Printf("%s", yyStatname(yystate))
  8919  				__yyfmt__.Printf(" saw %s\n", yyTokname(yytoken))
  8920  			}
  8921  			fallthrough
  8922  
  8923  		case 1, 2: /* incompletely recovered error ... try again */
  8924  			Errflag = 3
  8925  
  8926  			/* find a state where "error" is a legal shift action */
  8927  			for yyp >= 0 {
  8928  				yyn = yyPact[yyS[yyp].yys] + yyErrCode
  8929  				if yyn >= 0 && yyn < yyLast {
  8930  					yystate = yyAct[yyn] /* simulate a shift of "error" */
  8931  					if yyChk[yystate] == yyErrCode {
  8932  						goto yystack
  8933  					}
  8934  				}
  8935  
  8936  				/* the current p has no shift on "error", pop stack */
  8937  				if yyDebug >= 2 {
  8938  					__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
  8939  				}
  8940  				yyp--
  8941  			}
  8942  			/* there is no state on the stack with an error shift ... abort */
  8943  			goto ret1
  8944  
  8945  		case 3: /* no shift yet; clobber input char */
  8946  			if yyDebug >= 2 {
  8947  				__yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken))
  8948  			}
  8949  			if yytoken == yyEofCode {
  8950  				goto ret1
  8951  			}
  8952  			yyrcvr.char = -1
  8953  			yytoken = -1
  8954  			goto yynewstate /* try again in the same state */
  8955  		}
  8956  	}
  8957  
  8958  	/* reduction by production yyn */
  8959  	if yyDebug >= 2 {
  8960  		__yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate))
  8961  	}
  8962  
  8963  	yynt := yyn
  8964  	yypt := yyp
  8965  	_ = yypt // guard against "declared and not used"
  8966  
  8967  	yyp -= yyR2[yyn]
  8968  	// yyp is now the index of $0. Perform the default action. Iff the
  8969  	// reduced production is ε, $1 is possibly out of range.
  8970  	if yyp+1 >= len(yyS) {
  8971  		nyys := make([]yySymType, len(yyS)*2)
  8972  		copy(nyys, yyS)
  8973  		yyS = nyys
  8974  	}
  8975  	yyVAL = yyS[yyp+1]
  8976  
  8977  	/* consult goto table to find next state */
  8978  	yyn = yyR1[yyn]
  8979  	yyg := yyPgo[yyn]
  8980  	yyj := yyg + yyS[yyp].yys + 1
  8981  
  8982  	if yyj >= yyLast {
  8983  		yystate = yyAct[yyg]
  8984  	} else {
  8985  		yystate = yyAct[yyj]
  8986  		if yyChk[yystate] != -yyn {
  8987  			yystate = yyAct[yyg]
  8988  		}
  8989  	}
  8990  	// dummy call; replaced with literal code
  8991  	switch yynt {
  8992  
  8993  	case 1:
  8994  		yyDollar = yyS[yypt-3 : yypt+1]
  8995  //line sql.y:602
  8996  		{
  8997  			stmt := yyDollar[2].statementUnion()
  8998  			// If the statement is empty and we have comments
  8999  			// then we create a special struct which stores them.
  9000  			// This is required because we need to update the rows_returned
  9001  			// and other query stats and not return a `query was empty` error
  9002  			if stmt == nil && yyDollar[1].strs != nil {
  9003  				stmt = &CommentOnly{Comments: yyDollar[1].strs}
  9004  			}
  9005  			setParseTree(yylex, stmt)
  9006  		}
  9007  	case 2:
  9008  		yyDollar = yyS[yypt-0 : yypt+1]
  9009  //line sql.y:615
  9010  		{
  9011  		}
  9012  	case 3:
  9013  		yyDollar = yyS[yypt-1 : yypt+1]
  9014  //line sql.y:616
  9015  		{
  9016  		}
  9017  	case 4:
  9018  		yyDollar = yyS[yypt-1 : yypt+1]
  9019  		var yyLOCAL Statement
  9020  //line sql.y:620
  9021  		{
  9022  			yyLOCAL = yyDollar[1].selStmtUnion()
  9023  		}
  9024  		yyVAL.union = yyLOCAL
  9025  	case 38:
  9026  		yyDollar = yyS[yypt-0 : yypt+1]
  9027  //line sql.y:657
  9028  		{
  9029  			setParseTree(yylex, nil)
  9030  		}
  9031  	case 39:
  9032  		yyDollar = yyS[yypt-1 : yypt+1]
  9033  		var yyLOCAL *Variable
  9034  //line sql.y:663
  9035  		{
  9036  			yyLOCAL = NewVariableExpression(yyDollar[1].str, SingleAt)
  9037  		}
  9038  		yyVAL.union = yyLOCAL
  9039  	case 40:
  9040  		yyDollar = yyS[yypt-1 : yypt+1]
  9041  //line sql.y:669
  9042  		{
  9043  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
  9044  		}
  9045  	case 41:
  9046  		yyDollar = yyS[yypt-0 : yypt+1]
  9047  //line sql.y:674
  9048  		{
  9049  			yyVAL.identifierCI = NewIdentifierCI("")
  9050  		}
  9051  	case 42:
  9052  		yyDollar = yyS[yypt-1 : yypt+1]
  9053  //line sql.y:678
  9054  		{
  9055  			yyVAL.identifierCI = yyDollar[1].identifierCI
  9056  		}
  9057  	case 43:
  9058  		yyDollar = yyS[yypt-1 : yypt+1]
  9059  		var yyLOCAL *Variable
  9060  //line sql.y:684
  9061  		{
  9062  			yyLOCAL = NewVariableExpression(string(yyDollar[1].str), SingleAt)
  9063  		}
  9064  		yyVAL.union = yyLOCAL
  9065  	case 44:
  9066  		yyDollar = yyS[yypt-1 : yypt+1]
  9067  		var yyLOCAL *Variable
  9068  //line sql.y:688
  9069  		{
  9070  			yyLOCAL = NewVariableExpression(string(yyDollar[1].str), DoubleAt)
  9071  		}
  9072  		yyVAL.union = yyLOCAL
  9073  	case 45:
  9074  		yyDollar = yyS[yypt-2 : yypt+1]
  9075  		var yyLOCAL Statement
  9076  //line sql.y:694
  9077  		{
  9078  			yyLOCAL = &OtherAdmin{}
  9079  		}
  9080  		yyVAL.union = yyLOCAL
  9081  	case 46:
  9082  		yyDollar = yyS[yypt-3 : yypt+1]
  9083  		var yyLOCAL Statement
  9084  //line sql.y:700
  9085  		{
  9086  			yyLOCAL = &Load{}
  9087  		}
  9088  		yyVAL.union = yyLOCAL
  9089  	case 47:
  9090  		yyDollar = yyS[yypt-2 : yypt+1]
  9091  		var yyLOCAL *With
  9092  //line sql.y:706
  9093  		{
  9094  			yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false}
  9095  		}
  9096  		yyVAL.union = yyLOCAL
  9097  	case 48:
  9098  		yyDollar = yyS[yypt-3 : yypt+1]
  9099  		var yyLOCAL *With
  9100  //line sql.y:710
  9101  		{
  9102  			yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true}
  9103  		}
  9104  		yyVAL.union = yyLOCAL
  9105  	case 49:
  9106  		yyDollar = yyS[yypt-0 : yypt+1]
  9107  		var yyLOCAL *With
  9108  //line sql.y:715
  9109  		{
  9110  			yyLOCAL = nil
  9111  		}
  9112  		yyVAL.union = yyLOCAL
  9113  	case 50:
  9114  		yyDollar = yyS[yypt-1 : yypt+1]
  9115  		var yyLOCAL *With
  9116  //line sql.y:719
  9117  		{
  9118  			yyLOCAL = yyDollar[1].withUnion()
  9119  		}
  9120  		yyVAL.union = yyLOCAL
  9121  	case 51:
  9122  		yyDollar = yyS[yypt-3 : yypt+1]
  9123  //line sql.y:725
  9124  		{
  9125  			yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union))
  9126  			*yySLICE = append(*yySLICE, yyDollar[3].cteUnion())
  9127  		}
  9128  	case 52:
  9129  		yyDollar = yyS[yypt-1 : yypt+1]
  9130  		var yyLOCAL []*CommonTableExpr
  9131  //line sql.y:729
  9132  		{
  9133  			yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()}
  9134  		}
  9135  		yyVAL.union = yyLOCAL
  9136  	case 53:
  9137  		yyDollar = yyS[yypt-4 : yypt+1]
  9138  		var yyLOCAL *CommonTableExpr
  9139  //line sql.y:735
  9140  		{
  9141  			yyLOCAL = &CommonTableExpr{ID: yyDollar[1].identifierCS, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()}
  9142  		}
  9143  		yyVAL.union = yyLOCAL
  9144  	case 54:
  9145  		yyDollar = yyS[yypt-3 : yypt+1]
  9146  		var yyLOCAL SelectStatement
  9147  //line sql.y:741
  9148  		{
  9149  			yyLOCAL = yyDollar[2].selStmtUnion()
  9150  		}
  9151  		yyVAL.union = yyLOCAL
  9152  	case 55:
  9153  		yyDollar = yyS[yypt-3 : yypt+1]
  9154  		var yyLOCAL SelectStatement
  9155  //line sql.y:745
  9156  		{
  9157  			yyLOCAL = yyDollar[2].selStmtUnion()
  9158  		}
  9159  		yyVAL.union = yyLOCAL
  9160  	case 56:
  9161  		yyDollar = yyS[yypt-4 : yypt+1]
  9162  		var yyLOCAL SelectStatement
  9163  //line sql.y:749
  9164  		{
  9165  			setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion())
  9166  			yyLOCAL = yyDollar[2].selStmtUnion()
  9167  		}
  9168  		yyVAL.union = yyLOCAL
  9169  	case 57:
  9170  		yyDollar = yyS[yypt-3 : yypt+1]
  9171  		var yyLOCAL SelectStatement
  9172  //line sql.y:772
  9173  		{
  9174  			yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
  9175  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  9176  			yyLOCAL = yyDollar[1].selStmtUnion()
  9177  		}
  9178  		yyVAL.union = yyLOCAL
  9179  	case 58:
  9180  		yyDollar = yyS[yypt-2 : yypt+1]
  9181  		var yyLOCAL SelectStatement
  9182  //line sql.y:778
  9183  		{
  9184  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion())
  9185  			yyLOCAL = yyDollar[1].selStmtUnion()
  9186  		}
  9187  		yyVAL.union = yyLOCAL
  9188  	case 59:
  9189  		yyDollar = yyS[yypt-3 : yypt+1]
  9190  		var yyLOCAL SelectStatement
  9191  //line sql.y:783
  9192  		{
  9193  			yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
  9194  			yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  9195  			yyLOCAL = yyDollar[1].selStmtUnion()
  9196  		}
  9197  		yyVAL.union = yyLOCAL
  9198  	case 60:
  9199  		yyDollar = yyS[yypt-4 : yypt+1]
  9200  		var yyLOCAL SelectStatement
  9201  //line sql.y:789
  9202  		{
  9203  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9204  			yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
  9205  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion())
  9206  			yyLOCAL = yyDollar[2].selStmtUnion()
  9207  		}
  9208  		yyVAL.union = yyLOCAL
  9209  	case 61:
  9210  		yyDollar = yyS[yypt-3 : yypt+1]
  9211  		var yyLOCAL SelectStatement
  9212  //line sql.y:796
  9213  		{
  9214  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9215  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
  9216  			yyLOCAL = yyDollar[2].selStmtUnion()
  9217  		}
  9218  		yyVAL.union = yyLOCAL
  9219  	case 62:
  9220  		yyDollar = yyS[yypt-4 : yypt+1]
  9221  		var yyLOCAL SelectStatement
  9222  //line sql.y:802
  9223  		{
  9224  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9225  			yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
  9226  			yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion())
  9227  			yyLOCAL = yyDollar[2].selStmtUnion()
  9228  		}
  9229  		yyVAL.union = yyLOCAL
  9230  	case 63:
  9231  		yyDollar = yyS[yypt-2 : yypt+1]
  9232  //line sql.y:809
  9233  		{
  9234  			yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
  9235  		}
  9236  	case 64:
  9237  		yyDollar = yyS[yypt-7 : yypt+1]
  9238  		var yyLOCAL SelectStatement
  9239  //line sql.y:813
  9240  		{
  9241  			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)
  9242  		}
  9243  		yyVAL.union = yyLOCAL
  9244  	case 65:
  9245  		yyDollar = yyS[yypt-1 : yypt+1]
  9246  		var yyLOCAL SelectStatement
  9247  //line sql.y:819
  9248  		{
  9249  			yyLOCAL = yyDollar[1].selStmtUnion()
  9250  		}
  9251  		yyVAL.union = yyLOCAL
  9252  	case 66:
  9253  		yyDollar = yyS[yypt-3 : yypt+1]
  9254  		var yyLOCAL SelectStatement
  9255  //line sql.y:823
  9256  		{
  9257  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9258  		}
  9259  		yyVAL.union = yyLOCAL
  9260  	case 67:
  9261  		yyDollar = yyS[yypt-3 : yypt+1]
  9262  		var yyLOCAL SelectStatement
  9263  //line sql.y:827
  9264  		{
  9265  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9266  		}
  9267  		yyVAL.union = yyLOCAL
  9268  	case 68:
  9269  		yyDollar = yyS[yypt-3 : yypt+1]
  9270  		var yyLOCAL SelectStatement
  9271  //line sql.y:831
  9272  		{
  9273  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9274  		}
  9275  		yyVAL.union = yyLOCAL
  9276  	case 69:
  9277  		yyDollar = yyS[yypt-3 : yypt+1]
  9278  		var yyLOCAL SelectStatement
  9279  //line sql.y:835
  9280  		{
  9281  			yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
  9282  		}
  9283  		yyVAL.union = yyLOCAL
  9284  	case 70:
  9285  		yyDollar = yyS[yypt-1 : yypt+1]
  9286  		var yyLOCAL SelectStatement
  9287  //line sql.y:841
  9288  		{
  9289  			yyLOCAL = yyDollar[1].selStmtUnion()
  9290  		}
  9291  		yyVAL.union = yyLOCAL
  9292  	case 71:
  9293  		yyDollar = yyS[yypt-2 : yypt+1]
  9294  		var yyLOCAL SelectStatement
  9295  //line sql.y:845
  9296  		{
  9297  			setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion())
  9298  			yyLOCAL = yyDollar[1].selStmtUnion()
  9299  		}
  9300  		yyVAL.union = yyLOCAL
  9301  	case 72:
  9302  		yyDollar = yyS[yypt-1 : yypt+1]
  9303  		var yyLOCAL SelectStatement
  9304  //line sql.y:850
  9305  		{
  9306  			yyLOCAL = yyDollar[1].selStmtUnion()
  9307  		}
  9308  		yyVAL.union = yyLOCAL
  9309  	case 73:
  9310  		yyDollar = yyS[yypt-1 : yypt+1]
  9311  		var yyLOCAL SelectStatement
  9312  //line sql.y:854
  9313  		{
  9314  			yyLOCAL = yyDollar[1].selStmtUnion()
  9315  		}
  9316  		yyVAL.union = yyLOCAL
  9317  	case 74:
  9318  		yyDollar = yyS[yypt-3 : yypt+1]
  9319  		var yyLOCAL SelectStatement
  9320  //line sql.y:860
  9321  		{
  9322  			yyLOCAL = yyDollar[2].selStmtUnion()
  9323  		}
  9324  		yyVAL.union = yyLOCAL
  9325  	case 75:
  9326  		yyDollar = yyS[yypt-2 : yypt+1]
  9327  		var yyLOCAL SelectStatement
  9328  //line sql.y:864
  9329  		{
  9330  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  9331  			yyLOCAL = yyDollar[1].selStmtUnion()
  9332  		}
  9333  		yyVAL.union = yyLOCAL
  9334  	case 76:
  9335  		yyDollar = yyS[yypt-3 : yypt+1]
  9336  		var yyLOCAL SelectStatement
  9337  //line sql.y:869
  9338  		{
  9339  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  9340  			yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion())
  9341  			yyLOCAL = yyDollar[1].selStmtUnion()
  9342  		}
  9343  		yyVAL.union = yyLOCAL
  9344  	case 77:
  9345  		yyDollar = yyS[yypt-3 : yypt+1]
  9346  		var yyLOCAL SelectStatement
  9347  //line sql.y:875
  9348  		{
  9349  			yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion())
  9350  			yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion())
  9351  			yyLOCAL = yyDollar[1].selStmtUnion()
  9352  		}
  9353  		yyVAL.union = yyLOCAL
  9354  	case 78:
  9355  		yyDollar = yyS[yypt-2 : yypt+1]
  9356  		var yyLOCAL SelectStatement
  9357  //line sql.y:881
  9358  		{
  9359  			yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
  9360  			yyLOCAL = yyDollar[1].selStmtUnion()
  9361  		}
  9362  		yyVAL.union = yyLOCAL
  9363  	case 79:
  9364  		yyDollar = yyS[yypt-5 : yypt+1]
  9365  		var yyLOCAL Statement
  9366  //line sql.y:888
  9367  		{
  9368  			yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName}
  9369  		}
  9370  		yyVAL.union = yyLOCAL
  9371  	case 80:
  9372  		yyDollar = yyS[yypt-7 : yypt+1]
  9373  		var yyLOCAL Statement
  9374  //line sql.y:894
  9375  		{
  9376  			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()}
  9377  		}
  9378  		yyVAL.union = yyLOCAL
  9379  	case 81:
  9380  		yyDollar = yyS[yypt-10 : yypt+1]
  9381  		var yyLOCAL SelectStatement
  9382  //line sql.y:902
  9383  		{
  9384  			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())
  9385  		}
  9386  		yyVAL.union = yyLOCAL
  9387  	case 82:
  9388  		yyDollar = yyS[yypt-9 : yypt+1]
  9389  		var yyLOCAL SelectStatement
  9390  //line sql.y:906
  9391  		{
  9392  			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())
  9393  		}
  9394  		yyVAL.union = yyLOCAL
  9395  	case 83:
  9396  		yyDollar = yyS[yypt-7 : yypt+1]
  9397  		var yyLOCAL Statement
  9398  //line sql.y:912
  9399  		{
  9400  			// insert_data returns a *Insert pre-filled with Columns & Values
  9401  			ins := yyDollar[6].insUnion()
  9402  			ins.Action = yyDollar[1].insertActionUnion()
  9403  			ins.Comments = Comments(yyDollar[2].strs).Parsed()
  9404  			ins.Ignore = yyDollar[3].ignoreUnion()
  9405  			ins.Table = yyDollar[4].tableName
  9406  			ins.Partitions = yyDollar[5].partitionsUnion()
  9407  			ins.OnDup = OnDup(yyDollar[7].updateExprsUnion())
  9408  			yyLOCAL = ins
  9409  		}
  9410  		yyVAL.union = yyLOCAL
  9411  	case 84:
  9412  		yyDollar = yyS[yypt-8 : yypt+1]
  9413  		var yyLOCAL Statement
  9414  //line sql.y:924
  9415  		{
  9416  			cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion()))
  9417  			vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion()))
  9418  			for _, updateList := range yyDollar[7].updateExprsUnion() {
  9419  				cols = append(cols, updateList.Name.Name)
  9420  				vals = append(vals, updateList.Expr)
  9421  			}
  9422  			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())}
  9423  		}
  9424  		yyVAL.union = yyLOCAL
  9425  	case 85:
  9426  		yyDollar = yyS[yypt-1 : yypt+1]
  9427  		var yyLOCAL InsertAction
  9428  //line sql.y:936
  9429  		{
  9430  			yyLOCAL = InsertAct
  9431  		}
  9432  		yyVAL.union = yyLOCAL
  9433  	case 86:
  9434  		yyDollar = yyS[yypt-1 : yypt+1]
  9435  		var yyLOCAL InsertAction
  9436  //line sql.y:940
  9437  		{
  9438  			yyLOCAL = ReplaceAct
  9439  		}
  9440  		yyVAL.union = yyLOCAL
  9441  	case 87:
  9442  		yyDollar = yyS[yypt-10 : yypt+1]
  9443  		var yyLOCAL Statement
  9444  //line sql.y:946
  9445  		{
  9446  			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()}
  9447  		}
  9448  		yyVAL.union = yyLOCAL
  9449  	case 88:
  9450  		yyDollar = yyS[yypt-11 : yypt+1]
  9451  		var yyLOCAL Statement
  9452  //line sql.y:952
  9453  		{
  9454  			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()}
  9455  		}
  9456  		yyVAL.union = yyLOCAL
  9457  	case 89:
  9458  		yyDollar = yyS[yypt-9 : yypt+1]
  9459  		var yyLOCAL Statement
  9460  //line sql.y:956
  9461  		{
  9462  			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())}
  9463  		}
  9464  		yyVAL.union = yyLOCAL
  9465  	case 90:
  9466  		yyDollar = yyS[yypt-8 : yypt+1]
  9467  		var yyLOCAL Statement
  9468  //line sql.y:960
  9469  		{
  9470  			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())}
  9471  		}
  9472  		yyVAL.union = yyLOCAL
  9473  	case 91:
  9474  		yyDollar = yyS[yypt-8 : yypt+1]
  9475  		var yyLOCAL Statement
  9476  //line sql.y:964
  9477  		{
  9478  			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())}
  9479  		}
  9480  		yyVAL.union = yyLOCAL
  9481  	case 92:
  9482  		yyDollar = yyS[yypt-1 : yypt+1]
  9483  //line sql.y:969
  9484  		{
  9485  		}
  9486  	case 93:
  9487  		yyDollar = yyS[yypt-1 : yypt+1]
  9488  //line sql.y:970
  9489  		{
  9490  		}
  9491  	case 94:
  9492  		yyDollar = yyS[yypt-1 : yypt+1]
  9493  		var yyLOCAL TableNames
  9494  //line sql.y:974
  9495  		{
  9496  			yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()}
  9497  		}
  9498  		yyVAL.union = yyLOCAL
  9499  	case 95:
  9500  		yyDollar = yyS[yypt-3 : yypt+1]
  9501  //line sql.y:978
  9502  		{
  9503  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  9504  			*yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName())
  9505  		}
  9506  	case 96:
  9507  		yyDollar = yyS[yypt-1 : yypt+1]
  9508  		var yyLOCAL TableNames
  9509  //line sql.y:984
  9510  		{
  9511  			yyLOCAL = TableNames{yyDollar[1].tableName}
  9512  		}
  9513  		yyVAL.union = yyLOCAL
  9514  	case 97:
  9515  		yyDollar = yyS[yypt-3 : yypt+1]
  9516  //line sql.y:988
  9517  		{
  9518  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  9519  			*yySLICE = append(*yySLICE, yyDollar[3].tableName)
  9520  		}
  9521  	case 98:
  9522  		yyDollar = yyS[yypt-1 : yypt+1]
  9523  		var yyLOCAL TableNames
  9524  //line sql.y:994
  9525  		{
  9526  			yyLOCAL = TableNames{yyDollar[1].tableName}
  9527  		}
  9528  		yyVAL.union = yyLOCAL
  9529  	case 99:
  9530  		yyDollar = yyS[yypt-3 : yypt+1]
  9531  //line sql.y:998
  9532  		{
  9533  			yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
  9534  			*yySLICE = append(*yySLICE, yyDollar[3].tableName)
  9535  		}
  9536  	case 100:
  9537  		yyDollar = yyS[yypt-0 : yypt+1]
  9538  		var yyLOCAL Partitions
  9539  //line sql.y:1003
  9540  		{
  9541  			yyLOCAL = nil
  9542  		}
  9543  		yyVAL.union = yyLOCAL
  9544  	case 101:
  9545  		yyDollar = yyS[yypt-4 : yypt+1]
  9546  		var yyLOCAL Partitions
  9547  //line sql.y:1007
  9548  		{
  9549  			yyLOCAL = yyDollar[3].partitionsUnion()
  9550  		}
  9551  		yyVAL.union = yyLOCAL
  9552  	case 102:
  9553  		yyDollar = yyS[yypt-3 : yypt+1]
  9554  		var yyLOCAL Statement
  9555  //line sql.y:1013
  9556  		{
  9557  			yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[3].setExprsUnion())
  9558  		}
  9559  		yyVAL.union = yyLOCAL
  9560  	case 103:
  9561  		yyDollar = yyS[yypt-1 : yypt+1]
  9562  		var yyLOCAL SetExprs
  9563  //line sql.y:1019
  9564  		{
  9565  			yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
  9566  		}
  9567  		yyVAL.union = yyLOCAL
  9568  	case 104:
  9569  		yyDollar = yyS[yypt-3 : yypt+1]
  9570  //line sql.y:1023
  9571  		{
  9572  			yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
  9573  			*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
  9574  		}
  9575  	case 105:
  9576  		yyDollar = yyS[yypt-3 : yypt+1]
  9577  		var yyLOCAL *SetExpr
  9578  //line sql.y:1029
  9579  		{
  9580  			yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("on")}
  9581  		}
  9582  		yyVAL.union = yyLOCAL
  9583  	case 106:
  9584  		yyDollar = yyS[yypt-3 : yypt+1]
  9585  		var yyLOCAL *SetExpr
  9586  //line sql.y:1033
  9587  		{
  9588  			yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("off")}
  9589  		}
  9590  		yyVAL.union = yyLOCAL
  9591  	case 107:
  9592  		yyDollar = yyS[yypt-3 : yypt+1]
  9593  		var yyLOCAL *SetExpr
  9594  //line sql.y:1037
  9595  		{
  9596  			yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: yyDollar[3].exprUnion()}
  9597  		}
  9598  		yyVAL.union = yyLOCAL
  9599  	case 108:
  9600  		yyDollar = yyS[yypt-3 : yypt+1]
  9601  		var yyLOCAL *SetExpr
  9602  //line sql.y:1041
  9603  		{
  9604  			yyLOCAL = &SetExpr{Var: NewSetVariable(string(yyDollar[1].str), SessionScope), Expr: yyDollar[2].exprUnion()}
  9605  		}
  9606  		yyVAL.union = yyLOCAL
  9607  	case 109:
  9608  		yyDollar = yyS[yypt-1 : yypt+1]
  9609  		var yyLOCAL *Variable
  9610  //line sql.y:1047
  9611  		{
  9612  			yyLOCAL = NewSetVariable(string(yyDollar[1].str), SessionScope)
  9613  		}
  9614  		yyVAL.union = yyLOCAL
  9615  	case 110:
  9616  		yyDollar = yyS[yypt-1 : yypt+1]
  9617  		var yyLOCAL *Variable
  9618  //line sql.y:1051
  9619  		{
  9620  			yyLOCAL = yyDollar[1].variableUnion()
  9621  		}
  9622  		yyVAL.union = yyLOCAL
  9623  	case 111:
  9624  		yyDollar = yyS[yypt-2 : yypt+1]
  9625  		var yyLOCAL *Variable
  9626  //line sql.y:1055
  9627  		{
  9628  			yyLOCAL = NewSetVariable(string(yyDollar[2].str), yyDollar[1].scopeUnion())
  9629  		}
  9630  		yyVAL.union = yyLOCAL
  9631  	case 112:
  9632  		yyDollar = yyS[yypt-5 : yypt+1]
  9633  		var yyLOCAL Statement
  9634  //line sql.y:1061
  9635  		{
  9636  			yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), UpdateSetExprsScope(yyDollar[5].setExprsUnion(), yyDollar[3].scopeUnion()))
  9637  		}
  9638  		yyVAL.union = yyLOCAL
  9639  	case 113:
  9640  		yyDollar = yyS[yypt-4 : yypt+1]
  9641  		var yyLOCAL Statement
  9642  //line sql.y:1065
  9643  		{
  9644  			yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[4].setExprsUnion())
  9645  		}
  9646  		yyVAL.union = yyLOCAL
  9647  	case 114:
  9648  		yyDollar = yyS[yypt-1 : yypt+1]
  9649  		var yyLOCAL SetExprs
  9650  //line sql.y:1071
  9651  		{
  9652  			yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
  9653  		}
  9654  		yyVAL.union = yyLOCAL
  9655  	case 115:
  9656  		yyDollar = yyS[yypt-3 : yypt+1]
  9657  //line sql.y:1075
  9658  		{
  9659  			yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
  9660  			*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
  9661  		}
  9662  	case 116:
  9663  		yyDollar = yyS[yypt-3 : yypt+1]
  9664  		var yyLOCAL *SetExpr
  9665  //line sql.y:1081
  9666  		{
  9667  			yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionIsolationStr, NextTxScope), Expr: NewStrLiteral(yyDollar[3].str)}
  9668  		}
  9669  		yyVAL.union = yyLOCAL
  9670  	case 117:
  9671  		yyDollar = yyS[yypt-2 : yypt+1]
  9672  		var yyLOCAL *SetExpr
  9673  //line sql.y:1085
  9674  		{
  9675  			yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("off")}
  9676  		}
  9677  		yyVAL.union = yyLOCAL
  9678  	case 118:
  9679  		yyDollar = yyS[yypt-2 : yypt+1]
  9680  		var yyLOCAL *SetExpr
  9681  //line sql.y:1089
  9682  		{
  9683  			yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("on")}
  9684  		}
  9685  		yyVAL.union = yyLOCAL
  9686  	case 119:
  9687  		yyDollar = yyS[yypt-2 : yypt+1]
  9688  //line sql.y:1095
  9689  		{
  9690  			yyVAL.str = RepeatableReadStr
  9691  		}
  9692  	case 120:
  9693  		yyDollar = yyS[yypt-2 : yypt+1]
  9694  //line sql.y:1099
  9695  		{
  9696  			yyVAL.str = ReadCommittedStr
  9697  		}
  9698  	case 121:
  9699  		yyDollar = yyS[yypt-2 : yypt+1]
  9700  //line sql.y:1103
  9701  		{
  9702  			yyVAL.str = ReadUncommittedStr
  9703  		}
  9704  	case 122:
  9705  		yyDollar = yyS[yypt-1 : yypt+1]
  9706  //line sql.y:1107
  9707  		{
  9708  			yyVAL.str = SerializableStr
  9709  		}
  9710  	case 123:
  9711  		yyDollar = yyS[yypt-1 : yypt+1]
  9712  		var yyLOCAL Scope
  9713  //line sql.y:1113
  9714  		{
  9715  			yyLOCAL = SessionScope
  9716  		}
  9717  		yyVAL.union = yyLOCAL
  9718  	case 124:
  9719  		yyDollar = yyS[yypt-1 : yypt+1]
  9720  		var yyLOCAL Scope
  9721  //line sql.y:1117
  9722  		{
  9723  			yyLOCAL = SessionScope
  9724  		}
  9725  		yyVAL.union = yyLOCAL
  9726  	case 125:
  9727  		yyDollar = yyS[yypt-1 : yypt+1]
  9728  		var yyLOCAL Scope
  9729  //line sql.y:1121
  9730  		{
  9731  			yyLOCAL = GlobalScope
  9732  		}
  9733  		yyVAL.union = yyLOCAL
  9734  	case 126:
  9735  		yyDollar = yyS[yypt-2 : yypt+1]
  9736  		var yyLOCAL Statement
  9737  //line sql.y:1127
  9738  		{
  9739  			yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion()
  9740  			yyDollar[1].createTableUnion().FullyParsed = true
  9741  			yyLOCAL = yyDollar[1].createTableUnion()
  9742  		}
  9743  		yyVAL.union = yyLOCAL
  9744  	case 127:
  9745  		yyDollar = yyS[yypt-2 : yypt+1]
  9746  		var yyLOCAL Statement
  9747  //line sql.y:1133
  9748  		{
  9749  			// Create table [name] like [name]
  9750  			yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion()
  9751  			yyDollar[1].createTableUnion().FullyParsed = true
  9752  			yyLOCAL = yyDollar[1].createTableUnion()
  9753  		}
  9754  		yyVAL.union = yyLOCAL
  9755  	case 128:
  9756  		yyDollar = yyS[yypt-6 : yypt+1]
  9757  		var yyLOCAL Statement
  9758  //line sql.y:1140
  9759  		{
  9760  			indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition
  9761  			indexDef.Columns = yyDollar[3].indexColumnsUnion()
  9762  			indexDef.Options = append(indexDef.Options, yyDollar[5].indexOptionsUnion()...)
  9763  			yyDollar[1].alterTableUnion().AlterOptions = append(yyDollar[1].alterTableUnion().AlterOptions, yyDollar[6].alterOptionsUnion()...)
  9764  			yyDollar[1].alterTableUnion().FullyParsed = true
  9765  			yyLOCAL = yyDollar[1].alterTableUnion()
  9766  		}
  9767  		yyVAL.union = yyLOCAL
  9768  	case 129:
  9769  		yyDollar = yyS[yypt-12 : yypt+1]
  9770  		var yyLOCAL Statement
  9771  //line sql.y:1149
  9772  		{
  9773  			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}
  9774  		}
  9775  		yyVAL.union = yyLOCAL
  9776  	case 130:
  9777  		yyDollar = yyS[yypt-2 : yypt+1]
  9778  		var yyLOCAL Statement
  9779  //line sql.y:1153
  9780  		{
  9781  			yyDollar[1].createDatabaseUnion().FullyParsed = true
  9782  			yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion()
  9783  			yyLOCAL = yyDollar[1].createDatabaseUnion()
  9784  		}
  9785  		yyVAL.union = yyLOCAL
  9786  	case 131:
  9787  		yyDollar = yyS[yypt-0 : yypt+1]
  9788  		var yyLOCAL bool
  9789  //line sql.y:1160
  9790  		{
  9791  			yyLOCAL = false
  9792  		}
  9793  		yyVAL.union = yyLOCAL
  9794  	case 132:
  9795  		yyDollar = yyS[yypt-2 : yypt+1]
  9796  		var yyLOCAL bool
  9797  //line sql.y:1164
  9798  		{
  9799  			yyLOCAL = true
  9800  		}
  9801  		yyVAL.union = yyLOCAL
  9802  	case 133:
  9803  		yyDollar = yyS[yypt-0 : yypt+1]
  9804  //line sql.y:1169
  9805  		{
  9806  			yyVAL.identifierCI = NewIdentifierCI("")
  9807  		}
  9808  	case 134:
  9809  		yyDollar = yyS[yypt-2 : yypt+1]
  9810  //line sql.y:1173
  9811  		{
  9812  			yyVAL.identifierCI = yyDollar[2].identifierCI
  9813  		}
  9814  	case 135:
  9815  		yyDollar = yyS[yypt-1 : yypt+1]
  9816  //line sql.y:1179
  9817  		{
  9818  			yyVAL.identifierCI = yyDollar[1].identifierCI
  9819  		}
  9820  	case 136:
  9821  		yyDollar = yyS[yypt-0 : yypt+1]
  9822  		var yyLOCAL []VindexParam
  9823  //line sql.y:1184
  9824  		{
  9825  			var v []VindexParam
  9826  			yyLOCAL = v
  9827  		}
  9828  		yyVAL.union = yyLOCAL
  9829  	case 137:
  9830  		yyDollar = yyS[yypt-2 : yypt+1]
  9831  		var yyLOCAL []VindexParam
  9832  //line sql.y:1189
  9833  		{
  9834  			yyLOCAL = yyDollar[2].vindexParamsUnion()
  9835  		}
  9836  		yyVAL.union = yyLOCAL
  9837  	case 138:
  9838  		yyDollar = yyS[yypt-1 : yypt+1]
  9839  		var yyLOCAL []VindexParam
  9840  //line sql.y:1195
  9841  		{
  9842  			yyLOCAL = make([]VindexParam, 0, 4)
  9843  			yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam)
  9844  		}
  9845  		yyVAL.union = yyLOCAL
  9846  	case 139:
  9847  		yyDollar = yyS[yypt-3 : yypt+1]
  9848  //line sql.y:1200
  9849  		{
  9850  			yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union))
  9851  			*yySLICE = append(*yySLICE, yyDollar[3].vindexParam)
  9852  		}
  9853  	case 140:
  9854  		yyDollar = yyS[yypt-3 : yypt+1]
  9855  //line sql.y:1206
  9856  		{
  9857  			yyVAL.vindexParam = VindexParam{Key: yyDollar[1].identifierCI, Val: yyDollar[3].str}
  9858  		}
  9859  	case 141:
  9860  		yyDollar = yyS[yypt-0 : yypt+1]
  9861  		var yyLOCAL []*JSONObjectParam
  9862  //line sql.y:1211
  9863  		{
  9864  			yyLOCAL = nil
  9865  		}
  9866  		yyVAL.union = yyLOCAL
  9867  	case 142:
  9868  		yyDollar = yyS[yypt-1 : yypt+1]
  9869  		var yyLOCAL []*JSONObjectParam
  9870  //line sql.y:1215
  9871  		{
  9872  			yyLOCAL = yyDollar[1].jsonObjectParamsUnion()
  9873  		}
  9874  		yyVAL.union = yyLOCAL
  9875  	case 143:
  9876  		yyDollar = yyS[yypt-1 : yypt+1]
  9877  		var yyLOCAL []*JSONObjectParam
  9878  //line sql.y:1221
  9879  		{
  9880  			yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam}
  9881  		}
  9882  		yyVAL.union = yyLOCAL
  9883  	case 144:
  9884  		yyDollar = yyS[yypt-3 : yypt+1]
  9885  //line sql.y:1225
  9886  		{
  9887  			yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union))
  9888  			*yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam)
  9889  		}
  9890  	case 145:
  9891  		yyDollar = yyS[yypt-3 : yypt+1]
  9892  //line sql.y:1231
  9893  		{
  9894  			yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()}
  9895  		}
  9896  	case 146:
  9897  		yyDollar = yyS[yypt-6 : yypt+1]
  9898  		var yyLOCAL *CreateTable
  9899  //line sql.y:1237
  9900  		{
  9901  			yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()}
  9902  			setDDL(yylex, yyLOCAL)
  9903  		}
  9904  		yyVAL.union = yyLOCAL
  9905  	case 147:
  9906  		yyDollar = yyS[yypt-4 : yypt+1]
  9907  		var yyLOCAL *AlterTable
  9908  //line sql.y:1244
  9909  		{
  9910  			yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName}
  9911  			setDDL(yylex, yyLOCAL)
  9912  		}
  9913  		yyVAL.union = yyLOCAL
  9914  	case 148:
  9915  		yyDollar = yyS[yypt-7 : yypt+1]
  9916  		var yyLOCAL *AlterTable
  9917  //line sql.y:1251
  9918  		{
  9919  			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()}}}}
  9920  			setDDL(yylex, yyLOCAL)
  9921  		}
  9922  		yyVAL.union = yyLOCAL
  9923  	case 149:
  9924  		yyDollar = yyS[yypt-8 : yypt+1]
  9925  		var yyLOCAL *AlterTable
  9926  //line sql.y:1256
  9927  		{
  9928  			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()}}}}
  9929  			setDDL(yylex, yyLOCAL)
  9930  		}
  9931  		yyVAL.union = yyLOCAL
  9932  	case 150:
  9933  		yyDollar = yyS[yypt-8 : yypt+1]
  9934  		var yyLOCAL *AlterTable
  9935  //line sql.y:1261
  9936  		{
  9937  			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()}}}}
  9938  			setDDL(yylex, yyLOCAL)
  9939  		}
  9940  		yyVAL.union = yyLOCAL
  9941  	case 151:
  9942  		yyDollar = yyS[yypt-8 : yypt+1]
  9943  		var yyLOCAL *AlterTable
  9944  //line sql.y:1266
  9945  		{
  9946  			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()}}}}
  9947  			setDDL(yylex, yyLOCAL)
  9948  		}
  9949  		yyVAL.union = yyLOCAL
  9950  	case 152:
  9951  		yyDollar = yyS[yypt-6 : yypt+1]
  9952  		var yyLOCAL *CreateDatabase
  9953  //line sql.y:1273
  9954  		{
  9955  			yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].identifierCS, IfNotExists: yyDollar[5].booleanUnion()}
  9956  			setDDL(yylex, yyLOCAL)
  9957  		}
  9958  		yyVAL.union = yyLOCAL
  9959  	case 153:
  9960  		yyDollar = yyS[yypt-3 : yypt+1]
  9961  		var yyLOCAL *AlterDatabase
  9962  //line sql.y:1280
  9963  		{
  9964  			yyLOCAL = &AlterDatabase{}
  9965  			setDDL(yylex, yyLOCAL)
  9966  		}
  9967  		yyVAL.union = yyLOCAL
  9968  	case 156:
  9969  		yyDollar = yyS[yypt-5 : yypt+1]
  9970  		var yyLOCAL *TableSpec
  9971  //line sql.y:1291
  9972  		{
  9973  			yyLOCAL = yyDollar[2].tableSpecUnion()
  9974  			yyLOCAL.Options = yyDollar[4].tableOptionsUnion()
  9975  			yyLOCAL.PartitionOption = yyDollar[5].partitionOptionUnion()
  9976  		}
  9977  		yyVAL.union = yyLOCAL
  9978  	case 157:
  9979  		yyDollar = yyS[yypt-0 : yypt+1]
  9980  		var yyLOCAL []DatabaseOption
  9981  //line sql.y:1298
  9982  		{
  9983  			yyLOCAL = nil
  9984  		}
  9985  		yyVAL.union = yyLOCAL
  9986  	case 158:
  9987  		yyDollar = yyS[yypt-1 : yypt+1]
  9988  		var yyLOCAL []DatabaseOption
  9989  //line sql.y:1302
  9990  		{
  9991  			yyLOCAL = yyDollar[1].databaseOptionsUnion()
  9992  		}
  9993  		yyVAL.union = yyLOCAL
  9994  	case 159:
  9995  		yyDollar = yyS[yypt-1 : yypt+1]
  9996  		var yyLOCAL []DatabaseOption
  9997  //line sql.y:1308
  9998  		{
  9999  			yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
 10000  		}
 10001  		yyVAL.union = yyLOCAL
 10002  	case 160:
 10003  		yyDollar = yyS[yypt-1 : yypt+1]
 10004  		var yyLOCAL []DatabaseOption
 10005  //line sql.y:1312
 10006  		{
 10007  			yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
 10008  		}
 10009  		yyVAL.union = yyLOCAL
 10010  	case 161:
 10011  		yyDollar = yyS[yypt-1 : yypt+1]
 10012  		var yyLOCAL []DatabaseOption
 10013  //line sql.y:1316
 10014  		{
 10015  			yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
 10016  		}
 10017  		yyVAL.union = yyLOCAL
 10018  	case 162:
 10019  		yyDollar = yyS[yypt-2 : yypt+1]
 10020  //line sql.y:1320
 10021  		{
 10022  			yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
 10023  			*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
 10024  		}
 10025  	case 163:
 10026  		yyDollar = yyS[yypt-2 : yypt+1]
 10027  //line sql.y:1324
 10028  		{
 10029  			yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
 10030  			*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
 10031  		}
 10032  	case 164:
 10033  		yyDollar = yyS[yypt-2 : yypt+1]
 10034  //line sql.y:1328
 10035  		{
 10036  			yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
 10037  			*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
 10038  		}
 10039  	case 165:
 10040  		yyDollar = yyS[yypt-0 : yypt+1]
 10041  		var yyLOCAL bool
 10042  //line sql.y:1334
 10043  		{
 10044  			yyLOCAL = false
 10045  		}
 10046  		yyVAL.union = yyLOCAL
 10047  	case 166:
 10048  		yyDollar = yyS[yypt-1 : yypt+1]
 10049  		var yyLOCAL bool
 10050  //line sql.y:1338
 10051  		{
 10052  			yyLOCAL = true
 10053  		}
 10054  		yyVAL.union = yyLOCAL
 10055  	case 167:
 10056  		yyDollar = yyS[yypt-4 : yypt+1]
 10057  //line sql.y:1344
 10058  		{
 10059  			yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
 10060  		}
 10061  	case 168:
 10062  		yyDollar = yyS[yypt-4 : yypt+1]
 10063  //line sql.y:1348
 10064  		{
 10065  			yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
 10066  		}
 10067  	case 169:
 10068  		yyDollar = yyS[yypt-4 : yypt+1]
 10069  //line sql.y:1354
 10070  		{
 10071  			yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
 10072  		}
 10073  	case 170:
 10074  		yyDollar = yyS[yypt-4 : yypt+1]
 10075  //line sql.y:1358
 10076  		{
 10077  			yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
 10078  		}
 10079  	case 171:
 10080  		yyDollar = yyS[yypt-4 : yypt+1]
 10081  //line sql.y:1364
 10082  		{
 10083  			yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
 10084  		}
 10085  	case 172:
 10086  		yyDollar = yyS[yypt-4 : yypt+1]
 10087  //line sql.y:1368
 10088  		{
 10089  			yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
 10090  		}
 10091  	case 173:
 10092  		yyDollar = yyS[yypt-2 : yypt+1]
 10093  		var yyLOCAL *OptLike
 10094  //line sql.y:1374
 10095  		{
 10096  			yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName}
 10097  		}
 10098  		yyVAL.union = yyLOCAL
 10099  	case 174:
 10100  		yyDollar = yyS[yypt-4 : yypt+1]
 10101  		var yyLOCAL *OptLike
 10102  //line sql.y:1378
 10103  		{
 10104  			yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName}
 10105  		}
 10106  		yyVAL.union = yyLOCAL
 10107  	case 175:
 10108  		yyDollar = yyS[yypt-1 : yypt+1]
 10109  		var yyLOCAL []*ColumnDefinition
 10110  //line sql.y:1384
 10111  		{
 10112  			yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()}
 10113  		}
 10114  		yyVAL.union = yyLOCAL
 10115  	case 176:
 10116  		yyDollar = yyS[yypt-3 : yypt+1]
 10117  //line sql.y:1388
 10118  		{
 10119  			yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union))
 10120  			*yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion())
 10121  		}
 10122  	case 177:
 10123  		yyDollar = yyS[yypt-1 : yypt+1]
 10124  		var yyLOCAL *TableSpec
 10125  //line sql.y:1394
 10126  		{
 10127  			yyLOCAL = &TableSpec{}
 10128  			yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion())
 10129  		}
 10130  		yyVAL.union = yyLOCAL
 10131  	case 178:
 10132  		yyDollar = yyS[yypt-1 : yypt+1]
 10133  		var yyLOCAL *TableSpec
 10134  //line sql.y:1399
 10135  		{
 10136  			yyLOCAL = &TableSpec{}
 10137  			yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion())
 10138  		}
 10139  		yyVAL.union = yyLOCAL
 10140  	case 179:
 10141  		yyDollar = yyS[yypt-3 : yypt+1]
 10142  //line sql.y:1404
 10143  		{
 10144  			yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
 10145  		}
 10146  	case 180:
 10147  		yyDollar = yyS[yypt-4 : yypt+1]
 10148  //line sql.y:1408
 10149  		{
 10150  			yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
 10151  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion())
 10152  		}
 10153  	case 181:
 10154  		yyDollar = yyS[yypt-3 : yypt+1]
 10155  //line sql.y:1413
 10156  		{
 10157  			yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion())
 10158  		}
 10159  	case 182:
 10160  		yyDollar = yyS[yypt-3 : yypt+1]
 10161  //line sql.y:1417
 10162  		{
 10163  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
 10164  		}
 10165  	case 183:
 10166  		yyDollar = yyS[yypt-3 : yypt+1]
 10167  //line sql.y:1421
 10168  		{
 10169  			yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
 10170  		}
 10171  	case 184:
 10172  		yyDollar = yyS[yypt-5 : yypt+1]
 10173  		var yyLOCAL *ColumnDefinition
 10174  //line sql.y:1432
 10175  		{
 10176  			yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion()
 10177  			if yyDollar[2].columnType.Options.Collate == "" {
 10178  				yyDollar[2].columnType.Options.Collate = yyDollar[3].str
 10179  			}
 10180  			yyDollar[2].columnType.Options.Reference = yyDollar[5].referenceDefinitionUnion()
 10181  			yyLOCAL = &ColumnDefinition{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType}
 10182  		}
 10183  		yyVAL.union = yyLOCAL
 10184  	case 185:
 10185  		yyDollar = yyS[yypt-10 : yypt+1]
 10186  		var yyLOCAL *ColumnDefinition
 10187  //line sql.y:1441
 10188  		{
 10189  			yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion()
 10190  			yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion()
 10191  			yyDollar[2].columnType.Options.Reference = yyDollar[10].referenceDefinitionUnion()
 10192  			yyDollar[2].columnType.Options.Collate = yyDollar[3].str
 10193  			yyLOCAL = &ColumnDefinition{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType}
 10194  		}
 10195  		yyVAL.union = yyLOCAL
 10196  	case 186:
 10197  		yyDollar = yyS[yypt-0 : yypt+1]
 10198  //line sql.y:1450
 10199  		{
 10200  			yyVAL.str = ""
 10201  		}
 10202  	case 187:
 10203  		yyDollar = yyS[yypt-2 : yypt+1]
 10204  //line sql.y:1454
 10205  		{
 10206  			yyVAL.str = ""
 10207  		}
 10208  	case 188:
 10209  		yyDollar = yyS[yypt-0 : yypt+1]
 10210  		var yyLOCAL *ColumnTypeOptions
 10211  //line sql.y:1463
 10212  		{
 10213  			yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: ColKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil}
 10214  		}
 10215  		yyVAL.union = yyLOCAL
 10216  	case 189:
 10217  		yyDollar = yyS[yypt-2 : yypt+1]
 10218  		var yyLOCAL *ColumnTypeOptions
 10219  //line sql.y:1467
 10220  		{
 10221  			val := true
 10222  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10223  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10224  		}
 10225  		yyVAL.union = yyLOCAL
 10226  	case 190:
 10227  		yyDollar = yyS[yypt-3 : yypt+1]
 10228  		var yyLOCAL *ColumnTypeOptions
 10229  //line sql.y:1473
 10230  		{
 10231  			val := false
 10232  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10233  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10234  		}
 10235  		yyVAL.union = yyLOCAL
 10236  	case 191:
 10237  		yyDollar = yyS[yypt-5 : yypt+1]
 10238  		var yyLOCAL *ColumnTypeOptions
 10239  //line sql.y:1479
 10240  		{
 10241  			yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion()
 10242  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10243  		}
 10244  		yyVAL.union = yyLOCAL
 10245  	case 192:
 10246  		yyDollar = yyS[yypt-3 : yypt+1]
 10247  		var yyLOCAL *ColumnTypeOptions
 10248  //line sql.y:1484
 10249  		{
 10250  			yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion()
 10251  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10252  		}
 10253  		yyVAL.union = yyLOCAL
 10254  	case 193:
 10255  		yyDollar = yyS[yypt-4 : yypt+1]
 10256  		var yyLOCAL *ColumnTypeOptions
 10257  //line sql.y:1489
 10258  		{
 10259  			yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion()
 10260  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10261  		}
 10262  		yyVAL.union = yyLOCAL
 10263  	case 194:
 10264  		yyDollar = yyS[yypt-2 : yypt+1]
 10265  		var yyLOCAL *ColumnTypeOptions
 10266  //line sql.y:1494
 10267  		{
 10268  			yyDollar[1].columnTypeOptionsUnion().Autoincrement = true
 10269  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10270  		}
 10271  		yyVAL.union = yyLOCAL
 10272  	case 195:
 10273  		yyDollar = yyS[yypt-3 : yypt+1]
 10274  		var yyLOCAL *ColumnTypeOptions
 10275  //line sql.y:1499
 10276  		{
 10277  			yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
 10278  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10279  		}
 10280  		yyVAL.union = yyLOCAL
 10281  	case 196:
 10282  		yyDollar = yyS[yypt-2 : yypt+1]
 10283  		var yyLOCAL *ColumnTypeOptions
 10284  //line sql.y:1504
 10285  		{
 10286  			yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
 10287  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10288  		}
 10289  		yyVAL.union = yyLOCAL
 10290  	case 197:
 10291  		yyDollar = yyS[yypt-3 : yypt+1]
 10292  //line sql.y:1509
 10293  		{
 10294  			yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str)
 10295  		}
 10296  	case 198:
 10297  		yyDollar = yyS[yypt-3 : yypt+1]
 10298  		var yyLOCAL *ColumnTypeOptions
 10299  //line sql.y:1513
 10300  		{
 10301  			yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].identifierCI.String())
 10302  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10303  		}
 10304  		yyVAL.union = yyLOCAL
 10305  	case 199:
 10306  		yyDollar = yyS[yypt-3 : yypt+1]
 10307  //line sql.y:1518
 10308  		{
 10309  			yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion()
 10310  		}
 10311  	case 200:
 10312  		yyDollar = yyS[yypt-3 : yypt+1]
 10313  		var yyLOCAL *ColumnTypeOptions
 10314  //line sql.y:1522
 10315  		{
 10316  			yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str)
 10317  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10318  		}
 10319  		yyVAL.union = yyLOCAL
 10320  	case 201:
 10321  		yyDollar = yyS[yypt-2 : yypt+1]
 10322  		var yyLOCAL *ColumnTypeOptions
 10323  //line sql.y:1527
 10324  		{
 10325  			val := false
 10326  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10327  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10328  		}
 10329  		yyVAL.union = yyLOCAL
 10330  	case 202:
 10331  		yyDollar = yyS[yypt-2 : yypt+1]
 10332  		var yyLOCAL *ColumnTypeOptions
 10333  //line sql.y:1533
 10334  		{
 10335  			val := true
 10336  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10337  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10338  		}
 10339  		yyVAL.union = yyLOCAL
 10340  	case 203:
 10341  		yyDollar = yyS[yypt-4 : yypt+1]
 10342  //line sql.y:1539
 10343  		{
 10344  			yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str)
 10345  		}
 10346  	case 204:
 10347  		yyDollar = yyS[yypt-4 : yypt+1]
 10348  //line sql.y:1543
 10349  		{
 10350  			yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str)
 10351  		}
 10352  	case 205:
 10353  		yyDollar = yyS[yypt-1 : yypt+1]
 10354  		var yyLOCAL ColumnFormat
 10355  //line sql.y:1549
 10356  		{
 10357  			yyLOCAL = FixedFormat
 10358  		}
 10359  		yyVAL.union = yyLOCAL
 10360  	case 206:
 10361  		yyDollar = yyS[yypt-1 : yypt+1]
 10362  		var yyLOCAL ColumnFormat
 10363  //line sql.y:1553
 10364  		{
 10365  			yyLOCAL = DynamicFormat
 10366  		}
 10367  		yyVAL.union = yyLOCAL
 10368  	case 207:
 10369  		yyDollar = yyS[yypt-1 : yypt+1]
 10370  		var yyLOCAL ColumnFormat
 10371  //line sql.y:1557
 10372  		{
 10373  			yyLOCAL = DefaultFormat
 10374  		}
 10375  		yyVAL.union = yyLOCAL
 10376  	case 208:
 10377  		yyDollar = yyS[yypt-1 : yypt+1]
 10378  		var yyLOCAL ColumnStorage
 10379  //line sql.y:1563
 10380  		{
 10381  			yyLOCAL = VirtualStorage
 10382  		}
 10383  		yyVAL.union = yyLOCAL
 10384  	case 209:
 10385  		yyDollar = yyS[yypt-1 : yypt+1]
 10386  		var yyLOCAL ColumnStorage
 10387  //line sql.y:1567
 10388  		{
 10389  			yyLOCAL = StoredStorage
 10390  		}
 10391  		yyVAL.union = yyLOCAL
 10392  	case 210:
 10393  		yyDollar = yyS[yypt-0 : yypt+1]
 10394  		var yyLOCAL *ColumnTypeOptions
 10395  //line sql.y:1572
 10396  		{
 10397  			yyLOCAL = &ColumnTypeOptions{}
 10398  		}
 10399  		yyVAL.union = yyLOCAL
 10400  	case 211:
 10401  		yyDollar = yyS[yypt-2 : yypt+1]
 10402  		var yyLOCAL *ColumnTypeOptions
 10403  //line sql.y:1576
 10404  		{
 10405  			yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion()
 10406  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10407  		}
 10408  		yyVAL.union = yyLOCAL
 10409  	case 212:
 10410  		yyDollar = yyS[yypt-2 : yypt+1]
 10411  		var yyLOCAL *ColumnTypeOptions
 10412  //line sql.y:1581
 10413  		{
 10414  			val := true
 10415  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10416  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10417  		}
 10418  		yyVAL.union = yyLOCAL
 10419  	case 213:
 10420  		yyDollar = yyS[yypt-3 : yypt+1]
 10421  		var yyLOCAL *ColumnTypeOptions
 10422  //line sql.y:1587
 10423  		{
 10424  			val := false
 10425  			yyDollar[1].columnTypeOptionsUnion().Null = &val
 10426  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10427  		}
 10428  		yyVAL.union = yyLOCAL
 10429  	case 214:
 10430  		yyDollar = yyS[yypt-3 : yypt+1]
 10431  		var yyLOCAL *ColumnTypeOptions
 10432  //line sql.y:1593
 10433  		{
 10434  			yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
 10435  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10436  		}
 10437  		yyVAL.union = yyLOCAL
 10438  	case 215:
 10439  		yyDollar = yyS[yypt-2 : yypt+1]
 10440  		var yyLOCAL *ColumnTypeOptions
 10441  //line sql.y:1598
 10442  		{
 10443  			yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
 10444  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10445  		}
 10446  		yyVAL.union = yyLOCAL
 10447  	case 216:
 10448  		yyDollar = yyS[yypt-2 : yypt+1]
 10449  		var yyLOCAL *ColumnTypeOptions
 10450  //line sql.y:1603
 10451  		{
 10452  			val := false
 10453  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10454  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10455  		}
 10456  		yyVAL.union = yyLOCAL
 10457  	case 217:
 10458  		yyDollar = yyS[yypt-2 : yypt+1]
 10459  		var yyLOCAL *ColumnTypeOptions
 10460  //line sql.y:1609
 10461  		{
 10462  			val := true
 10463  			yyDollar[1].columnTypeOptionsUnion().Invisible = &val
 10464  			yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
 10465  		}
 10466  		yyVAL.union = yyLOCAL
 10467  	case 218:
 10468  		yyDollar = yyS[yypt-1 : yypt+1]
 10469  		var yyLOCAL Expr
 10470  //line sql.y:1617
 10471  		{
 10472  			yyLOCAL = yyDollar[1].exprUnion()
 10473  		}
 10474  		yyVAL.union = yyLOCAL
 10475  	case 220:
 10476  		yyDollar = yyS[yypt-2 : yypt+1]
 10477  		var yyLOCAL Expr
 10478  //line sql.y:1624
 10479  		{
 10480  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_timestamp"), Fsp: yyDollar[2].exprUnion()}
 10481  		}
 10482  		yyVAL.union = yyLOCAL
 10483  	case 221:
 10484  		yyDollar = yyS[yypt-2 : yypt+1]
 10485  		var yyLOCAL Expr
 10486  //line sql.y:1628
 10487  		{
 10488  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtime"), Fsp: yyDollar[2].exprUnion()}
 10489  		}
 10490  		yyVAL.union = yyLOCAL
 10491  	case 222:
 10492  		yyDollar = yyS[yypt-2 : yypt+1]
 10493  		var yyLOCAL Expr
 10494  //line sql.y:1632
 10495  		{
 10496  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtimestamp"), Fsp: yyDollar[2].exprUnion()}
 10497  		}
 10498  		yyVAL.union = yyLOCAL
 10499  	case 223:
 10500  		yyDollar = yyS[yypt-2 : yypt+1]
 10501  		var yyLOCAL Expr
 10502  //line sql.y:1636
 10503  		{
 10504  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_timestamp"), Fsp: yyDollar[2].exprUnion()}
 10505  		}
 10506  		yyVAL.union = yyLOCAL
 10507  	case 224:
 10508  		yyDollar = yyS[yypt-2 : yypt+1]
 10509  		var yyLOCAL Expr
 10510  //line sql.y:1640
 10511  		{
 10512  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("now"), Fsp: yyDollar[2].exprUnion()}
 10513  		}
 10514  		yyVAL.union = yyLOCAL
 10515  	case 227:
 10516  		yyDollar = yyS[yypt-1 : yypt+1]
 10517  		var yyLOCAL Expr
 10518  //line sql.y:1650
 10519  		{
 10520  			yyLOCAL = &NullVal{}
 10521  		}
 10522  		yyVAL.union = yyLOCAL
 10523  	case 229:
 10524  		yyDollar = yyS[yypt-2 : yypt+1]
 10525  		var yyLOCAL Expr
 10526  //line sql.y:1657
 10527  		{
 10528  			yyLOCAL = yyDollar[2].exprUnion()
 10529  		}
 10530  		yyVAL.union = yyLOCAL
 10531  	case 230:
 10532  		yyDollar = yyS[yypt-2 : yypt+1]
 10533  		var yyLOCAL Expr
 10534  //line sql.y:1661
 10535  		{
 10536  			yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
 10537  		}
 10538  		yyVAL.union = yyLOCAL
 10539  	case 231:
 10540  		yyDollar = yyS[yypt-1 : yypt+1]
 10541  		var yyLOCAL Expr
 10542  //line sql.y:1667
 10543  		{
 10544  			yyLOCAL = yyDollar[1].exprUnion()
 10545  		}
 10546  		yyVAL.union = yyLOCAL
 10547  	case 232:
 10548  		yyDollar = yyS[yypt-1 : yypt+1]
 10549  		var yyLOCAL Expr
 10550  //line sql.y:1671
 10551  		{
 10552  			yyLOCAL = yyDollar[1].exprUnion()
 10553  		}
 10554  		yyVAL.union = yyLOCAL
 10555  	case 233:
 10556  		yyDollar = yyS[yypt-1 : yypt+1]
 10557  		var yyLOCAL Expr
 10558  //line sql.y:1675
 10559  		{
 10560  			yyLOCAL = yyDollar[1].boolValUnion()
 10561  		}
 10562  		yyVAL.union = yyLOCAL
 10563  	case 234:
 10564  		yyDollar = yyS[yypt-1 : yypt+1]
 10565  		var yyLOCAL Expr
 10566  //line sql.y:1679
 10567  		{
 10568  			yyLOCAL = NewHexLiteral(yyDollar[1].str)
 10569  		}
 10570  		yyVAL.union = yyLOCAL
 10571  	case 235:
 10572  		yyDollar = yyS[yypt-1 : yypt+1]
 10573  		var yyLOCAL Expr
 10574  //line sql.y:1683
 10575  		{
 10576  			yyLOCAL = NewHexNumLiteral(yyDollar[1].str)
 10577  		}
 10578  		yyVAL.union = yyLOCAL
 10579  	case 236:
 10580  		yyDollar = yyS[yypt-1 : yypt+1]
 10581  		var yyLOCAL Expr
 10582  //line sql.y:1687
 10583  		{
 10584  			yyLOCAL = NewBitLiteral(yyDollar[1].str[2:])
 10585  		}
 10586  		yyVAL.union = yyLOCAL
 10587  	case 237:
 10588  		yyDollar = yyS[yypt-1 : yypt+1]
 10589  		var yyLOCAL Expr
 10590  //line sql.y:1691
 10591  		{
 10592  			yyLOCAL = NewBitLiteral(yyDollar[1].str)
 10593  		}
 10594  		yyVAL.union = yyLOCAL
 10595  	case 238:
 10596  		yyDollar = yyS[yypt-1 : yypt+1]
 10597  		var yyLOCAL Expr
 10598  //line sql.y:1695
 10599  		{
 10600  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 10601  			bindVariable(yylex, yyDollar[1].str[1:])
 10602  		}
 10603  		yyVAL.union = yyLOCAL
 10604  	case 239:
 10605  		yyDollar = yyS[yypt-2 : yypt+1]
 10606  		var yyLOCAL Expr
 10607  //line sql.y:1700
 10608  		{
 10609  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)}
 10610  		}
 10611  		yyVAL.union = yyLOCAL
 10612  	case 240:
 10613  		yyDollar = yyS[yypt-2 : yypt+1]
 10614  		var yyLOCAL Expr
 10615  //line sql.y:1704
 10616  		{
 10617  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)}
 10618  		}
 10619  		yyVAL.union = yyLOCAL
 10620  	case 241:
 10621  		yyDollar = yyS[yypt-2 : yypt+1]
 10622  		var yyLOCAL Expr
 10623  //line sql.y:1708
 10624  		{
 10625  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str[2:])}
 10626  		}
 10627  		yyVAL.union = yyLOCAL
 10628  	case 242:
 10629  		yyDollar = yyS[yypt-2 : yypt+1]
 10630  		var yyLOCAL Expr
 10631  //line sql.y:1712
 10632  		{
 10633  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)}
 10634  		}
 10635  		yyVAL.union = yyLOCAL
 10636  	case 243:
 10637  		yyDollar = yyS[yypt-2 : yypt+1]
 10638  		var yyLOCAL Expr
 10639  //line sql.y:1716
 10640  		{
 10641  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].exprUnion()}
 10642  		}
 10643  		yyVAL.union = yyLOCAL
 10644  	case 244:
 10645  		yyDollar = yyS[yypt-2 : yypt+1]
 10646  		var yyLOCAL Expr
 10647  //line sql.y:1720
 10648  		{
 10649  			bindVariable(yylex, yyDollar[2].str[1:])
 10650  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])}
 10651  		}
 10652  		yyVAL.union = yyLOCAL
 10653  	case 245:
 10654  		yyDollar = yyS[yypt-2 : yypt+1]
 10655  		var yyLOCAL Expr
 10656  //line sql.y:1725
 10657  		{
 10658  			yyLOCAL = NewDateLiteral(yyDollar[2].str)
 10659  		}
 10660  		yyVAL.union = yyLOCAL
 10661  	case 246:
 10662  		yyDollar = yyS[yypt-2 : yypt+1]
 10663  		var yyLOCAL Expr
 10664  //line sql.y:1729
 10665  		{
 10666  			yyLOCAL = NewTimeLiteral(yyDollar[2].str)
 10667  		}
 10668  		yyVAL.union = yyLOCAL
 10669  	case 247:
 10670  		yyDollar = yyS[yypt-2 : yypt+1]
 10671  		var yyLOCAL Expr
 10672  //line sql.y:1733
 10673  		{
 10674  			yyLOCAL = NewTimestampLiteral(yyDollar[2].str)
 10675  		}
 10676  		yyVAL.union = yyLOCAL
 10677  	case 248:
 10678  		yyDollar = yyS[yypt-1 : yypt+1]
 10679  //line sql.y:1739
 10680  		{
 10681  			yyVAL.str = Armscii8Str
 10682  		}
 10683  	case 249:
 10684  		yyDollar = yyS[yypt-1 : yypt+1]
 10685  //line sql.y:1743
 10686  		{
 10687  			yyVAL.str = ASCIIStr
 10688  		}
 10689  	case 250:
 10690  		yyDollar = yyS[yypt-1 : yypt+1]
 10691  //line sql.y:1747
 10692  		{
 10693  			yyVAL.str = Big5Str
 10694  		}
 10695  	case 251:
 10696  		yyDollar = yyS[yypt-1 : yypt+1]
 10697  //line sql.y:1751
 10698  		{
 10699  			yyVAL.str = UBinaryStr
 10700  		}
 10701  	case 252:
 10702  		yyDollar = yyS[yypt-1 : yypt+1]
 10703  //line sql.y:1755
 10704  		{
 10705  			yyVAL.str = Cp1250Str
 10706  		}
 10707  	case 253:
 10708  		yyDollar = yyS[yypt-1 : yypt+1]
 10709  //line sql.y:1759
 10710  		{
 10711  			yyVAL.str = Cp1251Str
 10712  		}
 10713  	case 254:
 10714  		yyDollar = yyS[yypt-1 : yypt+1]
 10715  //line sql.y:1763
 10716  		{
 10717  			yyVAL.str = Cp1256Str
 10718  		}
 10719  	case 255:
 10720  		yyDollar = yyS[yypt-1 : yypt+1]
 10721  //line sql.y:1767
 10722  		{
 10723  			yyVAL.str = Cp1257Str
 10724  		}
 10725  	case 256:
 10726  		yyDollar = yyS[yypt-1 : yypt+1]
 10727  //line sql.y:1771
 10728  		{
 10729  			yyVAL.str = Cp850Str
 10730  		}
 10731  	case 257:
 10732  		yyDollar = yyS[yypt-1 : yypt+1]
 10733  //line sql.y:1775
 10734  		{
 10735  			yyVAL.str = Cp852Str
 10736  		}
 10737  	case 258:
 10738  		yyDollar = yyS[yypt-1 : yypt+1]
 10739  //line sql.y:1779
 10740  		{
 10741  			yyVAL.str = Cp866Str
 10742  		}
 10743  	case 259:
 10744  		yyDollar = yyS[yypt-1 : yypt+1]
 10745  //line sql.y:1783
 10746  		{
 10747  			yyVAL.str = Cp932Str
 10748  		}
 10749  	case 260:
 10750  		yyDollar = yyS[yypt-1 : yypt+1]
 10751  //line sql.y:1787
 10752  		{
 10753  			yyVAL.str = Dec8Str
 10754  		}
 10755  	case 261:
 10756  		yyDollar = yyS[yypt-1 : yypt+1]
 10757  //line sql.y:1791
 10758  		{
 10759  			yyVAL.str = EucjpmsStr
 10760  		}
 10761  	case 262:
 10762  		yyDollar = yyS[yypt-1 : yypt+1]
 10763  //line sql.y:1795
 10764  		{
 10765  			yyVAL.str = EuckrStr
 10766  		}
 10767  	case 263:
 10768  		yyDollar = yyS[yypt-1 : yypt+1]
 10769  //line sql.y:1799
 10770  		{
 10771  			yyVAL.str = Gb18030Str
 10772  		}
 10773  	case 264:
 10774  		yyDollar = yyS[yypt-1 : yypt+1]
 10775  //line sql.y:1803
 10776  		{
 10777  			yyVAL.str = Gb2312Str
 10778  		}
 10779  	case 265:
 10780  		yyDollar = yyS[yypt-1 : yypt+1]
 10781  //line sql.y:1807
 10782  		{
 10783  			yyVAL.str = GbkStr
 10784  		}
 10785  	case 266:
 10786  		yyDollar = yyS[yypt-1 : yypt+1]
 10787  //line sql.y:1811
 10788  		{
 10789  			yyVAL.str = Geostd8Str
 10790  		}
 10791  	case 267:
 10792  		yyDollar = yyS[yypt-1 : yypt+1]
 10793  //line sql.y:1815
 10794  		{
 10795  			yyVAL.str = GreekStr
 10796  		}
 10797  	case 268:
 10798  		yyDollar = yyS[yypt-1 : yypt+1]
 10799  //line sql.y:1819
 10800  		{
 10801  			yyVAL.str = HebrewStr
 10802  		}
 10803  	case 269:
 10804  		yyDollar = yyS[yypt-1 : yypt+1]
 10805  //line sql.y:1823
 10806  		{
 10807  			yyVAL.str = Hp8Str
 10808  		}
 10809  	case 270:
 10810  		yyDollar = yyS[yypt-1 : yypt+1]
 10811  //line sql.y:1827
 10812  		{
 10813  			yyVAL.str = Keybcs2Str
 10814  		}
 10815  	case 271:
 10816  		yyDollar = yyS[yypt-1 : yypt+1]
 10817  //line sql.y:1831
 10818  		{
 10819  			yyVAL.str = Koi8rStr
 10820  		}
 10821  	case 272:
 10822  		yyDollar = yyS[yypt-1 : yypt+1]
 10823  //line sql.y:1835
 10824  		{
 10825  			yyVAL.str = Koi8uStr
 10826  		}
 10827  	case 273:
 10828  		yyDollar = yyS[yypt-1 : yypt+1]
 10829  //line sql.y:1839
 10830  		{
 10831  			yyVAL.str = Latin1Str
 10832  		}
 10833  	case 274:
 10834  		yyDollar = yyS[yypt-1 : yypt+1]
 10835  //line sql.y:1843
 10836  		{
 10837  			yyVAL.str = Latin2Str
 10838  		}
 10839  	case 275:
 10840  		yyDollar = yyS[yypt-1 : yypt+1]
 10841  //line sql.y:1847
 10842  		{
 10843  			yyVAL.str = Latin5Str
 10844  		}
 10845  	case 276:
 10846  		yyDollar = yyS[yypt-1 : yypt+1]
 10847  //line sql.y:1851
 10848  		{
 10849  			yyVAL.str = Latin7Str
 10850  		}
 10851  	case 277:
 10852  		yyDollar = yyS[yypt-1 : yypt+1]
 10853  //line sql.y:1855
 10854  		{
 10855  			yyVAL.str = MacceStr
 10856  		}
 10857  	case 278:
 10858  		yyDollar = yyS[yypt-1 : yypt+1]
 10859  //line sql.y:1859
 10860  		{
 10861  			yyVAL.str = MacromanStr
 10862  		}
 10863  	case 279:
 10864  		yyDollar = yyS[yypt-1 : yypt+1]
 10865  //line sql.y:1863
 10866  		{
 10867  			yyVAL.str = SjisStr
 10868  		}
 10869  	case 280:
 10870  		yyDollar = yyS[yypt-1 : yypt+1]
 10871  //line sql.y:1867
 10872  		{
 10873  			yyVAL.str = Swe7Str
 10874  		}
 10875  	case 281:
 10876  		yyDollar = yyS[yypt-1 : yypt+1]
 10877  //line sql.y:1871
 10878  		{
 10879  			yyVAL.str = Tis620Str
 10880  		}
 10881  	case 282:
 10882  		yyDollar = yyS[yypt-1 : yypt+1]
 10883  //line sql.y:1875
 10884  		{
 10885  			yyVAL.str = Ucs2Str
 10886  		}
 10887  	case 283:
 10888  		yyDollar = yyS[yypt-1 : yypt+1]
 10889  //line sql.y:1879
 10890  		{
 10891  			yyVAL.str = UjisStr
 10892  		}
 10893  	case 284:
 10894  		yyDollar = yyS[yypt-1 : yypt+1]
 10895  //line sql.y:1883
 10896  		{
 10897  			yyVAL.str = Utf16Str
 10898  		}
 10899  	case 285:
 10900  		yyDollar = yyS[yypt-1 : yypt+1]
 10901  //line sql.y:1887
 10902  		{
 10903  			yyVAL.str = Utf16leStr
 10904  		}
 10905  	case 286:
 10906  		yyDollar = yyS[yypt-1 : yypt+1]
 10907  //line sql.y:1891
 10908  		{
 10909  			yyVAL.str = Utf32Str
 10910  		}
 10911  	case 287:
 10912  		yyDollar = yyS[yypt-1 : yypt+1]
 10913  //line sql.y:1895
 10914  		{
 10915  			yyVAL.str = Utf8Str
 10916  		}
 10917  	case 288:
 10918  		yyDollar = yyS[yypt-1 : yypt+1]
 10919  //line sql.y:1899
 10920  		{
 10921  			yyVAL.str = Utf8mb4Str
 10922  		}
 10923  	case 289:
 10924  		yyDollar = yyS[yypt-1 : yypt+1]
 10925  //line sql.y:1903
 10926  		{
 10927  			yyVAL.str = Utf8Str
 10928  		}
 10929  	case 292:
 10930  		yyDollar = yyS[yypt-1 : yypt+1]
 10931  		var yyLOCAL Expr
 10932  //line sql.y:1913
 10933  		{
 10934  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
 10935  		}
 10936  		yyVAL.union = yyLOCAL
 10937  	case 293:
 10938  		yyDollar = yyS[yypt-1 : yypt+1]
 10939  		var yyLOCAL Expr
 10940  //line sql.y:1917
 10941  		{
 10942  			yyLOCAL = NewFloatLiteral(yyDollar[1].str)
 10943  		}
 10944  		yyVAL.union = yyLOCAL
 10945  	case 294:
 10946  		yyDollar = yyS[yypt-1 : yypt+1]
 10947  		var yyLOCAL Expr
 10948  //line sql.y:1921
 10949  		{
 10950  			yyLOCAL = NewDecimalLiteral(yyDollar[1].str)
 10951  		}
 10952  		yyVAL.union = yyLOCAL
 10953  	case 295:
 10954  		yyDollar = yyS[yypt-1 : yypt+1]
 10955  		var yyLOCAL Expr
 10956  //line sql.y:1927
 10957  		{
 10958  			yyLOCAL = NewStrLiteral(yyDollar[1].str)
 10959  		}
 10960  		yyVAL.union = yyLOCAL
 10961  	case 296:
 10962  		yyDollar = yyS[yypt-1 : yypt+1]
 10963  		var yyLOCAL Expr
 10964  //line sql.y:1931
 10965  		{
 10966  			yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)}
 10967  		}
 10968  		yyVAL.union = yyLOCAL
 10969  	case 297:
 10970  		yyDollar = yyS[yypt-2 : yypt+1]
 10971  		var yyLOCAL Expr
 10972  //line sql.y:1935
 10973  		{
 10974  			yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)}
 10975  		}
 10976  		yyVAL.union = yyLOCAL
 10977  	case 298:
 10978  		yyDollar = yyS[yypt-1 : yypt+1]
 10979  		var yyLOCAL Expr
 10980  //line sql.y:1941
 10981  		{
 10982  			yyLOCAL = yyDollar[1].exprUnion()
 10983  		}
 10984  		yyVAL.union = yyLOCAL
 10985  	case 299:
 10986  		yyDollar = yyS[yypt-1 : yypt+1]
 10987  		var yyLOCAL Expr
 10988  //line sql.y:1945
 10989  		{
 10990  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 10991  			bindVariable(yylex, yyDollar[1].str[1:])
 10992  		}
 10993  		yyVAL.union = yyLOCAL
 10994  	case 300:
 10995  		yyDollar = yyS[yypt-2 : yypt+1]
 10996  		var yyLOCAL ColumnKeyOption
 10997  //line sql.y:1952
 10998  		{
 10999  			yyLOCAL = ColKeyPrimary
 11000  		}
 11001  		yyVAL.union = yyLOCAL
 11002  	case 301:
 11003  		yyDollar = yyS[yypt-1 : yypt+1]
 11004  		var yyLOCAL ColumnKeyOption
 11005  //line sql.y:1956
 11006  		{
 11007  			yyLOCAL = ColKeyUnique
 11008  		}
 11009  		yyVAL.union = yyLOCAL
 11010  	case 302:
 11011  		yyDollar = yyS[yypt-2 : yypt+1]
 11012  		var yyLOCAL ColumnKeyOption
 11013  //line sql.y:1960
 11014  		{
 11015  			yyLOCAL = ColKeyUniqueKey
 11016  		}
 11017  		yyVAL.union = yyLOCAL
 11018  	case 303:
 11019  		yyDollar = yyS[yypt-1 : yypt+1]
 11020  		var yyLOCAL ColumnKeyOption
 11021  //line sql.y:1964
 11022  		{
 11023  			yyLOCAL = ColKey
 11024  		}
 11025  		yyVAL.union = yyLOCAL
 11026  	case 304:
 11027  		yyDollar = yyS[yypt-3 : yypt+1]
 11028  //line sql.y:1970
 11029  		{
 11030  			yyVAL.columnType = yyDollar[1].columnType
 11031  			yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion()
 11032  			yyVAL.columnType.Zerofill = yyDollar[3].booleanUnion()
 11033  		}
 11034  	case 308:
 11035  		yyDollar = yyS[yypt-2 : yypt+1]
 11036  //line sql.y:1981
 11037  		{
 11038  			yyVAL.columnType = yyDollar[1].columnType
 11039  			yyVAL.columnType.Length = yyDollar[2].literalUnion()
 11040  		}
 11041  	case 309:
 11042  		yyDollar = yyS[yypt-1 : yypt+1]
 11043  //line sql.y:1986
 11044  		{
 11045  			yyVAL.columnType = yyDollar[1].columnType
 11046  		}
 11047  	case 310:
 11048  		yyDollar = yyS[yypt-1 : yypt+1]
 11049  //line sql.y:1992
 11050  		{
 11051  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11052  		}
 11053  	case 311:
 11054  		yyDollar = yyS[yypt-1 : yypt+1]
 11055  //line sql.y:1996
 11056  		{
 11057  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11058  		}
 11059  	case 312:
 11060  		yyDollar = yyS[yypt-1 : yypt+1]
 11061  //line sql.y:2000
 11062  		{
 11063  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11064  		}
 11065  	case 313:
 11066  		yyDollar = yyS[yypt-1 : yypt+1]
 11067  //line sql.y:2004
 11068  		{
 11069  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11070  		}
 11071  	case 314:
 11072  		yyDollar = yyS[yypt-1 : yypt+1]
 11073  //line sql.y:2008
 11074  		{
 11075  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11076  		}
 11077  	case 315:
 11078  		yyDollar = yyS[yypt-1 : yypt+1]
 11079  //line sql.y:2012
 11080  		{
 11081  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11082  		}
 11083  	case 316:
 11084  		yyDollar = yyS[yypt-1 : yypt+1]
 11085  //line sql.y:2016
 11086  		{
 11087  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11088  		}
 11089  	case 317:
 11090  		yyDollar = yyS[yypt-1 : yypt+1]
 11091  //line sql.y:2020
 11092  		{
 11093  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11094  		}
 11095  	case 318:
 11096  		yyDollar = yyS[yypt-1 : yypt+1]
 11097  //line sql.y:2024
 11098  		{
 11099  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11100  		}
 11101  	case 319:
 11102  		yyDollar = yyS[yypt-2 : yypt+1]
 11103  //line sql.y:2030
 11104  		{
 11105  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11106  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11107  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11108  		}
 11109  	case 320:
 11110  		yyDollar = yyS[yypt-2 : yypt+1]
 11111  //line sql.y:2036
 11112  		{
 11113  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11114  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11115  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11116  		}
 11117  	case 321:
 11118  		yyDollar = yyS[yypt-2 : yypt+1]
 11119  //line sql.y:2042
 11120  		{
 11121  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11122  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11123  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11124  		}
 11125  	case 322:
 11126  		yyDollar = yyS[yypt-2 : yypt+1]
 11127  //line sql.y:2048
 11128  		{
 11129  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11130  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11131  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11132  		}
 11133  	case 323:
 11134  		yyDollar = yyS[yypt-2 : yypt+1]
 11135  //line sql.y:2054
 11136  		{
 11137  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11138  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11139  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11140  		}
 11141  	case 324:
 11142  		yyDollar = yyS[yypt-2 : yypt+1]
 11143  //line sql.y:2060
 11144  		{
 11145  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11146  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11147  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11148  		}
 11149  	case 325:
 11150  		yyDollar = yyS[yypt-2 : yypt+1]
 11151  //line sql.y:2066
 11152  		{
 11153  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11154  			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
 11155  			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
 11156  		}
 11157  	case 326:
 11158  		yyDollar = yyS[yypt-1 : yypt+1]
 11159  //line sql.y:2074
 11160  		{
 11161  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11162  		}
 11163  	case 327:
 11164  		yyDollar = yyS[yypt-2 : yypt+1]
 11165  //line sql.y:2078
 11166  		{
 11167  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11168  		}
 11169  	case 328:
 11170  		yyDollar = yyS[yypt-2 : yypt+1]
 11171  //line sql.y:2082
 11172  		{
 11173  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11174  		}
 11175  	case 329:
 11176  		yyDollar = yyS[yypt-2 : yypt+1]
 11177  //line sql.y:2086
 11178  		{
 11179  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11180  		}
 11181  	case 330:
 11182  		yyDollar = yyS[yypt-2 : yypt+1]
 11183  //line sql.y:2090
 11184  		{
 11185  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11186  		}
 11187  	case 331:
 11188  		yyDollar = yyS[yypt-3 : yypt+1]
 11189  //line sql.y:2096
 11190  		{
 11191  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset}
 11192  		}
 11193  	case 332:
 11194  		yyDollar = yyS[yypt-3 : yypt+1]
 11195  //line sql.y:2100
 11196  		{
 11197  			// CHAR BYTE is an alias for binary. See also:
 11198  			// https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html
 11199  			yyVAL.columnType = &ColumnType{Type: "binary", Length: yyDollar[2].literalUnion()}
 11200  		}
 11201  	case 333:
 11202  		yyDollar = yyS[yypt-3 : yypt+1]
 11203  //line sql.y:2106
 11204  		{
 11205  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset}
 11206  		}
 11207  	case 334:
 11208  		yyDollar = yyS[yypt-2 : yypt+1]
 11209  //line sql.y:2110
 11210  		{
 11211  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11212  		}
 11213  	case 335:
 11214  		yyDollar = yyS[yypt-2 : yypt+1]
 11215  //line sql.y:2114
 11216  		{
 11217  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 11218  		}
 11219  	case 336:
 11220  		yyDollar = yyS[yypt-2 : yypt+1]
 11221  //line sql.y:2118
 11222  		{
 11223  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11224  		}
 11225  	case 337:
 11226  		yyDollar = yyS[yypt-2 : yypt+1]
 11227  //line sql.y:2122
 11228  		{
 11229  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11230  		}
 11231  	case 338:
 11232  		yyDollar = yyS[yypt-2 : yypt+1]
 11233  //line sql.y:2126
 11234  		{
 11235  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11236  		}
 11237  	case 339:
 11238  		yyDollar = yyS[yypt-2 : yypt+1]
 11239  //line sql.y:2130
 11240  		{
 11241  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
 11242  		}
 11243  	case 340:
 11244  		yyDollar = yyS[yypt-1 : yypt+1]
 11245  //line sql.y:2134
 11246  		{
 11247  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11248  		}
 11249  	case 341:
 11250  		yyDollar = yyS[yypt-1 : yypt+1]
 11251  //line sql.y:2138
 11252  		{
 11253  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11254  		}
 11255  	case 342:
 11256  		yyDollar = yyS[yypt-1 : yypt+1]
 11257  //line sql.y:2142
 11258  		{
 11259  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11260  		}
 11261  	case 343:
 11262  		yyDollar = yyS[yypt-1 : yypt+1]
 11263  //line sql.y:2146
 11264  		{
 11265  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11266  		}
 11267  	case 344:
 11268  		yyDollar = yyS[yypt-1 : yypt+1]
 11269  //line sql.y:2150
 11270  		{
 11271  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11272  		}
 11273  	case 345:
 11274  		yyDollar = yyS[yypt-5 : yypt+1]
 11275  //line sql.y:2154
 11276  		{
 11277  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
 11278  		}
 11279  	case 346:
 11280  		yyDollar = yyS[yypt-5 : yypt+1]
 11281  //line sql.y:2159
 11282  		{
 11283  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
 11284  		}
 11285  	case 347:
 11286  		yyDollar = yyS[yypt-1 : yypt+1]
 11287  //line sql.y:2165
 11288  		{
 11289  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11290  		}
 11291  	case 348:
 11292  		yyDollar = yyS[yypt-1 : yypt+1]
 11293  //line sql.y:2169
 11294  		{
 11295  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11296  		}
 11297  	case 349:
 11298  		yyDollar = yyS[yypt-1 : yypt+1]
 11299  //line sql.y:2173
 11300  		{
 11301  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11302  		}
 11303  	case 350:
 11304  		yyDollar = yyS[yypt-1 : yypt+1]
 11305  //line sql.y:2177
 11306  		{
 11307  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11308  		}
 11309  	case 351:
 11310  		yyDollar = yyS[yypt-1 : yypt+1]
 11311  //line sql.y:2181
 11312  		{
 11313  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11314  		}
 11315  	case 352:
 11316  		yyDollar = yyS[yypt-1 : yypt+1]
 11317  //line sql.y:2185
 11318  		{
 11319  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11320  		}
 11321  	case 353:
 11322  		yyDollar = yyS[yypt-1 : yypt+1]
 11323  //line sql.y:2189
 11324  		{
 11325  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11326  		}
 11327  	case 354:
 11328  		yyDollar = yyS[yypt-1 : yypt+1]
 11329  //line sql.y:2193
 11330  		{
 11331  			yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
 11332  		}
 11333  	case 355:
 11334  		yyDollar = yyS[yypt-1 : yypt+1]
 11335  //line sql.y:2199
 11336  		{
 11337  			yyVAL.strs = make([]string, 0, 4)
 11338  			yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str))
 11339  		}
 11340  	case 356:
 11341  		yyDollar = yyS[yypt-3 : yypt+1]
 11342  //line sql.y:2204
 11343  		{
 11344  			yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str))
 11345  		}
 11346  	case 357:
 11347  		yyDollar = yyS[yypt-0 : yypt+1]
 11348  		var yyLOCAL *Literal
 11349  //line sql.y:2209
 11350  		{
 11351  			yyLOCAL = nil
 11352  		}
 11353  		yyVAL.union = yyLOCAL
 11354  	case 358:
 11355  		yyDollar = yyS[yypt-3 : yypt+1]
 11356  		var yyLOCAL *Literal
 11357  //line sql.y:2213
 11358  		{
 11359  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
 11360  		}
 11361  		yyVAL.union = yyLOCAL
 11362  	case 359:
 11363  		yyDollar = yyS[yypt-0 : yypt+1]
 11364  //line sql.y:2218
 11365  		{
 11366  			yyVAL.LengthScaleOption = LengthScaleOption{}
 11367  		}
 11368  	case 360:
 11369  		yyDollar = yyS[yypt-5 : yypt+1]
 11370  //line sql.y:2222
 11371  		{
 11372  			yyVAL.LengthScaleOption = LengthScaleOption{
 11373  				Length: NewIntLiteral(yyDollar[2].str),
 11374  				Scale:  NewIntLiteral(yyDollar[4].str),
 11375  			}
 11376  		}
 11377  	case 361:
 11378  		yyDollar = yyS[yypt-1 : yypt+1]
 11379  //line sql.y:2231
 11380  		{
 11381  			yyVAL.LengthScaleOption = yyDollar[1].LengthScaleOption
 11382  		}
 11383  	case 362:
 11384  		yyDollar = yyS[yypt-3 : yypt+1]
 11385  //line sql.y:2235
 11386  		{
 11387  			yyVAL.LengthScaleOption = LengthScaleOption{
 11388  				Length: NewIntLiteral(yyDollar[2].str),
 11389  			}
 11390  		}
 11391  	case 363:
 11392  		yyDollar = yyS[yypt-0 : yypt+1]
 11393  //line sql.y:2242
 11394  		{
 11395  			yyVAL.LengthScaleOption = LengthScaleOption{}
 11396  		}
 11397  	case 364:
 11398  		yyDollar = yyS[yypt-3 : yypt+1]
 11399  //line sql.y:2246
 11400  		{
 11401  			yyVAL.LengthScaleOption = LengthScaleOption{
 11402  				Length: NewIntLiteral(yyDollar[2].str),
 11403  			}
 11404  		}
 11405  	case 365:
 11406  		yyDollar = yyS[yypt-5 : yypt+1]
 11407  //line sql.y:2252
 11408  		{
 11409  			yyVAL.LengthScaleOption = LengthScaleOption{
 11410  				Length: NewIntLiteral(yyDollar[2].str),
 11411  				Scale:  NewIntLiteral(yyDollar[4].str),
 11412  			}
 11413  		}
 11414  	case 366:
 11415  		yyDollar = yyS[yypt-0 : yypt+1]
 11416  		var yyLOCAL bool
 11417  //line sql.y:2260
 11418  		{
 11419  			yyLOCAL = false
 11420  		}
 11421  		yyVAL.union = yyLOCAL
 11422  	case 367:
 11423  		yyDollar = yyS[yypt-1 : yypt+1]
 11424  		var yyLOCAL bool
 11425  //line sql.y:2264
 11426  		{
 11427  			yyLOCAL = true
 11428  		}
 11429  		yyVAL.union = yyLOCAL
 11430  	case 368:
 11431  		yyDollar = yyS[yypt-1 : yypt+1]
 11432  		var yyLOCAL bool
 11433  //line sql.y:2268
 11434  		{
 11435  			yyLOCAL = false
 11436  		}
 11437  		yyVAL.union = yyLOCAL
 11438  	case 369:
 11439  		yyDollar = yyS[yypt-0 : yypt+1]
 11440  		var yyLOCAL bool
 11441  //line sql.y:2273
 11442  		{
 11443  			yyLOCAL = false
 11444  		}
 11445  		yyVAL.union = yyLOCAL
 11446  	case 370:
 11447  		yyDollar = yyS[yypt-1 : yypt+1]
 11448  		var yyLOCAL bool
 11449  //line sql.y:2277
 11450  		{
 11451  			yyLOCAL = true
 11452  		}
 11453  		yyVAL.union = yyLOCAL
 11454  	case 371:
 11455  		yyDollar = yyS[yypt-0 : yypt+1]
 11456  //line sql.y:2282
 11457  		{
 11458  			yyVAL.columnCharset = ColumnCharset{}
 11459  		}
 11460  	case 372:
 11461  		yyDollar = yyS[yypt-3 : yypt+1]
 11462  //line sql.y:2286
 11463  		{
 11464  			yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].identifierCI.String()), Binary: yyDollar[3].booleanUnion()}
 11465  		}
 11466  	case 373:
 11467  		yyDollar = yyS[yypt-3 : yypt+1]
 11468  //line sql.y:2290
 11469  		{
 11470  			yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()}
 11471  		}
 11472  	case 374:
 11473  		yyDollar = yyS[yypt-2 : yypt+1]
 11474  //line sql.y:2294
 11475  		{
 11476  			yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)}
 11477  		}
 11478  	case 375:
 11479  		yyDollar = yyS[yypt-2 : yypt+1]
 11480  //line sql.y:2298
 11481  		{
 11482  			// ASCII: Shorthand for CHARACTER SET latin1.
 11483  			yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()}
 11484  		}
 11485  	case 376:
 11486  		yyDollar = yyS[yypt-2 : yypt+1]
 11487  //line sql.y:2303
 11488  		{
 11489  			// UNICODE: Shorthand for CHARACTER SET ucs2.
 11490  			yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()}
 11491  		}
 11492  	case 377:
 11493  		yyDollar = yyS[yypt-1 : yypt+1]
 11494  //line sql.y:2308
 11495  		{
 11496  			// BINARY: Shorthand for default CHARACTER SET but with binary collation
 11497  			yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true}
 11498  		}
 11499  	case 378:
 11500  		yyDollar = yyS[yypt-2 : yypt+1]
 11501  //line sql.y:2313
 11502  		{
 11503  			// BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation
 11504  			yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true}
 11505  		}
 11506  	case 379:
 11507  		yyDollar = yyS[yypt-2 : yypt+1]
 11508  //line sql.y:2318
 11509  		{
 11510  			// BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation
 11511  			yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true}
 11512  		}
 11513  	case 380:
 11514  		yyDollar = yyS[yypt-0 : yypt+1]
 11515  		var yyLOCAL bool
 11516  //line sql.y:2324
 11517  		{
 11518  			yyLOCAL = false
 11519  		}
 11520  		yyVAL.union = yyLOCAL
 11521  	case 381:
 11522  		yyDollar = yyS[yypt-1 : yypt+1]
 11523  		var yyLOCAL bool
 11524  //line sql.y:2328
 11525  		{
 11526  			yyLOCAL = true
 11527  		}
 11528  		yyVAL.union = yyLOCAL
 11529  	case 382:
 11530  		yyDollar = yyS[yypt-0 : yypt+1]
 11531  //line sql.y:2333
 11532  		{
 11533  			yyVAL.str = ""
 11534  		}
 11535  	case 383:
 11536  		yyDollar = yyS[yypt-2 : yypt+1]
 11537  //line sql.y:2337
 11538  		{
 11539  			yyVAL.str = string(yyDollar[2].identifierCI.String())
 11540  		}
 11541  	case 384:
 11542  		yyDollar = yyS[yypt-2 : yypt+1]
 11543  //line sql.y:2341
 11544  		{
 11545  			yyVAL.str = encodeSQLString(yyDollar[2].str)
 11546  		}
 11547  	case 385:
 11548  		yyDollar = yyS[yypt-5 : yypt+1]
 11549  		var yyLOCAL *IndexDefinition
 11550  //line sql.y:2347
 11551  		{
 11552  			yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()}
 11553  		}
 11554  		yyVAL.union = yyLOCAL
 11555  	case 386:
 11556  		yyDollar = yyS[yypt-0 : yypt+1]
 11557  		var yyLOCAL []*IndexOption
 11558  //line sql.y:2352
 11559  		{
 11560  			yyLOCAL = nil
 11561  		}
 11562  		yyVAL.union = yyLOCAL
 11563  	case 387:
 11564  		yyDollar = yyS[yypt-1 : yypt+1]
 11565  		var yyLOCAL []*IndexOption
 11566  //line sql.y:2356
 11567  		{
 11568  			yyLOCAL = yyDollar[1].indexOptionsUnion()
 11569  		}
 11570  		yyVAL.union = yyLOCAL
 11571  	case 388:
 11572  		yyDollar = yyS[yypt-1 : yypt+1]
 11573  		var yyLOCAL []*IndexOption
 11574  //line sql.y:2362
 11575  		{
 11576  			yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
 11577  		}
 11578  		yyVAL.union = yyLOCAL
 11579  	case 389:
 11580  		yyDollar = yyS[yypt-2 : yypt+1]
 11581  //line sql.y:2366
 11582  		{
 11583  			yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union))
 11584  			*yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion())
 11585  		}
 11586  	case 390:
 11587  		yyDollar = yyS[yypt-1 : yypt+1]
 11588  		var yyLOCAL *IndexOption
 11589  //line sql.y:2372
 11590  		{
 11591  			yyLOCAL = yyDollar[1].indexOptionUnion()
 11592  		}
 11593  		yyVAL.union = yyLOCAL
 11594  	case 391:
 11595  		yyDollar = yyS[yypt-3 : yypt+1]
 11596  		var yyLOCAL *IndexOption
 11597  //line sql.y:2376
 11598  		{
 11599  			// should not be string
 11600  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 11601  		}
 11602  		yyVAL.union = yyLOCAL
 11603  	case 392:
 11604  		yyDollar = yyS[yypt-2 : yypt+1]
 11605  		var yyLOCAL *IndexOption
 11606  //line sql.y:2381
 11607  		{
 11608  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)}
 11609  		}
 11610  		yyVAL.union = yyLOCAL
 11611  	case 393:
 11612  		yyDollar = yyS[yypt-1 : yypt+1]
 11613  		var yyLOCAL *IndexOption
 11614  //line sql.y:2385
 11615  		{
 11616  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
 11617  		}
 11618  		yyVAL.union = yyLOCAL
 11619  	case 394:
 11620  		yyDollar = yyS[yypt-1 : yypt+1]
 11621  		var yyLOCAL *IndexOption
 11622  //line sql.y:2389
 11623  		{
 11624  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
 11625  		}
 11626  		yyVAL.union = yyLOCAL
 11627  	case 395:
 11628  		yyDollar = yyS[yypt-3 : yypt+1]
 11629  		var yyLOCAL *IndexOption
 11630  //line sql.y:2393
 11631  		{
 11632  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].identifierCI.String()}
 11633  		}
 11634  		yyVAL.union = yyLOCAL
 11635  	case 396:
 11636  		yyDollar = yyS[yypt-3 : yypt+1]
 11637  		var yyLOCAL *IndexOption
 11638  //line sql.y:2397
 11639  		{
 11640  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 11641  		}
 11642  		yyVAL.union = yyLOCAL
 11643  	case 397:
 11644  		yyDollar = yyS[yypt-3 : yypt+1]
 11645  		var yyLOCAL *IndexOption
 11646  //line sql.y:2401
 11647  		{
 11648  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 11649  		}
 11650  		yyVAL.union = yyLOCAL
 11651  	case 398:
 11652  		yyDollar = yyS[yypt-0 : yypt+1]
 11653  //line sql.y:2407
 11654  		{
 11655  			yyVAL.str = ""
 11656  		}
 11657  	case 399:
 11658  		yyDollar = yyS[yypt-1 : yypt+1]
 11659  //line sql.y:2411
 11660  		{
 11661  			yyVAL.str = string(yyDollar[1].str)
 11662  		}
 11663  	case 400:
 11664  		yyDollar = yyS[yypt-4 : yypt+1]
 11665  		var yyLOCAL *IndexInfo
 11666  //line sql.y:2417
 11667  		{
 11668  			yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI("PRIMARY"), Primary: true, Unique: true}
 11669  		}
 11670  		yyVAL.union = yyLOCAL
 11671  	case 401:
 11672  		yyDollar = yyS[yypt-3 : yypt+1]
 11673  		var yyLOCAL *IndexInfo
 11674  //line sql.y:2421
 11675  		{
 11676  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewIdentifierCI(yyDollar[3].str), Spatial: true, Unique: false}
 11677  		}
 11678  		yyVAL.union = yyLOCAL
 11679  	case 402:
 11680  		yyDollar = yyS[yypt-3 : yypt+1]
 11681  		var yyLOCAL *IndexInfo
 11682  //line sql.y:2425
 11683  		{
 11684  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewIdentifierCI(yyDollar[3].str), Fulltext: true, Unique: false}
 11685  		}
 11686  		yyVAL.union = yyLOCAL
 11687  	case 403:
 11688  		yyDollar = yyS[yypt-4 : yypt+1]
 11689  		var yyLOCAL *IndexInfo
 11690  //line sql.y:2429
 11691  		{
 11692  			yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[4].str), Unique: true}
 11693  		}
 11694  		yyVAL.union = yyLOCAL
 11695  	case 404:
 11696  		yyDollar = yyS[yypt-2 : yypt+1]
 11697  		var yyLOCAL *IndexInfo
 11698  //line sql.y:2433
 11699  		{
 11700  			yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[2].str), Unique: false}
 11701  		}
 11702  		yyVAL.union = yyLOCAL
 11703  	case 405:
 11704  		yyDollar = yyS[yypt-0 : yypt+1]
 11705  //line sql.y:2438
 11706  		{
 11707  			yyVAL.str = ""
 11708  		}
 11709  	case 406:
 11710  		yyDollar = yyS[yypt-2 : yypt+1]
 11711  //line sql.y:2442
 11712  		{
 11713  			yyVAL.str = yyDollar[2].str
 11714  		}
 11715  	case 407:
 11716  		yyDollar = yyS[yypt-1 : yypt+1]
 11717  //line sql.y:2448
 11718  		{
 11719  			yyVAL.str = string(yyDollar[1].str)
 11720  		}
 11721  	case 408:
 11722  		yyDollar = yyS[yypt-1 : yypt+1]
 11723  //line sql.y:2452
 11724  		{
 11725  			yyVAL.str = string(yyDollar[1].str)
 11726  		}
 11727  	case 409:
 11728  		yyDollar = yyS[yypt-1 : yypt+1]
 11729  //line sql.y:2456
 11730  		{
 11731  			yyVAL.str = string(yyDollar[1].str)
 11732  		}
 11733  	case 410:
 11734  		yyDollar = yyS[yypt-1 : yypt+1]
 11735  //line sql.y:2462
 11736  		{
 11737  			yyVAL.str = string(yyDollar[1].str)
 11738  		}
 11739  	case 411:
 11740  		yyDollar = yyS[yypt-1 : yypt+1]
 11741  //line sql.y:2466
 11742  		{
 11743  			yyVAL.str = string(yyDollar[1].str)
 11744  		}
 11745  	case 412:
 11746  		yyDollar = yyS[yypt-0 : yypt+1]
 11747  //line sql.y:2471
 11748  		{
 11749  			yyVAL.str = "key"
 11750  		}
 11751  	case 413:
 11752  		yyDollar = yyS[yypt-1 : yypt+1]
 11753  //line sql.y:2475
 11754  		{
 11755  			yyVAL.str = yyDollar[1].str
 11756  		}
 11757  	case 414:
 11758  		yyDollar = yyS[yypt-1 : yypt+1]
 11759  //line sql.y:2481
 11760  		{
 11761  			yyVAL.str = string(yyDollar[1].str)
 11762  		}
 11763  	case 415:
 11764  		yyDollar = yyS[yypt-1 : yypt+1]
 11765  //line sql.y:2485
 11766  		{
 11767  			yyVAL.str = string(yyDollar[1].str)
 11768  		}
 11769  	case 416:
 11770  		yyDollar = yyS[yypt-0 : yypt+1]
 11771  //line sql.y:2490
 11772  		{
 11773  			yyVAL.str = ""
 11774  		}
 11775  	case 417:
 11776  		yyDollar = yyS[yypt-1 : yypt+1]
 11777  //line sql.y:2494
 11778  		{
 11779  			yyVAL.str = string(yyDollar[1].identifierCI.String())
 11780  		}
 11781  	case 418:
 11782  		yyDollar = yyS[yypt-1 : yypt+1]
 11783  		var yyLOCAL []*IndexColumn
 11784  //line sql.y:2500
 11785  		{
 11786  			yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()}
 11787  		}
 11788  		yyVAL.union = yyLOCAL
 11789  	case 419:
 11790  		yyDollar = yyS[yypt-3 : yypt+1]
 11791  //line sql.y:2504
 11792  		{
 11793  			yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union))
 11794  			*yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion())
 11795  		}
 11796  	case 420:
 11797  		yyDollar = yyS[yypt-3 : yypt+1]
 11798  		var yyLOCAL *IndexColumn
 11799  //line sql.y:2510
 11800  		{
 11801  			yyLOCAL = &IndexColumn{Column: yyDollar[1].identifierCI, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()}
 11802  		}
 11803  		yyVAL.union = yyLOCAL
 11804  	case 421:
 11805  		yyDollar = yyS[yypt-4 : yypt+1]
 11806  		var yyLOCAL *IndexColumn
 11807  //line sql.y:2514
 11808  		{
 11809  			yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()}
 11810  		}
 11811  		yyVAL.union = yyLOCAL
 11812  	case 422:
 11813  		yyDollar = yyS[yypt-3 : yypt+1]
 11814  		var yyLOCAL *ConstraintDefinition
 11815  //line sql.y:2520
 11816  		{
 11817  			yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
 11818  		}
 11819  		yyVAL.union = yyLOCAL
 11820  	case 423:
 11821  		yyDollar = yyS[yypt-1 : yypt+1]
 11822  		var yyLOCAL *ConstraintDefinition
 11823  //line sql.y:2524
 11824  		{
 11825  			yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
 11826  		}
 11827  		yyVAL.union = yyLOCAL
 11828  	case 424:
 11829  		yyDollar = yyS[yypt-3 : yypt+1]
 11830  		var yyLOCAL *ConstraintDefinition
 11831  //line sql.y:2530
 11832  		{
 11833  			yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
 11834  		}
 11835  		yyVAL.union = yyLOCAL
 11836  	case 425:
 11837  		yyDollar = yyS[yypt-1 : yypt+1]
 11838  		var yyLOCAL *ConstraintDefinition
 11839  //line sql.y:2534
 11840  		{
 11841  			yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
 11842  		}
 11843  		yyVAL.union = yyLOCAL
 11844  	case 426:
 11845  		yyDollar = yyS[yypt-7 : yypt+1]
 11846  		var yyLOCAL ConstraintInfo
 11847  //line sql.y:2540
 11848  		{
 11849  			yyLOCAL = &ForeignKeyDefinition{IndexName: NewIdentifierCI(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()}
 11850  		}
 11851  		yyVAL.union = yyLOCAL
 11852  	case 427:
 11853  		yyDollar = yyS[yypt-6 : yypt+1]
 11854  		var yyLOCAL *ReferenceDefinition
 11855  //line sql.y:2546
 11856  		{
 11857  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()}
 11858  		}
 11859  		yyVAL.union = yyLOCAL
 11860  	case 428:
 11861  		yyDollar = yyS[yypt-7 : yypt+1]
 11862  		var yyLOCAL *ReferenceDefinition
 11863  //line sql.y:2550
 11864  		{
 11865  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()}
 11866  		}
 11867  		yyVAL.union = yyLOCAL
 11868  	case 429:
 11869  		yyDollar = yyS[yypt-7 : yypt+1]
 11870  		var yyLOCAL *ReferenceDefinition
 11871  //line sql.y:2554
 11872  		{
 11873  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()}
 11874  		}
 11875  		yyVAL.union = yyLOCAL
 11876  	case 430:
 11877  		yyDollar = yyS[yypt-8 : yypt+1]
 11878  		var yyLOCAL *ReferenceDefinition
 11879  //line sql.y:2558
 11880  		{
 11881  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()}
 11882  		}
 11883  		yyVAL.union = yyLOCAL
 11884  	case 431:
 11885  		yyDollar = yyS[yypt-8 : yypt+1]
 11886  		var yyLOCAL *ReferenceDefinition
 11887  //line sql.y:2562
 11888  		{
 11889  			yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()}
 11890  		}
 11891  		yyVAL.union = yyLOCAL
 11892  	case 432:
 11893  		yyDollar = yyS[yypt-0 : yypt+1]
 11894  		var yyLOCAL *ReferenceDefinition
 11895  //line sql.y:2567
 11896  		{
 11897  			yyLOCAL = nil
 11898  		}
 11899  		yyVAL.union = yyLOCAL
 11900  	case 433:
 11901  		yyDollar = yyS[yypt-1 : yypt+1]
 11902  		var yyLOCAL *ReferenceDefinition
 11903  //line sql.y:2571
 11904  		{
 11905  			yyLOCAL = yyDollar[1].referenceDefinitionUnion()
 11906  		}
 11907  		yyVAL.union = yyLOCAL
 11908  	case 434:
 11909  		yyDollar = yyS[yypt-5 : yypt+1]
 11910  		var yyLOCAL ConstraintInfo
 11911  //line sql.y:2577
 11912  		{
 11913  			yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()}
 11914  		}
 11915  		yyVAL.union = yyLOCAL
 11916  	case 435:
 11917  		yyDollar = yyS[yypt-2 : yypt+1]
 11918  		var yyLOCAL MatchAction
 11919  //line sql.y:2583
 11920  		{
 11921  			yyLOCAL = yyDollar[2].matchActionUnion()
 11922  		}
 11923  		yyVAL.union = yyLOCAL
 11924  	case 436:
 11925  		yyDollar = yyS[yypt-1 : yypt+1]
 11926  		var yyLOCAL MatchAction
 11927  //line sql.y:2589
 11928  		{
 11929  			yyLOCAL = Full
 11930  		}
 11931  		yyVAL.union = yyLOCAL
 11932  	case 437:
 11933  		yyDollar = yyS[yypt-1 : yypt+1]
 11934  		var yyLOCAL MatchAction
 11935  //line sql.y:2593
 11936  		{
 11937  			yyLOCAL = Partial
 11938  		}
 11939  		yyVAL.union = yyLOCAL
 11940  	case 438:
 11941  		yyDollar = yyS[yypt-1 : yypt+1]
 11942  		var yyLOCAL MatchAction
 11943  //line sql.y:2597
 11944  		{
 11945  			yyLOCAL = Simple
 11946  		}
 11947  		yyVAL.union = yyLOCAL
 11948  	case 439:
 11949  		yyDollar = yyS[yypt-0 : yypt+1]
 11950  		var yyLOCAL MatchAction
 11951  //line sql.y:2602
 11952  		{
 11953  			yyLOCAL = DefaultMatch
 11954  		}
 11955  		yyVAL.union = yyLOCAL
 11956  	case 440:
 11957  		yyDollar = yyS[yypt-1 : yypt+1]
 11958  		var yyLOCAL MatchAction
 11959  //line sql.y:2606
 11960  		{
 11961  			yyLOCAL = yyDollar[1].matchActionUnion()
 11962  		}
 11963  		yyVAL.union = yyLOCAL
 11964  	case 441:
 11965  		yyDollar = yyS[yypt-3 : yypt+1]
 11966  		var yyLOCAL ReferenceAction
 11967  //line sql.y:2612
 11968  		{
 11969  			yyLOCAL = yyDollar[3].referenceActionUnion()
 11970  		}
 11971  		yyVAL.union = yyLOCAL
 11972  	case 442:
 11973  		yyDollar = yyS[yypt-3 : yypt+1]
 11974  		var yyLOCAL ReferenceAction
 11975  //line sql.y:2618
 11976  		{
 11977  			yyLOCAL = yyDollar[3].referenceActionUnion()
 11978  		}
 11979  		yyVAL.union = yyLOCAL
 11980  	case 443:
 11981  		yyDollar = yyS[yypt-1 : yypt+1]
 11982  		var yyLOCAL ReferenceAction
 11983  //line sql.y:2624
 11984  		{
 11985  			yyLOCAL = Restrict
 11986  		}
 11987  		yyVAL.union = yyLOCAL
 11988  	case 444:
 11989  		yyDollar = yyS[yypt-1 : yypt+1]
 11990  		var yyLOCAL ReferenceAction
 11991  //line sql.y:2628
 11992  		{
 11993  			yyLOCAL = Cascade
 11994  		}
 11995  		yyVAL.union = yyLOCAL
 11996  	case 445:
 11997  		yyDollar = yyS[yypt-2 : yypt+1]
 11998  		var yyLOCAL ReferenceAction
 11999  //line sql.y:2632
 12000  		{
 12001  			yyLOCAL = NoAction
 12002  		}
 12003  		yyVAL.union = yyLOCAL
 12004  	case 446:
 12005  		yyDollar = yyS[yypt-2 : yypt+1]
 12006  		var yyLOCAL ReferenceAction
 12007  //line sql.y:2636
 12008  		{
 12009  			yyLOCAL = SetDefault
 12010  		}
 12011  		yyVAL.union = yyLOCAL
 12012  	case 447:
 12013  		yyDollar = yyS[yypt-2 : yypt+1]
 12014  		var yyLOCAL ReferenceAction
 12015  //line sql.y:2640
 12016  		{
 12017  			yyLOCAL = SetNull
 12018  		}
 12019  		yyVAL.union = yyLOCAL
 12020  	case 448:
 12021  		yyDollar = yyS[yypt-0 : yypt+1]
 12022  //line sql.y:2645
 12023  		{
 12024  			yyVAL.str = ""
 12025  		}
 12026  	case 449:
 12027  		yyDollar = yyS[yypt-1 : yypt+1]
 12028  //line sql.y:2649
 12029  		{
 12030  			yyVAL.str = string(yyDollar[1].str)
 12031  		}
 12032  	case 450:
 12033  		yyDollar = yyS[yypt-1 : yypt+1]
 12034  //line sql.y:2653
 12035  		{
 12036  			yyVAL.str = string(yyDollar[1].str)
 12037  		}
 12038  	case 451:
 12039  		yyDollar = yyS[yypt-1 : yypt+1]
 12040  		var yyLOCAL bool
 12041  //line sql.y:2659
 12042  		{
 12043  			yyLOCAL = true
 12044  		}
 12045  		yyVAL.union = yyLOCAL
 12046  	case 452:
 12047  		yyDollar = yyS[yypt-2 : yypt+1]
 12048  		var yyLOCAL bool
 12049  //line sql.y:2663
 12050  		{
 12051  			yyLOCAL = false
 12052  		}
 12053  		yyVAL.union = yyLOCAL
 12054  	case 453:
 12055  		yyDollar = yyS[yypt-0 : yypt+1]
 12056  		var yyLOCAL bool
 12057  //line sql.y:2668
 12058  		{
 12059  			yyLOCAL = true
 12060  		}
 12061  		yyVAL.union = yyLOCAL
 12062  	case 454:
 12063  		yyDollar = yyS[yypt-1 : yypt+1]
 12064  		var yyLOCAL bool
 12065  //line sql.y:2672
 12066  		{
 12067  			yyLOCAL = yyDollar[1].booleanUnion()
 12068  		}
 12069  		yyVAL.union = yyLOCAL
 12070  	case 455:
 12071  		yyDollar = yyS[yypt-0 : yypt+1]
 12072  		var yyLOCAL TableOptions
 12073  //line sql.y:2677
 12074  		{
 12075  			yyLOCAL = nil
 12076  		}
 12077  		yyVAL.union = yyLOCAL
 12078  	case 456:
 12079  		yyDollar = yyS[yypt-1 : yypt+1]
 12080  		var yyLOCAL TableOptions
 12081  //line sql.y:2681
 12082  		{
 12083  			yyLOCAL = yyDollar[1].tableOptionsUnion()
 12084  		}
 12085  		yyVAL.union = yyLOCAL
 12086  	case 457:
 12087  		yyDollar = yyS[yypt-1 : yypt+1]
 12088  		var yyLOCAL TableOptions
 12089  //line sql.y:2687
 12090  		{
 12091  			yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
 12092  		}
 12093  		yyVAL.union = yyLOCAL
 12094  	case 458:
 12095  		yyDollar = yyS[yypt-3 : yypt+1]
 12096  //line sql.y:2691
 12097  		{
 12098  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
 12099  			*yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion())
 12100  		}
 12101  	case 459:
 12102  		yyDollar = yyS[yypt-2 : yypt+1]
 12103  //line sql.y:2695
 12104  		{
 12105  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
 12106  			*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
 12107  		}
 12108  	case 460:
 12109  		yyDollar = yyS[yypt-1 : yypt+1]
 12110  		var yyLOCAL TableOptions
 12111  //line sql.y:2701
 12112  		{
 12113  			yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
 12114  		}
 12115  		yyVAL.union = yyLOCAL
 12116  	case 461:
 12117  		yyDollar = yyS[yypt-2 : yypt+1]
 12118  //line sql.y:2705
 12119  		{
 12120  			yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
 12121  			*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
 12122  		}
 12123  	case 462:
 12124  		yyDollar = yyS[yypt-3 : yypt+1]
 12125  		var yyLOCAL *TableOption
 12126  //line sql.y:2711
 12127  		{
 12128  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12129  		}
 12130  		yyVAL.union = yyLOCAL
 12131  	case 463:
 12132  		yyDollar = yyS[yypt-3 : yypt+1]
 12133  		var yyLOCAL *TableOption
 12134  //line sql.y:2715
 12135  		{
 12136  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12137  		}
 12138  		yyVAL.union = yyLOCAL
 12139  	case 464:
 12140  		yyDollar = yyS[yypt-3 : yypt+1]
 12141  		var yyLOCAL *TableOption
 12142  //line sql.y:2719
 12143  		{
 12144  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12145  		}
 12146  		yyVAL.union = yyLOCAL
 12147  	case 465:
 12148  		yyDollar = yyS[yypt-4 : yypt+1]
 12149  		var yyLOCAL *TableOption
 12150  //line sql.y:2723
 12151  		{
 12152  			yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true}
 12153  		}
 12154  		yyVAL.union = yyLOCAL
 12155  	case 466:
 12156  		yyDollar = yyS[yypt-4 : yypt+1]
 12157  		var yyLOCAL *TableOption
 12158  //line sql.y:2727
 12159  		{
 12160  			yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true}
 12161  		}
 12162  		yyVAL.union = yyLOCAL
 12163  	case 467:
 12164  		yyDollar = yyS[yypt-3 : yypt+1]
 12165  		var yyLOCAL *TableOption
 12166  //line sql.y:2731
 12167  		{
 12168  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12169  		}
 12170  		yyVAL.union = yyLOCAL
 12171  	case 468:
 12172  		yyDollar = yyS[yypt-3 : yypt+1]
 12173  		var yyLOCAL *TableOption
 12174  //line sql.y:2735
 12175  		{
 12176  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12177  		}
 12178  		yyVAL.union = yyLOCAL
 12179  	case 469:
 12180  		yyDollar = yyS[yypt-3 : yypt+1]
 12181  		var yyLOCAL *TableOption
 12182  //line sql.y:2739
 12183  		{
 12184  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12185  		}
 12186  		yyVAL.union = yyLOCAL
 12187  	case 470:
 12188  		yyDollar = yyS[yypt-3 : yypt+1]
 12189  		var yyLOCAL *TableOption
 12190  //line sql.y:2743
 12191  		{
 12192  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12193  		}
 12194  		yyVAL.union = yyLOCAL
 12195  	case 471:
 12196  		yyDollar = yyS[yypt-4 : yypt+1]
 12197  		var yyLOCAL *TableOption
 12198  //line sql.y:2747
 12199  		{
 12200  			yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
 12201  		}
 12202  		yyVAL.union = yyLOCAL
 12203  	case 472:
 12204  		yyDollar = yyS[yypt-4 : yypt+1]
 12205  		var yyLOCAL *TableOption
 12206  //line sql.y:2751
 12207  		{
 12208  			yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
 12209  		}
 12210  		yyVAL.union = yyLOCAL
 12211  	case 473:
 12212  		yyDollar = yyS[yypt-3 : yypt+1]
 12213  		var yyLOCAL *TableOption
 12214  //line sql.y:2755
 12215  		{
 12216  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12217  		}
 12218  		yyVAL.union = yyLOCAL
 12219  	case 474:
 12220  		yyDollar = yyS[yypt-3 : yypt+1]
 12221  		var yyLOCAL *TableOption
 12222  //line sql.y:2759
 12223  		{
 12224  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12225  		}
 12226  		yyVAL.union = yyLOCAL
 12227  	case 475:
 12228  		yyDollar = yyS[yypt-3 : yypt+1]
 12229  		var yyLOCAL *TableOption
 12230  //line sql.y:2763
 12231  		{
 12232  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].identifierCS.String(), CaseSensitive: true}
 12233  		}
 12234  		yyVAL.union = yyLOCAL
 12235  	case 476:
 12236  		yyDollar = yyS[yypt-3 : yypt+1]
 12237  		var yyLOCAL *TableOption
 12238  //line sql.y:2767
 12239  		{
 12240  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12241  		}
 12242  		yyVAL.union = yyLOCAL
 12243  	case 477:
 12244  		yyDollar = yyS[yypt-3 : yypt+1]
 12245  		var yyLOCAL *TableOption
 12246  //line sql.y:2771
 12247  		{
 12248  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12249  		}
 12250  		yyVAL.union = yyLOCAL
 12251  	case 478:
 12252  		yyDollar = yyS[yypt-3 : yypt+1]
 12253  		var yyLOCAL *TableOption
 12254  //line sql.y:2775
 12255  		{
 12256  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12257  		}
 12258  		yyVAL.union = yyLOCAL
 12259  	case 479:
 12260  		yyDollar = yyS[yypt-3 : yypt+1]
 12261  		var yyLOCAL *TableOption
 12262  //line sql.y:2779
 12263  		{
 12264  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12265  		}
 12266  		yyVAL.union = yyLOCAL
 12267  	case 480:
 12268  		yyDollar = yyS[yypt-3 : yypt+1]
 12269  		var yyLOCAL *TableOption
 12270  //line sql.y:2783
 12271  		{
 12272  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12273  		}
 12274  		yyVAL.union = yyLOCAL
 12275  	case 481:
 12276  		yyDollar = yyS[yypt-3 : yypt+1]
 12277  		var yyLOCAL *TableOption
 12278  //line sql.y:2787
 12279  		{
 12280  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12281  		}
 12282  		yyVAL.union = yyLOCAL
 12283  	case 482:
 12284  		yyDollar = yyS[yypt-3 : yypt+1]
 12285  		var yyLOCAL *TableOption
 12286  //line sql.y:2791
 12287  		{
 12288  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12289  		}
 12290  		yyVAL.union = yyLOCAL
 12291  	case 483:
 12292  		yyDollar = yyS[yypt-3 : yypt+1]
 12293  		var yyLOCAL *TableOption
 12294  //line sql.y:2795
 12295  		{
 12296  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12297  		}
 12298  		yyVAL.union = yyLOCAL
 12299  	case 484:
 12300  		yyDollar = yyS[yypt-3 : yypt+1]
 12301  		var yyLOCAL *TableOption
 12302  //line sql.y:2799
 12303  		{
 12304  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12305  		}
 12306  		yyVAL.union = yyLOCAL
 12307  	case 485:
 12308  		yyDollar = yyS[yypt-3 : yypt+1]
 12309  		var yyLOCAL *TableOption
 12310  //line sql.y:2803
 12311  		{
 12312  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
 12313  		}
 12314  		yyVAL.union = yyLOCAL
 12315  	case 486:
 12316  		yyDollar = yyS[yypt-3 : yypt+1]
 12317  		var yyLOCAL *TableOption
 12318  //line sql.y:2807
 12319  		{
 12320  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12321  		}
 12322  		yyVAL.union = yyLOCAL
 12323  	case 487:
 12324  		yyDollar = yyS[yypt-3 : yypt+1]
 12325  		var yyLOCAL *TableOption
 12326  //line sql.y:2811
 12327  		{
 12328  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12329  		}
 12330  		yyVAL.union = yyLOCAL
 12331  	case 488:
 12332  		yyDollar = yyS[yypt-3 : yypt+1]
 12333  		var yyLOCAL *TableOption
 12334  //line sql.y:2815
 12335  		{
 12336  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12337  		}
 12338  		yyVAL.union = yyLOCAL
 12339  	case 489:
 12340  		yyDollar = yyS[yypt-3 : yypt+1]
 12341  		var yyLOCAL *TableOption
 12342  //line sql.y:2819
 12343  		{
 12344  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
 12345  		}
 12346  		yyVAL.union = yyLOCAL
 12347  	case 490:
 12348  		yyDollar = yyS[yypt-3 : yypt+1]
 12349  		var yyLOCAL *TableOption
 12350  //line sql.y:2823
 12351  		{
 12352  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
 12353  		}
 12354  		yyVAL.union = yyLOCAL
 12355  	case 491:
 12356  		yyDollar = yyS[yypt-4 : yypt+1]
 12357  		var yyLOCAL *TableOption
 12358  //line sql.y:2827
 12359  		{
 12360  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].identifierCI.String() + yyDollar[4].str)}
 12361  		}
 12362  		yyVAL.union = yyLOCAL
 12363  	case 492:
 12364  		yyDollar = yyS[yypt-5 : yypt+1]
 12365  		var yyLOCAL *TableOption
 12366  //line sql.y:2831
 12367  		{
 12368  			yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()}
 12369  		}
 12370  		yyVAL.union = yyLOCAL
 12371  	case 493:
 12372  		yyDollar = yyS[yypt-0 : yypt+1]
 12373  //line sql.y:2836
 12374  		{
 12375  			yyVAL.str = ""
 12376  		}
 12377  	case 494:
 12378  		yyDollar = yyS[yypt-2 : yypt+1]
 12379  //line sql.y:2840
 12380  		{
 12381  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 12382  		}
 12383  	case 495:
 12384  		yyDollar = yyS[yypt-2 : yypt+1]
 12385  //line sql.y:2844
 12386  		{
 12387  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 12388  		}
 12389  	case 505:
 12390  		yyDollar = yyS[yypt-3 : yypt+1]
 12391  //line sql.y:2863
 12392  		{
 12393  			yyVAL.str = String(TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS})
 12394  		}
 12395  	case 506:
 12396  		yyDollar = yyS[yypt-1 : yypt+1]
 12397  //line sql.y:2867
 12398  		{
 12399  			yyVAL.str = yyDollar[1].identifierCI.String()
 12400  		}
 12401  	case 507:
 12402  		yyDollar = yyS[yypt-1 : yypt+1]
 12403  //line sql.y:2871
 12404  		{
 12405  			yyVAL.str = encodeSQLString(yyDollar[1].str)
 12406  		}
 12407  	case 508:
 12408  		yyDollar = yyS[yypt-1 : yypt+1]
 12409  //line sql.y:2875
 12410  		{
 12411  			yyVAL.str = string(yyDollar[1].str)
 12412  		}
 12413  	case 509:
 12414  		yyDollar = yyS[yypt-0 : yypt+1]
 12415  //line sql.y:2880
 12416  		{
 12417  			yyVAL.str = ""
 12418  		}
 12419  	case 511:
 12420  		yyDollar = yyS[yypt-0 : yypt+1]
 12421  		var yyLOCAL bool
 12422  //line sql.y:2886
 12423  		{
 12424  			yyLOCAL = false
 12425  		}
 12426  		yyVAL.union = yyLOCAL
 12427  	case 512:
 12428  		yyDollar = yyS[yypt-1 : yypt+1]
 12429  		var yyLOCAL bool
 12430  //line sql.y:2890
 12431  		{
 12432  			yyLOCAL = true
 12433  		}
 12434  		yyVAL.union = yyLOCAL
 12435  	case 513:
 12436  		yyDollar = yyS[yypt-0 : yypt+1]
 12437  		var yyLOCAL *ColName
 12438  //line sql.y:2895
 12439  		{
 12440  			yyLOCAL = nil
 12441  		}
 12442  		yyVAL.union = yyLOCAL
 12443  	case 514:
 12444  		yyDollar = yyS[yypt-2 : yypt+1]
 12445  		var yyLOCAL *ColName
 12446  //line sql.y:2899
 12447  		{
 12448  			yyLOCAL = yyDollar[2].colNameUnion()
 12449  		}
 12450  		yyVAL.union = yyLOCAL
 12451  	case 515:
 12452  		yyDollar = yyS[yypt-0 : yypt+1]
 12453  //line sql.y:2904
 12454  		{
 12455  			yyVAL.str = ""
 12456  		}
 12457  	case 516:
 12458  		yyDollar = yyS[yypt-2 : yypt+1]
 12459  //line sql.y:2908
 12460  		{
 12461  			yyVAL.str = string(yyDollar[2].str)
 12462  		}
 12463  	case 517:
 12464  		yyDollar = yyS[yypt-0 : yypt+1]
 12465  		var yyLOCAL *Literal
 12466  //line sql.y:2913
 12467  		{
 12468  			yyLOCAL = nil
 12469  		}
 12470  		yyVAL.union = yyLOCAL
 12471  	case 518:
 12472  		yyDollar = yyS[yypt-2 : yypt+1]
 12473  		var yyLOCAL *Literal
 12474  //line sql.y:2917
 12475  		{
 12476  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
 12477  		}
 12478  		yyVAL.union = yyLOCAL
 12479  	case 519:
 12480  		yyDollar = yyS[yypt-2 : yypt+1]
 12481  		var yyLOCAL *Literal
 12482  //line sql.y:2921
 12483  		{
 12484  			yyLOCAL = NewDecimalLiteral(yyDollar[2].str)
 12485  		}
 12486  		yyVAL.union = yyLOCAL
 12487  	case 520:
 12488  		yyDollar = yyS[yypt-0 : yypt+1]
 12489  		var yyLOCAL []AlterOption
 12490  //line sql.y:2926
 12491  		{
 12492  			yyLOCAL = nil
 12493  		}
 12494  		yyVAL.union = yyLOCAL
 12495  	case 521:
 12496  		yyDollar = yyS[yypt-1 : yypt+1]
 12497  		var yyLOCAL []AlterOption
 12498  //line sql.y:2930
 12499  		{
 12500  			yyLOCAL = yyDollar[1].alterOptionsUnion()
 12501  		}
 12502  		yyVAL.union = yyLOCAL
 12503  	case 522:
 12504  		yyDollar = yyS[yypt-5 : yypt+1]
 12505  //line sql.y:2934
 12506  		{
 12507  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12508  			*yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()})
 12509  		}
 12510  	case 523:
 12511  		yyDollar = yyS[yypt-1 : yypt+1]
 12512  		var yyLOCAL []AlterOption
 12513  //line sql.y:2938
 12514  		{
 12515  			yyLOCAL = yyDollar[1].alterOptionsUnion()
 12516  		}
 12517  		yyVAL.union = yyLOCAL
 12518  	case 524:
 12519  		yyDollar = yyS[yypt-3 : yypt+1]
 12520  //line sql.y:2942
 12521  		{
 12522  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12523  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...)
 12524  		}
 12525  	case 525:
 12526  		yyDollar = yyS[yypt-7 : yypt+1]
 12527  		var yyLOCAL []AlterOption
 12528  //line sql.y:2946
 12529  		{
 12530  			yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()})
 12531  		}
 12532  		yyVAL.union = yyLOCAL
 12533  	case 526:
 12534  		yyDollar = yyS[yypt-1 : yypt+1]
 12535  		var yyLOCAL []AlterOption
 12536  //line sql.y:2952
 12537  		{
 12538  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 12539  		}
 12540  		yyVAL.union = yyLOCAL
 12541  	case 527:
 12542  		yyDollar = yyS[yypt-3 : yypt+1]
 12543  //line sql.y:2956
 12544  		{
 12545  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12546  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
 12547  		}
 12548  	case 528:
 12549  		yyDollar = yyS[yypt-3 : yypt+1]
 12550  //line sql.y:2960
 12551  		{
 12552  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12553  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
 12554  		}
 12555  	case 529:
 12556  		yyDollar = yyS[yypt-1 : yypt+1]
 12557  		var yyLOCAL AlterOption
 12558  //line sql.y:2966
 12559  		{
 12560  			yyLOCAL = yyDollar[1].tableOptionsUnion()
 12561  		}
 12562  		yyVAL.union = yyLOCAL
 12563  	case 530:
 12564  		yyDollar = yyS[yypt-2 : yypt+1]
 12565  		var yyLOCAL AlterOption
 12566  //line sql.y:2970
 12567  		{
 12568  			yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
 12569  		}
 12570  		yyVAL.union = yyLOCAL
 12571  	case 531:
 12572  		yyDollar = yyS[yypt-2 : yypt+1]
 12573  		var yyLOCAL AlterOption
 12574  //line sql.y:2974
 12575  		{
 12576  			yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
 12577  		}
 12578  		yyVAL.union = yyLOCAL
 12579  	case 532:
 12580  		yyDollar = yyS[yypt-2 : yypt+1]
 12581  		var yyLOCAL AlterOption
 12582  //line sql.y:2978
 12583  		{
 12584  			yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()}
 12585  		}
 12586  		yyVAL.union = yyLOCAL
 12587  	case 533:
 12588  		yyDollar = yyS[yypt-5 : yypt+1]
 12589  		var yyLOCAL AlterOption
 12590  //line sql.y:2982
 12591  		{
 12592  			yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()}
 12593  		}
 12594  		yyVAL.union = yyLOCAL
 12595  	case 534:
 12596  		yyDollar = yyS[yypt-5 : yypt+1]
 12597  		var yyLOCAL AlterOption
 12598  //line sql.y:2986
 12599  		{
 12600  			yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
 12601  		}
 12602  		yyVAL.union = yyLOCAL
 12603  	case 535:
 12604  		yyDollar = yyS[yypt-5 : yypt+1]
 12605  		var yyLOCAL AlterOption
 12606  //line sql.y:2990
 12607  		{
 12608  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true}
 12609  		}
 12610  		yyVAL.union = yyLOCAL
 12611  	case 536:
 12612  		yyDollar = yyS[yypt-6 : yypt+1]
 12613  		var yyLOCAL AlterOption
 12614  //line sql.y:2994
 12615  		{
 12616  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()}
 12617  		}
 12618  		yyVAL.union = yyLOCAL
 12619  	case 537:
 12620  		yyDollar = yyS[yypt-8 : yypt+1]
 12621  		var yyLOCAL AlterOption
 12622  //line sql.y:2998
 12623  		{
 12624  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()}
 12625  		}
 12626  		yyVAL.union = yyLOCAL
 12627  	case 538:
 12628  		yyDollar = yyS[yypt-5 : yypt+1]
 12629  		var yyLOCAL AlterOption
 12630  //line sql.y:3002
 12631  		{
 12632  			val := false
 12633  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val}
 12634  		}
 12635  		yyVAL.union = yyLOCAL
 12636  	case 539:
 12637  		yyDollar = yyS[yypt-5 : yypt+1]
 12638  		var yyLOCAL AlterOption
 12639  //line sql.y:3007
 12640  		{
 12641  			val := true
 12642  			yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val}
 12643  		}
 12644  		yyVAL.union = yyLOCAL
 12645  	case 540:
 12646  		yyDollar = yyS[yypt-4 : yypt+1]
 12647  		var yyLOCAL AlterOption
 12648  //line sql.y:3012
 12649  		{
 12650  			yyLOCAL = &AlterCheck{Name: yyDollar[3].identifierCI, Enforced: yyDollar[4].booleanUnion()}
 12651  		}
 12652  		yyVAL.union = yyLOCAL
 12653  	case 541:
 12654  		yyDollar = yyS[yypt-4 : yypt+1]
 12655  		var yyLOCAL AlterOption
 12656  //line sql.y:3016
 12657  		{
 12658  			yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: false}
 12659  		}
 12660  		yyVAL.union = yyLOCAL
 12661  	case 542:
 12662  		yyDollar = yyS[yypt-4 : yypt+1]
 12663  		var yyLOCAL AlterOption
 12664  //line sql.y:3020
 12665  		{
 12666  			yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: true}
 12667  		}
 12668  		yyVAL.union = yyLOCAL
 12669  	case 543:
 12670  		yyDollar = yyS[yypt-6 : yypt+1]
 12671  		var yyLOCAL AlterOption
 12672  //line sql.y:3024
 12673  		{
 12674  			yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()}
 12675  		}
 12676  		yyVAL.union = yyLOCAL
 12677  	case 544:
 12678  		yyDollar = yyS[yypt-5 : yypt+1]
 12679  		var yyLOCAL AlterOption
 12680  //line sql.y:3028
 12681  		{
 12682  			yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
 12683  		}
 12684  		yyVAL.union = yyLOCAL
 12685  	case 545:
 12686  		yyDollar = yyS[yypt-5 : yypt+1]
 12687  		var yyLOCAL AlterOption
 12688  //line sql.y:3032
 12689  		{
 12690  			yyLOCAL = &RenameColumn{OldName: yyDollar[3].colNameUnion(), NewName: yyDollar[5].colNameUnion()}
 12691  		}
 12692  		yyVAL.union = yyLOCAL
 12693  	case 546:
 12694  		yyDollar = yyS[yypt-5 : yypt+1]
 12695  		var yyLOCAL AlterOption
 12696  //line sql.y:3036
 12697  		{
 12698  			yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str}
 12699  		}
 12700  		yyVAL.union = yyLOCAL
 12701  	case 547:
 12702  		yyDollar = yyS[yypt-2 : yypt+1]
 12703  		var yyLOCAL AlterOption
 12704  //line sql.y:3040
 12705  		{
 12706  			yyLOCAL = &KeyState{Enable: false}
 12707  		}
 12708  		yyVAL.union = yyLOCAL
 12709  	case 548:
 12710  		yyDollar = yyS[yypt-2 : yypt+1]
 12711  		var yyLOCAL AlterOption
 12712  //line sql.y:3044
 12713  		{
 12714  			yyLOCAL = &KeyState{Enable: true}
 12715  		}
 12716  		yyVAL.union = yyLOCAL
 12717  	case 549:
 12718  		yyDollar = yyS[yypt-2 : yypt+1]
 12719  		var yyLOCAL AlterOption
 12720  //line sql.y:3048
 12721  		{
 12722  			yyLOCAL = &TablespaceOperation{Import: false}
 12723  		}
 12724  		yyVAL.union = yyLOCAL
 12725  	case 550:
 12726  		yyDollar = yyS[yypt-2 : yypt+1]
 12727  		var yyLOCAL AlterOption
 12728  //line sql.y:3052
 12729  		{
 12730  			yyLOCAL = &TablespaceOperation{Import: true}
 12731  		}
 12732  		yyVAL.union = yyLOCAL
 12733  	case 551:
 12734  		yyDollar = yyS[yypt-3 : yypt+1]
 12735  		var yyLOCAL AlterOption
 12736  //line sql.y:3056
 12737  		{
 12738  			yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()}
 12739  		}
 12740  		yyVAL.union = yyLOCAL
 12741  	case 552:
 12742  		yyDollar = yyS[yypt-3 : yypt+1]
 12743  		var yyLOCAL AlterOption
 12744  //line sql.y:3060
 12745  		{
 12746  			yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].identifierCI}
 12747  		}
 12748  		yyVAL.union = yyLOCAL
 12749  	case 553:
 12750  		yyDollar = yyS[yypt-3 : yypt+1]
 12751  		var yyLOCAL AlterOption
 12752  //line sql.y:3064
 12753  		{
 12754  			yyLOCAL = &DropKey{Type: PrimaryKeyType}
 12755  		}
 12756  		yyVAL.union = yyLOCAL
 12757  	case 554:
 12758  		yyDollar = yyS[yypt-4 : yypt+1]
 12759  		var yyLOCAL AlterOption
 12760  //line sql.y:3068
 12761  		{
 12762  			yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].identifierCI}
 12763  		}
 12764  		yyVAL.union = yyLOCAL
 12765  	case 555:
 12766  		yyDollar = yyS[yypt-3 : yypt+1]
 12767  		var yyLOCAL AlterOption
 12768  //line sql.y:3072
 12769  		{
 12770  			yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
 12771  		}
 12772  		yyVAL.union = yyLOCAL
 12773  	case 556:
 12774  		yyDollar = yyS[yypt-3 : yypt+1]
 12775  		var yyLOCAL AlterOption
 12776  //line sql.y:3076
 12777  		{
 12778  			yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
 12779  		}
 12780  		yyVAL.union = yyLOCAL
 12781  	case 557:
 12782  		yyDollar = yyS[yypt-1 : yypt+1]
 12783  		var yyLOCAL AlterOption
 12784  //line sql.y:3080
 12785  		{
 12786  			yyLOCAL = &Force{}
 12787  		}
 12788  		yyVAL.union = yyLOCAL
 12789  	case 558:
 12790  		yyDollar = yyS[yypt-3 : yypt+1]
 12791  		var yyLOCAL AlterOption
 12792  //line sql.y:3084
 12793  		{
 12794  			yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName}
 12795  		}
 12796  		yyVAL.union = yyLOCAL
 12797  	case 559:
 12798  		yyDollar = yyS[yypt-5 : yypt+1]
 12799  		var yyLOCAL AlterOption
 12800  //line sql.y:3088
 12801  		{
 12802  			yyLOCAL = &RenameIndex{OldName: yyDollar[3].identifierCI, NewName: yyDollar[5].identifierCI}
 12803  		}
 12804  		yyVAL.union = yyLOCAL
 12805  	case 560:
 12806  		yyDollar = yyS[yypt-1 : yypt+1]
 12807  		var yyLOCAL []AlterOption
 12808  //line sql.y:3094
 12809  		{
 12810  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 12811  		}
 12812  		yyVAL.union = yyLOCAL
 12813  	case 561:
 12814  		yyDollar = yyS[yypt-3 : yypt+1]
 12815  //line sql.y:3098
 12816  		{
 12817  			yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
 12818  			*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
 12819  		}
 12820  	case 562:
 12821  		yyDollar = yyS[yypt-3 : yypt+1]
 12822  		var yyLOCAL AlterOption
 12823  //line sql.y:3104
 12824  		{
 12825  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12826  		}
 12827  		yyVAL.union = yyLOCAL
 12828  	case 563:
 12829  		yyDollar = yyS[yypt-3 : yypt+1]
 12830  		var yyLOCAL AlterOption
 12831  //line sql.y:3108
 12832  		{
 12833  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12834  		}
 12835  		yyVAL.union = yyLOCAL
 12836  	case 564:
 12837  		yyDollar = yyS[yypt-3 : yypt+1]
 12838  		var yyLOCAL AlterOption
 12839  //line sql.y:3112
 12840  		{
 12841  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12842  		}
 12843  		yyVAL.union = yyLOCAL
 12844  	case 565:
 12845  		yyDollar = yyS[yypt-3 : yypt+1]
 12846  		var yyLOCAL AlterOption
 12847  //line sql.y:3116
 12848  		{
 12849  			yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
 12850  		}
 12851  		yyVAL.union = yyLOCAL
 12852  	case 566:
 12853  		yyDollar = yyS[yypt-3 : yypt+1]
 12854  		var yyLOCAL AlterOption
 12855  //line sql.y:3120
 12856  		{
 12857  			yyLOCAL = &LockOption{Type: DefaultType}
 12858  		}
 12859  		yyVAL.union = yyLOCAL
 12860  	case 567:
 12861  		yyDollar = yyS[yypt-3 : yypt+1]
 12862  		var yyLOCAL AlterOption
 12863  //line sql.y:3124
 12864  		{
 12865  			yyLOCAL = &LockOption{Type: NoneType}
 12866  		}
 12867  		yyVAL.union = yyLOCAL
 12868  	case 568:
 12869  		yyDollar = yyS[yypt-3 : yypt+1]
 12870  		var yyLOCAL AlterOption
 12871  //line sql.y:3128
 12872  		{
 12873  			yyLOCAL = &LockOption{Type: SharedType}
 12874  		}
 12875  		yyVAL.union = yyLOCAL
 12876  	case 569:
 12877  		yyDollar = yyS[yypt-3 : yypt+1]
 12878  		var yyLOCAL AlterOption
 12879  //line sql.y:3132
 12880  		{
 12881  			yyLOCAL = &LockOption{Type: ExclusiveType}
 12882  		}
 12883  		yyVAL.union = yyLOCAL
 12884  	case 570:
 12885  		yyDollar = yyS[yypt-2 : yypt+1]
 12886  		var yyLOCAL AlterOption
 12887  //line sql.y:3136
 12888  		{
 12889  			yyLOCAL = &Validation{With: true}
 12890  		}
 12891  		yyVAL.union = yyLOCAL
 12892  	case 571:
 12893  		yyDollar = yyS[yypt-2 : yypt+1]
 12894  		var yyLOCAL AlterOption
 12895  //line sql.y:3140
 12896  		{
 12897  			yyLOCAL = &Validation{With: false}
 12898  		}
 12899  		yyVAL.union = yyLOCAL
 12900  	case 572:
 12901  		yyDollar = yyS[yypt-3 : yypt+1]
 12902  		var yyLOCAL Statement
 12903  //line sql.y:3146
 12904  		{
 12905  			yyDollar[1].alterTableUnion().FullyParsed = true
 12906  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
 12907  			yyDollar[1].alterTableUnion().PartitionOption = yyDollar[3].partitionOptionUnion()
 12908  			yyLOCAL = yyDollar[1].alterTableUnion()
 12909  		}
 12910  		yyVAL.union = yyLOCAL
 12911  	case 573:
 12912  		yyDollar = yyS[yypt-4 : yypt+1]
 12913  		var yyLOCAL Statement
 12914  //line sql.y:3153
 12915  		{
 12916  			yyDollar[1].alterTableUnion().FullyParsed = true
 12917  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
 12918  			yyDollar[1].alterTableUnion().PartitionSpec = &PartitionSpec{Action: RemoveAction}
 12919  			yyLOCAL = yyDollar[1].alterTableUnion()
 12920  		}
 12921  		yyVAL.union = yyLOCAL
 12922  	case 574:
 12923  		yyDollar = yyS[yypt-4 : yypt+1]
 12924  		var yyLOCAL Statement
 12925  //line sql.y:3160
 12926  		{
 12927  			yyDollar[1].alterTableUnion().FullyParsed = true
 12928  			yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
 12929  			yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[4].partSpecUnion()
 12930  			yyLOCAL = yyDollar[1].alterTableUnion()
 12931  		}
 12932  		yyVAL.union = yyLOCAL
 12933  	case 575:
 12934  		yyDollar = yyS[yypt-2 : yypt+1]
 12935  		var yyLOCAL Statement
 12936  //line sql.y:3167
 12937  		{
 12938  			yyDollar[1].alterTableUnion().FullyParsed = true
 12939  			yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion()
 12940  			yyLOCAL = yyDollar[1].alterTableUnion()
 12941  		}
 12942  		yyVAL.union = yyLOCAL
 12943  	case 576:
 12944  		yyDollar = yyS[yypt-11 : yypt+1]
 12945  		var yyLOCAL Statement
 12946  //line sql.y:3173
 12947  		{
 12948  			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}
 12949  		}
 12950  		yyVAL.union = yyLOCAL
 12951  	case 577:
 12952  		yyDollar = yyS[yypt-3 : yypt+1]
 12953  		var yyLOCAL Statement
 12954  //line sql.y:3183
 12955  		{
 12956  			yyDollar[1].alterDatabaseUnion().FullyParsed = true
 12957  			yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
 12958  			yyDollar[1].alterDatabaseUnion().AlterOptions = yyDollar[3].databaseOptionsUnion()
 12959  			yyLOCAL = yyDollar[1].alterDatabaseUnion()
 12960  		}
 12961  		yyVAL.union = yyLOCAL
 12962  	case 578:
 12963  		yyDollar = yyS[yypt-6 : yypt+1]
 12964  		var yyLOCAL Statement
 12965  //line sql.y:3190
 12966  		{
 12967  			yyDollar[1].alterDatabaseUnion().FullyParsed = true
 12968  			yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
 12969  			yyDollar[1].alterDatabaseUnion().UpdateDataDirectory = true
 12970  			yyLOCAL = yyDollar[1].alterDatabaseUnion()
 12971  		}
 12972  		yyVAL.union = yyLOCAL
 12973  	case 579:
 12974  		yyDollar = yyS[yypt-8 : yypt+1]
 12975  		var yyLOCAL Statement
 12976  //line sql.y:3197
 12977  		{
 12978  			yyLOCAL = &AlterVschema{
 12979  				Action: CreateVindexDDLAction,
 12980  				Table:  yyDollar[6].tableName,
 12981  				VindexSpec: &VindexSpec{
 12982  					Name:   NewIdentifierCI(yyDollar[6].tableName.Name.String()),
 12983  					Type:   yyDollar[7].identifierCI,
 12984  					Params: yyDollar[8].vindexParamsUnion(),
 12985  				},
 12986  			}
 12987  		}
 12988  		yyVAL.union = yyLOCAL
 12989  	case 580:
 12990  		yyDollar = yyS[yypt-6 : yypt+1]
 12991  		var yyLOCAL Statement
 12992  //line sql.y:3209
 12993  		{
 12994  			yyLOCAL = &AlterVschema{
 12995  				Action: DropVindexDDLAction,
 12996  				Table:  yyDollar[6].tableName,
 12997  				VindexSpec: &VindexSpec{
 12998  					Name: NewIdentifierCI(yyDollar[6].tableName.Name.String()),
 12999  				},
 13000  			}
 13001  		}
 13002  		yyVAL.union = yyLOCAL
 13003  	case 581:
 13004  		yyDollar = yyS[yypt-6 : yypt+1]
 13005  		var yyLOCAL Statement
 13006  //line sql.y:3219
 13007  		{
 13008  			yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName}
 13009  		}
 13010  		yyVAL.union = yyLOCAL
 13011  	case 582:
 13012  		yyDollar = yyS[yypt-6 : yypt+1]
 13013  		var yyLOCAL Statement
 13014  //line sql.y:3223
 13015  		{
 13016  			yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName}
 13017  		}
 13018  		yyVAL.union = yyLOCAL
 13019  	case 583:
 13020  		yyDollar = yyS[yypt-13 : yypt+1]
 13021  		var yyLOCAL Statement
 13022  //line sql.y:3227
 13023  		{
 13024  			yyLOCAL = &AlterVschema{
 13025  				Action: AddColVindexDDLAction,
 13026  				Table:  yyDollar[5].tableName,
 13027  				VindexSpec: &VindexSpec{
 13028  					Name:   yyDollar[8].identifierCI,
 13029  					Type:   yyDollar[12].identifierCI,
 13030  					Params: yyDollar[13].vindexParamsUnion(),
 13031  				},
 13032  				VindexCols: yyDollar[10].columnsUnion(),
 13033  			}
 13034  		}
 13035  		yyVAL.union = yyLOCAL
 13036  	case 584:
 13037  		yyDollar = yyS[yypt-8 : yypt+1]
 13038  		var yyLOCAL Statement
 13039  //line sql.y:3240
 13040  		{
 13041  			yyLOCAL = &AlterVschema{
 13042  				Action: DropColVindexDDLAction,
 13043  				Table:  yyDollar[5].tableName,
 13044  				VindexSpec: &VindexSpec{
 13045  					Name: yyDollar[8].identifierCI,
 13046  				},
 13047  			}
 13048  		}
 13049  		yyVAL.union = yyLOCAL
 13050  	case 585:
 13051  		yyDollar = yyS[yypt-6 : yypt+1]
 13052  		var yyLOCAL Statement
 13053  //line sql.y:3250
 13054  		{
 13055  			yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName}
 13056  		}
 13057  		yyVAL.union = yyLOCAL
 13058  	case 586:
 13059  		yyDollar = yyS[yypt-10 : yypt+1]
 13060  		var yyLOCAL Statement
 13061  //line sql.y:3254
 13062  		{
 13063  			yyLOCAL = &AlterVschema{
 13064  				Action: AddAutoIncDDLAction,
 13065  				Table:  yyDollar[5].tableName,
 13066  				AutoIncSpec: &AutoIncSpec{
 13067  					Column:   yyDollar[8].identifierCI,
 13068  					Sequence: yyDollar[10].tableName,
 13069  				},
 13070  			}
 13071  		}
 13072  		yyVAL.union = yyLOCAL
 13073  	case 587:
 13074  		yyDollar = yyS[yypt-5 : yypt+1]
 13075  		var yyLOCAL Statement
 13076  //line sql.y:3265
 13077  		{
 13078  			yyLOCAL = &AlterMigration{
 13079  				Type: RetryMigrationType,
 13080  				UUID: string(yyDollar[4].str),
 13081  			}
 13082  		}
 13083  		yyVAL.union = yyLOCAL
 13084  	case 588:
 13085  		yyDollar = yyS[yypt-5 : yypt+1]
 13086  		var yyLOCAL Statement
 13087  //line sql.y:3272
 13088  		{
 13089  			yyLOCAL = &AlterMigration{
 13090  				Type: CleanupMigrationType,
 13091  				UUID: string(yyDollar[4].str),
 13092  			}
 13093  		}
 13094  		yyVAL.union = yyLOCAL
 13095  	case 589:
 13096  		yyDollar = yyS[yypt-5 : yypt+1]
 13097  		var yyLOCAL Statement
 13098  //line sql.y:3279
 13099  		{
 13100  			yyLOCAL = &AlterMigration{
 13101  				Type: LaunchMigrationType,
 13102  				UUID: string(yyDollar[4].str),
 13103  			}
 13104  		}
 13105  		yyVAL.union = yyLOCAL
 13106  	case 590:
 13107  		yyDollar = yyS[yypt-7 : yypt+1]
 13108  		var yyLOCAL Statement
 13109  //line sql.y:3286
 13110  		{
 13111  			yyLOCAL = &AlterMigration{
 13112  				Type:   LaunchMigrationType,
 13113  				UUID:   string(yyDollar[4].str),
 13114  				Shards: string(yyDollar[7].str),
 13115  			}
 13116  		}
 13117  		yyVAL.union = yyLOCAL
 13118  	case 591:
 13119  		yyDollar = yyS[yypt-5 : yypt+1]
 13120  		var yyLOCAL Statement
 13121  //line sql.y:3294
 13122  		{
 13123  			yyLOCAL = &AlterMigration{
 13124  				Type: LaunchAllMigrationType,
 13125  			}
 13126  		}
 13127  		yyVAL.union = yyLOCAL
 13128  	case 592:
 13129  		yyDollar = yyS[yypt-5 : yypt+1]
 13130  		var yyLOCAL Statement
 13131  //line sql.y:3300
 13132  		{
 13133  			yyLOCAL = &AlterMigration{
 13134  				Type: CompleteMigrationType,
 13135  				UUID: string(yyDollar[4].str),
 13136  			}
 13137  		}
 13138  		yyVAL.union = yyLOCAL
 13139  	case 593:
 13140  		yyDollar = yyS[yypt-5 : yypt+1]
 13141  		var yyLOCAL Statement
 13142  //line sql.y:3307
 13143  		{
 13144  			yyLOCAL = &AlterMigration{
 13145  				Type: CompleteAllMigrationType,
 13146  			}
 13147  		}
 13148  		yyVAL.union = yyLOCAL
 13149  	case 594:
 13150  		yyDollar = yyS[yypt-5 : yypt+1]
 13151  		var yyLOCAL Statement
 13152  //line sql.y:3313
 13153  		{
 13154  			yyLOCAL = &AlterMigration{
 13155  				Type: CancelMigrationType,
 13156  				UUID: string(yyDollar[4].str),
 13157  			}
 13158  		}
 13159  		yyVAL.union = yyLOCAL
 13160  	case 595:
 13161  		yyDollar = yyS[yypt-5 : yypt+1]
 13162  		var yyLOCAL Statement
 13163  //line sql.y:3320
 13164  		{
 13165  			yyLOCAL = &AlterMigration{
 13166  				Type: CancelAllMigrationType,
 13167  			}
 13168  		}
 13169  		yyVAL.union = yyLOCAL
 13170  	case 596:
 13171  		yyDollar = yyS[yypt-7 : yypt+1]
 13172  		var yyLOCAL Statement
 13173  //line sql.y:3326
 13174  		{
 13175  			yyLOCAL = &AlterMigration{
 13176  				Type:   ThrottleMigrationType,
 13177  				UUID:   string(yyDollar[4].str),
 13178  				Expire: yyDollar[6].str,
 13179  				Ratio:  yyDollar[7].literalUnion(),
 13180  			}
 13181  		}
 13182  		yyVAL.union = yyLOCAL
 13183  	case 597:
 13184  		yyDollar = yyS[yypt-7 : yypt+1]
 13185  		var yyLOCAL Statement
 13186  //line sql.y:3335
 13187  		{
 13188  			yyLOCAL = &AlterMigration{
 13189  				Type:   ThrottleAllMigrationType,
 13190  				Expire: yyDollar[6].str,
 13191  				Ratio:  yyDollar[7].literalUnion(),
 13192  			}
 13193  		}
 13194  		yyVAL.union = yyLOCAL
 13195  	case 598:
 13196  		yyDollar = yyS[yypt-5 : yypt+1]
 13197  		var yyLOCAL Statement
 13198  //line sql.y:3343
 13199  		{
 13200  			yyLOCAL = &AlterMigration{
 13201  				Type: UnthrottleMigrationType,
 13202  				UUID: string(yyDollar[4].str),
 13203  			}
 13204  		}
 13205  		yyVAL.union = yyLOCAL
 13206  	case 599:
 13207  		yyDollar = yyS[yypt-5 : yypt+1]
 13208  		var yyLOCAL Statement
 13209  //line sql.y:3350
 13210  		{
 13211  			yyLOCAL = &AlterMigration{
 13212  				Type: UnthrottleAllMigrationType,
 13213  			}
 13214  		}
 13215  		yyVAL.union = yyLOCAL
 13216  	case 600:
 13217  		yyDollar = yyS[yypt-0 : yypt+1]
 13218  		var yyLOCAL *PartitionOption
 13219  //line sql.y:3357
 13220  		{
 13221  			yyLOCAL = nil
 13222  		}
 13223  		yyVAL.union = yyLOCAL
 13224  	case 601:
 13225  		yyDollar = yyS[yypt-6 : yypt+1]
 13226  		var yyLOCAL *PartitionOption
 13227  //line sql.y:3361
 13228  		{
 13229  			yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion()
 13230  			yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion()
 13231  			yyDollar[3].partitionOptionUnion().Definitions = yyDollar[6].partDefsUnion()
 13232  			yyLOCAL = yyDollar[3].partitionOptionUnion()
 13233  		}
 13234  		yyVAL.union = yyLOCAL
 13235  	case 602:
 13236  		yyDollar = yyS[yypt-5 : yypt+1]
 13237  		var yyLOCAL *PartitionOption
 13238  //line sql.y:3370
 13239  		{
 13240  			yyLOCAL = &PartitionOption{
 13241  				IsLinear: yyDollar[1].booleanUnion(),
 13242  				Type:     HashType,
 13243  				Expr:     yyDollar[4].exprUnion(),
 13244  			}
 13245  		}
 13246  		yyVAL.union = yyLOCAL
 13247  	case 603:
 13248  		yyDollar = yyS[yypt-6 : yypt+1]
 13249  		var yyLOCAL *PartitionOption
 13250  //line sql.y:3378
 13251  		{
 13252  			yyLOCAL = &PartitionOption{
 13253  				IsLinear:     yyDollar[1].booleanUnion(),
 13254  				Type:         KeyType,
 13255  				KeyAlgorithm: yyDollar[3].integerUnion(),
 13256  				ColList:      yyDollar[5].columnsUnion(),
 13257  			}
 13258  		}
 13259  		yyVAL.union = yyLOCAL
 13260  	case 604:
 13261  		yyDollar = yyS[yypt-4 : yypt+1]
 13262  		var yyLOCAL *PartitionOption
 13263  //line sql.y:3387
 13264  		{
 13265  			yyLOCAL = &PartitionOption{
 13266  				Type: yyDollar[1].partitionByTypeUnion(),
 13267  				Expr: yyDollar[3].exprUnion(),
 13268  			}
 13269  		}
 13270  		yyVAL.union = yyLOCAL
 13271  	case 605:
 13272  		yyDollar = yyS[yypt-5 : yypt+1]
 13273  		var yyLOCAL *PartitionOption
 13274  //line sql.y:3394
 13275  		{
 13276  			yyLOCAL = &PartitionOption{
 13277  				Type:    yyDollar[1].partitionByTypeUnion(),
 13278  				ColList: yyDollar[4].columnsUnion(),
 13279  			}
 13280  		}
 13281  		yyVAL.union = yyLOCAL
 13282  	case 606:
 13283  		yyDollar = yyS[yypt-0 : yypt+1]
 13284  		var yyLOCAL *SubPartition
 13285  //line sql.y:3402
 13286  		{
 13287  			yyLOCAL = nil
 13288  		}
 13289  		yyVAL.union = yyLOCAL
 13290  	case 607:
 13291  		yyDollar = yyS[yypt-8 : yypt+1]
 13292  		var yyLOCAL *SubPartition
 13293  //line sql.y:3406
 13294  		{
 13295  			yyLOCAL = &SubPartition{
 13296  				IsLinear:      yyDollar[3].booleanUnion(),
 13297  				Type:          HashType,
 13298  				Expr:          yyDollar[6].exprUnion(),
 13299  				SubPartitions: yyDollar[8].integerUnion(),
 13300  			}
 13301  		}
 13302  		yyVAL.union = yyLOCAL
 13303  	case 608:
 13304  		yyDollar = yyS[yypt-9 : yypt+1]
 13305  		var yyLOCAL *SubPartition
 13306  //line sql.y:3415
 13307  		{
 13308  			yyLOCAL = &SubPartition{
 13309  				IsLinear:      yyDollar[3].booleanUnion(),
 13310  				Type:          KeyType,
 13311  				KeyAlgorithm:  yyDollar[5].integerUnion(),
 13312  				ColList:       yyDollar[7].columnsUnion(),
 13313  				SubPartitions: yyDollar[9].integerUnion(),
 13314  			}
 13315  		}
 13316  		yyVAL.union = yyLOCAL
 13317  	case 609:
 13318  		yyDollar = yyS[yypt-0 : yypt+1]
 13319  		var yyLOCAL []*PartitionDefinition
 13320  //line sql.y:3426
 13321  		{
 13322  			yyLOCAL = nil
 13323  		}
 13324  		yyVAL.union = yyLOCAL
 13325  	case 610:
 13326  		yyDollar = yyS[yypt-3 : yypt+1]
 13327  		var yyLOCAL []*PartitionDefinition
 13328  //line sql.y:3430
 13329  		{
 13330  			yyLOCAL = yyDollar[2].partDefsUnion()
 13331  		}
 13332  		yyVAL.union = yyLOCAL
 13333  	case 611:
 13334  		yyDollar = yyS[yypt-0 : yypt+1]
 13335  		var yyLOCAL bool
 13336  //line sql.y:3435
 13337  		{
 13338  			yyLOCAL = false
 13339  		}
 13340  		yyVAL.union = yyLOCAL
 13341  	case 612:
 13342  		yyDollar = yyS[yypt-1 : yypt+1]
 13343  		var yyLOCAL bool
 13344  //line sql.y:3439
 13345  		{
 13346  			yyLOCAL = true
 13347  		}
 13348  		yyVAL.union = yyLOCAL
 13349  	case 613:
 13350  		yyDollar = yyS[yypt-0 : yypt+1]
 13351  		var yyLOCAL int
 13352  //line sql.y:3444
 13353  		{
 13354  			yyLOCAL = 0
 13355  		}
 13356  		yyVAL.union = yyLOCAL
 13357  	case 614:
 13358  		yyDollar = yyS[yypt-3 : yypt+1]
 13359  		var yyLOCAL int
 13360  //line sql.y:3448
 13361  		{
 13362  			yyLOCAL = convertStringToInt(yyDollar[3].str)
 13363  		}
 13364  		yyVAL.union = yyLOCAL
 13365  	case 615:
 13366  		yyDollar = yyS[yypt-8 : yypt+1]
 13367  		var yyLOCAL TableExpr
 13368  //line sql.y:3454
 13369  		{
 13370  			yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].identifierCS}
 13371  		}
 13372  		yyVAL.union = yyLOCAL
 13373  	case 616:
 13374  		yyDollar = yyS[yypt-4 : yypt+1]
 13375  		var yyLOCAL []*JtColumnDefinition
 13376  //line sql.y:3460
 13377  		{
 13378  			yyLOCAL = yyDollar[3].jtColumnListUnion()
 13379  		}
 13380  		yyVAL.union = yyLOCAL
 13381  	case 617:
 13382  		yyDollar = yyS[yypt-1 : yypt+1]
 13383  		var yyLOCAL []*JtColumnDefinition
 13384  //line sql.y:3466
 13385  		{
 13386  			yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()}
 13387  		}
 13388  		yyVAL.union = yyLOCAL
 13389  	case 618:
 13390  		yyDollar = yyS[yypt-3 : yypt+1]
 13391  //line sql.y:3470
 13392  		{
 13393  			yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union))
 13394  			*yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion())
 13395  		}
 13396  	case 619:
 13397  		yyDollar = yyS[yypt-3 : yypt+1]
 13398  		var yyLOCAL *JtColumnDefinition
 13399  //line sql.y:3476
 13400  		{
 13401  			yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].identifierCI}}
 13402  		}
 13403  		yyVAL.union = yyLOCAL
 13404  	case 620:
 13405  		yyDollar = yyS[yypt-6 : yypt+1]
 13406  		var yyLOCAL *JtColumnDefinition
 13407  //line sql.y:3480
 13408  		{
 13409  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13410  			jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()}
 13411  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13412  		}
 13413  		yyVAL.union = yyLOCAL
 13414  	case 621:
 13415  		yyDollar = yyS[yypt-7 : yypt+1]
 13416  		var yyLOCAL *JtColumnDefinition
 13417  //line sql.y:3486
 13418  		{
 13419  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13420  			jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
 13421  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13422  		}
 13423  		yyVAL.union = yyLOCAL
 13424  	case 622:
 13425  		yyDollar = yyS[yypt-7 : yypt+1]
 13426  		var yyLOCAL *JtColumnDefinition
 13427  //line sql.y:3492
 13428  		{
 13429  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13430  			jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
 13431  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13432  		}
 13433  		yyVAL.union = yyLOCAL
 13434  	case 623:
 13435  		yyDollar = yyS[yypt-8 : yypt+1]
 13436  		var yyLOCAL *JtColumnDefinition
 13437  //line sql.y:3498
 13438  		{
 13439  			yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
 13440  			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()}
 13441  			yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
 13442  		}
 13443  		yyVAL.union = yyLOCAL
 13444  	case 624:
 13445  		yyDollar = yyS[yypt-4 : yypt+1]
 13446  		var yyLOCAL *JtColumnDefinition
 13447  //line sql.y:3504
 13448  		{
 13449  			jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()}
 13450  			yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath}
 13451  		}
 13452  		yyVAL.union = yyLOCAL
 13453  	case 625:
 13454  		yyDollar = yyS[yypt-0 : yypt+1]
 13455  		var yyLOCAL bool
 13456  //line sql.y:3510
 13457  		{
 13458  			yyLOCAL = false
 13459  		}
 13460  		yyVAL.union = yyLOCAL
 13461  	case 626:
 13462  		yyDollar = yyS[yypt-1 : yypt+1]
 13463  		var yyLOCAL bool
 13464  //line sql.y:3514
 13465  		{
 13466  			yyLOCAL = true
 13467  		}
 13468  		yyVAL.union = yyLOCAL
 13469  	case 627:
 13470  		yyDollar = yyS[yypt-0 : yypt+1]
 13471  		var yyLOCAL bool
 13472  //line sql.y:3518
 13473  		{
 13474  			yyLOCAL = false
 13475  		}
 13476  		yyVAL.union = yyLOCAL
 13477  	case 628:
 13478  		yyDollar = yyS[yypt-1 : yypt+1]
 13479  		var yyLOCAL bool
 13480  //line sql.y:3522
 13481  		{
 13482  			yyLOCAL = true
 13483  		}
 13484  		yyVAL.union = yyLOCAL
 13485  	case 629:
 13486  		yyDollar = yyS[yypt-3 : yypt+1]
 13487  		var yyLOCAL *JtOnResponse
 13488  //line sql.y:3528
 13489  		{
 13490  			yyLOCAL = yyDollar[1].jtOnResponseUnion()
 13491  		}
 13492  		yyVAL.union = yyLOCAL
 13493  	case 630:
 13494  		yyDollar = yyS[yypt-3 : yypt+1]
 13495  		var yyLOCAL *JtOnResponse
 13496  //line sql.y:3534
 13497  		{
 13498  			yyLOCAL = yyDollar[1].jtOnResponseUnion()
 13499  		}
 13500  		yyVAL.union = yyLOCAL
 13501  	case 631:
 13502  		yyDollar = yyS[yypt-1 : yypt+1]
 13503  		var yyLOCAL *JtOnResponse
 13504  //line sql.y:3540
 13505  		{
 13506  			yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType}
 13507  		}
 13508  		yyVAL.union = yyLOCAL
 13509  	case 632:
 13510  		yyDollar = yyS[yypt-1 : yypt+1]
 13511  		var yyLOCAL *JtOnResponse
 13512  //line sql.y:3544
 13513  		{
 13514  			yyLOCAL = &JtOnResponse{ResponseType: NullJSONType}
 13515  		}
 13516  		yyVAL.union = yyLOCAL
 13517  	case 633:
 13518  		yyDollar = yyS[yypt-2 : yypt+1]
 13519  		var yyLOCAL *JtOnResponse
 13520  //line sql.y:3548
 13521  		{
 13522  			yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()}
 13523  		}
 13524  		yyVAL.union = yyLOCAL
 13525  	case 634:
 13526  		yyDollar = yyS[yypt-1 : yypt+1]
 13527  		var yyLOCAL PartitionByType
 13528  //line sql.y:3554
 13529  		{
 13530  			yyLOCAL = RangeType
 13531  		}
 13532  		yyVAL.union = yyLOCAL
 13533  	case 635:
 13534  		yyDollar = yyS[yypt-1 : yypt+1]
 13535  		var yyLOCAL PartitionByType
 13536  //line sql.y:3558
 13537  		{
 13538  			yyLOCAL = ListType
 13539  		}
 13540  		yyVAL.union = yyLOCAL
 13541  	case 636:
 13542  		yyDollar = yyS[yypt-0 : yypt+1]
 13543  		var yyLOCAL int
 13544  //line sql.y:3563
 13545  		{
 13546  			yyLOCAL = -1
 13547  		}
 13548  		yyVAL.union = yyLOCAL
 13549  	case 637:
 13550  		yyDollar = yyS[yypt-2 : yypt+1]
 13551  		var yyLOCAL int
 13552  //line sql.y:3567
 13553  		{
 13554  			yyLOCAL = convertStringToInt(yyDollar[2].str)
 13555  		}
 13556  		yyVAL.union = yyLOCAL
 13557  	case 638:
 13558  		yyDollar = yyS[yypt-0 : yypt+1]
 13559  		var yyLOCAL int
 13560  //line sql.y:3572
 13561  		{
 13562  			yyLOCAL = -1
 13563  		}
 13564  		yyVAL.union = yyLOCAL
 13565  	case 639:
 13566  		yyDollar = yyS[yypt-2 : yypt+1]
 13567  		var yyLOCAL int
 13568  //line sql.y:3576
 13569  		{
 13570  			yyLOCAL = convertStringToInt(yyDollar[2].str)
 13571  		}
 13572  		yyVAL.union = yyLOCAL
 13573  	case 640:
 13574  		yyDollar = yyS[yypt-5 : yypt+1]
 13575  		var yyLOCAL *PartitionSpec
 13576  //line sql.y:3582
 13577  		{
 13578  			yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}}
 13579  		}
 13580  		yyVAL.union = yyLOCAL
 13581  	case 641:
 13582  		yyDollar = yyS[yypt-3 : yypt+1]
 13583  		var yyLOCAL *PartitionSpec
 13584  //line sql.y:3586
 13585  		{
 13586  			yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()}
 13587  		}
 13588  		yyVAL.union = yyLOCAL
 13589  	case 642:
 13590  		yyDollar = yyS[yypt-7 : yypt+1]
 13591  		var yyLOCAL *PartitionSpec
 13592  //line sql.y:3590
 13593  		{
 13594  			yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()}
 13595  		}
 13596  		yyVAL.union = yyLOCAL
 13597  	case 643:
 13598  		yyDollar = yyS[yypt-4 : yypt+1]
 13599  		var yyLOCAL *PartitionSpec
 13600  //line sql.y:3594
 13601  		{
 13602  			yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()}
 13603  		}
 13604  		yyVAL.union = yyLOCAL
 13605  	case 644:
 13606  		yyDollar = yyS[yypt-4 : yypt+1]
 13607  		var yyLOCAL *PartitionSpec
 13608  //line sql.y:3598
 13609  		{
 13610  			yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true}
 13611  		}
 13612  		yyVAL.union = yyLOCAL
 13613  	case 645:
 13614  		yyDollar = yyS[yypt-4 : yypt+1]
 13615  		var yyLOCAL *PartitionSpec
 13616  //line sql.y:3602
 13617  		{
 13618  			yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()}
 13619  		}
 13620  		yyVAL.union = yyLOCAL
 13621  	case 646:
 13622  		yyDollar = yyS[yypt-4 : yypt+1]
 13623  		var yyLOCAL *PartitionSpec
 13624  //line sql.y:3606
 13625  		{
 13626  			yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true}
 13627  		}
 13628  		yyVAL.union = yyLOCAL
 13629  	case 647:
 13630  		yyDollar = yyS[yypt-3 : yypt+1]
 13631  		var yyLOCAL *PartitionSpec
 13632  //line sql.y:3610
 13633  		{
 13634  			yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()}
 13635  		}
 13636  		yyVAL.union = yyLOCAL
 13637  	case 648:
 13638  		yyDollar = yyS[yypt-3 : yypt+1]
 13639  		var yyLOCAL *PartitionSpec
 13640  //line sql.y:3614
 13641  		{
 13642  			yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true}
 13643  		}
 13644  		yyVAL.union = yyLOCAL
 13645  	case 649:
 13646  		yyDollar = yyS[yypt-3 : yypt+1]
 13647  		var yyLOCAL *PartitionSpec
 13648  //line sql.y:3618
 13649  		{
 13650  			yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)}
 13651  		}
 13652  		yyVAL.union = yyLOCAL
 13653  	case 650:
 13654  		yyDollar = yyS[yypt-7 : yypt+1]
 13655  		var yyLOCAL *PartitionSpec
 13656  //line sql.y:3622
 13657  		{
 13658  			yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].identifierCI}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()}
 13659  		}
 13660  		yyVAL.union = yyLOCAL
 13661  	case 651:
 13662  		yyDollar = yyS[yypt-3 : yypt+1]
 13663  		var yyLOCAL *PartitionSpec
 13664  //line sql.y:3626
 13665  		{
 13666  			yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()}
 13667  		}
 13668  		yyVAL.union = yyLOCAL
 13669  	case 652:
 13670  		yyDollar = yyS[yypt-3 : yypt+1]
 13671  		var yyLOCAL *PartitionSpec
 13672  //line sql.y:3630
 13673  		{
 13674  			yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true}
 13675  		}
 13676  		yyVAL.union = yyLOCAL
 13677  	case 653:
 13678  		yyDollar = yyS[yypt-3 : yypt+1]
 13679  		var yyLOCAL *PartitionSpec
 13680  //line sql.y:3634
 13681  		{
 13682  			yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()}
 13683  		}
 13684  		yyVAL.union = yyLOCAL
 13685  	case 654:
 13686  		yyDollar = yyS[yypt-3 : yypt+1]
 13687  		var yyLOCAL *PartitionSpec
 13688  //line sql.y:3638
 13689  		{
 13690  			yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true}
 13691  		}
 13692  		yyVAL.union = yyLOCAL
 13693  	case 655:
 13694  		yyDollar = yyS[yypt-3 : yypt+1]
 13695  		var yyLOCAL *PartitionSpec
 13696  //line sql.y:3642
 13697  		{
 13698  			yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()}
 13699  		}
 13700  		yyVAL.union = yyLOCAL
 13701  	case 656:
 13702  		yyDollar = yyS[yypt-3 : yypt+1]
 13703  		var yyLOCAL *PartitionSpec
 13704  //line sql.y:3646
 13705  		{
 13706  			yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true}
 13707  		}
 13708  		yyVAL.union = yyLOCAL
 13709  	case 657:
 13710  		yyDollar = yyS[yypt-3 : yypt+1]
 13711  		var yyLOCAL *PartitionSpec
 13712  //line sql.y:3650
 13713  		{
 13714  			yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()}
 13715  		}
 13716  		yyVAL.union = yyLOCAL
 13717  	case 658:
 13718  		yyDollar = yyS[yypt-3 : yypt+1]
 13719  		var yyLOCAL *PartitionSpec
 13720  //line sql.y:3654
 13721  		{
 13722  			yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true}
 13723  		}
 13724  		yyVAL.union = yyLOCAL
 13725  	case 659:
 13726  		yyDollar = yyS[yypt-3 : yypt+1]
 13727  		var yyLOCAL *PartitionSpec
 13728  //line sql.y:3658
 13729  		{
 13730  			yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()}
 13731  		}
 13732  		yyVAL.union = yyLOCAL
 13733  	case 660:
 13734  		yyDollar = yyS[yypt-3 : yypt+1]
 13735  		var yyLOCAL *PartitionSpec
 13736  //line sql.y:3662
 13737  		{
 13738  			yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true}
 13739  		}
 13740  		yyVAL.union = yyLOCAL
 13741  	case 661:
 13742  		yyDollar = yyS[yypt-2 : yypt+1]
 13743  		var yyLOCAL *PartitionSpec
 13744  //line sql.y:3666
 13745  		{
 13746  			yyLOCAL = &PartitionSpec{Action: UpgradeAction}
 13747  		}
 13748  		yyVAL.union = yyLOCAL
 13749  	case 662:
 13750  		yyDollar = yyS[yypt-0 : yypt+1]
 13751  		var yyLOCAL bool
 13752  //line sql.y:3671
 13753  		{
 13754  			yyLOCAL = false
 13755  		}
 13756  		yyVAL.union = yyLOCAL
 13757  	case 663:
 13758  		yyDollar = yyS[yypt-2 : yypt+1]
 13759  		var yyLOCAL bool
 13760  //line sql.y:3675
 13761  		{
 13762  			yyLOCAL = false
 13763  		}
 13764  		yyVAL.union = yyLOCAL
 13765  	case 664:
 13766  		yyDollar = yyS[yypt-2 : yypt+1]
 13767  		var yyLOCAL bool
 13768  //line sql.y:3679
 13769  		{
 13770  			yyLOCAL = true
 13771  		}
 13772  		yyVAL.union = yyLOCAL
 13773  	case 665:
 13774  		yyDollar = yyS[yypt-1 : yypt+1]
 13775  		var yyLOCAL []*PartitionDefinition
 13776  //line sql.y:3685
 13777  		{
 13778  			yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()}
 13779  		}
 13780  		yyVAL.union = yyLOCAL
 13781  	case 666:
 13782  		yyDollar = yyS[yypt-3 : yypt+1]
 13783  //line sql.y:3689
 13784  		{
 13785  			yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union))
 13786  			*yySLICE = append(*yySLICE, yyDollar[3].partDefUnion())
 13787  		}
 13788  	case 667:
 13789  		yyDollar = yyS[yypt-2 : yypt+1]
 13790  //line sql.y:3695
 13791  		{
 13792  			yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion()
 13793  		}
 13794  	case 668:
 13795  		yyDollar = yyS[yypt-0 : yypt+1]
 13796  		var yyLOCAL *PartitionDefinitionOptions
 13797  //line sql.y:3700
 13798  		{
 13799  			yyLOCAL = &PartitionDefinitionOptions{}
 13800  		}
 13801  		yyVAL.union = yyLOCAL
 13802  	case 669:
 13803  		yyDollar = yyS[yypt-2 : yypt+1]
 13804  		var yyLOCAL *PartitionDefinitionOptions
 13805  //line sql.y:3704
 13806  		{
 13807  			yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion()
 13808  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13809  		}
 13810  		yyVAL.union = yyLOCAL
 13811  	case 670:
 13812  		yyDollar = yyS[yypt-2 : yypt+1]
 13813  		var yyLOCAL *PartitionDefinitionOptions
 13814  //line sql.y:3709
 13815  		{
 13816  			yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
 13817  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13818  		}
 13819  		yyVAL.union = yyLOCAL
 13820  	case 671:
 13821  		yyDollar = yyS[yypt-2 : yypt+1]
 13822  		var yyLOCAL *PartitionDefinitionOptions
 13823  //line sql.y:3714
 13824  		{
 13825  			yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
 13826  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13827  		}
 13828  		yyVAL.union = yyLOCAL
 13829  	case 672:
 13830  		yyDollar = yyS[yypt-2 : yypt+1]
 13831  		var yyLOCAL *PartitionDefinitionOptions
 13832  //line sql.y:3719
 13833  		{
 13834  			yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
 13835  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13836  		}
 13837  		yyVAL.union = yyLOCAL
 13838  	case 673:
 13839  		yyDollar = yyS[yypt-2 : yypt+1]
 13840  		var yyLOCAL *PartitionDefinitionOptions
 13841  //line sql.y:3724
 13842  		{
 13843  			yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
 13844  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13845  		}
 13846  		yyVAL.union = yyLOCAL
 13847  	case 674:
 13848  		yyDollar = yyS[yypt-2 : yypt+1]
 13849  		var yyLOCAL *PartitionDefinitionOptions
 13850  //line sql.y:3729
 13851  		{
 13852  			val := yyDollar[2].integerUnion()
 13853  			yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val
 13854  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13855  		}
 13856  		yyVAL.union = yyLOCAL
 13857  	case 675:
 13858  		yyDollar = yyS[yypt-2 : yypt+1]
 13859  		var yyLOCAL *PartitionDefinitionOptions
 13860  //line sql.y:3735
 13861  		{
 13862  			val := yyDollar[2].integerUnion()
 13863  			yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val
 13864  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13865  		}
 13866  		yyVAL.union = yyLOCAL
 13867  	case 676:
 13868  		yyDollar = yyS[yypt-2 : yypt+1]
 13869  		var yyLOCAL *PartitionDefinitionOptions
 13870  //line sql.y:3741
 13871  		{
 13872  			yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
 13873  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13874  		}
 13875  		yyVAL.union = yyLOCAL
 13876  	case 677:
 13877  		yyDollar = yyS[yypt-2 : yypt+1]
 13878  		var yyLOCAL *PartitionDefinitionOptions
 13879  //line sql.y:3746
 13880  		{
 13881  			yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion()
 13882  			yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
 13883  		}
 13884  		yyVAL.union = yyLOCAL
 13885  	case 678:
 13886  		yyDollar = yyS[yypt-3 : yypt+1]
 13887  		var yyLOCAL SubPartitionDefinitions
 13888  //line sql.y:3752
 13889  		{
 13890  			yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion()
 13891  		}
 13892  		yyVAL.union = yyLOCAL
 13893  	case 679:
 13894  		yyDollar = yyS[yypt-1 : yypt+1]
 13895  		var yyLOCAL SubPartitionDefinitions
 13896  //line sql.y:3758
 13897  		{
 13898  			yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()}
 13899  		}
 13900  		yyVAL.union = yyLOCAL
 13901  	case 680:
 13902  		yyDollar = yyS[yypt-3 : yypt+1]
 13903  //line sql.y:3762
 13904  		{
 13905  			yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union))
 13906  			*yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion())
 13907  		}
 13908  	case 681:
 13909  		yyDollar = yyS[yypt-3 : yypt+1]
 13910  		var yyLOCAL *SubPartitionDefinition
 13911  //line sql.y:3768
 13912  		{
 13913  			yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].identifierCI, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()}
 13914  		}
 13915  		yyVAL.union = yyLOCAL
 13916  	case 682:
 13917  		yyDollar = yyS[yypt-0 : yypt+1]
 13918  		var yyLOCAL *SubPartitionDefinitionOptions
 13919  //line sql.y:3773
 13920  		{
 13921  			yyLOCAL = &SubPartitionDefinitionOptions{}
 13922  		}
 13923  		yyVAL.union = yyLOCAL
 13924  	case 683:
 13925  		yyDollar = yyS[yypt-2 : yypt+1]
 13926  		var yyLOCAL *SubPartitionDefinitionOptions
 13927  //line sql.y:3777
 13928  		{
 13929  			yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
 13930  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13931  		}
 13932  		yyVAL.union = yyLOCAL
 13933  	case 684:
 13934  		yyDollar = yyS[yypt-2 : yypt+1]
 13935  		var yyLOCAL *SubPartitionDefinitionOptions
 13936  //line sql.y:3782
 13937  		{
 13938  			yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
 13939  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13940  		}
 13941  		yyVAL.union = yyLOCAL
 13942  	case 685:
 13943  		yyDollar = yyS[yypt-2 : yypt+1]
 13944  		var yyLOCAL *SubPartitionDefinitionOptions
 13945  //line sql.y:3787
 13946  		{
 13947  			yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
 13948  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13949  		}
 13950  		yyVAL.union = yyLOCAL
 13951  	case 686:
 13952  		yyDollar = yyS[yypt-2 : yypt+1]
 13953  		var yyLOCAL *SubPartitionDefinitionOptions
 13954  //line sql.y:3792
 13955  		{
 13956  			yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
 13957  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13958  		}
 13959  		yyVAL.union = yyLOCAL
 13960  	case 687:
 13961  		yyDollar = yyS[yypt-2 : yypt+1]
 13962  		var yyLOCAL *SubPartitionDefinitionOptions
 13963  //line sql.y:3797
 13964  		{
 13965  			val := yyDollar[2].integerUnion()
 13966  			yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val
 13967  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13968  		}
 13969  		yyVAL.union = yyLOCAL
 13970  	case 688:
 13971  		yyDollar = yyS[yypt-2 : yypt+1]
 13972  		var yyLOCAL *SubPartitionDefinitionOptions
 13973  //line sql.y:3803
 13974  		{
 13975  			val := yyDollar[2].integerUnion()
 13976  			yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val
 13977  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13978  		}
 13979  		yyVAL.union = yyLOCAL
 13980  	case 689:
 13981  		yyDollar = yyS[yypt-2 : yypt+1]
 13982  		var yyLOCAL *SubPartitionDefinitionOptions
 13983  //line sql.y:3809
 13984  		{
 13985  			yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
 13986  			yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
 13987  		}
 13988  		yyVAL.union = yyLOCAL
 13989  	case 690:
 13990  		yyDollar = yyS[yypt-4 : yypt+1]
 13991  		var yyLOCAL *PartitionValueRange
 13992  //line sql.y:3816
 13993  		{
 13994  			yyLOCAL = &PartitionValueRange{
 13995  				Type:  LessThanType,
 13996  				Range: yyDollar[4].valTupleUnion(),
 13997  			}
 13998  		}
 13999  		yyVAL.union = yyLOCAL
 14000  	case 691:
 14001  		yyDollar = yyS[yypt-4 : yypt+1]
 14002  		var yyLOCAL *PartitionValueRange
 14003  //line sql.y:3823
 14004  		{
 14005  			yyLOCAL = &PartitionValueRange{
 14006  				Type:     LessThanType,
 14007  				Maxvalue: true,
 14008  			}
 14009  		}
 14010  		yyVAL.union = yyLOCAL
 14011  	case 692:
 14012  		yyDollar = yyS[yypt-3 : yypt+1]
 14013  		var yyLOCAL *PartitionValueRange
 14014  //line sql.y:3830
 14015  		{
 14016  			yyLOCAL = &PartitionValueRange{
 14017  				Type:  InType,
 14018  				Range: yyDollar[3].valTupleUnion(),
 14019  			}
 14020  		}
 14021  		yyVAL.union = yyLOCAL
 14022  	case 693:
 14023  		yyDollar = yyS[yypt-0 : yypt+1]
 14024  		var yyLOCAL bool
 14025  //line sql.y:3838
 14026  		{
 14027  			yyLOCAL = false
 14028  		}
 14029  		yyVAL.union = yyLOCAL
 14030  	case 694:
 14031  		yyDollar = yyS[yypt-1 : yypt+1]
 14032  		var yyLOCAL bool
 14033  //line sql.y:3842
 14034  		{
 14035  			yyLOCAL = true
 14036  		}
 14037  		yyVAL.union = yyLOCAL
 14038  	case 695:
 14039  		yyDollar = yyS[yypt-4 : yypt+1]
 14040  		var yyLOCAL *PartitionEngine
 14041  //line sql.y:3848
 14042  		{
 14043  			yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].identifierCS.String()}
 14044  		}
 14045  		yyVAL.union = yyLOCAL
 14046  	case 696:
 14047  		yyDollar = yyS[yypt-3 : yypt+1]
 14048  		var yyLOCAL *Literal
 14049  //line sql.y:3854
 14050  		{
 14051  			yyLOCAL = NewStrLiteral(yyDollar[3].str)
 14052  		}
 14053  		yyVAL.union = yyLOCAL
 14054  	case 697:
 14055  		yyDollar = yyS[yypt-4 : yypt+1]
 14056  		var yyLOCAL *Literal
 14057  //line sql.y:3860
 14058  		{
 14059  			yyLOCAL = NewStrLiteral(yyDollar[4].str)
 14060  		}
 14061  		yyVAL.union = yyLOCAL
 14062  	case 698:
 14063  		yyDollar = yyS[yypt-4 : yypt+1]
 14064  		var yyLOCAL *Literal
 14065  //line sql.y:3866
 14066  		{
 14067  			yyLOCAL = NewStrLiteral(yyDollar[4].str)
 14068  		}
 14069  		yyVAL.union = yyLOCAL
 14070  	case 699:
 14071  		yyDollar = yyS[yypt-3 : yypt+1]
 14072  		var yyLOCAL int
 14073  //line sql.y:3872
 14074  		{
 14075  			yyLOCAL = convertStringToInt(yyDollar[3].str)
 14076  		}
 14077  		yyVAL.union = yyLOCAL
 14078  	case 700:
 14079  		yyDollar = yyS[yypt-3 : yypt+1]
 14080  		var yyLOCAL int
 14081  //line sql.y:3878
 14082  		{
 14083  			yyLOCAL = convertStringToInt(yyDollar[3].str)
 14084  		}
 14085  		yyVAL.union = yyLOCAL
 14086  	case 701:
 14087  		yyDollar = yyS[yypt-3 : yypt+1]
 14088  //line sql.y:3884
 14089  		{
 14090  			yyVAL.str = yyDollar[3].identifierCS.String()
 14091  		}
 14092  	case 702:
 14093  		yyDollar = yyS[yypt-2 : yypt+1]
 14094  		var yyLOCAL *PartitionDefinition
 14095  //line sql.y:3890
 14096  		{
 14097  			yyLOCAL = &PartitionDefinition{Name: yyDollar[2].identifierCI}
 14098  		}
 14099  		yyVAL.union = yyLOCAL
 14100  	case 703:
 14101  		yyDollar = yyS[yypt-1 : yypt+1]
 14102  //line sql.y:3896
 14103  		{
 14104  			yyVAL.str = ""
 14105  		}
 14106  	case 704:
 14107  		yyDollar = yyS[yypt-3 : yypt+1]
 14108  //line sql.y:3900
 14109  		{
 14110  			yyVAL.str = ""
 14111  		}
 14112  	case 705:
 14113  		yyDollar = yyS[yypt-3 : yypt+1]
 14114  		var yyLOCAL Statement
 14115  //line sql.y:3906
 14116  		{
 14117  			yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()}
 14118  		}
 14119  		yyVAL.union = yyLOCAL
 14120  	case 706:
 14121  		yyDollar = yyS[yypt-3 : yypt+1]
 14122  		var yyLOCAL []*RenameTablePair
 14123  //line sql.y:3912
 14124  		{
 14125  			yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}}
 14126  		}
 14127  		yyVAL.union = yyLOCAL
 14128  	case 707:
 14129  		yyDollar = yyS[yypt-5 : yypt+1]
 14130  //line sql.y:3916
 14131  		{
 14132  			yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union))
 14133  			*yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName})
 14134  		}
 14135  	case 708:
 14136  		yyDollar = yyS[yypt-7 : yypt+1]
 14137  		var yyLOCAL Statement
 14138  //line sql.y:3922
 14139  		{
 14140  			yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()}
 14141  		}
 14142  		yyVAL.union = yyLOCAL
 14143  	case 709:
 14144  		yyDollar = yyS[yypt-7 : yypt+1]
 14145  		var yyLOCAL Statement
 14146  //line sql.y:3926
 14147  		{
 14148  			// Change this to an alter statement
 14149  			if yyDollar[4].identifierCI.Lowered() == "primary" {
 14150  				yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[7].alterOptionsUnion()...)}
 14151  			} else {
 14152  				yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[4].identifierCI}}, yyDollar[7].alterOptionsUnion()...)}
 14153  			}
 14154  		}
 14155  		yyVAL.union = yyLOCAL
 14156  	case 710:
 14157  		yyDollar = yyS[yypt-6 : yypt+1]
 14158  		var yyLOCAL Statement
 14159  //line sql.y:3935
 14160  		{
 14161  			yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()}
 14162  		}
 14163  		yyVAL.union = yyLOCAL
 14164  	case 711:
 14165  		yyDollar = yyS[yypt-5 : yypt+1]
 14166  		var yyLOCAL Statement
 14167  //line sql.y:3939
 14168  		{
 14169  			yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfExists: yyDollar[4].booleanUnion()}
 14170  		}
 14171  		yyVAL.union = yyLOCAL
 14172  	case 712:
 14173  		yyDollar = yyS[yypt-3 : yypt+1]
 14174  		var yyLOCAL Statement
 14175  //line sql.y:3945
 14176  		{
 14177  			yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName}
 14178  		}
 14179  		yyVAL.union = yyLOCAL
 14180  	case 713:
 14181  		yyDollar = yyS[yypt-2 : yypt+1]
 14182  		var yyLOCAL Statement
 14183  //line sql.y:3949
 14184  		{
 14185  			yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName}
 14186  		}
 14187  		yyVAL.union = yyLOCAL
 14188  	case 714:
 14189  		yyDollar = yyS[yypt-3 : yypt+1]
 14190  		var yyLOCAL Statement
 14191  //line sql.y:3955
 14192  		{
 14193  			yyLOCAL = &OtherRead{}
 14194  		}
 14195  		yyVAL.union = yyLOCAL
 14196  	case 715:
 14197  		yyDollar = yyS[yypt-3 : yypt+1]
 14198  		var yyLOCAL Statement
 14199  //line sql.y:3961
 14200  		{
 14201  			yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}}
 14202  		}
 14203  		yyVAL.union = yyLOCAL
 14204  	case 716:
 14205  		yyDollar = yyS[yypt-3 : yypt+1]
 14206  		var yyLOCAL Statement
 14207  //line sql.y:3965
 14208  		{
 14209  			yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}}
 14210  		}
 14211  		yyVAL.union = yyLOCAL
 14212  	case 717:
 14213  		yyDollar = yyS[yypt-7 : yypt+1]
 14214  		var yyLOCAL Statement
 14215  //line sql.y:3969
 14216  		{
 14217  			yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
 14218  		}
 14219  		yyVAL.union = yyLOCAL
 14220  	case 718:
 14221  		yyDollar = yyS[yypt-3 : yypt+1]
 14222  		var yyLOCAL Statement
 14223  //line sql.y:3973
 14224  		{
 14225  			yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
 14226  		}
 14227  		yyVAL.union = yyLOCAL
 14228  	case 719:
 14229  		yyDollar = yyS[yypt-3 : yypt+1]
 14230  		var yyLOCAL Statement
 14231  //line sql.y:3977
 14232  		{
 14233  			yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
 14234  		}
 14235  		yyVAL.union = yyLOCAL
 14236  	case 720:
 14237  		yyDollar = yyS[yypt-3 : yypt+1]
 14238  		var yyLOCAL Statement
 14239  //line sql.y:3981
 14240  		{
 14241  			yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
 14242  		}
 14243  		yyVAL.union = yyLOCAL
 14244  	case 721:
 14245  		yyDollar = yyS[yypt-3 : yypt+1]
 14246  		var yyLOCAL Statement
 14247  //line sql.y:3985
 14248  		{
 14249  			yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
 14250  		}
 14251  		yyVAL.union = yyLOCAL
 14252  	case 722:
 14253  		yyDollar = yyS[yypt-4 : yypt+1]
 14254  		var yyLOCAL Statement
 14255  //line sql.y:3989
 14256  		{
 14257  			yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}}
 14258  		}
 14259  		yyVAL.union = yyLOCAL
 14260  	case 723:
 14261  		yyDollar = yyS[yypt-7 : yypt+1]
 14262  		var yyLOCAL Statement
 14263  //line sql.y:3993
 14264  		{
 14265  			yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
 14266  		}
 14267  		yyVAL.union = yyLOCAL
 14268  	case 724:
 14269  		yyDollar = yyS[yypt-5 : yypt+1]
 14270  		var yyLOCAL Statement
 14271  //line sql.y:3997
 14272  		{
 14273  			yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
 14274  		}
 14275  		yyVAL.union = yyLOCAL
 14276  	case 725:
 14277  		yyDollar = yyS[yypt-2 : yypt+1]
 14278  		var yyLOCAL Statement
 14279  //line sql.y:4001
 14280  		{
 14281  			yyLOCAL = &Show{&ShowBasic{Command: Privilege}}
 14282  		}
 14283  		yyVAL.union = yyLOCAL
 14284  	case 726:
 14285  		yyDollar = yyS[yypt-4 : yypt+1]
 14286  		var yyLOCAL Statement
 14287  //line sql.y:4005
 14288  		{
 14289  			yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}}
 14290  		}
 14291  		yyVAL.union = yyLOCAL
 14292  	case 727:
 14293  		yyDollar = yyS[yypt-4 : yypt+1]
 14294  		var yyLOCAL Statement
 14295  //line sql.y:4009
 14296  		{
 14297  			yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}}
 14298  		}
 14299  		yyVAL.union = yyLOCAL
 14300  	case 728:
 14301  		yyDollar = yyS[yypt-4 : yypt+1]
 14302  		var yyLOCAL Statement
 14303  //line sql.y:4013
 14304  		{
 14305  			yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}}
 14306  		}
 14307  		yyVAL.union = yyLOCAL
 14308  	case 729:
 14309  		yyDollar = yyS[yypt-4 : yypt+1]
 14310  		var yyLOCAL Statement
 14311  //line sql.y:4017
 14312  		{
 14313  			yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}}
 14314  		}
 14315  		yyVAL.union = yyLOCAL
 14316  	case 730:
 14317  		yyDollar = yyS[yypt-4 : yypt+1]
 14318  		var yyLOCAL Statement
 14319  //line sql.y:4021
 14320  		{
 14321  			yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}}
 14322  		}
 14323  		yyVAL.union = yyLOCAL
 14324  	case 731:
 14325  		yyDollar = yyS[yypt-5 : yypt+1]
 14326  		var yyLOCAL Statement
 14327  //line sql.y:4025
 14328  		{
 14329  			yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
 14330  		}
 14331  		yyVAL.union = yyLOCAL
 14332  	case 732:
 14333  		yyDollar = yyS[yypt-5 : yypt+1]
 14334  		var yyLOCAL Statement
 14335  //line sql.y:4029
 14336  		{
 14337  			yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
 14338  		}
 14339  		yyVAL.union = yyLOCAL
 14340  	case 733:
 14341  		yyDollar = yyS[yypt-4 : yypt+1]
 14342  		var yyLOCAL Statement
 14343  //line sql.y:4033
 14344  		{
 14345  			yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].identifierCS, Filter: yyDollar[4].showFilterUnion()}}
 14346  		}
 14347  		yyVAL.union = yyLOCAL
 14348  	case 734:
 14349  		yyDollar = yyS[yypt-4 : yypt+1]
 14350  		var yyLOCAL Statement
 14351  //line sql.y:4037
 14352  		{
 14353  			yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}}
 14354  		}
 14355  		yyVAL.union = yyLOCAL
 14356  	case 735:
 14357  		yyDollar = yyS[yypt-4 : yypt+1]
 14358  		var yyLOCAL Statement
 14359  //line sql.y:4041
 14360  		{
 14361  			yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}}
 14362  		}
 14363  		yyVAL.union = yyLOCAL
 14364  	case 736:
 14365  		yyDollar = yyS[yypt-4 : yypt+1]
 14366  		var yyLOCAL Statement
 14367  //line sql.y:4045
 14368  		{
 14369  			yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}}
 14370  		}
 14371  		yyVAL.union = yyLOCAL
 14372  	case 737:
 14373  		yyDollar = yyS[yypt-4 : yypt+1]
 14374  		var yyLOCAL Statement
 14375  //line sql.y:4049
 14376  		{
 14377  			yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}}
 14378  		}
 14379  		yyVAL.union = yyLOCAL
 14380  	case 738:
 14381  		yyDollar = yyS[yypt-4 : yypt+1]
 14382  		var yyLOCAL Statement
 14383  //line sql.y:4053
 14384  		{
 14385  			yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}}
 14386  		}
 14387  		yyVAL.union = yyLOCAL
 14388  	case 739:
 14389  		yyDollar = yyS[yypt-4 : yypt+1]
 14390  		var yyLOCAL Statement
 14391  //line sql.y:4057
 14392  		{
 14393  			yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}}
 14394  		}
 14395  		yyVAL.union = yyLOCAL
 14396  	case 740:
 14397  		yyDollar = yyS[yypt-4 : yypt+1]
 14398  		var yyLOCAL Statement
 14399  //line sql.y:4061
 14400  		{
 14401  			yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}}
 14402  		}
 14403  		yyVAL.union = yyLOCAL
 14404  	case 741:
 14405  		yyDollar = yyS[yypt-2 : yypt+1]
 14406  		var yyLOCAL Statement
 14407  //line sql.y:4065
 14408  		{
 14409  			yyLOCAL = &Show{&ShowBasic{Command: Engines}}
 14410  		}
 14411  		yyVAL.union = yyLOCAL
 14412  	case 742:
 14413  		yyDollar = yyS[yypt-2 : yypt+1]
 14414  		var yyLOCAL Statement
 14415  //line sql.y:4069
 14416  		{
 14417  			yyLOCAL = &Show{&ShowBasic{Command: Plugins}}
 14418  		}
 14419  		yyVAL.union = yyLOCAL
 14420  	case 743:
 14421  		yyDollar = yyS[yypt-4 : yypt+1]
 14422  		var yyLOCAL Statement
 14423  //line sql.y:4073
 14424  		{
 14425  			yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].identifierCS}}
 14426  		}
 14427  		yyVAL.union = yyLOCAL
 14428  	case 744:
 14429  		yyDollar = yyS[yypt-4 : yypt+1]
 14430  		var yyLOCAL Statement
 14431  //line sql.y:4077
 14432  		{
 14433  			yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].identifierCS}}
 14434  		}
 14435  		yyVAL.union = yyLOCAL
 14436  	case 745:
 14437  		yyDollar = yyS[yypt-4 : yypt+1]
 14438  		var yyLOCAL Statement
 14439  //line sql.y:4081
 14440  		{
 14441  			yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}}
 14442  		}
 14443  		yyVAL.union = yyLOCAL
 14444  	case 746:
 14445  		yyDollar = yyS[yypt-4 : yypt+1]
 14446  		var yyLOCAL Statement
 14447  //line sql.y:4085
 14448  		{
 14449  			yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].identifierCS}}
 14450  		}
 14451  		yyVAL.union = yyLOCAL
 14452  	case 747:
 14453  		yyDollar = yyS[yypt-4 : yypt+1]
 14454  		var yyLOCAL Statement
 14455  //line sql.y:4089
 14456  		{
 14457  			yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)}
 14458  		}
 14459  		yyVAL.union = yyLOCAL
 14460  	case 748:
 14461  		yyDollar = yyS[yypt-2 : yypt+1]
 14462  		var yyLOCAL Statement
 14463  //line sql.y:4093
 14464  		{
 14465  			yyLOCAL = &ShowThrottledApps{}
 14466  		}
 14467  		yyVAL.union = yyLOCAL
 14468  	case 749:
 14469  		yyDollar = yyS[yypt-3 : yypt+1]
 14470  		var yyLOCAL Statement
 14471  //line sql.y:4097
 14472  		{
 14473  			yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}}
 14474  		}
 14475  		yyVAL.union = yyLOCAL
 14476  	case 750:
 14477  		yyDollar = yyS[yypt-3 : yypt+1]
 14478  		var yyLOCAL Statement
 14479  //line sql.y:4101
 14480  		{
 14481  			yyLOCAL = &ShowThrottlerStatus{}
 14482  		}
 14483  		yyVAL.union = yyLOCAL
 14484  	case 751:
 14485  		yyDollar = yyS[yypt-3 : yypt+1]
 14486  		var yyLOCAL Statement
 14487  //line sql.y:4105
 14488  		{
 14489  			yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}}
 14490  		}
 14491  		yyVAL.union = yyLOCAL
 14492  	case 752:
 14493  		yyDollar = yyS[yypt-3 : yypt+1]
 14494  		var yyLOCAL Statement
 14495  //line sql.y:4109
 14496  		{
 14497  			yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}}
 14498  		}
 14499  		yyVAL.union = yyLOCAL
 14500  	case 753:
 14501  		yyDollar = yyS[yypt-5 : yypt+1]
 14502  		var yyLOCAL Statement
 14503  //line sql.y:4113
 14504  		{
 14505  			yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}}
 14506  		}
 14507  		yyVAL.union = yyLOCAL
 14508  	case 754:
 14509  		yyDollar = yyS[yypt-2 : yypt+1]
 14510  		var yyLOCAL Statement
 14511  //line sql.y:4117
 14512  		{
 14513  			yyLOCAL = &Show{&ShowBasic{Command: Warnings}}
 14514  		}
 14515  		yyVAL.union = yyLOCAL
 14516  	case 755:
 14517  		yyDollar = yyS[yypt-3 : yypt+1]
 14518  		var yyLOCAL Statement
 14519  //line sql.y:4121
 14520  		{
 14521  			yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}}
 14522  		}
 14523  		yyVAL.union = yyLOCAL
 14524  	case 756:
 14525  		yyDollar = yyS[yypt-3 : yypt+1]
 14526  		var yyLOCAL Statement
 14527  //line sql.y:4125
 14528  		{
 14529  			yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}}
 14530  		}
 14531  		yyVAL.union = yyLOCAL
 14532  	case 757:
 14533  		yyDollar = yyS[yypt-2 : yypt+1]
 14534  		var yyLOCAL Statement
 14535  //line sql.y:4129
 14536  		{
 14537  			yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}}
 14538  		}
 14539  		yyVAL.union = yyLOCAL
 14540  	case 758:
 14541  		yyDollar = yyS[yypt-3 : yypt+1]
 14542  		var yyLOCAL Statement
 14543  //line sql.y:4136
 14544  		{
 14545  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].identifierCI.String())}}
 14546  		}
 14547  		yyVAL.union = yyLOCAL
 14548  	case 759:
 14549  		yyDollar = yyS[yypt-4 : yypt+1]
 14550  		var yyLOCAL Statement
 14551  //line sql.y:4140
 14552  		{
 14553  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
 14554  		}
 14555  		yyVAL.union = yyLOCAL
 14556  	case 760:
 14557  		yyDollar = yyS[yypt-4 : yypt+1]
 14558  		var yyLOCAL Statement
 14559  //line sql.y:4144
 14560  		{
 14561  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()}}
 14562  		}
 14563  		yyVAL.union = yyLOCAL
 14564  	case 761:
 14565  		yyDollar = yyS[yypt-4 : yypt+1]
 14566  		var yyLOCAL Statement
 14567  //line sql.y:4148
 14568  		{
 14569  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
 14570  		}
 14571  		yyVAL.union = yyLOCAL
 14572  	case 762:
 14573  		yyDollar = yyS[yypt-3 : yypt+1]
 14574  		var yyLOCAL Statement
 14575  //line sql.y:4152
 14576  		{
 14577  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
 14578  		}
 14579  		yyVAL.union = yyLOCAL
 14580  	case 763:
 14581  		yyDollar = yyS[yypt-4 : yypt+1]
 14582  		var yyLOCAL Statement
 14583  //line sql.y:4156
 14584  		{
 14585  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
 14586  		}
 14587  		yyVAL.union = yyLOCAL
 14588  	case 764:
 14589  		yyDollar = yyS[yypt-4 : yypt+1]
 14590  		var yyLOCAL Statement
 14591  //line sql.y:4160
 14592  		{
 14593  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
 14594  		}
 14595  		yyVAL.union = yyLOCAL
 14596  	case 765:
 14597  		yyDollar = yyS[yypt-5 : yypt+1]
 14598  		var yyLOCAL Statement
 14599  //line sql.y:4164
 14600  		{
 14601  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}}
 14602  		}
 14603  		yyVAL.union = yyLOCAL
 14604  	case 766:
 14605  		yyDollar = yyS[yypt-3 : yypt+1]
 14606  		var yyLOCAL Statement
 14607  //line sql.y:4168
 14608  		{
 14609  			yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
 14610  		}
 14611  		yyVAL.union = yyLOCAL
 14612  	case 767:
 14613  		yyDollar = yyS[yypt-0 : yypt+1]
 14614  //line sql.y:4174
 14615  		{
 14616  			yyVAL.str = ""
 14617  		}
 14618  	case 768:
 14619  		yyDollar = yyS[yypt-1 : yypt+1]
 14620  //line sql.y:4178
 14621  		{
 14622  			yyVAL.str = "extended "
 14623  		}
 14624  	case 769:
 14625  		yyDollar = yyS[yypt-0 : yypt+1]
 14626  		var yyLOCAL bool
 14627  //line sql.y:4184
 14628  		{
 14629  			yyLOCAL = false
 14630  		}
 14631  		yyVAL.union = yyLOCAL
 14632  	case 770:
 14633  		yyDollar = yyS[yypt-1 : yypt+1]
 14634  		var yyLOCAL bool
 14635  //line sql.y:4188
 14636  		{
 14637  			yyLOCAL = true
 14638  		}
 14639  		yyVAL.union = yyLOCAL
 14640  	case 771:
 14641  		yyDollar = yyS[yypt-1 : yypt+1]
 14642  //line sql.y:4194
 14643  		{
 14644  			yyVAL.str = string(yyDollar[1].str)
 14645  		}
 14646  	case 772:
 14647  		yyDollar = yyS[yypt-1 : yypt+1]
 14648  //line sql.y:4198
 14649  		{
 14650  			yyVAL.str = string(yyDollar[1].str)
 14651  		}
 14652  	case 773:
 14653  		yyDollar = yyS[yypt-0 : yypt+1]
 14654  //line sql.y:4204
 14655  		{
 14656  			yyVAL.identifierCS = NewIdentifierCS("")
 14657  		}
 14658  	case 774:
 14659  		yyDollar = yyS[yypt-2 : yypt+1]
 14660  //line sql.y:4208
 14661  		{
 14662  			yyVAL.identifierCS = yyDollar[2].identifierCS
 14663  		}
 14664  	case 775:
 14665  		yyDollar = yyS[yypt-2 : yypt+1]
 14666  //line sql.y:4212
 14667  		{
 14668  			yyVAL.identifierCS = yyDollar[2].identifierCS
 14669  		}
 14670  	case 776:
 14671  		yyDollar = yyS[yypt-0 : yypt+1]
 14672  		var yyLOCAL *ShowFilter
 14673  //line sql.y:4218
 14674  		{
 14675  			yyLOCAL = nil
 14676  		}
 14677  		yyVAL.union = yyLOCAL
 14678  	case 777:
 14679  		yyDollar = yyS[yypt-2 : yypt+1]
 14680  		var yyLOCAL *ShowFilter
 14681  //line sql.y:4222
 14682  		{
 14683  			yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
 14684  		}
 14685  		yyVAL.union = yyLOCAL
 14686  	case 778:
 14687  		yyDollar = yyS[yypt-2 : yypt+1]
 14688  		var yyLOCAL *ShowFilter
 14689  //line sql.y:4226
 14690  		{
 14691  			yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()}
 14692  		}
 14693  		yyVAL.union = yyLOCAL
 14694  	case 779:
 14695  		yyDollar = yyS[yypt-0 : yypt+1]
 14696  		var yyLOCAL *ShowFilter
 14697  //line sql.y:4232
 14698  		{
 14699  			yyLOCAL = nil
 14700  		}
 14701  		yyVAL.union = yyLOCAL
 14702  	case 780:
 14703  		yyDollar = yyS[yypt-2 : yypt+1]
 14704  		var yyLOCAL *ShowFilter
 14705  //line sql.y:4236
 14706  		{
 14707  			yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
 14708  		}
 14709  		yyVAL.union = yyLOCAL
 14710  	case 781:
 14711  		yyDollar = yyS[yypt-0 : yypt+1]
 14712  //line sql.y:4242
 14713  		{
 14714  			yyVAL.empty = struct{}{}
 14715  		}
 14716  	case 782:
 14717  		yyDollar = yyS[yypt-1 : yypt+1]
 14718  //line sql.y:4246
 14719  		{
 14720  			yyVAL.empty = struct{}{}
 14721  		}
 14722  	case 783:
 14723  		yyDollar = yyS[yypt-1 : yypt+1]
 14724  //line sql.y:4250
 14725  		{
 14726  			yyVAL.empty = struct{}{}
 14727  		}
 14728  	case 784:
 14729  		yyDollar = yyS[yypt-1 : yypt+1]
 14730  //line sql.y:4256
 14731  		{
 14732  			yyVAL.str = string(yyDollar[1].str)
 14733  		}
 14734  	case 785:
 14735  		yyDollar = yyS[yypt-1 : yypt+1]
 14736  //line sql.y:4260
 14737  		{
 14738  			yyVAL.str = string(yyDollar[1].str)
 14739  		}
 14740  	case 786:
 14741  		yyDollar = yyS[yypt-2 : yypt+1]
 14742  		var yyLOCAL Statement
 14743  //line sql.y:4266
 14744  		{
 14745  			yyLOCAL = &Use{DBName: yyDollar[2].identifierCS}
 14746  		}
 14747  		yyVAL.union = yyLOCAL
 14748  	case 787:
 14749  		yyDollar = yyS[yypt-1 : yypt+1]
 14750  		var yyLOCAL Statement
 14751  //line sql.y:4270
 14752  		{
 14753  			yyLOCAL = &Use{DBName: IdentifierCS{v: ""}}
 14754  		}
 14755  		yyVAL.union = yyLOCAL
 14756  	case 788:
 14757  		yyDollar = yyS[yypt-3 : yypt+1]
 14758  		var yyLOCAL Statement
 14759  //line sql.y:4274
 14760  		{
 14761  			yyLOCAL = &Use{DBName: NewIdentifierCS(yyDollar[2].identifierCS.String() + "@" + string(yyDollar[3].str))}
 14762  		}
 14763  		yyVAL.union = yyLOCAL
 14764  	case 789:
 14765  		yyDollar = yyS[yypt-1 : yypt+1]
 14766  //line sql.y:4281
 14767  		{
 14768  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 14769  		}
 14770  	case 790:
 14771  		yyDollar = yyS[yypt-1 : yypt+1]
 14772  //line sql.y:4285
 14773  		{
 14774  			yyVAL.identifierCS = NewIdentifierCS("@" + string(yyDollar[1].str))
 14775  		}
 14776  	case 791:
 14777  		yyDollar = yyS[yypt-1 : yypt+1]
 14778  //line sql.y:4289
 14779  		{
 14780  			yyVAL.identifierCS = NewIdentifierCS("@@" + string(yyDollar[1].str))
 14781  		}
 14782  	case 792:
 14783  		yyDollar = yyS[yypt-1 : yypt+1]
 14784  //line sql.y:4293
 14785  		{
 14786  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 14787  		}
 14788  	case 793:
 14789  		yyDollar = yyS[yypt-1 : yypt+1]
 14790  		var yyLOCAL Statement
 14791  //line sql.y:4300
 14792  		{
 14793  			yyLOCAL = &Begin{}
 14794  		}
 14795  		yyVAL.union = yyLOCAL
 14796  	case 794:
 14797  		yyDollar = yyS[yypt-3 : yypt+1]
 14798  		var yyLOCAL Statement
 14799  //line sql.y:4304
 14800  		{
 14801  			yyLOCAL = &Begin{TxAccessModes: yyDollar[3].txAccessModesUnion()}
 14802  		}
 14803  		yyVAL.union = yyLOCAL
 14804  	case 795:
 14805  		yyDollar = yyS[yypt-0 : yypt+1]
 14806  		var yyLOCAL []TxAccessMode
 14807  //line sql.y:4309
 14808  		{
 14809  			yyLOCAL = nil
 14810  		}
 14811  		yyVAL.union = yyLOCAL
 14812  	case 796:
 14813  		yyDollar = yyS[yypt-1 : yypt+1]
 14814  		var yyLOCAL []TxAccessMode
 14815  //line sql.y:4313
 14816  		{
 14817  			yyLOCAL = yyDollar[1].txAccessModesUnion()
 14818  		}
 14819  		yyVAL.union = yyLOCAL
 14820  	case 797:
 14821  		yyDollar = yyS[yypt-1 : yypt+1]
 14822  		var yyLOCAL []TxAccessMode
 14823  //line sql.y:4319
 14824  		{
 14825  			yyLOCAL = []TxAccessMode{yyDollar[1].txAccessModeUnion()}
 14826  		}
 14827  		yyVAL.union = yyLOCAL
 14828  	case 798:
 14829  		yyDollar = yyS[yypt-3 : yypt+1]
 14830  //line sql.y:4323
 14831  		{
 14832  			yySLICE := (*[]TxAccessMode)(yyIaddr(yyVAL.union))
 14833  			*yySLICE = append(*yySLICE, yyDollar[3].txAccessModeUnion())
 14834  		}
 14835  	case 799:
 14836  		yyDollar = yyS[yypt-3 : yypt+1]
 14837  		var yyLOCAL TxAccessMode
 14838  //line sql.y:4329
 14839  		{
 14840  			yyLOCAL = WithConsistentSnapshot
 14841  		}
 14842  		yyVAL.union = yyLOCAL
 14843  	case 800:
 14844  		yyDollar = yyS[yypt-2 : yypt+1]
 14845  		var yyLOCAL TxAccessMode
 14846  //line sql.y:4333
 14847  		{
 14848  			yyLOCAL = ReadWrite
 14849  		}
 14850  		yyVAL.union = yyLOCAL
 14851  	case 801:
 14852  		yyDollar = yyS[yypt-2 : yypt+1]
 14853  		var yyLOCAL TxAccessMode
 14854  //line sql.y:4337
 14855  		{
 14856  			yyLOCAL = ReadOnly
 14857  		}
 14858  		yyVAL.union = yyLOCAL
 14859  	case 802:
 14860  		yyDollar = yyS[yypt-1 : yypt+1]
 14861  		var yyLOCAL Statement
 14862  //line sql.y:4344
 14863  		{
 14864  			yyLOCAL = &Commit{}
 14865  		}
 14866  		yyVAL.union = yyLOCAL
 14867  	case 803:
 14868  		yyDollar = yyS[yypt-1 : yypt+1]
 14869  		var yyLOCAL Statement
 14870  //line sql.y:4350
 14871  		{
 14872  			yyLOCAL = &Rollback{}
 14873  		}
 14874  		yyVAL.union = yyLOCAL
 14875  	case 804:
 14876  		yyDollar = yyS[yypt-5 : yypt+1]
 14877  		var yyLOCAL Statement
 14878  //line sql.y:4354
 14879  		{
 14880  			yyLOCAL = &SRollback{Name: yyDollar[5].identifierCI}
 14881  		}
 14882  		yyVAL.union = yyLOCAL
 14883  	case 805:
 14884  		yyDollar = yyS[yypt-0 : yypt+1]
 14885  //line sql.y:4359
 14886  		{
 14887  			yyVAL.empty = struct{}{}
 14888  		}
 14889  	case 806:
 14890  		yyDollar = yyS[yypt-1 : yypt+1]
 14891  //line sql.y:4361
 14892  		{
 14893  			yyVAL.empty = struct{}{}
 14894  		}
 14895  	case 807:
 14896  		yyDollar = yyS[yypt-0 : yypt+1]
 14897  //line sql.y:4364
 14898  		{
 14899  			yyVAL.empty = struct{}{}
 14900  		}
 14901  	case 808:
 14902  		yyDollar = yyS[yypt-1 : yypt+1]
 14903  //line sql.y:4366
 14904  		{
 14905  			yyVAL.empty = struct{}{}
 14906  		}
 14907  	case 809:
 14908  		yyDollar = yyS[yypt-2 : yypt+1]
 14909  		var yyLOCAL Statement
 14910  //line sql.y:4370
 14911  		{
 14912  			yyLOCAL = &Savepoint{Name: yyDollar[2].identifierCI}
 14913  		}
 14914  		yyVAL.union = yyLOCAL
 14915  	case 810:
 14916  		yyDollar = yyS[yypt-3 : yypt+1]
 14917  		var yyLOCAL Statement
 14918  //line sql.y:4376
 14919  		{
 14920  			yyLOCAL = &Release{Name: yyDollar[3].identifierCI}
 14921  		}
 14922  		yyVAL.union = yyLOCAL
 14923  	case 811:
 14924  		yyDollar = yyS[yypt-0 : yypt+1]
 14925  		var yyLOCAL ExplainType
 14926  //line sql.y:4381
 14927  		{
 14928  			yyLOCAL = EmptyType
 14929  		}
 14930  		yyVAL.union = yyLOCAL
 14931  	case 812:
 14932  		yyDollar = yyS[yypt-3 : yypt+1]
 14933  		var yyLOCAL ExplainType
 14934  //line sql.y:4385
 14935  		{
 14936  			yyLOCAL = JSONType
 14937  		}
 14938  		yyVAL.union = yyLOCAL
 14939  	case 813:
 14940  		yyDollar = yyS[yypt-3 : yypt+1]
 14941  		var yyLOCAL ExplainType
 14942  //line sql.y:4389
 14943  		{
 14944  			yyLOCAL = TreeType
 14945  		}
 14946  		yyVAL.union = yyLOCAL
 14947  	case 814:
 14948  		yyDollar = yyS[yypt-3 : yypt+1]
 14949  		var yyLOCAL ExplainType
 14950  //line sql.y:4393
 14951  		{
 14952  			yyLOCAL = VitessType
 14953  		}
 14954  		yyVAL.union = yyLOCAL
 14955  	case 815:
 14956  		yyDollar = yyS[yypt-3 : yypt+1]
 14957  		var yyLOCAL ExplainType
 14958  //line sql.y:4397
 14959  		{
 14960  			yyLOCAL = VTExplainType
 14961  		}
 14962  		yyVAL.union = yyLOCAL
 14963  	case 816:
 14964  		yyDollar = yyS[yypt-3 : yypt+1]
 14965  		var yyLOCAL ExplainType
 14966  //line sql.y:4401
 14967  		{
 14968  			yyLOCAL = TraditionalType
 14969  		}
 14970  		yyVAL.union = yyLOCAL
 14971  	case 817:
 14972  		yyDollar = yyS[yypt-1 : yypt+1]
 14973  		var yyLOCAL ExplainType
 14974  //line sql.y:4405
 14975  		{
 14976  			yyLOCAL = AnalyzeType
 14977  		}
 14978  		yyVAL.union = yyLOCAL
 14979  	case 818:
 14980  		yyDollar = yyS[yypt-0 : yypt+1]
 14981  		var yyLOCAL VExplainType
 14982  //line sql.y:4410
 14983  		{
 14984  			yyLOCAL = PlanVExplainType
 14985  		}
 14986  		yyVAL.union = yyLOCAL
 14987  	case 819:
 14988  		yyDollar = yyS[yypt-1 : yypt+1]
 14989  		var yyLOCAL VExplainType
 14990  //line sql.y:4414
 14991  		{
 14992  			yyLOCAL = PlanVExplainType
 14993  		}
 14994  		yyVAL.union = yyLOCAL
 14995  	case 820:
 14996  		yyDollar = yyS[yypt-1 : yypt+1]
 14997  		var yyLOCAL VExplainType
 14998  //line sql.y:4418
 14999  		{
 15000  			yyLOCAL = AllVExplainType
 15001  		}
 15002  		yyVAL.union = yyLOCAL
 15003  	case 821:
 15004  		yyDollar = yyS[yypt-1 : yypt+1]
 15005  		var yyLOCAL VExplainType
 15006  //line sql.y:4422
 15007  		{
 15008  			yyLOCAL = QueriesVExplainType
 15009  		}
 15010  		yyVAL.union = yyLOCAL
 15011  	case 822:
 15012  		yyDollar = yyS[yypt-1 : yypt+1]
 15013  //line sql.y:4428
 15014  		{
 15015  			yyVAL.str = yyDollar[1].str
 15016  		}
 15017  	case 823:
 15018  		yyDollar = yyS[yypt-1 : yypt+1]
 15019  //line sql.y:4432
 15020  		{
 15021  			yyVAL.str = yyDollar[1].str
 15022  		}
 15023  	case 824:
 15024  		yyDollar = yyS[yypt-1 : yypt+1]
 15025  //line sql.y:4436
 15026  		{
 15027  			yyVAL.str = yyDollar[1].str
 15028  		}
 15029  	case 825:
 15030  		yyDollar = yyS[yypt-1 : yypt+1]
 15031  		var yyLOCAL Statement
 15032  //line sql.y:4442
 15033  		{
 15034  			yyLOCAL = yyDollar[1].selStmtUnion()
 15035  		}
 15036  		yyVAL.union = yyLOCAL
 15037  	case 826:
 15038  		yyDollar = yyS[yypt-1 : yypt+1]
 15039  		var yyLOCAL Statement
 15040  //line sql.y:4446
 15041  		{
 15042  			yyLOCAL = yyDollar[1].statementUnion()
 15043  		}
 15044  		yyVAL.union = yyLOCAL
 15045  	case 827:
 15046  		yyDollar = yyS[yypt-1 : yypt+1]
 15047  		var yyLOCAL Statement
 15048  //line sql.y:4450
 15049  		{
 15050  			yyLOCAL = yyDollar[1].statementUnion()
 15051  		}
 15052  		yyVAL.union = yyLOCAL
 15053  	case 828:
 15054  		yyDollar = yyS[yypt-1 : yypt+1]
 15055  		var yyLOCAL Statement
 15056  //line sql.y:4454
 15057  		{
 15058  			yyLOCAL = yyDollar[1].statementUnion()
 15059  		}
 15060  		yyVAL.union = yyLOCAL
 15061  	case 829:
 15062  		yyDollar = yyS[yypt-0 : yypt+1]
 15063  //line sql.y:4459
 15064  		{
 15065  			yyVAL.str = ""
 15066  		}
 15067  	case 830:
 15068  		yyDollar = yyS[yypt-1 : yypt+1]
 15069  //line sql.y:4463
 15070  		{
 15071  			yyVAL.str = yyDollar[1].identifierCI.val
 15072  		}
 15073  	case 831:
 15074  		yyDollar = yyS[yypt-1 : yypt+1]
 15075  //line sql.y:4467
 15076  		{
 15077  			yyVAL.str = encodeSQLString(yyDollar[1].str)
 15078  		}
 15079  	case 832:
 15080  		yyDollar = yyS[yypt-4 : yypt+1]
 15081  		var yyLOCAL Statement
 15082  //line sql.y:4473
 15083  		{
 15084  			yyLOCAL = &ExplainTab{Table: yyDollar[3].tableName, Wild: yyDollar[4].str}
 15085  		}
 15086  		yyVAL.union = yyLOCAL
 15087  	case 833:
 15088  		yyDollar = yyS[yypt-4 : yypt+1]
 15089  		var yyLOCAL Statement
 15090  //line sql.y:4477
 15091  		{
 15092  			yyLOCAL = &ExplainStmt{Type: yyDollar[3].explainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
 15093  		}
 15094  		yyVAL.union = yyLOCAL
 15095  	case 834:
 15096  		yyDollar = yyS[yypt-4 : yypt+1]
 15097  		var yyLOCAL Statement
 15098  //line sql.y:4483
 15099  		{
 15100  			yyLOCAL = &VExplainStmt{Type: yyDollar[3].vexplainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
 15101  		}
 15102  		yyVAL.union = yyLOCAL
 15103  	case 835:
 15104  		yyDollar = yyS[yypt-2 : yypt+1]
 15105  		var yyLOCAL Statement
 15106  //line sql.y:4489
 15107  		{
 15108  			yyLOCAL = &OtherAdmin{}
 15109  		}
 15110  		yyVAL.union = yyLOCAL
 15111  	case 836:
 15112  		yyDollar = yyS[yypt-2 : yypt+1]
 15113  		var yyLOCAL Statement
 15114  //line sql.y:4493
 15115  		{
 15116  			yyLOCAL = &OtherAdmin{}
 15117  		}
 15118  		yyVAL.union = yyLOCAL
 15119  	case 837:
 15120  		yyDollar = yyS[yypt-3 : yypt+1]
 15121  		var yyLOCAL Statement
 15122  //line sql.y:4499
 15123  		{
 15124  			yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()}
 15125  		}
 15126  		yyVAL.union = yyLOCAL
 15127  	case 838:
 15128  		yyDollar = yyS[yypt-1 : yypt+1]
 15129  		var yyLOCAL TableAndLockTypes
 15130  //line sql.y:4505
 15131  		{
 15132  			yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()}
 15133  		}
 15134  		yyVAL.union = yyLOCAL
 15135  	case 839:
 15136  		yyDollar = yyS[yypt-3 : yypt+1]
 15137  //line sql.y:4509
 15138  		{
 15139  			yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union))
 15140  			*yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion())
 15141  		}
 15142  	case 840:
 15143  		yyDollar = yyS[yypt-2 : yypt+1]
 15144  		var yyLOCAL *TableAndLockType
 15145  //line sql.y:4515
 15146  		{
 15147  			yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()}
 15148  		}
 15149  		yyVAL.union = yyLOCAL
 15150  	case 841:
 15151  		yyDollar = yyS[yypt-1 : yypt+1]
 15152  		var yyLOCAL LockType
 15153  //line sql.y:4521
 15154  		{
 15155  			yyLOCAL = Read
 15156  		}
 15157  		yyVAL.union = yyLOCAL
 15158  	case 842:
 15159  		yyDollar = yyS[yypt-2 : yypt+1]
 15160  		var yyLOCAL LockType
 15161  //line sql.y:4525
 15162  		{
 15163  			yyLOCAL = ReadLocal
 15164  		}
 15165  		yyVAL.union = yyLOCAL
 15166  	case 843:
 15167  		yyDollar = yyS[yypt-1 : yypt+1]
 15168  		var yyLOCAL LockType
 15169  //line sql.y:4529
 15170  		{
 15171  			yyLOCAL = Write
 15172  		}
 15173  		yyVAL.union = yyLOCAL
 15174  	case 844:
 15175  		yyDollar = yyS[yypt-2 : yypt+1]
 15176  		var yyLOCAL LockType
 15177  //line sql.y:4533
 15178  		{
 15179  			yyLOCAL = LowPriorityWrite
 15180  		}
 15181  		yyVAL.union = yyLOCAL
 15182  	case 845:
 15183  		yyDollar = yyS[yypt-2 : yypt+1]
 15184  		var yyLOCAL Statement
 15185  //line sql.y:4539
 15186  		{
 15187  			yyLOCAL = &UnlockTables{}
 15188  		}
 15189  		yyVAL.union = yyLOCAL
 15190  	case 846:
 15191  		yyDollar = yyS[yypt-4 : yypt+1]
 15192  		var yyLOCAL Statement
 15193  //line sql.y:4545
 15194  		{
 15195  			yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)}
 15196  		}
 15197  		yyVAL.union = yyLOCAL
 15198  	case 847:
 15199  		yyDollar = yyS[yypt-3 : yypt+1]
 15200  		var yyLOCAL Statement
 15201  //line sql.y:4551
 15202  		{
 15203  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs}
 15204  		}
 15205  		yyVAL.union = yyLOCAL
 15206  	case 848:
 15207  		yyDollar = yyS[yypt-3 : yypt+1]
 15208  		var yyLOCAL Statement
 15209  //line sql.y:4555
 15210  		{
 15211  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()}
 15212  		}
 15213  		yyVAL.union = yyLOCAL
 15214  	case 849:
 15215  		yyDollar = yyS[yypt-6 : yypt+1]
 15216  		var yyLOCAL Statement
 15217  //line sql.y:4559
 15218  		{
 15219  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true}
 15220  		}
 15221  		yyVAL.union = yyLOCAL
 15222  	case 850:
 15223  		yyDollar = yyS[yypt-4 : yypt+1]
 15224  		var yyLOCAL Statement
 15225  //line sql.y:4563
 15226  		{
 15227  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()}
 15228  		}
 15229  		yyVAL.union = yyLOCAL
 15230  	case 851:
 15231  		yyDollar = yyS[yypt-7 : yypt+1]
 15232  		var yyLOCAL Statement
 15233  //line sql.y:4567
 15234  		{
 15235  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true}
 15236  		}
 15237  		yyVAL.union = yyLOCAL
 15238  	case 852:
 15239  		yyDollar = yyS[yypt-6 : yypt+1]
 15240  		var yyLOCAL Statement
 15241  //line sql.y:4571
 15242  		{
 15243  			yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true}
 15244  		}
 15245  		yyVAL.union = yyLOCAL
 15246  	case 853:
 15247  		yyDollar = yyS[yypt-1 : yypt+1]
 15248  //line sql.y:4577
 15249  		{
 15250  			yyVAL.strs = []string{yyDollar[1].str}
 15251  		}
 15252  	case 854:
 15253  		yyDollar = yyS[yypt-3 : yypt+1]
 15254  //line sql.y:4581
 15255  		{
 15256  			yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str)
 15257  		}
 15258  	case 855:
 15259  		yyDollar = yyS[yypt-2 : yypt+1]
 15260  //line sql.y:4587
 15261  		{
 15262  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15263  		}
 15264  	case 856:
 15265  		yyDollar = yyS[yypt-2 : yypt+1]
 15266  //line sql.y:4591
 15267  		{
 15268  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15269  		}
 15270  	case 857:
 15271  		yyDollar = yyS[yypt-2 : yypt+1]
 15272  //line sql.y:4595
 15273  		{
 15274  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15275  		}
 15276  	case 858:
 15277  		yyDollar = yyS[yypt-2 : yypt+1]
 15278  //line sql.y:4599
 15279  		{
 15280  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15281  		}
 15282  	case 859:
 15283  		yyDollar = yyS[yypt-1 : yypt+1]
 15284  //line sql.y:4603
 15285  		{
 15286  			yyVAL.str = string(yyDollar[1].str)
 15287  		}
 15288  	case 860:
 15289  		yyDollar = yyS[yypt-1 : yypt+1]
 15290  //line sql.y:4607
 15291  		{
 15292  			yyVAL.str = string(yyDollar[1].str)
 15293  		}
 15294  	case 861:
 15295  		yyDollar = yyS[yypt-1 : yypt+1]
 15296  //line sql.y:4611
 15297  		{
 15298  			yyVAL.str = string(yyDollar[1].str)
 15299  		}
 15300  	case 862:
 15301  		yyDollar = yyS[yypt-3 : yypt+1]
 15302  //line sql.y:4615
 15303  		{
 15304  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str
 15305  		}
 15306  	case 863:
 15307  		yyDollar = yyS[yypt-2 : yypt+1]
 15308  //line sql.y:4619
 15309  		{
 15310  			yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
 15311  		}
 15312  	case 864:
 15313  		yyDollar = yyS[yypt-1 : yypt+1]
 15314  //line sql.y:4623
 15315  		{
 15316  			yyVAL.str = string(yyDollar[1].str)
 15317  		}
 15318  	case 865:
 15319  		yyDollar = yyS[yypt-1 : yypt+1]
 15320  //line sql.y:4627
 15321  		{
 15322  			yyVAL.str = string(yyDollar[1].str)
 15323  		}
 15324  	case 866:
 15325  		yyDollar = yyS[yypt-1 : yypt+1]
 15326  //line sql.y:4631
 15327  		{
 15328  			yyVAL.str = string(yyDollar[1].str)
 15329  		}
 15330  	case 867:
 15331  		yyDollar = yyS[yypt-0 : yypt+1]
 15332  		var yyLOCAL bool
 15333  //line sql.y:4636
 15334  		{
 15335  			yyLOCAL = false
 15336  		}
 15337  		yyVAL.union = yyLOCAL
 15338  	case 868:
 15339  		yyDollar = yyS[yypt-1 : yypt+1]
 15340  		var yyLOCAL bool
 15341  //line sql.y:4640
 15342  		{
 15343  			yyLOCAL = true
 15344  		}
 15345  		yyVAL.union = yyLOCAL
 15346  	case 869:
 15347  		yyDollar = yyS[yypt-1 : yypt+1]
 15348  		var yyLOCAL bool
 15349  //line sql.y:4644
 15350  		{
 15351  			yyLOCAL = true
 15352  		}
 15353  		yyVAL.union = yyLOCAL
 15354  	case 870:
 15355  		yyDollar = yyS[yypt-0 : yypt+1]
 15356  //line sql.y:4649
 15357  		{
 15358  			yyVAL.str = ""
 15359  		}
 15360  	case 871:
 15361  		yyDollar = yyS[yypt-3 : yypt+1]
 15362  //line sql.y:4653
 15363  		{
 15364  			yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()
 15365  		}
 15366  	case 872:
 15367  		yyDollar = yyS[yypt-0 : yypt+1]
 15368  //line sql.y:4658
 15369  		{
 15370  			setAllowComments(yylex, true)
 15371  		}
 15372  	case 873:
 15373  		yyDollar = yyS[yypt-2 : yypt+1]
 15374  //line sql.y:4662
 15375  		{
 15376  			yyVAL.strs = yyDollar[2].strs
 15377  			setAllowComments(yylex, false)
 15378  		}
 15379  	case 874:
 15380  		yyDollar = yyS[yypt-0 : yypt+1]
 15381  //line sql.y:4668
 15382  		{
 15383  			yyVAL.strs = nil
 15384  		}
 15385  	case 875:
 15386  		yyDollar = yyS[yypt-2 : yypt+1]
 15387  //line sql.y:4672
 15388  		{
 15389  			yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str)
 15390  		}
 15391  	case 876:
 15392  		yyDollar = yyS[yypt-1 : yypt+1]
 15393  		var yyLOCAL bool
 15394  //line sql.y:4678
 15395  		{
 15396  			yyLOCAL = true
 15397  		}
 15398  		yyVAL.union = yyLOCAL
 15399  	case 877:
 15400  		yyDollar = yyS[yypt-2 : yypt+1]
 15401  		var yyLOCAL bool
 15402  //line sql.y:4682
 15403  		{
 15404  			yyLOCAL = false
 15405  		}
 15406  		yyVAL.union = yyLOCAL
 15407  	case 878:
 15408  		yyDollar = yyS[yypt-2 : yypt+1]
 15409  		var yyLOCAL bool
 15410  //line sql.y:4686
 15411  		{
 15412  			yyLOCAL = true
 15413  		}
 15414  		yyVAL.union = yyLOCAL
 15415  	case 879:
 15416  		yyDollar = yyS[yypt-0 : yypt+1]
 15417  //line sql.y:4691
 15418  		{
 15419  			yyVAL.str = ""
 15420  		}
 15421  	case 880:
 15422  		yyDollar = yyS[yypt-1 : yypt+1]
 15423  //line sql.y:4695
 15424  		{
 15425  			yyVAL.str = SQLNoCacheStr
 15426  		}
 15427  	case 881:
 15428  		yyDollar = yyS[yypt-1 : yypt+1]
 15429  //line sql.y:4699
 15430  		{
 15431  			yyVAL.str = SQLCacheStr
 15432  		}
 15433  	case 882:
 15434  		yyDollar = yyS[yypt-0 : yypt+1]
 15435  		var yyLOCAL bool
 15436  //line sql.y:4704
 15437  		{
 15438  			yyLOCAL = false
 15439  		}
 15440  		yyVAL.union = yyLOCAL
 15441  	case 883:
 15442  		yyDollar = yyS[yypt-1 : yypt+1]
 15443  		var yyLOCAL bool
 15444  //line sql.y:4708
 15445  		{
 15446  			yyLOCAL = true
 15447  		}
 15448  		yyVAL.union = yyLOCAL
 15449  	case 884:
 15450  		yyDollar = yyS[yypt-1 : yypt+1]
 15451  		var yyLOCAL bool
 15452  //line sql.y:4712
 15453  		{
 15454  			yyLOCAL = true
 15455  		}
 15456  		yyVAL.union = yyLOCAL
 15457  	case 885:
 15458  		yyDollar = yyS[yypt-5 : yypt+1]
 15459  		var yyLOCAL Statement
 15460  //line sql.y:4718
 15461  		{
 15462  			yyLOCAL = &PrepareStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()}
 15463  		}
 15464  		yyVAL.union = yyLOCAL
 15465  	case 886:
 15466  		yyDollar = yyS[yypt-5 : yypt+1]
 15467  		var yyLOCAL Statement
 15468  //line sql.y:4722
 15469  		{
 15470  			yyLOCAL = &PrepareStmt{
 15471  				Name:      yyDollar[3].identifierCI,
 15472  				Comments:  Comments(yyDollar[2].strs).Parsed(),
 15473  				Statement: yyDollar[5].variableUnion(),
 15474  			}
 15475  		}
 15476  		yyVAL.union = yyLOCAL
 15477  	case 887:
 15478  		yyDollar = yyS[yypt-4 : yypt+1]
 15479  		var yyLOCAL Statement
 15480  //line sql.y:4732
 15481  		{
 15482  			yyLOCAL = &ExecuteStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].variablesUnion()}
 15483  		}
 15484  		yyVAL.union = yyLOCAL
 15485  	case 888:
 15486  		yyDollar = yyS[yypt-0 : yypt+1]
 15487  		var yyLOCAL []*Variable
 15488  //line sql.y:4737
 15489  		{
 15490  			yyLOCAL = nil
 15491  		}
 15492  		yyVAL.union = yyLOCAL
 15493  	case 889:
 15494  		yyDollar = yyS[yypt-2 : yypt+1]
 15495  		var yyLOCAL []*Variable
 15496  //line sql.y:4741
 15497  		{
 15498  			yyLOCAL = yyDollar[2].variablesUnion()
 15499  		}
 15500  		yyVAL.union = yyLOCAL
 15501  	case 890:
 15502  		yyDollar = yyS[yypt-4 : yypt+1]
 15503  		var yyLOCAL Statement
 15504  //line sql.y:4747
 15505  		{
 15506  			yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
 15507  		}
 15508  		yyVAL.union = yyLOCAL
 15509  	case 891:
 15510  		yyDollar = yyS[yypt-4 : yypt+1]
 15511  		var yyLOCAL Statement
 15512  //line sql.y:4751
 15513  		{
 15514  			yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
 15515  		}
 15516  		yyVAL.union = yyLOCAL
 15517  	case 892:
 15518  		yyDollar = yyS[yypt-0 : yypt+1]
 15519  		var yyLOCAL SelectExprs
 15520  //line sql.y:4756
 15521  		{
 15522  			yyLOCAL = nil
 15523  		}
 15524  		yyVAL.union = yyLOCAL
 15525  	case 893:
 15526  		yyDollar = yyS[yypt-1 : yypt+1]
 15527  		var yyLOCAL SelectExprs
 15528  //line sql.y:4760
 15529  		{
 15530  			yyLOCAL = yyDollar[1].selectExprsUnion()
 15531  		}
 15532  		yyVAL.union = yyLOCAL
 15533  	case 894:
 15534  		yyDollar = yyS[yypt-0 : yypt+1]
 15535  //line sql.y:4765
 15536  		{
 15537  			yyVAL.strs = nil
 15538  		}
 15539  	case 895:
 15540  		yyDollar = yyS[yypt-1 : yypt+1]
 15541  //line sql.y:4769
 15542  		{
 15543  			yyVAL.strs = []string{yyDollar[1].str}
 15544  		}
 15545  	case 896:
 15546  		yyDollar = yyS[yypt-2 : yypt+1]
 15547  //line sql.y:4773
 15548  		{ // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce'
 15549  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str}
 15550  		}
 15551  	case 897:
 15552  		yyDollar = yyS[yypt-3 : yypt+1]
 15553  //line sql.y:4777
 15554  		{
 15555  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str}
 15556  		}
 15557  	case 898:
 15558  		yyDollar = yyS[yypt-4 : yypt+1]
 15559  //line sql.y:4781
 15560  		{
 15561  			yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str}
 15562  		}
 15563  	case 899:
 15564  		yyDollar = yyS[yypt-1 : yypt+1]
 15565  //line sql.y:4787
 15566  		{
 15567  			yyVAL.str = SQLNoCacheStr
 15568  		}
 15569  	case 900:
 15570  		yyDollar = yyS[yypt-1 : yypt+1]
 15571  //line sql.y:4791
 15572  		{
 15573  			yyVAL.str = SQLCacheStr
 15574  		}
 15575  	case 901:
 15576  		yyDollar = yyS[yypt-1 : yypt+1]
 15577  //line sql.y:4795
 15578  		{
 15579  			yyVAL.str = DistinctStr
 15580  		}
 15581  	case 902:
 15582  		yyDollar = yyS[yypt-1 : yypt+1]
 15583  //line sql.y:4799
 15584  		{
 15585  			yyVAL.str = DistinctStr
 15586  		}
 15587  	case 903:
 15588  		yyDollar = yyS[yypt-1 : yypt+1]
 15589  //line sql.y:4803
 15590  		{
 15591  			yyVAL.str = StraightJoinHint
 15592  		}
 15593  	case 904:
 15594  		yyDollar = yyS[yypt-1 : yypt+1]
 15595  //line sql.y:4807
 15596  		{
 15597  			yyVAL.str = SQLCalcFoundRowsStr
 15598  		}
 15599  	case 905:
 15600  		yyDollar = yyS[yypt-1 : yypt+1]
 15601  //line sql.y:4811
 15602  		{
 15603  			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
 15604  		}
 15605  	case 906:
 15606  		yyDollar = yyS[yypt-1 : yypt+1]
 15607  		var yyLOCAL SelectExprs
 15608  //line sql.y:4817
 15609  		{
 15610  			yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()}
 15611  		}
 15612  		yyVAL.union = yyLOCAL
 15613  	case 907:
 15614  		yyDollar = yyS[yypt-3 : yypt+1]
 15615  //line sql.y:4821
 15616  		{
 15617  			yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union))
 15618  			*yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion())
 15619  		}
 15620  	case 908:
 15621  		yyDollar = yyS[yypt-1 : yypt+1]
 15622  		var yyLOCAL SelectExpr
 15623  //line sql.y:4827
 15624  		{
 15625  			yyLOCAL = &StarExpr{}
 15626  		}
 15627  		yyVAL.union = yyLOCAL
 15628  	case 909:
 15629  		yyDollar = yyS[yypt-2 : yypt+1]
 15630  		var yyLOCAL SelectExpr
 15631  //line sql.y:4831
 15632  		{
 15633  			yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].identifierCI}
 15634  		}
 15635  		yyVAL.union = yyLOCAL
 15636  	case 910:
 15637  		yyDollar = yyS[yypt-3 : yypt+1]
 15638  		var yyLOCAL SelectExpr
 15639  //line sql.y:4835
 15640  		{
 15641  			yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].identifierCS}}
 15642  		}
 15643  		yyVAL.union = yyLOCAL
 15644  	case 911:
 15645  		yyDollar = yyS[yypt-5 : yypt+1]
 15646  		var yyLOCAL SelectExpr
 15647  //line sql.y:4839
 15648  		{
 15649  			yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}}
 15650  		}
 15651  		yyVAL.union = yyLOCAL
 15652  	case 912:
 15653  		yyDollar = yyS[yypt-0 : yypt+1]
 15654  //line sql.y:4844
 15655  		{
 15656  			yyVAL.identifierCI = IdentifierCI{}
 15657  		}
 15658  	case 913:
 15659  		yyDollar = yyS[yypt-1 : yypt+1]
 15660  //line sql.y:4848
 15661  		{
 15662  			yyVAL.identifierCI = yyDollar[1].identifierCI
 15663  		}
 15664  	case 914:
 15665  		yyDollar = yyS[yypt-2 : yypt+1]
 15666  //line sql.y:4852
 15667  		{
 15668  			yyVAL.identifierCI = yyDollar[2].identifierCI
 15669  		}
 15670  	case 916:
 15671  		yyDollar = yyS[yypt-1 : yypt+1]
 15672  //line sql.y:4859
 15673  		{
 15674  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
 15675  		}
 15676  	case 917:
 15677  		yyDollar = yyS[yypt-0 : yypt+1]
 15678  		var yyLOCAL TableExprs
 15679  //line sql.y:4864
 15680  		{
 15681  			yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewIdentifierCS("dual")}}}
 15682  		}
 15683  		yyVAL.union = yyLOCAL
 15684  	case 918:
 15685  		yyDollar = yyS[yypt-1 : yypt+1]
 15686  		var yyLOCAL TableExprs
 15687  //line sql.y:4868
 15688  		{
 15689  			yyLOCAL = yyDollar[1].tableExprsUnion()
 15690  		}
 15691  		yyVAL.union = yyLOCAL
 15692  	case 919:
 15693  		yyDollar = yyS[yypt-2 : yypt+1]
 15694  		var yyLOCAL TableExprs
 15695  //line sql.y:4874
 15696  		{
 15697  			yyLOCAL = yyDollar[2].tableExprsUnion()
 15698  		}
 15699  		yyVAL.union = yyLOCAL
 15700  	case 920:
 15701  		yyDollar = yyS[yypt-1 : yypt+1]
 15702  		var yyLOCAL TableExprs
 15703  //line sql.y:4880
 15704  		{
 15705  			yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()}
 15706  		}
 15707  		yyVAL.union = yyLOCAL
 15708  	case 921:
 15709  		yyDollar = yyS[yypt-3 : yypt+1]
 15710  //line sql.y:4884
 15711  		{
 15712  			yySLICE := (*TableExprs)(yyIaddr(yyVAL.union))
 15713  			*yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion())
 15714  		}
 15715  	case 924:
 15716  		yyDollar = yyS[yypt-1 : yypt+1]
 15717  		var yyLOCAL TableExpr
 15718  //line sql.y:4894
 15719  		{
 15720  			yyLOCAL = yyDollar[1].aliasedTableNameUnion()
 15721  		}
 15722  		yyVAL.union = yyLOCAL
 15723  	case 925:
 15724  		yyDollar = yyS[yypt-4 : yypt+1]
 15725  		var yyLOCAL TableExpr
 15726  //line sql.y:4898
 15727  		{
 15728  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].identifierCS, Columns: yyDollar[4].columnsUnion()}
 15729  		}
 15730  		yyVAL.union = yyLOCAL
 15731  	case 926:
 15732  		yyDollar = yyS[yypt-3 : yypt+1]
 15733  		var yyLOCAL TableExpr
 15734  //line sql.y:4902
 15735  		{
 15736  			yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()}
 15737  		}
 15738  		yyVAL.union = yyLOCAL
 15739  	case 927:
 15740  		yyDollar = yyS[yypt-1 : yypt+1]
 15741  		var yyLOCAL TableExpr
 15742  //line sql.y:4906
 15743  		{
 15744  			yyLOCAL = yyDollar[1].tableExprUnion()
 15745  		}
 15746  		yyVAL.union = yyLOCAL
 15747  	case 928:
 15748  		yyDollar = yyS[yypt-1 : yypt+1]
 15749  		var yyLOCAL *DerivedTable
 15750  //line sql.y:4912
 15751  		{
 15752  			yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[1].selStmtUnion()}
 15753  		}
 15754  		yyVAL.union = yyLOCAL
 15755  	case 929:
 15756  		yyDollar = yyS[yypt-2 : yypt+1]
 15757  		var yyLOCAL *DerivedTable
 15758  //line sql.y:4916
 15759  		{
 15760  			yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[2].selStmtUnion()}
 15761  		}
 15762  		yyVAL.union = yyLOCAL
 15763  	case 930:
 15764  		yyDollar = yyS[yypt-3 : yypt+1]
 15765  		var yyLOCAL *AliasedTableExpr
 15766  //line sql.y:4922
 15767  		{
 15768  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].identifierCS, Hints: yyDollar[3].indexHintsUnion()}
 15769  		}
 15770  		yyVAL.union = yyLOCAL
 15771  	case 931:
 15772  		yyDollar = yyS[yypt-7 : yypt+1]
 15773  		var yyLOCAL *AliasedTableExpr
 15774  //line sql.y:4926
 15775  		{
 15776  			yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].identifierCS, Hints: yyDollar[7].indexHintsUnion()}
 15777  		}
 15778  		yyVAL.union = yyLOCAL
 15779  	case 932:
 15780  		yyDollar = yyS[yypt-0 : yypt+1]
 15781  		var yyLOCAL Columns
 15782  //line sql.y:4931
 15783  		{
 15784  			yyLOCAL = nil
 15785  		}
 15786  		yyVAL.union = yyLOCAL
 15787  	case 933:
 15788  		yyDollar = yyS[yypt-3 : yypt+1]
 15789  		var yyLOCAL Columns
 15790  //line sql.y:4935
 15791  		{
 15792  			yyLOCAL = yyDollar[2].columnsUnion()
 15793  		}
 15794  		yyVAL.union = yyLOCAL
 15795  	case 934:
 15796  		yyDollar = yyS[yypt-0 : yypt+1]
 15797  		var yyLOCAL Columns
 15798  //line sql.y:4940
 15799  		{
 15800  			yyLOCAL = nil
 15801  		}
 15802  		yyVAL.union = yyLOCAL
 15803  	case 935:
 15804  		yyDollar = yyS[yypt-1 : yypt+1]
 15805  		var yyLOCAL Columns
 15806  //line sql.y:4944
 15807  		{
 15808  			yyLOCAL = yyDollar[1].columnsUnion()
 15809  		}
 15810  		yyVAL.union = yyLOCAL
 15811  	case 936:
 15812  		yyDollar = yyS[yypt-1 : yypt+1]
 15813  		var yyLOCAL Columns
 15814  //line sql.y:4950
 15815  		{
 15816  			yyLOCAL = Columns{yyDollar[1].identifierCI}
 15817  		}
 15818  		yyVAL.union = yyLOCAL
 15819  	case 937:
 15820  		yyDollar = yyS[yypt-3 : yypt+1]
 15821  //line sql.y:4954
 15822  		{
 15823  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 15824  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 15825  		}
 15826  	case 938:
 15827  		yyDollar = yyS[yypt-1 : yypt+1]
 15828  		var yyLOCAL []*Variable
 15829  //line sql.y:4960
 15830  		{
 15831  			yyLOCAL = []*Variable{yyDollar[1].variableUnion()}
 15832  		}
 15833  		yyVAL.union = yyLOCAL
 15834  	case 939:
 15835  		yyDollar = yyS[yypt-3 : yypt+1]
 15836  //line sql.y:4964
 15837  		{
 15838  			yySLICE := (*[]*Variable)(yyIaddr(yyVAL.union))
 15839  			*yySLICE = append(*yySLICE, yyDollar[3].variableUnion())
 15840  		}
 15841  	case 940:
 15842  		yyDollar = yyS[yypt-1 : yypt+1]
 15843  		var yyLOCAL Columns
 15844  //line sql.y:4970
 15845  		{
 15846  			yyLOCAL = Columns{yyDollar[1].identifierCI}
 15847  		}
 15848  		yyVAL.union = yyLOCAL
 15849  	case 941:
 15850  		yyDollar = yyS[yypt-1 : yypt+1]
 15851  		var yyLOCAL Columns
 15852  //line sql.y:4974
 15853  		{
 15854  			yyLOCAL = Columns{NewIdentifierCI(string(yyDollar[1].str))}
 15855  		}
 15856  		yyVAL.union = yyLOCAL
 15857  	case 942:
 15858  		yyDollar = yyS[yypt-3 : yypt+1]
 15859  //line sql.y:4978
 15860  		{
 15861  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 15862  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 15863  		}
 15864  	case 943:
 15865  		yyDollar = yyS[yypt-3 : yypt+1]
 15866  //line sql.y:4982
 15867  		{
 15868  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 15869  			*yySLICE = append(*yySLICE, NewIdentifierCI(string(yyDollar[3].str)))
 15870  		}
 15871  	case 944:
 15872  		yyDollar = yyS[yypt-1 : yypt+1]
 15873  		var yyLOCAL Partitions
 15874  //line sql.y:4988
 15875  		{
 15876  			yyLOCAL = Partitions{yyDollar[1].identifierCI}
 15877  		}
 15878  		yyVAL.union = yyLOCAL
 15879  	case 945:
 15880  		yyDollar = yyS[yypt-3 : yypt+1]
 15881  //line sql.y:4992
 15882  		{
 15883  			yySLICE := (*Partitions)(yyIaddr(yyVAL.union))
 15884  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 15885  		}
 15886  	case 946:
 15887  		yyDollar = yyS[yypt-4 : yypt+1]
 15888  		var yyLOCAL TableExpr
 15889  //line sql.y:5005
 15890  		{
 15891  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 15892  		}
 15893  		yyVAL.union = yyLOCAL
 15894  	case 947:
 15895  		yyDollar = yyS[yypt-4 : yypt+1]
 15896  		var yyLOCAL TableExpr
 15897  //line sql.y:5009
 15898  		{
 15899  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 15900  		}
 15901  		yyVAL.union = yyLOCAL
 15902  	case 948:
 15903  		yyDollar = yyS[yypt-4 : yypt+1]
 15904  		var yyLOCAL TableExpr
 15905  //line sql.y:5013
 15906  		{
 15907  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
 15908  		}
 15909  		yyVAL.union = yyLOCAL
 15910  	case 949:
 15911  		yyDollar = yyS[yypt-3 : yypt+1]
 15912  		var yyLOCAL TableExpr
 15913  //line sql.y:5017
 15914  		{
 15915  			yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()}
 15916  		}
 15917  		yyVAL.union = yyLOCAL
 15918  	case 950:
 15919  		yyDollar = yyS[yypt-2 : yypt+1]
 15920  //line sql.y:5023
 15921  		{
 15922  			yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
 15923  		}
 15924  	case 951:
 15925  		yyDollar = yyS[yypt-4 : yypt+1]
 15926  //line sql.y:5025
 15927  		{
 15928  			yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()}
 15929  		}
 15930  	case 952:
 15931  		yyDollar = yyS[yypt-0 : yypt+1]
 15932  //line sql.y:5029
 15933  		{
 15934  			yyVAL.joinCondition = &JoinCondition{}
 15935  		}
 15936  	case 953:
 15937  		yyDollar = yyS[yypt-1 : yypt+1]
 15938  //line sql.y:5031
 15939  		{
 15940  			yyVAL.joinCondition = yyDollar[1].joinCondition
 15941  		}
 15942  	case 954:
 15943  		yyDollar = yyS[yypt-0 : yypt+1]
 15944  //line sql.y:5035
 15945  		{
 15946  			yyVAL.joinCondition = &JoinCondition{}
 15947  		}
 15948  	case 955:
 15949  		yyDollar = yyS[yypt-2 : yypt+1]
 15950  //line sql.y:5037
 15951  		{
 15952  			yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
 15953  		}
 15954  	case 956:
 15955  		yyDollar = yyS[yypt-0 : yypt+1]
 15956  //line sql.y:5040
 15957  		{
 15958  			yyVAL.empty = struct{}{}
 15959  		}
 15960  	case 957:
 15961  		yyDollar = yyS[yypt-1 : yypt+1]
 15962  //line sql.y:5042
 15963  		{
 15964  			yyVAL.empty = struct{}{}
 15965  		}
 15966  	case 958:
 15967  		yyDollar = yyS[yypt-0 : yypt+1]
 15968  //line sql.y:5045
 15969  		{
 15970  			yyVAL.identifierCS = NewIdentifierCS("")
 15971  		}
 15972  	case 959:
 15973  		yyDollar = yyS[yypt-1 : yypt+1]
 15974  //line sql.y:5049
 15975  		{
 15976  			yyVAL.identifierCS = yyDollar[1].identifierCS
 15977  		}
 15978  	case 960:
 15979  		yyDollar = yyS[yypt-2 : yypt+1]
 15980  //line sql.y:5053
 15981  		{
 15982  			yyVAL.identifierCS = yyDollar[2].identifierCS
 15983  		}
 15984  	case 962:
 15985  		yyDollar = yyS[yypt-1 : yypt+1]
 15986  //line sql.y:5060
 15987  		{
 15988  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 15989  		}
 15990  	case 963:
 15991  		yyDollar = yyS[yypt-1 : yypt+1]
 15992  		var yyLOCAL JoinType
 15993  //line sql.y:5066
 15994  		{
 15995  			yyLOCAL = NormalJoinType
 15996  		}
 15997  		yyVAL.union = yyLOCAL
 15998  	case 964:
 15999  		yyDollar = yyS[yypt-2 : yypt+1]
 16000  		var yyLOCAL JoinType
 16001  //line sql.y:5070
 16002  		{
 16003  			yyLOCAL = NormalJoinType
 16004  		}
 16005  		yyVAL.union = yyLOCAL
 16006  	case 965:
 16007  		yyDollar = yyS[yypt-2 : yypt+1]
 16008  		var yyLOCAL JoinType
 16009  //line sql.y:5074
 16010  		{
 16011  			yyLOCAL = NormalJoinType
 16012  		}
 16013  		yyVAL.union = yyLOCAL
 16014  	case 966:
 16015  		yyDollar = yyS[yypt-1 : yypt+1]
 16016  		var yyLOCAL JoinType
 16017  //line sql.y:5080
 16018  		{
 16019  			yyLOCAL = StraightJoinType
 16020  		}
 16021  		yyVAL.union = yyLOCAL
 16022  	case 967:
 16023  		yyDollar = yyS[yypt-2 : yypt+1]
 16024  		var yyLOCAL JoinType
 16025  //line sql.y:5086
 16026  		{
 16027  			yyLOCAL = LeftJoinType
 16028  		}
 16029  		yyVAL.union = yyLOCAL
 16030  	case 968:
 16031  		yyDollar = yyS[yypt-3 : yypt+1]
 16032  		var yyLOCAL JoinType
 16033  //line sql.y:5090
 16034  		{
 16035  			yyLOCAL = LeftJoinType
 16036  		}
 16037  		yyVAL.union = yyLOCAL
 16038  	case 969:
 16039  		yyDollar = yyS[yypt-2 : yypt+1]
 16040  		var yyLOCAL JoinType
 16041  //line sql.y:5094
 16042  		{
 16043  			yyLOCAL = RightJoinType
 16044  		}
 16045  		yyVAL.union = yyLOCAL
 16046  	case 970:
 16047  		yyDollar = yyS[yypt-3 : yypt+1]
 16048  		var yyLOCAL JoinType
 16049  //line sql.y:5098
 16050  		{
 16051  			yyLOCAL = RightJoinType
 16052  		}
 16053  		yyVAL.union = yyLOCAL
 16054  	case 971:
 16055  		yyDollar = yyS[yypt-2 : yypt+1]
 16056  		var yyLOCAL JoinType
 16057  //line sql.y:5104
 16058  		{
 16059  			yyLOCAL = NaturalJoinType
 16060  		}
 16061  		yyVAL.union = yyLOCAL
 16062  	case 972:
 16063  		yyDollar = yyS[yypt-2 : yypt+1]
 16064  		var yyLOCAL JoinType
 16065  //line sql.y:5108
 16066  		{
 16067  			if yyDollar[2].joinTypeUnion() == LeftJoinType {
 16068  				yyLOCAL = NaturalLeftJoinType
 16069  			} else {
 16070  				yyLOCAL = NaturalRightJoinType
 16071  			}
 16072  		}
 16073  		yyVAL.union = yyLOCAL
 16074  	case 973:
 16075  		yyDollar = yyS[yypt-2 : yypt+1]
 16076  //line sql.y:5118
 16077  		{
 16078  			yyVAL.tableName = yyDollar[2].tableName
 16079  		}
 16080  	case 974:
 16081  		yyDollar = yyS[yypt-1 : yypt+1]
 16082  //line sql.y:5122
 16083  		{
 16084  			yyVAL.tableName = yyDollar[1].tableName
 16085  		}
 16086  	case 975:
 16087  		yyDollar = yyS[yypt-1 : yypt+1]
 16088  //line sql.y:5128
 16089  		{
 16090  			yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
 16091  		}
 16092  	case 976:
 16093  		yyDollar = yyS[yypt-3 : yypt+1]
 16094  //line sql.y:5132
 16095  		{
 16096  			yyVAL.tableName = TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}
 16097  		}
 16098  	case 977:
 16099  		yyDollar = yyS[yypt-3 : yypt+1]
 16100  //line sql.y:5138
 16101  		{
 16102  			yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
 16103  		}
 16104  	case 978:
 16105  		yyDollar = yyS[yypt-0 : yypt+1]
 16106  		var yyLOCAL IndexHints
 16107  //line sql.y:5143
 16108  		{
 16109  			yyLOCAL = nil
 16110  		}
 16111  		yyVAL.union = yyLOCAL
 16112  	case 979:
 16113  		yyDollar = yyS[yypt-1 : yypt+1]
 16114  		var yyLOCAL IndexHints
 16115  //line sql.y:5147
 16116  		{
 16117  			yyLOCAL = yyDollar[1].indexHintsUnion()
 16118  		}
 16119  		yyVAL.union = yyLOCAL
 16120  	case 980:
 16121  		yyDollar = yyS[yypt-1 : yypt+1]
 16122  		var yyLOCAL IndexHints
 16123  //line sql.y:5153
 16124  		{
 16125  			yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()}
 16126  		}
 16127  		yyVAL.union = yyLOCAL
 16128  	case 981:
 16129  		yyDollar = yyS[yypt-2 : yypt+1]
 16130  //line sql.y:5157
 16131  		{
 16132  			yySLICE := (*IndexHints)(yyIaddr(yyVAL.union))
 16133  			*yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion())
 16134  		}
 16135  	case 982:
 16136  		yyDollar = yyS[yypt-6 : yypt+1]
 16137  		var yyLOCAL *IndexHint
 16138  //line sql.y:5163
 16139  		{
 16140  			yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
 16141  		}
 16142  		yyVAL.union = yyLOCAL
 16143  	case 983:
 16144  		yyDollar = yyS[yypt-5 : yypt+1]
 16145  		var yyLOCAL *IndexHint
 16146  //line sql.y:5167
 16147  		{
 16148  			yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()}
 16149  		}
 16150  		yyVAL.union = yyLOCAL
 16151  	case 984:
 16152  		yyDollar = yyS[yypt-6 : yypt+1]
 16153  		var yyLOCAL *IndexHint
 16154  //line sql.y:5171
 16155  		{
 16156  			yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
 16157  		}
 16158  		yyVAL.union = yyLOCAL
 16159  	case 985:
 16160  		yyDollar = yyS[yypt-6 : yypt+1]
 16161  		var yyLOCAL *IndexHint
 16162  //line sql.y:5175
 16163  		{
 16164  			yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
 16165  		}
 16166  		yyVAL.union = yyLOCAL
 16167  	case 986:
 16168  		yyDollar = yyS[yypt-0 : yypt+1]
 16169  		var yyLOCAL IndexHintForType
 16170  //line sql.y:5180
 16171  		{
 16172  			yyLOCAL = NoForType
 16173  		}
 16174  		yyVAL.union = yyLOCAL
 16175  	case 987:
 16176  		yyDollar = yyS[yypt-2 : yypt+1]
 16177  		var yyLOCAL IndexHintForType
 16178  //line sql.y:5184
 16179  		{
 16180  			yyLOCAL = JoinForType
 16181  		}
 16182  		yyVAL.union = yyLOCAL
 16183  	case 988:
 16184  		yyDollar = yyS[yypt-3 : yypt+1]
 16185  		var yyLOCAL IndexHintForType
 16186  //line sql.y:5188
 16187  		{
 16188  			yyLOCAL = OrderByForType
 16189  		}
 16190  		yyVAL.union = yyLOCAL
 16191  	case 989:
 16192  		yyDollar = yyS[yypt-3 : yypt+1]
 16193  		var yyLOCAL IndexHintForType
 16194  //line sql.y:5192
 16195  		{
 16196  			yyLOCAL = GroupByForType
 16197  		}
 16198  		yyVAL.union = yyLOCAL
 16199  	case 990:
 16200  		yyDollar = yyS[yypt-0 : yypt+1]
 16201  		var yyLOCAL Expr
 16202  //line sql.y:5198
 16203  		{
 16204  			yyLOCAL = nil
 16205  		}
 16206  		yyVAL.union = yyLOCAL
 16207  	case 991:
 16208  		yyDollar = yyS[yypt-2 : yypt+1]
 16209  		var yyLOCAL Expr
 16210  //line sql.y:5202
 16211  		{
 16212  			yyLOCAL = yyDollar[2].exprUnion()
 16213  		}
 16214  		yyVAL.union = yyLOCAL
 16215  	case 992:
 16216  		yyDollar = yyS[yypt-3 : yypt+1]
 16217  		var yyLOCAL Expr
 16218  //line sql.y:5209
 16219  		{
 16220  			yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 16221  		}
 16222  		yyVAL.union = yyLOCAL
 16223  	case 993:
 16224  		yyDollar = yyS[yypt-3 : yypt+1]
 16225  		var yyLOCAL Expr
 16226  //line sql.y:5213
 16227  		{
 16228  			yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 16229  		}
 16230  		yyVAL.union = yyLOCAL
 16231  	case 994:
 16232  		yyDollar = yyS[yypt-3 : yypt+1]
 16233  		var yyLOCAL Expr
 16234  //line sql.y:5217
 16235  		{
 16236  			yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
 16237  		}
 16238  		yyVAL.union = yyLOCAL
 16239  	case 995:
 16240  		yyDollar = yyS[yypt-2 : yypt+1]
 16241  		var yyLOCAL Expr
 16242  //line sql.y:5221
 16243  		{
 16244  			yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()}
 16245  		}
 16246  		yyVAL.union = yyLOCAL
 16247  	case 996:
 16248  		yyDollar = yyS[yypt-3 : yypt+1]
 16249  		var yyLOCAL Expr
 16250  //line sql.y:5225
 16251  		{
 16252  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()}
 16253  		}
 16254  		yyVAL.union = yyLOCAL
 16255  	case 997:
 16256  		yyDollar = yyS[yypt-1 : yypt+1]
 16257  		var yyLOCAL Expr
 16258  //line sql.y:5229
 16259  		{
 16260  			yyLOCAL = yyDollar[1].exprUnion()
 16261  		}
 16262  		yyVAL.union = yyLOCAL
 16263  	case 998:
 16264  		yyDollar = yyS[yypt-6 : yypt+1]
 16265  		var yyLOCAL Expr
 16266  //line sql.y:5233
 16267  		{
 16268  			yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()}
 16269  		}
 16270  		yyVAL.union = yyLOCAL
 16271  	case 999:
 16272  		yyDollar = yyS[yypt-3 : yypt+1]
 16273  		var yyLOCAL Expr
 16274  //line sql.y:5239
 16275  		{
 16276  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp}
 16277  		}
 16278  		yyVAL.union = yyLOCAL
 16279  	case 1000:
 16280  		yyDollar = yyS[yypt-4 : yypt+1]
 16281  		var yyLOCAL Expr
 16282  //line sql.y:5243
 16283  		{
 16284  			yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp}
 16285  		}
 16286  		yyVAL.union = yyLOCAL
 16287  	case 1001:
 16288  		yyDollar = yyS[yypt-3 : yypt+1]
 16289  		var yyLOCAL Expr
 16290  //line sql.y:5247
 16291  		{
 16292  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()}
 16293  		}
 16294  		yyVAL.union = yyLOCAL
 16295  	case 1002:
 16296  		yyDollar = yyS[yypt-1 : yypt+1]
 16297  		var yyLOCAL Expr
 16298  //line sql.y:5251
 16299  		{
 16300  			yyLOCAL = yyDollar[1].exprUnion()
 16301  		}
 16302  		yyVAL.union = yyLOCAL
 16303  	case 1003:
 16304  		yyDollar = yyS[yypt-3 : yypt+1]
 16305  		var yyLOCAL Expr
 16306  //line sql.y:5257
 16307  		{
 16308  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()}
 16309  		}
 16310  		yyVAL.union = yyLOCAL
 16311  	case 1004:
 16312  		yyDollar = yyS[yypt-4 : yypt+1]
 16313  		var yyLOCAL Expr
 16314  //line sql.y:5261
 16315  		{
 16316  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()}
 16317  		}
 16318  		yyVAL.union = yyLOCAL
 16319  	case 1005:
 16320  		yyDollar = yyS[yypt-5 : yypt+1]
 16321  		var yyLOCAL Expr
 16322  //line sql.y:5265
 16323  		{
 16324  			yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()}
 16325  		}
 16326  		yyVAL.union = yyLOCAL
 16327  	case 1006:
 16328  		yyDollar = yyS[yypt-6 : yypt+1]
 16329  		var yyLOCAL Expr
 16330  //line sql.y:5269
 16331  		{
 16332  			yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()}
 16333  		}
 16334  		yyVAL.union = yyLOCAL
 16335  	case 1007:
 16336  		yyDollar = yyS[yypt-3 : yypt+1]
 16337  		var yyLOCAL Expr
 16338  //line sql.y:5273
 16339  		{
 16340  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()}
 16341  		}
 16342  		yyVAL.union = yyLOCAL
 16343  	case 1008:
 16344  		yyDollar = yyS[yypt-4 : yypt+1]
 16345  		var yyLOCAL Expr
 16346  //line sql.y:5277
 16347  		{
 16348  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()}
 16349  		}
 16350  		yyVAL.union = yyLOCAL
 16351  	case 1009:
 16352  		yyDollar = yyS[yypt-5 : yypt+1]
 16353  		var yyLOCAL Expr
 16354  //line sql.y:5281
 16355  		{
 16356  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()}
 16357  		}
 16358  		yyVAL.union = yyLOCAL
 16359  	case 1010:
 16360  		yyDollar = yyS[yypt-6 : yypt+1]
 16361  		var yyLOCAL Expr
 16362  //line sql.y:5285
 16363  		{
 16364  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()}
 16365  		}
 16366  		yyVAL.union = yyLOCAL
 16367  	case 1011:
 16368  		yyDollar = yyS[yypt-3 : yypt+1]
 16369  		var yyLOCAL Expr
 16370  //line sql.y:5289
 16371  		{
 16372  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()}
 16373  		}
 16374  		yyVAL.union = yyLOCAL
 16375  	case 1012:
 16376  		yyDollar = yyS[yypt-4 : yypt+1]
 16377  		var yyLOCAL Expr
 16378  //line sql.y:5293
 16379  		{
 16380  			yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()}
 16381  		}
 16382  		yyVAL.union = yyLOCAL
 16383  	case 1013:
 16384  		yyDollar = yyS[yypt-1 : yypt+1]
 16385  		var yyLOCAL Expr
 16386  //line sql.y:5297
 16387  		{
 16388  			yyLOCAL = yyDollar[1].exprUnion()
 16389  		}
 16390  		yyVAL.union = yyLOCAL
 16391  	case 1014:
 16392  		yyDollar = yyS[yypt-1 : yypt+1]
 16393  //line sql.y:5303
 16394  		{
 16395  		}
 16396  	case 1015:
 16397  		yyDollar = yyS[yypt-1 : yypt+1]
 16398  //line sql.y:5306
 16399  		{
 16400  		}
 16401  	case 1016:
 16402  		yyDollar = yyS[yypt-3 : yypt+1]
 16403  		var yyLOCAL Expr
 16404  //line sql.y:5312
 16405  		{
 16406  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()}
 16407  		}
 16408  		yyVAL.union = yyLOCAL
 16409  	case 1017:
 16410  		yyDollar = yyS[yypt-3 : yypt+1]
 16411  		var yyLOCAL Expr
 16412  //line sql.y:5316
 16413  		{
 16414  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()}
 16415  		}
 16416  		yyVAL.union = yyLOCAL
 16417  	case 1018:
 16418  		yyDollar = yyS[yypt-3 : yypt+1]
 16419  		var yyLOCAL Expr
 16420  //line sql.y:5320
 16421  		{
 16422  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()}
 16423  		}
 16424  		yyVAL.union = yyLOCAL
 16425  	case 1019:
 16426  		yyDollar = yyS[yypt-3 : yypt+1]
 16427  		var yyLOCAL Expr
 16428  //line sql.y:5324
 16429  		{
 16430  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()}
 16431  		}
 16432  		yyVAL.union = yyLOCAL
 16433  	case 1020:
 16434  		yyDollar = yyS[yypt-3 : yypt+1]
 16435  		var yyLOCAL Expr
 16436  //line sql.y:5328
 16437  		{
 16438  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()}
 16439  		}
 16440  		yyVAL.union = yyLOCAL
 16441  	case 1021:
 16442  		yyDollar = yyS[yypt-3 : yypt+1]
 16443  		var yyLOCAL Expr
 16444  //line sql.y:5332
 16445  		{
 16446  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()}
 16447  		}
 16448  		yyVAL.union = yyLOCAL
 16449  	case 1022:
 16450  		yyDollar = yyS[yypt-3 : yypt+1]
 16451  		var yyLOCAL Expr
 16452  //line sql.y:5336
 16453  		{
 16454  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()}
 16455  		}
 16456  		yyVAL.union = yyLOCAL
 16457  	case 1023:
 16458  		yyDollar = yyS[yypt-3 : yypt+1]
 16459  		var yyLOCAL Expr
 16460  //line sql.y:5340
 16461  		{
 16462  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()}
 16463  		}
 16464  		yyVAL.union = yyLOCAL
 16465  	case 1024:
 16466  		yyDollar = yyS[yypt-3 : yypt+1]
 16467  		var yyLOCAL Expr
 16468  //line sql.y:5344
 16469  		{
 16470  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
 16471  		}
 16472  		yyVAL.union = yyLOCAL
 16473  	case 1025:
 16474  		yyDollar = yyS[yypt-3 : yypt+1]
 16475  		var yyLOCAL Expr
 16476  //line sql.y:5348
 16477  		{
 16478  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()}
 16479  		}
 16480  		yyVAL.union = yyLOCAL
 16481  	case 1026:
 16482  		yyDollar = yyS[yypt-3 : yypt+1]
 16483  		var yyLOCAL Expr
 16484  //line sql.y:5352
 16485  		{
 16486  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
 16487  		}
 16488  		yyVAL.union = yyLOCAL
 16489  	case 1027:
 16490  		yyDollar = yyS[yypt-3 : yypt+1]
 16491  		var yyLOCAL Expr
 16492  //line sql.y:5356
 16493  		{
 16494  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()}
 16495  		}
 16496  		yyVAL.union = yyLOCAL
 16497  	case 1028:
 16498  		yyDollar = yyS[yypt-1 : yypt+1]
 16499  		var yyLOCAL Expr
 16500  //line sql.y:5360
 16501  		{
 16502  			yyLOCAL = yyDollar[1].exprUnion()
 16503  		}
 16504  		yyVAL.union = yyLOCAL
 16505  	case 1029:
 16506  		yyDollar = yyS[yypt-1 : yypt+1]
 16507  		var yyLOCAL Expr
 16508  //line sql.y:5366
 16509  		{
 16510  			yyLOCAL = yyDollar[1].exprUnion()
 16511  		}
 16512  		yyVAL.union = yyLOCAL
 16513  	case 1030:
 16514  		yyDollar = yyS[yypt-1 : yypt+1]
 16515  		var yyLOCAL Expr
 16516  //line sql.y:5370
 16517  		{
 16518  			yyLOCAL = yyDollar[1].exprUnion()
 16519  		}
 16520  		yyVAL.union = yyLOCAL
 16521  	case 1031:
 16522  		yyDollar = yyS[yypt-1 : yypt+1]
 16523  		var yyLOCAL Expr
 16524  //line sql.y:5374
 16525  		{
 16526  			yyLOCAL = yyDollar[1].exprUnion()
 16527  		}
 16528  		yyVAL.union = yyLOCAL
 16529  	case 1032:
 16530  		yyDollar = yyS[yypt-1 : yypt+1]
 16531  		var yyLOCAL Expr
 16532  //line sql.y:5378
 16533  		{
 16534  			yyLOCAL = yyDollar[1].exprUnion()
 16535  		}
 16536  		yyVAL.union = yyLOCAL
 16537  	case 1033:
 16538  		yyDollar = yyS[yypt-3 : yypt+1]
 16539  		var yyLOCAL Expr
 16540  //line sql.y:5382
 16541  		{
 16542  			yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str}
 16543  		}
 16544  		yyVAL.union = yyLOCAL
 16545  	case 1034:
 16546  		yyDollar = yyS[yypt-1 : yypt+1]
 16547  		var yyLOCAL Expr
 16548  //line sql.y:5386
 16549  		{
 16550  			yyLOCAL = yyDollar[1].exprUnion()
 16551  		}
 16552  		yyVAL.union = yyLOCAL
 16553  	case 1035:
 16554  		yyDollar = yyS[yypt-1 : yypt+1]
 16555  		var yyLOCAL Expr
 16556  //line sql.y:5390
 16557  		{
 16558  			yyLOCAL = yyDollar[1].exprUnion()
 16559  		}
 16560  		yyVAL.union = yyLOCAL
 16561  	case 1036:
 16562  		yyDollar = yyS[yypt-1 : yypt+1]
 16563  		var yyLOCAL Expr
 16564  //line sql.y:5394
 16565  		{
 16566  			yyLOCAL = yyDollar[1].variableUnion()
 16567  		}
 16568  		yyVAL.union = yyLOCAL
 16569  	case 1037:
 16570  		yyDollar = yyS[yypt-2 : yypt+1]
 16571  		var yyLOCAL Expr
 16572  //line sql.y:5398
 16573  		{
 16574  			yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals?
 16575  		}
 16576  		yyVAL.union = yyLOCAL
 16577  	case 1038:
 16578  		yyDollar = yyS[yypt-2 : yypt+1]
 16579  		var yyLOCAL Expr
 16580  //line sql.y:5402
 16581  		{
 16582  			yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
 16583  		}
 16584  		yyVAL.union = yyLOCAL
 16585  	case 1039:
 16586  		yyDollar = yyS[yypt-2 : yypt+1]
 16587  		var yyLOCAL Expr
 16588  //line sql.y:5406
 16589  		{
 16590  			yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()}
 16591  		}
 16592  		yyVAL.union = yyLOCAL
 16593  	case 1040:
 16594  		yyDollar = yyS[yypt-2 : yypt+1]
 16595  		var yyLOCAL Expr
 16596  //line sql.y:5410
 16597  		{
 16598  			yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()}
 16599  		}
 16600  		yyVAL.union = yyLOCAL
 16601  	case 1041:
 16602  		yyDollar = yyS[yypt-1 : yypt+1]
 16603  		var yyLOCAL Expr
 16604  //line sql.y:5414
 16605  		{
 16606  			yyLOCAL = yyDollar[1].subqueryUnion()
 16607  		}
 16608  		yyVAL.union = yyLOCAL
 16609  	case 1042:
 16610  		yyDollar = yyS[yypt-1 : yypt+1]
 16611  		var yyLOCAL Expr
 16612  //line sql.y:5418
 16613  		{
 16614  			yyLOCAL = yyDollar[1].exprUnion()
 16615  		}
 16616  		yyVAL.union = yyLOCAL
 16617  	case 1043:
 16618  		yyDollar = yyS[yypt-2 : yypt+1]
 16619  		var yyLOCAL Expr
 16620  //line sql.y:5422
 16621  		{
 16622  			yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()}
 16623  		}
 16624  		yyVAL.union = yyLOCAL
 16625  	case 1044:
 16626  		yyDollar = yyS[yypt-7 : yypt+1]
 16627  		var yyLOCAL Expr
 16628  //line sql.y:5426
 16629  		{
 16630  			yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()}
 16631  		}
 16632  		yyVAL.union = yyLOCAL
 16633  	case 1045:
 16634  		yyDollar = yyS[yypt-7 : yypt+1]
 16635  		var yyLOCAL Expr
 16636  //line sql.y:5430
 16637  		{
 16638  			yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()}
 16639  		}
 16640  		yyVAL.union = yyLOCAL
 16641  	case 1046:
 16642  		yyDollar = yyS[yypt-6 : yypt+1]
 16643  		var yyLOCAL Expr
 16644  //line sql.y:5434
 16645  		{
 16646  			yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
 16647  		}
 16648  		yyVAL.union = yyLOCAL
 16649  	case 1047:
 16650  		yyDollar = yyS[yypt-6 : yypt+1]
 16651  		var yyLOCAL Expr
 16652  //line sql.y:5438
 16653  		{
 16654  			yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str}
 16655  		}
 16656  		yyVAL.union = yyLOCAL
 16657  	case 1048:
 16658  		yyDollar = yyS[yypt-2 : yypt+1]
 16659  		var yyLOCAL Expr
 16660  //line sql.y:5442
 16661  		{
 16662  			// From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary
 16663  			// To convert a string expression to a binary string, these constructs are equivalent:
 16664  			//    CAST(expr AS BINARY)
 16665  			//    BINARY expr
 16666  			yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}}
 16667  		}
 16668  		yyVAL.union = yyLOCAL
 16669  	case 1049:
 16670  		yyDollar = yyS[yypt-2 : yypt+1]
 16671  		var yyLOCAL Expr
 16672  //line sql.y:5450
 16673  		{
 16674  			yyLOCAL = &Default{ColName: yyDollar[2].str}
 16675  		}
 16676  		yyVAL.union = yyLOCAL
 16677  	case 1050:
 16678  		yyDollar = yyS[yypt-1 : yypt+1]
 16679  		var yyLOCAL Expr
 16680  //line sql.y:5454
 16681  		{
 16682  			// INTERVAL can trigger a shift / reduce conflict. We want
 16683  			// to shift here for the interval rule. In case we do have
 16684  			// the additional expression_list below, we'd pick that path
 16685  			// and thus properly parse it as a function when needed.
 16686  			yyLOCAL = yyDollar[1].exprUnion()
 16687  		}
 16688  		yyVAL.union = yyLOCAL
 16689  	case 1051:
 16690  		yyDollar = yyS[yypt-6 : yypt+1]
 16691  		var yyLOCAL Expr
 16692  //line sql.y:5462
 16693  		{
 16694  			yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()}
 16695  		}
 16696  		yyVAL.union = yyLOCAL
 16697  	case 1052:
 16698  		yyDollar = yyS[yypt-3 : yypt+1]
 16699  		var yyLOCAL Expr
 16700  //line sql.y:5466
 16701  		{
 16702  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()}
 16703  		}
 16704  		yyVAL.union = yyLOCAL
 16705  	case 1053:
 16706  		yyDollar = yyS[yypt-3 : yypt+1]
 16707  		var yyLOCAL Expr
 16708  //line sql.y:5470
 16709  		{
 16710  			yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()}
 16711  		}
 16712  		yyVAL.union = yyLOCAL
 16713  	case 1054:
 16714  		yyDollar = yyS[yypt-3 : yypt+1]
 16715  		var yyLOCAL Expr
 16716  //line sql.y:5476
 16717  		{
 16718  			yyLOCAL = &IntervalExpr{Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].identifierCI.String()}
 16719  		}
 16720  		yyVAL.union = yyLOCAL
 16721  	case 1055:
 16722  		yyDollar = yyS[yypt-1 : yypt+1]
 16723  		var yyLOCAL []*ColName
 16724  //line sql.y:5482
 16725  		{
 16726  			yyLOCAL = yyDollar[1].colNamesUnion()
 16727  		}
 16728  		yyVAL.union = yyLOCAL
 16729  	case 1056:
 16730  		yyDollar = yyS[yypt-3 : yypt+1]
 16731  		var yyLOCAL []*ColName
 16732  //line sql.y:5486
 16733  		{
 16734  			yyLOCAL = yyDollar[2].colNamesUnion()
 16735  		}
 16736  		yyVAL.union = yyLOCAL
 16737  	case 1057:
 16738  		yyDollar = yyS[yypt-1 : yypt+1]
 16739  		var yyLOCAL []*ColName
 16740  //line sql.y:5492
 16741  		{
 16742  			yyLOCAL = []*ColName{yyDollar[1].colNameUnion()}
 16743  		}
 16744  		yyVAL.union = yyLOCAL
 16745  	case 1058:
 16746  		yyDollar = yyS[yypt-3 : yypt+1]
 16747  //line sql.y:5496
 16748  		{
 16749  			yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union))
 16750  			*yySLICE = append(*yySLICE, yyDollar[3].colNameUnion())
 16751  		}
 16752  	case 1059:
 16753  		yyDollar = yyS[yypt-1 : yypt+1]
 16754  		var yyLOCAL TrimType
 16755  //line sql.y:5502
 16756  		{
 16757  			yyLOCAL = BothTrimType
 16758  		}
 16759  		yyVAL.union = yyLOCAL
 16760  	case 1060:
 16761  		yyDollar = yyS[yypt-1 : yypt+1]
 16762  		var yyLOCAL TrimType
 16763  //line sql.y:5506
 16764  		{
 16765  			yyLOCAL = LeadingTrimType
 16766  		}
 16767  		yyVAL.union = yyLOCAL
 16768  	case 1061:
 16769  		yyDollar = yyS[yypt-1 : yypt+1]
 16770  		var yyLOCAL TrimType
 16771  //line sql.y:5510
 16772  		{
 16773  			yyLOCAL = TrailingTrimType
 16774  		}
 16775  		yyVAL.union = yyLOCAL
 16776  	case 1062:
 16777  		yyDollar = yyS[yypt-1 : yypt+1]
 16778  		var yyLOCAL FrameUnitType
 16779  //line sql.y:5516
 16780  		{
 16781  			yyLOCAL = FrameRowsType
 16782  		}
 16783  		yyVAL.union = yyLOCAL
 16784  	case 1063:
 16785  		yyDollar = yyS[yypt-1 : yypt+1]
 16786  		var yyLOCAL FrameUnitType
 16787  //line sql.y:5520
 16788  		{
 16789  			yyLOCAL = FrameRangeType
 16790  		}
 16791  		yyVAL.union = yyLOCAL
 16792  	case 1064:
 16793  		yyDollar = yyS[yypt-1 : yypt+1]
 16794  		var yyLOCAL ArgumentLessWindowExprType
 16795  //line sql.y:5527
 16796  		{
 16797  			yyLOCAL = CumeDistExprType
 16798  		}
 16799  		yyVAL.union = yyLOCAL
 16800  	case 1065:
 16801  		yyDollar = yyS[yypt-1 : yypt+1]
 16802  		var yyLOCAL ArgumentLessWindowExprType
 16803  //line sql.y:5531
 16804  		{
 16805  			yyLOCAL = DenseRankExprType
 16806  		}
 16807  		yyVAL.union = yyLOCAL
 16808  	case 1066:
 16809  		yyDollar = yyS[yypt-1 : yypt+1]
 16810  		var yyLOCAL ArgumentLessWindowExprType
 16811  //line sql.y:5535
 16812  		{
 16813  			yyLOCAL = PercentRankExprType
 16814  		}
 16815  		yyVAL.union = yyLOCAL
 16816  	case 1067:
 16817  		yyDollar = yyS[yypt-1 : yypt+1]
 16818  		var yyLOCAL ArgumentLessWindowExprType
 16819  //line sql.y:5539
 16820  		{
 16821  			yyLOCAL = RankExprType
 16822  		}
 16823  		yyVAL.union = yyLOCAL
 16824  	case 1068:
 16825  		yyDollar = yyS[yypt-1 : yypt+1]
 16826  		var yyLOCAL ArgumentLessWindowExprType
 16827  //line sql.y:5543
 16828  		{
 16829  			yyLOCAL = RowNumberExprType
 16830  		}
 16831  		yyVAL.union = yyLOCAL
 16832  	case 1069:
 16833  		yyDollar = yyS[yypt-2 : yypt+1]
 16834  		var yyLOCAL *FramePoint
 16835  //line sql.y:5549
 16836  		{
 16837  			yyLOCAL = &FramePoint{Type: CurrentRowType}
 16838  		}
 16839  		yyVAL.union = yyLOCAL
 16840  	case 1070:
 16841  		yyDollar = yyS[yypt-2 : yypt+1]
 16842  		var yyLOCAL *FramePoint
 16843  //line sql.y:5553
 16844  		{
 16845  			yyLOCAL = &FramePoint{Type: UnboundedPrecedingType}
 16846  		}
 16847  		yyVAL.union = yyLOCAL
 16848  	case 1071:
 16849  		yyDollar = yyS[yypt-2 : yypt+1]
 16850  		var yyLOCAL *FramePoint
 16851  //line sql.y:5557
 16852  		{
 16853  			yyLOCAL = &FramePoint{Type: UnboundedFollowingType}
 16854  		}
 16855  		yyVAL.union = yyLOCAL
 16856  	case 1072:
 16857  		yyDollar = yyS[yypt-2 : yypt+1]
 16858  		var yyLOCAL *FramePoint
 16859  //line sql.y:5561
 16860  		{
 16861  			yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()}
 16862  		}
 16863  		yyVAL.union = yyLOCAL
 16864  	case 1073:
 16865  		yyDollar = yyS[yypt-2 : yypt+1]
 16866  		var yyLOCAL *FramePoint
 16867  //line sql.y:5565
 16868  		{
 16869  			yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()}
 16870  		}
 16871  		yyVAL.union = yyLOCAL
 16872  	case 1074:
 16873  		yyDollar = yyS[yypt-1 : yypt+1]
 16874  		var yyLOCAL Expr
 16875  //line sql.y:5571
 16876  		{
 16877  			yyLOCAL = yyDollar[1].exprUnion()
 16878  		}
 16879  		yyVAL.union = yyLOCAL
 16880  	case 1075:
 16881  		yyDollar = yyS[yypt-1 : yypt+1]
 16882  		var yyLOCAL Expr
 16883  //line sql.y:5575
 16884  		{
 16885  			yyLOCAL = yyDollar[1].exprUnion()
 16886  		}
 16887  		yyVAL.union = yyLOCAL
 16888  	case 1076:
 16889  		yyDollar = yyS[yypt-0 : yypt+1]
 16890  		var yyLOCAL *FrameClause
 16891  //line sql.y:5580
 16892  		{
 16893  			yyLOCAL = nil
 16894  		}
 16895  		yyVAL.union = yyLOCAL
 16896  	case 1077:
 16897  		yyDollar = yyS[yypt-1 : yypt+1]
 16898  		var yyLOCAL *FrameClause
 16899  //line sql.y:5584
 16900  		{
 16901  			yyLOCAL = yyDollar[1].frameClauseUnion()
 16902  		}
 16903  		yyVAL.union = yyLOCAL
 16904  	case 1078:
 16905  		yyDollar = yyS[yypt-2 : yypt+1]
 16906  		var yyLOCAL *FrameClause
 16907  //line sql.y:5590
 16908  		{
 16909  			yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()}
 16910  		}
 16911  		yyVAL.union = yyLOCAL
 16912  	case 1079:
 16913  		yyDollar = yyS[yypt-5 : yypt+1]
 16914  		var yyLOCAL *FrameClause
 16915  //line sql.y:5594
 16916  		{
 16917  			yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()}
 16918  		}
 16919  		yyVAL.union = yyLOCAL
 16920  	case 1080:
 16921  		yyDollar = yyS[yypt-0 : yypt+1]
 16922  		var yyLOCAL Exprs
 16923  //line sql.y:5599
 16924  		{
 16925  			yyLOCAL = nil
 16926  		}
 16927  		yyVAL.union = yyLOCAL
 16928  	case 1081:
 16929  		yyDollar = yyS[yypt-3 : yypt+1]
 16930  		var yyLOCAL Exprs
 16931  //line sql.y:5603
 16932  		{
 16933  			yyLOCAL = yyDollar[3].exprsUnion()
 16934  		}
 16935  		yyVAL.union = yyLOCAL
 16936  	case 1082:
 16937  		yyDollar = yyS[yypt-0 : yypt+1]
 16938  //line sql.y:5608
 16939  		{
 16940  		}
 16941  	case 1083:
 16942  		yyDollar = yyS[yypt-1 : yypt+1]
 16943  //line sql.y:5611
 16944  		{
 16945  			yyVAL.identifierCI = yyDollar[1].identifierCI
 16946  		}
 16947  	case 1084:
 16948  		yyDollar = yyS[yypt-4 : yypt+1]
 16949  		var yyLOCAL *WindowSpecification
 16950  //line sql.y:5617
 16951  		{
 16952  			yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()}
 16953  		}
 16954  		yyVAL.union = yyLOCAL
 16955  	case 1085:
 16956  		yyDollar = yyS[yypt-4 : yypt+1]
 16957  		var yyLOCAL *OverClause
 16958  //line sql.y:5623
 16959  		{
 16960  			yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()}
 16961  		}
 16962  		yyVAL.union = yyLOCAL
 16963  	case 1086:
 16964  		yyDollar = yyS[yypt-2 : yypt+1]
 16965  		var yyLOCAL *OverClause
 16966  //line sql.y:5627
 16967  		{
 16968  			yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI}
 16969  		}
 16970  		yyVAL.union = yyLOCAL
 16971  	case 1087:
 16972  		yyDollar = yyS[yypt-0 : yypt+1]
 16973  		var yyLOCAL *NullTreatmentClause
 16974  //line sql.y:5632
 16975  		{
 16976  			yyLOCAL = nil
 16977  		}
 16978  		yyVAL.union = yyLOCAL
 16979  	case 1089:
 16980  		yyDollar = yyS[yypt-1 : yypt+1]
 16981  		var yyLOCAL *NullTreatmentClause
 16982  //line sql.y:5639
 16983  		{
 16984  			yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()}
 16985  		}
 16986  		yyVAL.union = yyLOCAL
 16987  	case 1090:
 16988  		yyDollar = yyS[yypt-2 : yypt+1]
 16989  		var yyLOCAL NullTreatmentType
 16990  //line sql.y:5645
 16991  		{
 16992  			yyLOCAL = RespectNullsType
 16993  		}
 16994  		yyVAL.union = yyLOCAL
 16995  	case 1091:
 16996  		yyDollar = yyS[yypt-2 : yypt+1]
 16997  		var yyLOCAL NullTreatmentType
 16998  //line sql.y:5649
 16999  		{
 17000  			yyLOCAL = IgnoreNullsType
 17001  		}
 17002  		yyVAL.union = yyLOCAL
 17003  	case 1092:
 17004  		yyDollar = yyS[yypt-1 : yypt+1]
 17005  		var yyLOCAL FirstOrLastValueExprType
 17006  //line sql.y:5655
 17007  		{
 17008  			yyLOCAL = FirstValueExprType
 17009  		}
 17010  		yyVAL.union = yyLOCAL
 17011  	case 1093:
 17012  		yyDollar = yyS[yypt-1 : yypt+1]
 17013  		var yyLOCAL FirstOrLastValueExprType
 17014  //line sql.y:5659
 17015  		{
 17016  			yyLOCAL = LastValueExprType
 17017  		}
 17018  		yyVAL.union = yyLOCAL
 17019  	case 1094:
 17020  		yyDollar = yyS[yypt-2 : yypt+1]
 17021  		var yyLOCAL FromFirstLastType
 17022  //line sql.y:5665
 17023  		{
 17024  			yyLOCAL = FromFirstType
 17025  		}
 17026  		yyVAL.union = yyLOCAL
 17027  	case 1095:
 17028  		yyDollar = yyS[yypt-2 : yypt+1]
 17029  		var yyLOCAL FromFirstLastType
 17030  //line sql.y:5669
 17031  		{
 17032  			yyLOCAL = FromLastType
 17033  		}
 17034  		yyVAL.union = yyLOCAL
 17035  	case 1096:
 17036  		yyDollar = yyS[yypt-0 : yypt+1]
 17037  		var yyLOCAL *FromFirstLastClause
 17038  //line sql.y:5674
 17039  		{
 17040  			yyLOCAL = nil
 17041  		}
 17042  		yyVAL.union = yyLOCAL
 17043  	case 1098:
 17044  		yyDollar = yyS[yypt-1 : yypt+1]
 17045  		var yyLOCAL *FromFirstLastClause
 17046  //line sql.y:5681
 17047  		{
 17048  			yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()}
 17049  		}
 17050  		yyVAL.union = yyLOCAL
 17051  	case 1099:
 17052  		yyDollar = yyS[yypt-1 : yypt+1]
 17053  		var yyLOCAL LagLeadExprType
 17054  //line sql.y:5687
 17055  		{
 17056  			yyLOCAL = LagExprType
 17057  		}
 17058  		yyVAL.union = yyLOCAL
 17059  	case 1100:
 17060  		yyDollar = yyS[yypt-1 : yypt+1]
 17061  		var yyLOCAL LagLeadExprType
 17062  //line sql.y:5691
 17063  		{
 17064  			yyLOCAL = LeadExprType
 17065  		}
 17066  		yyVAL.union = yyLOCAL
 17067  	case 1101:
 17068  		yyDollar = yyS[yypt-5 : yypt+1]
 17069  		var yyLOCAL *WindowDefinition
 17070  //line sql.y:5697
 17071  		{
 17072  			yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()}
 17073  		}
 17074  		yyVAL.union = yyLOCAL
 17075  	case 1102:
 17076  		yyDollar = yyS[yypt-1 : yypt+1]
 17077  		var yyLOCAL WindowDefinitions
 17078  //line sql.y:5703
 17079  		{
 17080  			yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()}
 17081  		}
 17082  		yyVAL.union = yyLOCAL
 17083  	case 1103:
 17084  		yyDollar = yyS[yypt-3 : yypt+1]
 17085  //line sql.y:5707
 17086  		{
 17087  			yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union))
 17088  			*yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion())
 17089  		}
 17090  	case 1104:
 17091  		yyDollar = yyS[yypt-0 : yypt+1]
 17092  //line sql.y:5713
 17093  		{
 17094  			yyVAL.str = ""
 17095  		}
 17096  	case 1105:
 17097  		yyDollar = yyS[yypt-3 : yypt+1]
 17098  //line sql.y:5717
 17099  		{
 17100  			yyVAL.str = string(yyDollar[2].identifierCI.String())
 17101  		}
 17102  	case 1106:
 17103  		yyDollar = yyS[yypt-1 : yypt+1]
 17104  		var yyLOCAL BoolVal
 17105  //line sql.y:5723
 17106  		{
 17107  			yyLOCAL = BoolVal(true)
 17108  		}
 17109  		yyVAL.union = yyLOCAL
 17110  	case 1107:
 17111  		yyDollar = yyS[yypt-1 : yypt+1]
 17112  		var yyLOCAL BoolVal
 17113  //line sql.y:5727
 17114  		{
 17115  			yyLOCAL = BoolVal(false)
 17116  		}
 17117  		yyVAL.union = yyLOCAL
 17118  	case 1108:
 17119  		yyDollar = yyS[yypt-1 : yypt+1]
 17120  		var yyLOCAL IsExprOperator
 17121  //line sql.y:5734
 17122  		{
 17123  			yyLOCAL = IsTrueOp
 17124  		}
 17125  		yyVAL.union = yyLOCAL
 17126  	case 1109:
 17127  		yyDollar = yyS[yypt-2 : yypt+1]
 17128  		var yyLOCAL IsExprOperator
 17129  //line sql.y:5738
 17130  		{
 17131  			yyLOCAL = IsNotTrueOp
 17132  		}
 17133  		yyVAL.union = yyLOCAL
 17134  	case 1110:
 17135  		yyDollar = yyS[yypt-1 : yypt+1]
 17136  		var yyLOCAL IsExprOperator
 17137  //line sql.y:5742
 17138  		{
 17139  			yyLOCAL = IsFalseOp
 17140  		}
 17141  		yyVAL.union = yyLOCAL
 17142  	case 1111:
 17143  		yyDollar = yyS[yypt-2 : yypt+1]
 17144  		var yyLOCAL IsExprOperator
 17145  //line sql.y:5746
 17146  		{
 17147  			yyLOCAL = IsNotFalseOp
 17148  		}
 17149  		yyVAL.union = yyLOCAL
 17150  	case 1112:
 17151  		yyDollar = yyS[yypt-1 : yypt+1]
 17152  		var yyLOCAL ComparisonExprOperator
 17153  //line sql.y:5752
 17154  		{
 17155  			yyLOCAL = EqualOp
 17156  		}
 17157  		yyVAL.union = yyLOCAL
 17158  	case 1113:
 17159  		yyDollar = yyS[yypt-1 : yypt+1]
 17160  		var yyLOCAL ComparisonExprOperator
 17161  //line sql.y:5756
 17162  		{
 17163  			yyLOCAL = LessThanOp
 17164  		}
 17165  		yyVAL.union = yyLOCAL
 17166  	case 1114:
 17167  		yyDollar = yyS[yypt-1 : yypt+1]
 17168  		var yyLOCAL ComparisonExprOperator
 17169  //line sql.y:5760
 17170  		{
 17171  			yyLOCAL = GreaterThanOp
 17172  		}
 17173  		yyVAL.union = yyLOCAL
 17174  	case 1115:
 17175  		yyDollar = yyS[yypt-1 : yypt+1]
 17176  		var yyLOCAL ComparisonExprOperator
 17177  //line sql.y:5764
 17178  		{
 17179  			yyLOCAL = LessEqualOp
 17180  		}
 17181  		yyVAL.union = yyLOCAL
 17182  	case 1116:
 17183  		yyDollar = yyS[yypt-1 : yypt+1]
 17184  		var yyLOCAL ComparisonExprOperator
 17185  //line sql.y:5768
 17186  		{
 17187  			yyLOCAL = GreaterEqualOp
 17188  		}
 17189  		yyVAL.union = yyLOCAL
 17190  	case 1117:
 17191  		yyDollar = yyS[yypt-1 : yypt+1]
 17192  		var yyLOCAL ComparisonExprOperator
 17193  //line sql.y:5772
 17194  		{
 17195  			yyLOCAL = NotEqualOp
 17196  		}
 17197  		yyVAL.union = yyLOCAL
 17198  	case 1118:
 17199  		yyDollar = yyS[yypt-1 : yypt+1]
 17200  		var yyLOCAL ComparisonExprOperator
 17201  //line sql.y:5776
 17202  		{
 17203  			yyLOCAL = NullSafeEqualOp
 17204  		}
 17205  		yyVAL.union = yyLOCAL
 17206  	case 1119:
 17207  		yyDollar = yyS[yypt-1 : yypt+1]
 17208  		var yyLOCAL ColTuple
 17209  //line sql.y:5782
 17210  		{
 17211  			yyLOCAL = yyDollar[1].valTupleUnion()
 17212  		}
 17213  		yyVAL.union = yyLOCAL
 17214  	case 1120:
 17215  		yyDollar = yyS[yypt-1 : yypt+1]
 17216  		var yyLOCAL ColTuple
 17217  //line sql.y:5786
 17218  		{
 17219  			yyLOCAL = yyDollar[1].subqueryUnion()
 17220  		}
 17221  		yyVAL.union = yyLOCAL
 17222  	case 1121:
 17223  		yyDollar = yyS[yypt-1 : yypt+1]
 17224  		var yyLOCAL ColTuple
 17225  //line sql.y:5790
 17226  		{
 17227  			yyLOCAL = ListArg(yyDollar[1].str[2:])
 17228  			bindVariable(yylex, yyDollar[1].str[2:])
 17229  		}
 17230  		yyVAL.union = yyLOCAL
 17231  	case 1122:
 17232  		yyDollar = yyS[yypt-1 : yypt+1]
 17233  		var yyLOCAL *Subquery
 17234  //line sql.y:5797
 17235  		{
 17236  			yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()}
 17237  		}
 17238  		yyVAL.union = yyLOCAL
 17239  	case 1123:
 17240  		yyDollar = yyS[yypt-1 : yypt+1]
 17241  		var yyLOCAL Exprs
 17242  //line sql.y:5803
 17243  		{
 17244  			yyLOCAL = Exprs{yyDollar[1].exprUnion()}
 17245  		}
 17246  		yyVAL.union = yyLOCAL
 17247  	case 1124:
 17248  		yyDollar = yyS[yypt-3 : yypt+1]
 17249  //line sql.y:5807
 17250  		{
 17251  			yySLICE := (*Exprs)(yyIaddr(yyVAL.union))
 17252  			*yySLICE = append(*yySLICE, yyDollar[3].exprUnion())
 17253  		}
 17254  	case 1125:
 17255  		yyDollar = yyS[yypt-4 : yypt+1]
 17256  		var yyLOCAL Expr
 17257  //line sql.y:5817
 17258  		{
 17259  			yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].selectExprsUnion()}
 17260  		}
 17261  		yyVAL.union = yyLOCAL
 17262  	case 1126:
 17263  		yyDollar = yyS[yypt-6 : yypt+1]
 17264  		var yyLOCAL Expr
 17265  //line sql.y:5821
 17266  		{
 17267  			yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].selectExprsUnion()}
 17268  		}
 17269  		yyVAL.union = yyLOCAL
 17270  	case 1127:
 17271  		yyDollar = yyS[yypt-4 : yypt+1]
 17272  		var yyLOCAL Expr
 17273  //line sql.y:5831
 17274  		{
 17275  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].selectExprsUnion()}
 17276  		}
 17277  		yyVAL.union = yyLOCAL
 17278  	case 1128:
 17279  		yyDollar = yyS[yypt-4 : yypt+1]
 17280  		var yyLOCAL Expr
 17281  //line sql.y:5835
 17282  		{
 17283  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].selectExprsUnion()}
 17284  		}
 17285  		yyVAL.union = yyLOCAL
 17286  	case 1129:
 17287  		yyDollar = yyS[yypt-8 : yypt+1]
 17288  		var yyLOCAL Expr
 17289  //line sql.y:5839
 17290  		{
 17291  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
 17292  		}
 17293  		yyVAL.union = yyLOCAL
 17294  	case 1130:
 17295  		yyDollar = yyS[yypt-6 : yypt+1]
 17296  		var yyLOCAL Expr
 17297  //line sql.y:5843
 17298  		{
 17299  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
 17300  		}
 17301  		yyVAL.union = yyLOCAL
 17302  	case 1131:
 17303  		yyDollar = yyS[yypt-8 : yypt+1]
 17304  		var yyLOCAL Expr
 17305  //line sql.y:5847
 17306  		{
 17307  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
 17308  		}
 17309  		yyVAL.union = yyLOCAL
 17310  	case 1132:
 17311  		yyDollar = yyS[yypt-6 : yypt+1]
 17312  		var yyLOCAL Expr
 17313  //line sql.y:5851
 17314  		{
 17315  			yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
 17316  		}
 17317  		yyVAL.union = yyLOCAL
 17318  	case 1133:
 17319  		yyDollar = yyS[yypt-5 : yypt+1]
 17320  		var yyLOCAL Expr
 17321  //line sql.y:5855
 17322  		{
 17323  			yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
 17324  		}
 17325  		yyVAL.union = yyLOCAL
 17326  	case 1134:
 17327  		yyDollar = yyS[yypt-4 : yypt+1]
 17328  		var yyLOCAL Expr
 17329  //line sql.y:5859
 17330  		{
 17331  			yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
 17332  		}
 17333  		yyVAL.union = yyLOCAL
 17334  	case 1135:
 17335  		yyDollar = yyS[yypt-10 : yypt+1]
 17336  		var yyLOCAL Expr
 17337  //line sql.y:5863
 17338  		{
 17339  			yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()}
 17340  		}
 17341  		yyVAL.union = yyLOCAL
 17342  	case 1136:
 17343  		yyDollar = yyS[yypt-2 : yypt+1]
 17344  		var yyLOCAL Expr
 17345  //line sql.y:5867
 17346  		{
 17347  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)}
 17348  		}
 17349  		yyVAL.union = yyLOCAL
 17350  	case 1137:
 17351  		yyDollar = yyS[yypt-2 : yypt+1]
 17352  		var yyLOCAL Expr
 17353  //line sql.y:5878
 17354  		{
 17355  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")}
 17356  		}
 17357  		yyVAL.union = yyLOCAL
 17358  	case 1138:
 17359  		yyDollar = yyS[yypt-1 : yypt+1]
 17360  		var yyLOCAL Expr
 17361  //line sql.y:5882
 17362  		{
 17363  			yyLOCAL = yyDollar[1].exprUnion()
 17364  		}
 17365  		yyVAL.union = yyLOCAL
 17366  	case 1139:
 17367  		yyDollar = yyS[yypt-2 : yypt+1]
 17368  		var yyLOCAL Expr
 17369  //line sql.y:5888
 17370  		{
 17371  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")}
 17372  		}
 17373  		yyVAL.union = yyLOCAL
 17374  	case 1140:
 17375  		yyDollar = yyS[yypt-2 : yypt+1]
 17376  		var yyLOCAL Expr
 17377  //line sql.y:5892
 17378  		{
 17379  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].exprUnion()}
 17380  		}
 17381  		yyVAL.union = yyLOCAL
 17382  	case 1141:
 17383  		yyDollar = yyS[yypt-2 : yypt+1]
 17384  		var yyLOCAL Expr
 17385  //line sql.y:5897
 17386  		{
 17387  			yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].exprUnion()}
 17388  		}
 17389  		yyVAL.union = yyLOCAL
 17390  	case 1142:
 17391  		yyDollar = yyS[yypt-4 : yypt+1]
 17392  		var yyLOCAL Expr
 17393  //line sql.y:5901
 17394  		{
 17395  			yyLOCAL = &CountStar{}
 17396  		}
 17397  		yyVAL.union = yyLOCAL
 17398  	case 1143:
 17399  		yyDollar = yyS[yypt-5 : yypt+1]
 17400  		var yyLOCAL Expr
 17401  //line sql.y:5905
 17402  		{
 17403  			yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()}
 17404  		}
 17405  		yyVAL.union = yyLOCAL
 17406  	case 1144:
 17407  		yyDollar = yyS[yypt-5 : yypt+1]
 17408  		var yyLOCAL Expr
 17409  //line sql.y:5909
 17410  		{
 17411  			yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17412  		}
 17413  		yyVAL.union = yyLOCAL
 17414  	case 1145:
 17415  		yyDollar = yyS[yypt-5 : yypt+1]
 17416  		var yyLOCAL Expr
 17417  //line sql.y:5913
 17418  		{
 17419  			yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17420  		}
 17421  		yyVAL.union = yyLOCAL
 17422  	case 1146:
 17423  		yyDollar = yyS[yypt-5 : yypt+1]
 17424  		var yyLOCAL Expr
 17425  //line sql.y:5917
 17426  		{
 17427  			yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17428  		}
 17429  		yyVAL.union = yyLOCAL
 17430  	case 1147:
 17431  		yyDollar = yyS[yypt-5 : yypt+1]
 17432  		var yyLOCAL Expr
 17433  //line sql.y:5921
 17434  		{
 17435  			yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()}
 17436  		}
 17437  		yyVAL.union = yyLOCAL
 17438  	case 1148:
 17439  		yyDollar = yyS[yypt-4 : yypt+1]
 17440  		var yyLOCAL Expr
 17441  //line sql.y:5925
 17442  		{
 17443  			yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion()}
 17444  		}
 17445  		yyVAL.union = yyLOCAL
 17446  	case 1149:
 17447  		yyDollar = yyS[yypt-4 : yypt+1]
 17448  		var yyLOCAL Expr
 17449  //line sql.y:5929
 17450  		{
 17451  			yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion()}
 17452  		}
 17453  		yyVAL.union = yyLOCAL
 17454  	case 1150:
 17455  		yyDollar = yyS[yypt-4 : yypt+1]
 17456  		var yyLOCAL Expr
 17457  //line sql.y:5933
 17458  		{
 17459  			yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion()}
 17460  		}
 17461  		yyVAL.union = yyLOCAL
 17462  	case 1151:
 17463  		yyDollar = yyS[yypt-4 : yypt+1]
 17464  		var yyLOCAL Expr
 17465  //line sql.y:5937
 17466  		{
 17467  			yyLOCAL = &Std{Arg: yyDollar[3].exprUnion()}
 17468  		}
 17469  		yyVAL.union = yyLOCAL
 17470  	case 1152:
 17471  		yyDollar = yyS[yypt-4 : yypt+1]
 17472  		var yyLOCAL Expr
 17473  //line sql.y:5941
 17474  		{
 17475  			yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion()}
 17476  		}
 17477  		yyVAL.union = yyLOCAL
 17478  	case 1153:
 17479  		yyDollar = yyS[yypt-4 : yypt+1]
 17480  		var yyLOCAL Expr
 17481  //line sql.y:5945
 17482  		{
 17483  			yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion()}
 17484  		}
 17485  		yyVAL.union = yyLOCAL
 17486  	case 1154:
 17487  		yyDollar = yyS[yypt-4 : yypt+1]
 17488  		var yyLOCAL Expr
 17489  //line sql.y:5949
 17490  		{
 17491  			yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion()}
 17492  		}
 17493  		yyVAL.union = yyLOCAL
 17494  	case 1155:
 17495  		yyDollar = yyS[yypt-4 : yypt+1]
 17496  		var yyLOCAL Expr
 17497  //line sql.y:5953
 17498  		{
 17499  			yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion()}
 17500  		}
 17501  		yyVAL.union = yyLOCAL
 17502  	case 1156:
 17503  		yyDollar = yyS[yypt-4 : yypt+1]
 17504  		var yyLOCAL Expr
 17505  //line sql.y:5957
 17506  		{
 17507  			yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion()}
 17508  		}
 17509  		yyVAL.union = yyLOCAL
 17510  	case 1157:
 17511  		yyDollar = yyS[yypt-4 : yypt+1]
 17512  		var yyLOCAL Expr
 17513  //line sql.y:5961
 17514  		{
 17515  			yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion()}
 17516  		}
 17517  		yyVAL.union = yyLOCAL
 17518  	case 1158:
 17519  		yyDollar = yyS[yypt-8 : yypt+1]
 17520  		var yyLOCAL Expr
 17521  //line sql.y:5965
 17522  		{
 17523  			yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
 17524  		}
 17525  		yyVAL.union = yyLOCAL
 17526  	case 1159:
 17527  		yyDollar = yyS[yypt-8 : yypt+1]
 17528  		var yyLOCAL Expr
 17529  //line sql.y:5969
 17530  		{
 17531  			yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
 17532  		}
 17533  		yyVAL.union = yyLOCAL
 17534  	case 1160:
 17535  		yyDollar = yyS[yypt-8 : yypt+1]
 17536  		var yyLOCAL Expr
 17537  //line sql.y:5973
 17538  		{
 17539  			yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
 17540  		}
 17541  		yyVAL.union = yyLOCAL
 17542  	case 1161:
 17543  		yyDollar = yyS[yypt-6 : yypt+1]
 17544  		var yyLOCAL Expr
 17545  //line sql.y:5977
 17546  		{
 17547  			yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
 17548  		}
 17549  		yyVAL.union = yyLOCAL
 17550  	case 1162:
 17551  		yyDollar = yyS[yypt-5 : yypt+1]
 17552  		var yyLOCAL Expr
 17553  //line sql.y:5981
 17554  		{
 17555  			yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()}
 17556  		}
 17557  		yyVAL.union = yyLOCAL
 17558  	case 1163:
 17559  		yyDollar = yyS[yypt-4 : yypt+1]
 17560  		var yyLOCAL Expr
 17561  //line sql.y:5985
 17562  		{
 17563  			yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()}
 17564  		}
 17565  		yyVAL.union = yyLOCAL
 17566  	case 1164:
 17567  		yyDollar = yyS[yypt-4 : yypt+1]
 17568  		var yyLOCAL Expr
 17569  //line sql.y:5989
 17570  		{
 17571  			yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()}
 17572  		}
 17573  		yyVAL.union = yyLOCAL
 17574  	case 1165:
 17575  		yyDollar = yyS[yypt-4 : yypt+1]
 17576  		var yyLOCAL Expr
 17577  //line sql.y:5993
 17578  		{
 17579  			yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()}
 17580  		}
 17581  		yyVAL.union = yyLOCAL
 17582  	case 1166:
 17583  		yyDollar = yyS[yypt-4 : yypt+1]
 17584  		var yyLOCAL Expr
 17585  //line sql.y:5997
 17586  		{
 17587  			yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()}
 17588  		}
 17589  		yyVAL.union = yyLOCAL
 17590  	case 1167:
 17591  		yyDollar = yyS[yypt-4 : yypt+1]
 17592  		var yyLOCAL Expr
 17593  //line sql.y:6001
 17594  		{
 17595  			yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()}
 17596  		}
 17597  		yyVAL.union = yyLOCAL
 17598  	case 1168:
 17599  		yyDollar = yyS[yypt-7 : yypt+1]
 17600  		var yyLOCAL Expr
 17601  //line sql.y:6005
 17602  		{
 17603  			yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()}
 17604  		}
 17605  		yyVAL.union = yyLOCAL
 17606  	case 1169:
 17607  		yyDollar = yyS[yypt-4 : yypt+1]
 17608  		var yyLOCAL Expr
 17609  //line sql.y:6009
 17610  		{
 17611  			yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()}
 17612  		}
 17613  		yyVAL.union = yyLOCAL
 17614  	case 1170:
 17615  		yyDollar = yyS[yypt-4 : yypt+1]
 17616  		var yyLOCAL Expr
 17617  //line sql.y:6013
 17618  		{
 17619  			yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()}
 17620  		}
 17621  		yyVAL.union = yyLOCAL
 17622  	case 1171:
 17623  		yyDollar = yyS[yypt-6 : yypt+1]
 17624  		var yyLOCAL Expr
 17625  //line sql.y:6017
 17626  		{
 17627  			yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str}
 17628  		}
 17629  		yyVAL.union = yyLOCAL
 17630  	case 1172:
 17631  		yyDollar = yyS[yypt-6 : yypt+1]
 17632  		var yyLOCAL Expr
 17633  //line sql.y:6021
 17634  		{
 17635  			yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()}
 17636  		}
 17637  		yyVAL.union = yyLOCAL
 17638  	case 1173:
 17639  		yyDollar = yyS[yypt-6 : yypt+1]
 17640  		var yyLOCAL Expr
 17641  //line sql.y:6025
 17642  		{
 17643  			yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
 17644  		}
 17645  		yyVAL.union = yyLOCAL
 17646  	case 1174:
 17647  		yyDollar = yyS[yypt-8 : yypt+1]
 17648  		var yyLOCAL Expr
 17649  //line sql.y:6029
 17650  		{
 17651  			yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()}
 17652  		}
 17653  		yyVAL.union = yyLOCAL
 17654  	case 1175:
 17655  		yyDollar = yyS[yypt-6 : yypt+1]
 17656  		var yyLOCAL Expr
 17657  //line sql.y:6033
 17658  		{
 17659  			yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
 17660  		}
 17661  		yyVAL.union = yyLOCAL
 17662  	case 1176:
 17663  		yyDollar = yyS[yypt-6 : yypt+1]
 17664  		var yyLOCAL Expr
 17665  //line sql.y:6037
 17666  		{
 17667  			yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
 17668  		}
 17669  		yyVAL.union = yyLOCAL
 17670  	case 1177:
 17671  		yyDollar = yyS[yypt-4 : yypt+1]
 17672  		var yyLOCAL Expr
 17673  //line sql.y:6041
 17674  		{
 17675  			yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()}
 17676  		}
 17677  		yyVAL.union = yyLOCAL
 17678  	case 1178:
 17679  		yyDollar = yyS[yypt-4 : yypt+1]
 17680  		var yyLOCAL Expr
 17681  //line sql.y:6045
 17682  		{
 17683  			yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()}
 17684  		}
 17685  		yyVAL.union = yyLOCAL
 17686  	case 1179:
 17687  		yyDollar = yyS[yypt-3 : yypt+1]
 17688  		var yyLOCAL Expr
 17689  //line sql.y:6049
 17690  		{
 17691  			yyLOCAL = &LockingFunc{Type: ReleaseAllLocks}
 17692  		}
 17693  		yyVAL.union = yyLOCAL
 17694  	case 1180:
 17695  		yyDollar = yyS[yypt-4 : yypt+1]
 17696  		var yyLOCAL Expr
 17697  //line sql.y:6053
 17698  		{
 17699  			yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()}
 17700  		}
 17701  		yyVAL.union = yyLOCAL
 17702  	case 1181:
 17703  		yyDollar = yyS[yypt-6 : yypt+1]
 17704  		var yyLOCAL Expr
 17705  //line sql.y:6057
 17706  		{
 17707  			yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
 17708  		}
 17709  		yyVAL.union = yyLOCAL
 17710  	case 1182:
 17711  		yyDollar = yyS[yypt-6 : yypt+1]
 17712  		var yyLOCAL Expr
 17713  //line sql.y:6061
 17714  		{
 17715  			yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
 17716  		}
 17717  		yyVAL.union = yyLOCAL
 17718  	case 1183:
 17719  		yyDollar = yyS[yypt-4 : yypt+1]
 17720  		var yyLOCAL Expr
 17721  //line sql.y:6065
 17722  		{
 17723  			yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()}
 17724  		}
 17725  		yyVAL.union = yyLOCAL
 17726  	case 1184:
 17727  		yyDollar = yyS[yypt-4 : yypt+1]
 17728  		var yyLOCAL Expr
 17729  //line sql.y:6069
 17730  		{
 17731  			yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()}
 17732  		}
 17733  		yyVAL.union = yyLOCAL
 17734  	case 1185:
 17735  		yyDollar = yyS[yypt-4 : yypt+1]
 17736  		var yyLOCAL Expr
 17737  //line sql.y:6073
 17738  		{
 17739  			yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()}
 17740  		}
 17741  		yyVAL.union = yyLOCAL
 17742  	case 1186:
 17743  		yyDollar = yyS[yypt-6 : yypt+1]
 17744  		var yyLOCAL Expr
 17745  //line sql.y:6077
 17746  		{
 17747  			yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]}
 17748  		}
 17749  		yyVAL.union = yyLOCAL
 17750  	case 1187:
 17751  		yyDollar = yyS[yypt-8 : yypt+1]
 17752  		var yyLOCAL Expr
 17753  //line sql.y:6081
 17754  		{
 17755  			yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()}
 17756  		}
 17757  		yyVAL.union = yyLOCAL
 17758  	case 1188:
 17759  		yyDollar = yyS[yypt-6 : yypt+1]
 17760  		var yyLOCAL Expr
 17761  //line sql.y:6085
 17762  		{
 17763  			yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
 17764  		}
 17765  		yyVAL.union = yyLOCAL
 17766  	case 1189:
 17767  		yyDollar = yyS[yypt-4 : yypt+1]
 17768  		var yyLOCAL Expr
 17769  //line sql.y:6089
 17770  		{
 17771  			yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()}
 17772  		}
 17773  		yyVAL.union = yyLOCAL
 17774  	case 1190:
 17775  		yyDollar = yyS[yypt-6 : yypt+1]
 17776  		var yyLOCAL Expr
 17777  //line sql.y:6093
 17778  		{
 17779  			yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
 17780  		}
 17781  		yyVAL.union = yyLOCAL
 17782  	case 1191:
 17783  		yyDollar = yyS[yypt-6 : yypt+1]
 17784  		var yyLOCAL Expr
 17785  //line sql.y:6097
 17786  		{
 17787  			yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()}
 17788  		}
 17789  		yyVAL.union = yyLOCAL
 17790  	case 1192:
 17791  		yyDollar = yyS[yypt-8 : yypt+1]
 17792  		var yyLOCAL Expr
 17793  //line sql.y:6101
 17794  		{
 17795  			yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()}
 17796  		}
 17797  		yyVAL.union = yyLOCAL
 17798  	case 1193:
 17799  		yyDollar = yyS[yypt-10 : yypt+1]
 17800  		var yyLOCAL Expr
 17801  //line sql.y:6105
 17802  		{
 17803  			yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]}
 17804  		}
 17805  		yyVAL.union = yyLOCAL
 17806  	case 1194:
 17807  		yyDollar = yyS[yypt-7 : yypt+1]
 17808  		var yyLOCAL Expr
 17809  //line sql.y:6109
 17810  		{
 17811  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()}
 17812  		}
 17813  		yyVAL.union = yyLOCAL
 17814  	case 1195:
 17815  		yyDollar = yyS[yypt-8 : yypt+1]
 17816  		var yyLOCAL Expr
 17817  //line sql.y:6113
 17818  		{
 17819  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
 17820  		}
 17821  		yyVAL.union = yyLOCAL
 17822  	case 1196:
 17823  		yyDollar = yyS[yypt-8 : yypt+1]
 17824  		var yyLOCAL Expr
 17825  //line sql.y:6117
 17826  		{
 17827  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
 17828  		}
 17829  		yyVAL.union = yyLOCAL
 17830  	case 1197:
 17831  		yyDollar = yyS[yypt-9 : yypt+1]
 17832  		var yyLOCAL Expr
 17833  //line sql.y:6121
 17834  		{
 17835  			yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
 17836  		}
 17837  		yyVAL.union = yyLOCAL
 17838  	case 1198:
 17839  		yyDollar = yyS[yypt-4 : yypt+1]
 17840  		var yyLOCAL Expr
 17841  //line sql.y:6125
 17842  		{
 17843  			yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17844  		}
 17845  		yyVAL.union = yyLOCAL
 17846  	case 1199:
 17847  		yyDollar = yyS[yypt-4 : yypt+1]
 17848  		var yyLOCAL Expr
 17849  //line sql.y:6129
 17850  		{
 17851  			yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17852  		}
 17853  		yyVAL.union = yyLOCAL
 17854  	case 1200:
 17855  		yyDollar = yyS[yypt-4 : yypt+1]
 17856  		var yyLOCAL Expr
 17857  //line sql.y:6133
 17858  		{
 17859  			yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17860  		}
 17861  		yyVAL.union = yyLOCAL
 17862  	case 1201:
 17863  		yyDollar = yyS[yypt-4 : yypt+1]
 17864  		var yyLOCAL Expr
 17865  //line sql.y:6137
 17866  		{
 17867  			yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
 17868  		}
 17869  		yyVAL.union = yyLOCAL
 17870  	case 1202:
 17871  		yyDollar = yyS[yypt-6 : yypt+1]
 17872  		var yyLOCAL Expr
 17873  //line sql.y:6141
 17874  		{
 17875  			yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
 17876  		}
 17877  		yyVAL.union = yyLOCAL
 17878  	case 1203:
 17879  		yyDollar = yyS[yypt-6 : yypt+1]
 17880  		var yyLOCAL Expr
 17881  //line sql.y:6145
 17882  		{
 17883  			yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17884  		}
 17885  		yyVAL.union = yyLOCAL
 17886  	case 1204:
 17887  		yyDollar = yyS[yypt-6 : yypt+1]
 17888  		var yyLOCAL Expr
 17889  //line sql.y:6149
 17890  		{
 17891  			yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17892  		}
 17893  		yyVAL.union = yyLOCAL
 17894  	case 1205:
 17895  		yyDollar = yyS[yypt-6 : yypt+1]
 17896  		var yyLOCAL Expr
 17897  //line sql.y:6153
 17898  		{
 17899  			yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17900  		}
 17901  		yyVAL.union = yyLOCAL
 17902  	case 1206:
 17903  		yyDollar = yyS[yypt-6 : yypt+1]
 17904  		var yyLOCAL Expr
 17905  //line sql.y:6157
 17906  		{
 17907  			yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17908  		}
 17909  		yyVAL.union = yyLOCAL
 17910  	case 1207:
 17911  		yyDollar = yyS[yypt-6 : yypt+1]
 17912  		var yyLOCAL Expr
 17913  //line sql.y:6161
 17914  		{
 17915  			yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
 17916  		}
 17917  		yyVAL.union = yyLOCAL
 17918  	case 1208:
 17919  		yyDollar = yyS[yypt-6 : yypt+1]
 17920  		var yyLOCAL Expr
 17921  //line sql.y:6165
 17922  		{
 17923  			yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
 17924  		}
 17925  		yyVAL.union = yyLOCAL
 17926  	case 1209:
 17927  		yyDollar = yyS[yypt-6 : yypt+1]
 17928  		var yyLOCAL Expr
 17929  //line sql.y:6169
 17930  		{
 17931  			yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
 17932  		}
 17933  		yyVAL.union = yyLOCAL
 17934  	case 1210:
 17935  		yyDollar = yyS[yypt-6 : yypt+1]
 17936  		var yyLOCAL Expr
 17937  //line sql.y:6173
 17938  		{
 17939  			yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
 17940  		}
 17941  		yyVAL.union = yyLOCAL
 17942  	case 1211:
 17943  		yyDollar = yyS[yypt-6 : yypt+1]
 17944  		var yyLOCAL Expr
 17945  //line sql.y:6177
 17946  		{
 17947  			yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
 17948  		}
 17949  		yyVAL.union = yyLOCAL
 17950  	case 1212:
 17951  		yyDollar = yyS[yypt-4 : yypt+1]
 17952  		var yyLOCAL Expr
 17953  //line sql.y:6181
 17954  		{
 17955  			yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()}
 17956  		}
 17957  		yyVAL.union = yyLOCAL
 17958  	case 1213:
 17959  		yyDollar = yyS[yypt-4 : yypt+1]
 17960  		var yyLOCAL Expr
 17961  //line sql.y:6185
 17962  		{
 17963  			yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()}
 17964  		}
 17965  		yyVAL.union = yyLOCAL
 17966  	case 1214:
 17967  		yyDollar = yyS[yypt-6 : yypt+1]
 17968  		var yyLOCAL Expr
 17969  //line sql.y:6189
 17970  		{
 17971  			yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
 17972  		}
 17973  		yyVAL.union = yyLOCAL
 17974  	case 1215:
 17975  		yyDollar = yyS[yypt-5 : yypt+1]
 17976  		var yyLOCAL Expr
 17977  //line sql.y:6193
 17978  		{
 17979  			yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
 17980  		}
 17981  		yyVAL.union = yyLOCAL
 17982  	case 1216:
 17983  		yyDollar = yyS[yypt-9 : yypt+1]
 17984  		var yyLOCAL Expr
 17985  //line sql.y:6197
 17986  		{
 17987  			yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
 17988  		}
 17989  		yyVAL.union = yyLOCAL
 17990  	case 1217:
 17991  		yyDollar = yyS[yypt-6 : yypt+1]
 17992  		var yyLOCAL Expr
 17993  //line sql.y:6201
 17994  		{
 17995  			yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
 17996  		}
 17997  		yyVAL.union = yyLOCAL
 17998  	case 1218:
 17999  		yyDollar = yyS[yypt-9 : yypt+1]
 18000  		var yyLOCAL Expr
 18001  //line sql.y:6205
 18002  		{
 18003  			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()}
 18004  		}
 18005  		yyVAL.union = yyLOCAL
 18006  	case 1223:
 18007  		yyDollar = yyS[yypt-1 : yypt+1]
 18008  		var yyLOCAL Expr
 18009  //line sql.y:6215
 18010  		{
 18011  			yyLOCAL = yyDollar[1].exprUnion()
 18012  		}
 18013  		yyVAL.union = yyLOCAL
 18014  	case 1224:
 18015  		yyDollar = yyS[yypt-1 : yypt+1]
 18016  		var yyLOCAL Expr
 18017  //line sql.y:6219
 18018  		{
 18019  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
 18020  		}
 18021  		yyVAL.union = yyLOCAL
 18022  	case 1225:
 18023  		yyDollar = yyS[yypt-1 : yypt+1]
 18024  		var yyLOCAL Expr
 18025  //line sql.y:6223
 18026  		{
 18027  			yyLOCAL = yyDollar[1].variableUnion()
 18028  		}
 18029  		yyVAL.union = yyLOCAL
 18030  	case 1226:
 18031  		yyDollar = yyS[yypt-1 : yypt+1]
 18032  		var yyLOCAL Expr
 18033  //line sql.y:6227
 18034  		{
 18035  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 18036  			bindVariable(yylex, yyDollar[1].str[1:])
 18037  		}
 18038  		yyVAL.union = yyLOCAL
 18039  	case 1227:
 18040  		yyDollar = yyS[yypt-0 : yypt+1]
 18041  		var yyLOCAL Expr
 18042  //line sql.y:6233
 18043  		{
 18044  			yyLOCAL = nil
 18045  		}
 18046  		yyVAL.union = yyLOCAL
 18047  	case 1228:
 18048  		yyDollar = yyS[yypt-2 : yypt+1]
 18049  		var yyLOCAL Expr
 18050  //line sql.y:6237
 18051  		{
 18052  			yyLOCAL = yyDollar[2].exprUnion()
 18053  		}
 18054  		yyVAL.union = yyLOCAL
 18055  	case 1229:
 18056  		yyDollar = yyS[yypt-6 : yypt+1]
 18057  		var yyLOCAL Expr
 18058  //line sql.y:6243
 18059  		{
 18060  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
 18061  		}
 18062  		yyVAL.union = yyLOCAL
 18063  	case 1230:
 18064  		yyDollar = yyS[yypt-8 : yypt+1]
 18065  		var yyLOCAL Expr
 18066  //line sql.y:6247
 18067  		{
 18068  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
 18069  		}
 18070  		yyVAL.union = yyLOCAL
 18071  	case 1231:
 18072  		yyDollar = yyS[yypt-10 : yypt+1]
 18073  		var yyLOCAL Expr
 18074  //line sql.y:6251
 18075  		{
 18076  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
 18077  		}
 18078  		yyVAL.union = yyLOCAL
 18079  	case 1232:
 18080  		yyDollar = yyS[yypt-12 : yypt+1]
 18081  		var yyLOCAL Expr
 18082  //line sql.y:6255
 18083  		{
 18084  			yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()}
 18085  		}
 18086  		yyVAL.union = yyLOCAL
 18087  	case 1233:
 18088  		yyDollar = yyS[yypt-14 : yypt+1]
 18089  		var yyLOCAL Expr
 18090  //line sql.y:6259
 18091  		{
 18092  			// Match type is kept expression as TRIM( ' m  ') is accepted
 18093  			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()}
 18094  		}
 18095  		yyVAL.union = yyLOCAL
 18096  	case 1234:
 18097  		yyDollar = yyS[yypt-6 : yypt+1]
 18098  		var yyLOCAL Expr
 18099  //line sql.y:6264
 18100  		{
 18101  			yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
 18102  		}
 18103  		yyVAL.union = yyLOCAL
 18104  	case 1235:
 18105  		yyDollar = yyS[yypt-8 : yypt+1]
 18106  		var yyLOCAL Expr
 18107  //line sql.y:6268
 18108  		{
 18109  			yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()}
 18110  		}
 18111  		yyVAL.union = yyLOCAL
 18112  	case 1236:
 18113  		yyDollar = yyS[yypt-8 : yypt+1]
 18114  		var yyLOCAL Expr
 18115  //line sql.y:6272
 18116  		{
 18117  			yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()}
 18118  		}
 18119  		yyVAL.union = yyLOCAL
 18120  	case 1237:
 18121  		yyDollar = yyS[yypt-10 : yypt+1]
 18122  		var yyLOCAL Expr
 18123  //line sql.y:6276
 18124  		{
 18125  			yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()}
 18126  		}
 18127  		yyVAL.union = yyLOCAL
 18128  	case 1238:
 18129  		yyDollar = yyS[yypt-12 : yypt+1]
 18130  		var yyLOCAL Expr
 18131  //line sql.y:6280
 18132  		{
 18133  			yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()}
 18134  		}
 18135  		yyVAL.union = yyLOCAL
 18136  	case 1239:
 18137  		yyDollar = yyS[yypt-14 : yypt+1]
 18138  		var yyLOCAL Expr
 18139  //line sql.y:6284
 18140  		{
 18141  			// Match type is kept expression as TRIM( ' m  ') is accepted
 18142  			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()}
 18143  		}
 18144  		yyVAL.union = yyLOCAL
 18145  	case 1240:
 18146  		yyDollar = yyS[yypt-6 : yypt+1]
 18147  		var yyLOCAL Expr
 18148  //line sql.y:6289
 18149  		{
 18150  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
 18151  		}
 18152  		yyVAL.union = yyLOCAL
 18153  	case 1241:
 18154  		yyDollar = yyS[yypt-8 : yypt+1]
 18155  		var yyLOCAL Expr
 18156  //line sql.y:6293
 18157  		{
 18158  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
 18159  		}
 18160  		yyVAL.union = yyLOCAL
 18161  	case 1242:
 18162  		yyDollar = yyS[yypt-10 : yypt+1]
 18163  		var yyLOCAL Expr
 18164  //line sql.y:6297
 18165  		{
 18166  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
 18167  		}
 18168  		yyVAL.union = yyLOCAL
 18169  	case 1243:
 18170  		yyDollar = yyS[yypt-12 : yypt+1]
 18171  		var yyLOCAL Expr
 18172  //line sql.y:6301
 18173  		{
 18174  			// Match type is kept expression as TRIM( ' m  ') is accepted
 18175  			yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()}
 18176  		}
 18177  		yyVAL.union = yyLOCAL
 18178  	case 1244:
 18179  		yyDollar = yyS[yypt-6 : yypt+1]
 18180  		var yyLOCAL Expr
 18181  //line sql.y:6308
 18182  		{
 18183  			yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()}
 18184  		}
 18185  		yyVAL.union = yyLOCAL
 18186  	case 1245:
 18187  		yyDollar = yyS[yypt-8 : yypt+1]
 18188  		var yyLOCAL Expr
 18189  //line sql.y:6312
 18190  		{
 18191  			yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()}
 18192  		}
 18193  		yyVAL.union = yyLOCAL
 18194  	case 1246:
 18195  		yyDollar = yyS[yypt-4 : yypt+1]
 18196  		var yyLOCAL Expr
 18197  //line sql.y:6318
 18198  		{
 18199  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()}
 18200  		}
 18201  		yyVAL.union = yyLOCAL
 18202  	case 1247:
 18203  		yyDollar = yyS[yypt-4 : yypt+1]
 18204  		var yyLOCAL Expr
 18205  //line sql.y:6322
 18206  		{
 18207  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()}
 18208  		}
 18209  		yyVAL.union = yyLOCAL
 18210  	case 1248:
 18211  		yyDollar = yyS[yypt-3 : yypt+1]
 18212  		var yyLOCAL Expr
 18213  //line sql.y:6326
 18214  		{
 18215  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType}
 18216  		}
 18217  		yyVAL.union = yyLOCAL
 18218  	case 1249:
 18219  		yyDollar = yyS[yypt-4 : yypt+1]
 18220  		var yyLOCAL Expr
 18221  //line sql.y:6330
 18222  		{
 18223  			yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()}
 18224  		}
 18225  		yyVAL.union = yyLOCAL
 18226  	case 1250:
 18227  		yyDollar = yyS[yypt-6 : yypt+1]
 18228  		var yyLOCAL Expr
 18229  //line sql.y:6336
 18230  		{
 18231  			yyLOCAL = &GTIDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
 18232  		}
 18233  		yyVAL.union = yyLOCAL
 18234  	case 1251:
 18235  		yyDollar = yyS[yypt-6 : yypt+1]
 18236  		var yyLOCAL Expr
 18237  //line sql.y:6340
 18238  		{
 18239  			yyLOCAL = &GTIDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
 18240  		}
 18241  		yyVAL.union = yyLOCAL
 18242  	case 1252:
 18243  		yyDollar = yyS[yypt-4 : yypt+1]
 18244  		var yyLOCAL Expr
 18245  //line sql.y:6344
 18246  		{
 18247  			yyLOCAL = &GTIDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()}
 18248  		}
 18249  		yyVAL.union = yyLOCAL
 18250  	case 1253:
 18251  		yyDollar = yyS[yypt-6 : yypt+1]
 18252  		var yyLOCAL Expr
 18253  //line sql.y:6348
 18254  		{
 18255  			yyLOCAL = &GTIDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
 18256  		}
 18257  		yyVAL.union = yyLOCAL
 18258  	case 1254:
 18259  		yyDollar = yyS[yypt-4 : yypt+1]
 18260  		var yyLOCAL Expr
 18261  //line sql.y:6352
 18262  		{
 18263  			yyLOCAL = &GTIDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()}
 18264  		}
 18265  		yyVAL.union = yyLOCAL
 18266  	case 1255:
 18267  		yyDollar = yyS[yypt-6 : yypt+1]
 18268  		var yyLOCAL Expr
 18269  //line sql.y:6356
 18270  		{
 18271  			yyLOCAL = &GTIDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
 18272  		}
 18273  		yyVAL.union = yyLOCAL
 18274  	case 1256:
 18275  		yyDollar = yyS[yypt-8 : yypt+1]
 18276  		var yyLOCAL Expr
 18277  //line sql.y:6360
 18278  		{
 18279  			yyLOCAL = &GTIDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()}
 18280  		}
 18281  		yyVAL.union = yyLOCAL
 18282  	case 1257:
 18283  		yyDollar = yyS[yypt-0 : yypt+1]
 18284  		var yyLOCAL *ConvertType
 18285  //line sql.y:6365
 18286  		{
 18287  			yyLOCAL = nil
 18288  		}
 18289  		yyVAL.union = yyLOCAL
 18290  	case 1258:
 18291  		yyDollar = yyS[yypt-2 : yypt+1]
 18292  		var yyLOCAL *ConvertType
 18293  //line sql.y:6369
 18294  		{
 18295  			yyLOCAL = yyDollar[2].convertTypeUnion()
 18296  		}
 18297  		yyVAL.union = yyLOCAL
 18298  	case 1259:
 18299  		yyDollar = yyS[yypt-1 : yypt+1]
 18300  //line sql.y:6375
 18301  		{
 18302  		}
 18303  	case 1260:
 18304  		yyDollar = yyS[yypt-1 : yypt+1]
 18305  		var yyLOCAL IntervalTypes
 18306  //line sql.y:6377
 18307  		{
 18308  			yyLOCAL = IntervalDayHour
 18309  		}
 18310  		yyVAL.union = yyLOCAL
 18311  	case 1261:
 18312  		yyDollar = yyS[yypt-1 : yypt+1]
 18313  		var yyLOCAL IntervalTypes
 18314  //line sql.y:6381
 18315  		{
 18316  			yyLOCAL = IntervalDayMicrosecond
 18317  		}
 18318  		yyVAL.union = yyLOCAL
 18319  	case 1262:
 18320  		yyDollar = yyS[yypt-1 : yypt+1]
 18321  		var yyLOCAL IntervalTypes
 18322  //line sql.y:6385
 18323  		{
 18324  			yyLOCAL = IntervalDayMinute
 18325  		}
 18326  		yyVAL.union = yyLOCAL
 18327  	case 1263:
 18328  		yyDollar = yyS[yypt-1 : yypt+1]
 18329  		var yyLOCAL IntervalTypes
 18330  //line sql.y:6389
 18331  		{
 18332  			yyLOCAL = IntervalDaySecond
 18333  		}
 18334  		yyVAL.union = yyLOCAL
 18335  	case 1264:
 18336  		yyDollar = yyS[yypt-1 : yypt+1]
 18337  		var yyLOCAL IntervalTypes
 18338  //line sql.y:6393
 18339  		{
 18340  			yyLOCAL = IntervalHourMicrosecond
 18341  		}
 18342  		yyVAL.union = yyLOCAL
 18343  	case 1265:
 18344  		yyDollar = yyS[yypt-1 : yypt+1]
 18345  		var yyLOCAL IntervalTypes
 18346  //line sql.y:6397
 18347  		{
 18348  			yyLOCAL = IntervalHourMinute
 18349  		}
 18350  		yyVAL.union = yyLOCAL
 18351  	case 1266:
 18352  		yyDollar = yyS[yypt-1 : yypt+1]
 18353  		var yyLOCAL IntervalTypes
 18354  //line sql.y:6401
 18355  		{
 18356  			yyLOCAL = IntervalHourSecond
 18357  		}
 18358  		yyVAL.union = yyLOCAL
 18359  	case 1267:
 18360  		yyDollar = yyS[yypt-1 : yypt+1]
 18361  		var yyLOCAL IntervalTypes
 18362  //line sql.y:6405
 18363  		{
 18364  			yyLOCAL = IntervalMinuteMicrosecond
 18365  		}
 18366  		yyVAL.union = yyLOCAL
 18367  	case 1268:
 18368  		yyDollar = yyS[yypt-1 : yypt+1]
 18369  		var yyLOCAL IntervalTypes
 18370  //line sql.y:6409
 18371  		{
 18372  			yyLOCAL = IntervalMinuteSecond
 18373  		}
 18374  		yyVAL.union = yyLOCAL
 18375  	case 1269:
 18376  		yyDollar = yyS[yypt-1 : yypt+1]
 18377  		var yyLOCAL IntervalTypes
 18378  //line sql.y:6413
 18379  		{
 18380  			yyLOCAL = IntervalSecondMicrosecond
 18381  		}
 18382  		yyVAL.union = yyLOCAL
 18383  	case 1270:
 18384  		yyDollar = yyS[yypt-1 : yypt+1]
 18385  		var yyLOCAL IntervalTypes
 18386  //line sql.y:6417
 18387  		{
 18388  			yyLOCAL = IntervalYearMonth
 18389  		}
 18390  		yyVAL.union = yyLOCAL
 18391  	case 1271:
 18392  		yyDollar = yyS[yypt-1 : yypt+1]
 18393  		var yyLOCAL IntervalTypes
 18394  //line sql.y:6423
 18395  		{
 18396  			yyLOCAL = IntervalDay
 18397  		}
 18398  		yyVAL.union = yyLOCAL
 18399  	case 1272:
 18400  		yyDollar = yyS[yypt-1 : yypt+1]
 18401  		var yyLOCAL IntervalTypes
 18402  //line sql.y:6427
 18403  		{
 18404  			yyLOCAL = IntervalWeek
 18405  		}
 18406  		yyVAL.union = yyLOCAL
 18407  	case 1273:
 18408  		yyDollar = yyS[yypt-1 : yypt+1]
 18409  		var yyLOCAL IntervalTypes
 18410  //line sql.y:6431
 18411  		{
 18412  			yyLOCAL = IntervalHour
 18413  		}
 18414  		yyVAL.union = yyLOCAL
 18415  	case 1274:
 18416  		yyDollar = yyS[yypt-1 : yypt+1]
 18417  		var yyLOCAL IntervalTypes
 18418  //line sql.y:6435
 18419  		{
 18420  			yyLOCAL = IntervalMinute
 18421  		}
 18422  		yyVAL.union = yyLOCAL
 18423  	case 1275:
 18424  		yyDollar = yyS[yypt-1 : yypt+1]
 18425  		var yyLOCAL IntervalTypes
 18426  //line sql.y:6439
 18427  		{
 18428  			yyLOCAL = IntervalMonth
 18429  		}
 18430  		yyVAL.union = yyLOCAL
 18431  	case 1276:
 18432  		yyDollar = yyS[yypt-1 : yypt+1]
 18433  		var yyLOCAL IntervalTypes
 18434  //line sql.y:6443
 18435  		{
 18436  			yyLOCAL = IntervalQuarter
 18437  		}
 18438  		yyVAL.union = yyLOCAL
 18439  	case 1277:
 18440  		yyDollar = yyS[yypt-1 : yypt+1]
 18441  		var yyLOCAL IntervalTypes
 18442  //line sql.y:6447
 18443  		{
 18444  			yyLOCAL = IntervalSecond
 18445  		}
 18446  		yyVAL.union = yyLOCAL
 18447  	case 1278:
 18448  		yyDollar = yyS[yypt-1 : yypt+1]
 18449  		var yyLOCAL IntervalTypes
 18450  //line sql.y:6451
 18451  		{
 18452  			yyLOCAL = IntervalMicrosecond
 18453  		}
 18454  		yyVAL.union = yyLOCAL
 18455  	case 1279:
 18456  		yyDollar = yyS[yypt-1 : yypt+1]
 18457  		var yyLOCAL IntervalTypes
 18458  //line sql.y:6455
 18459  		{
 18460  			yyLOCAL = IntervalYear
 18461  		}
 18462  		yyVAL.union = yyLOCAL
 18463  	case 1282:
 18464  		yyDollar = yyS[yypt-0 : yypt+1]
 18465  		var yyLOCAL Expr
 18466  //line sql.y:6465
 18467  		{
 18468  			yyLOCAL = nil
 18469  		}
 18470  		yyVAL.union = yyLOCAL
 18471  	case 1283:
 18472  		yyDollar = yyS[yypt-2 : yypt+1]
 18473  		var yyLOCAL Expr
 18474  //line sql.y:6469
 18475  		{
 18476  			yyLOCAL = nil
 18477  		}
 18478  		yyVAL.union = yyLOCAL
 18479  	case 1284:
 18480  		yyDollar = yyS[yypt-3 : yypt+1]
 18481  		var yyLOCAL Expr
 18482  //line sql.y:6473
 18483  		{
 18484  			yyLOCAL = NewIntLiteral(yyDollar[2].str)
 18485  		}
 18486  		yyVAL.union = yyLOCAL
 18487  	case 1285:
 18488  		yyDollar = yyS[yypt-3 : yypt+1]
 18489  		var yyLOCAL Expr
 18490  //line sql.y:6477
 18491  		{
 18492  			yyLOCAL = NewArgument(yyDollar[2].str[1:])
 18493  			bindVariable(yylex, yyDollar[2].str[1:])
 18494  		}
 18495  		yyVAL.union = yyLOCAL
 18496  	case 1286:
 18497  		yyDollar = yyS[yypt-4 : yypt+1]
 18498  		var yyLOCAL Expr
 18499  //line sql.y:6488
 18500  		{
 18501  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].selectExprsUnion()}
 18502  		}
 18503  		yyVAL.union = yyLOCAL
 18504  	case 1287:
 18505  		yyDollar = yyS[yypt-4 : yypt+1]
 18506  		var yyLOCAL Expr
 18507  //line sql.y:6492
 18508  		{
 18509  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].selectExprsUnion()}
 18510  		}
 18511  		yyVAL.union = yyLOCAL
 18512  	case 1288:
 18513  		yyDollar = yyS[yypt-4 : yypt+1]
 18514  		var yyLOCAL Expr
 18515  //line sql.y:6496
 18516  		{
 18517  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].selectExprsUnion()}
 18518  		}
 18519  		yyVAL.union = yyLOCAL
 18520  	case 1289:
 18521  		yyDollar = yyS[yypt-4 : yypt+1]
 18522  		var yyLOCAL Expr
 18523  //line sql.y:6500
 18524  		{
 18525  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].selectExprsUnion()}
 18526  		}
 18527  		yyVAL.union = yyLOCAL
 18528  	case 1290:
 18529  		yyDollar = yyS[yypt-4 : yypt+1]
 18530  		var yyLOCAL Expr
 18531  //line sql.y:6504
 18532  		{
 18533  			yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].selectExprsUnion()}
 18534  		}
 18535  		yyVAL.union = yyLOCAL
 18536  	case 1291:
 18537  		yyDollar = yyS[yypt-0 : yypt+1]
 18538  		var yyLOCAL MatchExprOption
 18539  //line sql.y:6510
 18540  		{
 18541  			yyLOCAL = NoOption
 18542  		}
 18543  		yyVAL.union = yyLOCAL
 18544  	case 1292:
 18545  		yyDollar = yyS[yypt-3 : yypt+1]
 18546  		var yyLOCAL MatchExprOption
 18547  //line sql.y:6514
 18548  		{
 18549  			yyLOCAL = BooleanModeOpt
 18550  		}
 18551  		yyVAL.union = yyLOCAL
 18552  	case 1293:
 18553  		yyDollar = yyS[yypt-4 : yypt+1]
 18554  		var yyLOCAL MatchExprOption
 18555  //line sql.y:6518
 18556  		{
 18557  			yyLOCAL = NaturalLanguageModeOpt
 18558  		}
 18559  		yyVAL.union = yyLOCAL
 18560  	case 1294:
 18561  		yyDollar = yyS[yypt-7 : yypt+1]
 18562  		var yyLOCAL MatchExprOption
 18563  //line sql.y:6522
 18564  		{
 18565  			yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt
 18566  		}
 18567  		yyVAL.union = yyLOCAL
 18568  	case 1295:
 18569  		yyDollar = yyS[yypt-3 : yypt+1]
 18570  		var yyLOCAL MatchExprOption
 18571  //line sql.y:6526
 18572  		{
 18573  			yyLOCAL = QueryExpansionOpt
 18574  		}
 18575  		yyVAL.union = yyLOCAL
 18576  	case 1296:
 18577  		yyDollar = yyS[yypt-1 : yypt+1]
 18578  //line sql.y:6532
 18579  		{
 18580  			yyVAL.str = string(yyDollar[1].identifierCI.String())
 18581  		}
 18582  	case 1297:
 18583  		yyDollar = yyS[yypt-1 : yypt+1]
 18584  //line sql.y:6536
 18585  		{
 18586  			yyVAL.str = string(yyDollar[1].str)
 18587  		}
 18588  	case 1298:
 18589  		yyDollar = yyS[yypt-1 : yypt+1]
 18590  //line sql.y:6540
 18591  		{
 18592  			yyVAL.str = string(yyDollar[1].str)
 18593  		}
 18594  	case 1299:
 18595  		yyDollar = yyS[yypt-0 : yypt+1]
 18596  		var yyLOCAL *ConvertType
 18597  //line sql.y:6546
 18598  		{
 18599  			yyLOCAL = nil
 18600  		}
 18601  		yyVAL.union = yyLOCAL
 18602  	case 1300:
 18603  		yyDollar = yyS[yypt-5 : yypt+1]
 18604  		var yyLOCAL *ConvertType
 18605  //line sql.y:6550
 18606  		{
 18607  			yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)}
 18608  		}
 18609  		yyVAL.union = yyLOCAL
 18610  	case 1301:
 18611  		yyDollar = yyS[yypt-5 : yypt+1]
 18612  		var yyLOCAL *ConvertType
 18613  //line sql.y:6554
 18614  		{
 18615  			yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)}
 18616  		}
 18617  		yyVAL.union = yyLOCAL
 18618  	case 1302:
 18619  		yyDollar = yyS[yypt-2 : yypt+1]
 18620  		var yyLOCAL *ConvertType
 18621  //line sql.y:6560
 18622  		{
 18623  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18624  		}
 18625  		yyVAL.union = yyLOCAL
 18626  	case 1303:
 18627  		yyDollar = yyS[yypt-3 : yypt+1]
 18628  		var yyLOCAL *ConvertType
 18629  //line sql.y:6564
 18630  		{
 18631  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset}
 18632  		}
 18633  		yyVAL.union = yyLOCAL
 18634  	case 1304:
 18635  		yyDollar = yyS[yypt-1 : yypt+1]
 18636  		var yyLOCAL *ConvertType
 18637  //line sql.y:6568
 18638  		{
 18639  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18640  		}
 18641  		yyVAL.union = yyLOCAL
 18642  	case 1305:
 18643  		yyDollar = yyS[yypt-2 : yypt+1]
 18644  		var yyLOCAL *ConvertType
 18645  //line sql.y:6572
 18646  		{
 18647  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18648  		}
 18649  		yyVAL.union = yyLOCAL
 18650  	case 1306:
 18651  		yyDollar = yyS[yypt-2 : yypt+1]
 18652  		var yyLOCAL *ConvertType
 18653  //line sql.y:6576
 18654  		{
 18655  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18656  			yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length
 18657  			yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale
 18658  		}
 18659  		yyVAL.union = yyLOCAL
 18660  	case 1307:
 18661  		yyDollar = yyS[yypt-1 : yypt+1]
 18662  		var yyLOCAL *ConvertType
 18663  //line sql.y:6582
 18664  		{
 18665  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18666  		}
 18667  		yyVAL.union = yyLOCAL
 18668  	case 1308:
 18669  		yyDollar = yyS[yypt-2 : yypt+1]
 18670  		var yyLOCAL *ConvertType
 18671  //line sql.y:6586
 18672  		{
 18673  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18674  		}
 18675  		yyVAL.union = yyLOCAL
 18676  	case 1309:
 18677  		yyDollar = yyS[yypt-1 : yypt+1]
 18678  		var yyLOCAL *ConvertType
 18679  //line sql.y:6590
 18680  		{
 18681  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18682  		}
 18683  		yyVAL.union = yyLOCAL
 18684  	case 1310:
 18685  		yyDollar = yyS[yypt-2 : yypt+1]
 18686  		var yyLOCAL *ConvertType
 18687  //line sql.y:6594
 18688  		{
 18689  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18690  		}
 18691  		yyVAL.union = yyLOCAL
 18692  	case 1311:
 18693  		yyDollar = yyS[yypt-2 : yypt+1]
 18694  		var yyLOCAL *ConvertType
 18695  //line sql.y:6598
 18696  		{
 18697  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18698  		}
 18699  		yyVAL.union = yyLOCAL
 18700  	case 1312:
 18701  		yyDollar = yyS[yypt-1 : yypt+1]
 18702  		var yyLOCAL *ConvertType
 18703  //line sql.y:6602
 18704  		{
 18705  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18706  		}
 18707  		yyVAL.union = yyLOCAL
 18708  	case 1313:
 18709  		yyDollar = yyS[yypt-2 : yypt+1]
 18710  		var yyLOCAL *ConvertType
 18711  //line sql.y:6606
 18712  		{
 18713  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18714  		}
 18715  		yyVAL.union = yyLOCAL
 18716  	case 1314:
 18717  		yyDollar = yyS[yypt-2 : yypt+1]
 18718  		var yyLOCAL *ConvertType
 18719  //line sql.y:6610
 18720  		{
 18721  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()}
 18722  		}
 18723  		yyVAL.union = yyLOCAL
 18724  	case 1315:
 18725  		yyDollar = yyS[yypt-1 : yypt+1]
 18726  		var yyLOCAL *ConvertType
 18727  //line sql.y:6614
 18728  		{
 18729  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18730  		}
 18731  		yyVAL.union = yyLOCAL
 18732  	case 1316:
 18733  		yyDollar = yyS[yypt-1 : yypt+1]
 18734  		var yyLOCAL *ConvertType
 18735  //line sql.y:6618
 18736  		{
 18737  			yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
 18738  		}
 18739  		yyVAL.union = yyLOCAL
 18740  	case 1317:
 18741  		yyDollar = yyS[yypt-0 : yypt+1]
 18742  		var yyLOCAL bool
 18743  //line sql.y:6624
 18744  		{
 18745  			yyLOCAL = false
 18746  		}
 18747  		yyVAL.union = yyLOCAL
 18748  	case 1318:
 18749  		yyDollar = yyS[yypt-1 : yypt+1]
 18750  		var yyLOCAL bool
 18751  //line sql.y:6628
 18752  		{
 18753  			yyLOCAL = true
 18754  		}
 18755  		yyVAL.union = yyLOCAL
 18756  	case 1319:
 18757  		yyDollar = yyS[yypt-0 : yypt+1]
 18758  		var yyLOCAL Expr
 18759  //line sql.y:6633
 18760  		{
 18761  			yyLOCAL = nil
 18762  		}
 18763  		yyVAL.union = yyLOCAL
 18764  	case 1320:
 18765  		yyDollar = yyS[yypt-1 : yypt+1]
 18766  		var yyLOCAL Expr
 18767  //line sql.y:6637
 18768  		{
 18769  			yyLOCAL = yyDollar[1].exprUnion()
 18770  		}
 18771  		yyVAL.union = yyLOCAL
 18772  	case 1321:
 18773  		yyDollar = yyS[yypt-0 : yypt+1]
 18774  //line sql.y:6642
 18775  		{
 18776  			yyVAL.str = string("")
 18777  		}
 18778  	case 1322:
 18779  		yyDollar = yyS[yypt-2 : yypt+1]
 18780  //line sql.y:6646
 18781  		{
 18782  			yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str)
 18783  		}
 18784  	case 1323:
 18785  		yyDollar = yyS[yypt-1 : yypt+1]
 18786  		var yyLOCAL []*When
 18787  //line sql.y:6652
 18788  		{
 18789  			yyLOCAL = []*When{yyDollar[1].whenUnion()}
 18790  		}
 18791  		yyVAL.union = yyLOCAL
 18792  	case 1324:
 18793  		yyDollar = yyS[yypt-2 : yypt+1]
 18794  //line sql.y:6656
 18795  		{
 18796  			yySLICE := (*[]*When)(yyIaddr(yyVAL.union))
 18797  			*yySLICE = append(*yySLICE, yyDollar[2].whenUnion())
 18798  		}
 18799  	case 1325:
 18800  		yyDollar = yyS[yypt-4 : yypt+1]
 18801  		var yyLOCAL *When
 18802  //line sql.y:6662
 18803  		{
 18804  			yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()}
 18805  		}
 18806  		yyVAL.union = yyLOCAL
 18807  	case 1326:
 18808  		yyDollar = yyS[yypt-0 : yypt+1]
 18809  		var yyLOCAL Expr
 18810  //line sql.y:6667
 18811  		{
 18812  			yyLOCAL = nil
 18813  		}
 18814  		yyVAL.union = yyLOCAL
 18815  	case 1327:
 18816  		yyDollar = yyS[yypt-2 : yypt+1]
 18817  		var yyLOCAL Expr
 18818  //line sql.y:6671
 18819  		{
 18820  			yyLOCAL = yyDollar[2].exprUnion()
 18821  		}
 18822  		yyVAL.union = yyLOCAL
 18823  	case 1328:
 18824  		yyDollar = yyS[yypt-1 : yypt+1]
 18825  		var yyLOCAL *ColName
 18826  //line sql.y:6677
 18827  		{
 18828  			yyLOCAL = &ColName{Name: yyDollar[1].identifierCI}
 18829  		}
 18830  		yyVAL.union = yyLOCAL
 18831  	case 1329:
 18832  		yyDollar = yyS[yypt-1 : yypt+1]
 18833  		var yyLOCAL *ColName
 18834  //line sql.y:6681
 18835  		{
 18836  			yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))}
 18837  		}
 18838  		yyVAL.union = yyLOCAL
 18839  	case 1330:
 18840  		yyDollar = yyS[yypt-3 : yypt+1]
 18841  		var yyLOCAL *ColName
 18842  //line sql.y:6685
 18843  		{
 18844  			yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI}
 18845  		}
 18846  		yyVAL.union = yyLOCAL
 18847  	case 1331:
 18848  		yyDollar = yyS[yypt-5 : yypt+1]
 18849  		var yyLOCAL *ColName
 18850  //line sql.y:6689
 18851  		{
 18852  			yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI}
 18853  		}
 18854  		yyVAL.union = yyLOCAL
 18855  	case 1332:
 18856  		yyDollar = yyS[yypt-1 : yypt+1]
 18857  		var yyLOCAL Expr
 18858  //line sql.y:6695
 18859  		{
 18860  			yyLOCAL = yyDollar[1].colNameUnion()
 18861  		}
 18862  		yyVAL.union = yyLOCAL
 18863  	case 1333:
 18864  		yyDollar = yyS[yypt-1 : yypt+1]
 18865  		var yyLOCAL Expr
 18866  //line sql.y:6699
 18867  		{
 18868  			yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)}
 18869  		}
 18870  		yyVAL.union = yyLOCAL
 18871  	case 1334:
 18872  		yyDollar = yyS[yypt-1 : yypt+1]
 18873  		var yyLOCAL Expr
 18874  //line sql.y:6705
 18875  		{
 18876  			// TODO(sougou): Deprecate this construct.
 18877  			if yyDollar[1].identifierCI.Lowered() != "value" {
 18878  				yylex.Error("expecting value after next")
 18879  				return 1
 18880  			}
 18881  			yyLOCAL = NewIntLiteral("1")
 18882  		}
 18883  		yyVAL.union = yyLOCAL
 18884  	case 1335:
 18885  		yyDollar = yyS[yypt-2 : yypt+1]
 18886  		var yyLOCAL Expr
 18887  //line sql.y:6714
 18888  		{
 18889  			yyLOCAL = NewIntLiteral(yyDollar[1].str)
 18890  		}
 18891  		yyVAL.union = yyLOCAL
 18892  	case 1336:
 18893  		yyDollar = yyS[yypt-2 : yypt+1]
 18894  		var yyLOCAL Expr
 18895  //line sql.y:6718
 18896  		{
 18897  			yyLOCAL = NewArgument(yyDollar[1].str[1:])
 18898  			bindVariable(yylex, yyDollar[1].str[1:])
 18899  		}
 18900  		yyVAL.union = yyLOCAL
 18901  	case 1337:
 18902  		yyDollar = yyS[yypt-0 : yypt+1]
 18903  		var yyLOCAL Exprs
 18904  //line sql.y:6724
 18905  		{
 18906  			yyLOCAL = nil
 18907  		}
 18908  		yyVAL.union = yyLOCAL
 18909  	case 1338:
 18910  		yyDollar = yyS[yypt-3 : yypt+1]
 18911  		var yyLOCAL Exprs
 18912  //line sql.y:6728
 18913  		{
 18914  			yyLOCAL = yyDollar[3].exprsUnion()
 18915  		}
 18916  		yyVAL.union = yyLOCAL
 18917  	case 1339:
 18918  		yyDollar = yyS[yypt-0 : yypt+1]
 18919  		var yyLOCAL Expr
 18920  //line sql.y:6733
 18921  		{
 18922  			yyLOCAL = nil
 18923  		}
 18924  		yyVAL.union = yyLOCAL
 18925  	case 1340:
 18926  		yyDollar = yyS[yypt-2 : yypt+1]
 18927  		var yyLOCAL Expr
 18928  //line sql.y:6737
 18929  		{
 18930  			yyLOCAL = yyDollar[2].exprUnion()
 18931  		}
 18932  		yyVAL.union = yyLOCAL
 18933  	case 1341:
 18934  		yyDollar = yyS[yypt-2 : yypt+1]
 18935  		var yyLOCAL *NamedWindow
 18936  //line sql.y:6743
 18937  		{
 18938  			yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()}
 18939  		}
 18940  		yyVAL.union = yyLOCAL
 18941  	case 1342:
 18942  		yyDollar = yyS[yypt-1 : yypt+1]
 18943  		var yyLOCAL NamedWindows
 18944  //line sql.y:6749
 18945  		{
 18946  			yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()}
 18947  		}
 18948  		yyVAL.union = yyLOCAL
 18949  	case 1343:
 18950  		yyDollar = yyS[yypt-3 : yypt+1]
 18951  //line sql.y:6753
 18952  		{
 18953  			yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union))
 18954  			*yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion())
 18955  		}
 18956  	case 1344:
 18957  		yyDollar = yyS[yypt-0 : yypt+1]
 18958  		var yyLOCAL NamedWindows
 18959  //line sql.y:6758
 18960  		{
 18961  			yyLOCAL = nil
 18962  		}
 18963  		yyVAL.union = yyLOCAL
 18964  	case 1345:
 18965  		yyDollar = yyS[yypt-1 : yypt+1]
 18966  		var yyLOCAL NamedWindows
 18967  //line sql.y:6762
 18968  		{
 18969  			yyLOCAL = yyDollar[1].namedWindowsUnion()
 18970  		}
 18971  		yyVAL.union = yyLOCAL
 18972  	case 1346:
 18973  		yyDollar = yyS[yypt-0 : yypt+1]
 18974  		var yyLOCAL OrderBy
 18975  //line sql.y:6767
 18976  		{
 18977  			yyLOCAL = nil
 18978  		}
 18979  		yyVAL.union = yyLOCAL
 18980  	case 1347:
 18981  		yyDollar = yyS[yypt-1 : yypt+1]
 18982  		var yyLOCAL OrderBy
 18983  //line sql.y:6771
 18984  		{
 18985  			yyLOCAL = yyDollar[1].orderByUnion()
 18986  		}
 18987  		yyVAL.union = yyLOCAL
 18988  	case 1348:
 18989  		yyDollar = yyS[yypt-3 : yypt+1]
 18990  		var yyLOCAL OrderBy
 18991  //line sql.y:6777
 18992  		{
 18993  			yyLOCAL = yyDollar[3].orderByUnion()
 18994  		}
 18995  		yyVAL.union = yyLOCAL
 18996  	case 1349:
 18997  		yyDollar = yyS[yypt-1 : yypt+1]
 18998  		var yyLOCAL OrderBy
 18999  //line sql.y:6783
 19000  		{
 19001  			yyLOCAL = OrderBy{yyDollar[1].orderUnion()}
 19002  		}
 19003  		yyVAL.union = yyLOCAL
 19004  	case 1350:
 19005  		yyDollar = yyS[yypt-3 : yypt+1]
 19006  //line sql.y:6787
 19007  		{
 19008  			yySLICE := (*OrderBy)(yyIaddr(yyVAL.union))
 19009  			*yySLICE = append(*yySLICE, yyDollar[3].orderUnion())
 19010  		}
 19011  	case 1351:
 19012  		yyDollar = yyS[yypt-2 : yypt+1]
 19013  		var yyLOCAL *Order
 19014  //line sql.y:6793
 19015  		{
 19016  			yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()}
 19017  		}
 19018  		yyVAL.union = yyLOCAL
 19019  	case 1352:
 19020  		yyDollar = yyS[yypt-0 : yypt+1]
 19021  		var yyLOCAL OrderDirection
 19022  //line sql.y:6798
 19023  		{
 19024  			yyLOCAL = AscOrder
 19025  		}
 19026  		yyVAL.union = yyLOCAL
 19027  	case 1353:
 19028  		yyDollar = yyS[yypt-1 : yypt+1]
 19029  		var yyLOCAL OrderDirection
 19030  //line sql.y:6802
 19031  		{
 19032  			yyLOCAL = AscOrder
 19033  		}
 19034  		yyVAL.union = yyLOCAL
 19035  	case 1354:
 19036  		yyDollar = yyS[yypt-1 : yypt+1]
 19037  		var yyLOCAL OrderDirection
 19038  //line sql.y:6806
 19039  		{
 19040  			yyLOCAL = DescOrder
 19041  		}
 19042  		yyVAL.union = yyLOCAL
 19043  	case 1355:
 19044  		yyDollar = yyS[yypt-0 : yypt+1]
 19045  		var yyLOCAL *Limit
 19046  //line sql.y:6811
 19047  		{
 19048  			yyLOCAL = nil
 19049  		}
 19050  		yyVAL.union = yyLOCAL
 19051  	case 1356:
 19052  		yyDollar = yyS[yypt-1 : yypt+1]
 19053  		var yyLOCAL *Limit
 19054  //line sql.y:6815
 19055  		{
 19056  			yyLOCAL = yyDollar[1].limitUnion()
 19057  		}
 19058  		yyVAL.union = yyLOCAL
 19059  	case 1357:
 19060  		yyDollar = yyS[yypt-2 : yypt+1]
 19061  		var yyLOCAL *Limit
 19062  //line sql.y:6821
 19063  		{
 19064  			yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()}
 19065  		}
 19066  		yyVAL.union = yyLOCAL
 19067  	case 1358:
 19068  		yyDollar = yyS[yypt-4 : yypt+1]
 19069  		var yyLOCAL *Limit
 19070  //line sql.y:6825
 19071  		{
 19072  			yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()}
 19073  		}
 19074  		yyVAL.union = yyLOCAL
 19075  	case 1359:
 19076  		yyDollar = yyS[yypt-4 : yypt+1]
 19077  		var yyLOCAL *Limit
 19078  //line sql.y:6829
 19079  		{
 19080  			yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()}
 19081  		}
 19082  		yyVAL.union = yyLOCAL
 19083  	case 1360:
 19084  		yyDollar = yyS[yypt-0 : yypt+1]
 19085  		var yyLOCAL []AlterOption
 19086  //line sql.y:6834
 19087  		{
 19088  			yyLOCAL = nil
 19089  		}
 19090  		yyVAL.union = yyLOCAL
 19091  	case 1361:
 19092  		yyDollar = yyS[yypt-2 : yypt+1]
 19093  		var yyLOCAL []AlterOption
 19094  //line sql.y:6838
 19095  		{
 19096  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
 19097  		}
 19098  		yyVAL.union = yyLOCAL
 19099  	case 1362:
 19100  		yyDollar = yyS[yypt-2 : yypt+1]
 19101  		var yyLOCAL []AlterOption
 19102  //line sql.y:6842
 19103  		{
 19104  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
 19105  		}
 19106  		yyVAL.union = yyLOCAL
 19107  	case 1363:
 19108  		yyDollar = yyS[yypt-1 : yypt+1]
 19109  		var yyLOCAL []AlterOption
 19110  //line sql.y:6846
 19111  		{
 19112  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 19113  		}
 19114  		yyVAL.union = yyLOCAL
 19115  	case 1364:
 19116  		yyDollar = yyS[yypt-1 : yypt+1]
 19117  		var yyLOCAL []AlterOption
 19118  //line sql.y:6850
 19119  		{
 19120  			yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
 19121  		}
 19122  		yyVAL.union = yyLOCAL
 19123  	case 1365:
 19124  		yyDollar = yyS[yypt-3 : yypt+1]
 19125  		var yyLOCAL AlterOption
 19126  //line sql.y:6857
 19127  		{
 19128  			yyLOCAL = &LockOption{Type: DefaultType}
 19129  		}
 19130  		yyVAL.union = yyLOCAL
 19131  	case 1366:
 19132  		yyDollar = yyS[yypt-3 : yypt+1]
 19133  		var yyLOCAL AlterOption
 19134  //line sql.y:6861
 19135  		{
 19136  			yyLOCAL = &LockOption{Type: NoneType}
 19137  		}
 19138  		yyVAL.union = yyLOCAL
 19139  	case 1367:
 19140  		yyDollar = yyS[yypt-3 : yypt+1]
 19141  		var yyLOCAL AlterOption
 19142  //line sql.y:6865
 19143  		{
 19144  			yyLOCAL = &LockOption{Type: SharedType}
 19145  		}
 19146  		yyVAL.union = yyLOCAL
 19147  	case 1368:
 19148  		yyDollar = yyS[yypt-3 : yypt+1]
 19149  		var yyLOCAL AlterOption
 19150  //line sql.y:6869
 19151  		{
 19152  			yyLOCAL = &LockOption{Type: ExclusiveType}
 19153  		}
 19154  		yyVAL.union = yyLOCAL
 19155  	case 1369:
 19156  		yyDollar = yyS[yypt-3 : yypt+1]
 19157  		var yyLOCAL AlterOption
 19158  //line sql.y:6875
 19159  		{
 19160  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19161  		}
 19162  		yyVAL.union = yyLOCAL
 19163  	case 1370:
 19164  		yyDollar = yyS[yypt-3 : yypt+1]
 19165  		var yyLOCAL AlterOption
 19166  //line sql.y:6879
 19167  		{
 19168  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19169  		}
 19170  		yyVAL.union = yyLOCAL
 19171  	case 1371:
 19172  		yyDollar = yyS[yypt-3 : yypt+1]
 19173  		var yyLOCAL AlterOption
 19174  //line sql.y:6883
 19175  		{
 19176  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19177  		}
 19178  		yyVAL.union = yyLOCAL
 19179  	case 1372:
 19180  		yyDollar = yyS[yypt-3 : yypt+1]
 19181  		var yyLOCAL AlterOption
 19182  //line sql.y:6887
 19183  		{
 19184  			yyLOCAL = AlgorithmValue(yyDollar[3].str)
 19185  		}
 19186  		yyVAL.union = yyLOCAL
 19187  	case 1373:
 19188  		yyDollar = yyS[yypt-0 : yypt+1]
 19189  //line sql.y:6892
 19190  		{
 19191  			yyVAL.str = ""
 19192  		}
 19193  	case 1374:
 19194  		yyDollar = yyS[yypt-3 : yypt+1]
 19195  //line sql.y:6896
 19196  		{
 19197  			yyVAL.str = string(yyDollar[3].str)
 19198  		}
 19199  	case 1375:
 19200  		yyDollar = yyS[yypt-3 : yypt+1]
 19201  //line sql.y:6900
 19202  		{
 19203  			yyVAL.str = string(yyDollar[3].str)
 19204  		}
 19205  	case 1376:
 19206  		yyDollar = yyS[yypt-3 : yypt+1]
 19207  //line sql.y:6904
 19208  		{
 19209  			yyVAL.str = string(yyDollar[3].str)
 19210  		}
 19211  	case 1377:
 19212  		yyDollar = yyS[yypt-0 : yypt+1]
 19213  //line sql.y:6909
 19214  		{
 19215  			yyVAL.str = ""
 19216  		}
 19217  	case 1378:
 19218  		yyDollar = yyS[yypt-3 : yypt+1]
 19219  //line sql.y:6913
 19220  		{
 19221  			yyVAL.str = yyDollar[3].str
 19222  		}
 19223  	case 1379:
 19224  		yyDollar = yyS[yypt-1 : yypt+1]
 19225  //line sql.y:6919
 19226  		{
 19227  			yyVAL.str = string(yyDollar[1].str)
 19228  		}
 19229  	case 1380:
 19230  		yyDollar = yyS[yypt-1 : yypt+1]
 19231  //line sql.y:6923
 19232  		{
 19233  			yyVAL.str = string(yyDollar[1].str)
 19234  		}
 19235  	case 1381:
 19236  		yyDollar = yyS[yypt-0 : yypt+1]
 19237  //line sql.y:6928
 19238  		{
 19239  			yyVAL.str = ""
 19240  		}
 19241  	case 1382:
 19242  		yyDollar = yyS[yypt-4 : yypt+1]
 19243  //line sql.y:6932
 19244  		{
 19245  			yyVAL.str = yyDollar[2].str
 19246  		}
 19247  	case 1383:
 19248  		yyDollar = yyS[yypt-0 : yypt+1]
 19249  //line sql.y:6937
 19250  		{
 19251  			yyVAL.str = "cascaded"
 19252  		}
 19253  	case 1384:
 19254  		yyDollar = yyS[yypt-1 : yypt+1]
 19255  //line sql.y:6941
 19256  		{
 19257  			yyVAL.str = string(yyDollar[1].str)
 19258  		}
 19259  	case 1385:
 19260  		yyDollar = yyS[yypt-1 : yypt+1]
 19261  //line sql.y:6945
 19262  		{
 19263  			yyVAL.str = string(yyDollar[1].str)
 19264  		}
 19265  	case 1386:
 19266  		yyDollar = yyS[yypt-0 : yypt+1]
 19267  		var yyLOCAL *Definer
 19268  //line sql.y:6950
 19269  		{
 19270  			yyLOCAL = nil
 19271  		}
 19272  		yyVAL.union = yyLOCAL
 19273  	case 1387:
 19274  		yyDollar = yyS[yypt-3 : yypt+1]
 19275  		var yyLOCAL *Definer
 19276  //line sql.y:6954
 19277  		{
 19278  			yyLOCAL = yyDollar[3].definerUnion()
 19279  		}
 19280  		yyVAL.union = yyLOCAL
 19281  	case 1388:
 19282  		yyDollar = yyS[yypt-1 : yypt+1]
 19283  		var yyLOCAL *Definer
 19284  //line sql.y:6960
 19285  		{
 19286  			yyLOCAL = &Definer{
 19287  				Name: string(yyDollar[1].str),
 19288  			}
 19289  		}
 19290  		yyVAL.union = yyLOCAL
 19291  	case 1389:
 19292  		yyDollar = yyS[yypt-3 : yypt+1]
 19293  		var yyLOCAL *Definer
 19294  //line sql.y:6966
 19295  		{
 19296  			yyLOCAL = &Definer{
 19297  				Name: string(yyDollar[1].str),
 19298  			}
 19299  		}
 19300  		yyVAL.union = yyLOCAL
 19301  	case 1390:
 19302  		yyDollar = yyS[yypt-2 : yypt+1]
 19303  		var yyLOCAL *Definer
 19304  //line sql.y:6972
 19305  		{
 19306  			yyLOCAL = &Definer{
 19307  				Name:    yyDollar[1].str,
 19308  				Address: yyDollar[2].str,
 19309  			}
 19310  		}
 19311  		yyVAL.union = yyLOCAL
 19312  	case 1391:
 19313  		yyDollar = yyS[yypt-1 : yypt+1]
 19314  //line sql.y:6981
 19315  		{
 19316  			yyVAL.str = encodeSQLString(yyDollar[1].str)
 19317  		}
 19318  	case 1392:
 19319  		yyDollar = yyS[yypt-1 : yypt+1]
 19320  //line sql.y:6985
 19321  		{
 19322  			yyVAL.str = formatIdentifier(yyDollar[1].str)
 19323  		}
 19324  	case 1393:
 19325  		yyDollar = yyS[yypt-0 : yypt+1]
 19326  //line sql.y:6990
 19327  		{
 19328  			yyVAL.str = ""
 19329  		}
 19330  	case 1394:
 19331  		yyDollar = yyS[yypt-1 : yypt+1]
 19332  //line sql.y:6994
 19333  		{
 19334  			yyVAL.str = formatAddress(yyDollar[1].str)
 19335  		}
 19336  	case 1395:
 19337  		yyDollar = yyS[yypt-2 : yypt+1]
 19338  		var yyLOCAL Lock
 19339  //line sql.y:7000
 19340  		{
 19341  			yyLOCAL = ForUpdateLock
 19342  		}
 19343  		yyVAL.union = yyLOCAL
 19344  	case 1396:
 19345  		yyDollar = yyS[yypt-4 : yypt+1]
 19346  		var yyLOCAL Lock
 19347  //line sql.y:7004
 19348  		{
 19349  			yyLOCAL = ShareModeLock
 19350  		}
 19351  		yyVAL.union = yyLOCAL
 19352  	case 1397:
 19353  		yyDollar = yyS[yypt-9 : yypt+1]
 19354  		var yyLOCAL *SelectInto
 19355  //line sql.y:7010
 19356  		{
 19357  			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}
 19358  		}
 19359  		yyVAL.union = yyLOCAL
 19360  	case 1398:
 19361  		yyDollar = yyS[yypt-3 : yypt+1]
 19362  		var yyLOCAL *SelectInto
 19363  //line sql.y:7014
 19364  		{
 19365  			yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""}
 19366  		}
 19367  		yyVAL.union = yyLOCAL
 19368  	case 1399:
 19369  		yyDollar = yyS[yypt-5 : yypt+1]
 19370  		var yyLOCAL *SelectInto
 19371  //line sql.y:7018
 19372  		{
 19373  			yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""}
 19374  		}
 19375  		yyVAL.union = yyLOCAL
 19376  	case 1400:
 19377  		yyDollar = yyS[yypt-0 : yypt+1]
 19378  //line sql.y:7023
 19379  		{
 19380  			yyVAL.str = ""
 19381  		}
 19382  	case 1401:
 19383  		yyDollar = yyS[yypt-3 : yypt+1]
 19384  //line sql.y:7027
 19385  		{
 19386  			yyVAL.str = " format csv" + yyDollar[3].str
 19387  		}
 19388  	case 1402:
 19389  		yyDollar = yyS[yypt-3 : yypt+1]
 19390  //line sql.y:7031
 19391  		{
 19392  			yyVAL.str = " format text" + yyDollar[3].str
 19393  		}
 19394  	case 1403:
 19395  		yyDollar = yyS[yypt-0 : yypt+1]
 19396  //line sql.y:7036
 19397  		{
 19398  			yyVAL.str = ""
 19399  		}
 19400  	case 1404:
 19401  		yyDollar = yyS[yypt-1 : yypt+1]
 19402  //line sql.y:7040
 19403  		{
 19404  			yyVAL.str = " header"
 19405  		}
 19406  	case 1405:
 19407  		yyDollar = yyS[yypt-0 : yypt+1]
 19408  //line sql.y:7045
 19409  		{
 19410  			yyVAL.str = ""
 19411  		}
 19412  	case 1406:
 19413  		yyDollar = yyS[yypt-2 : yypt+1]
 19414  //line sql.y:7049
 19415  		{
 19416  			yyVAL.str = " manifest on"
 19417  		}
 19418  	case 1407:
 19419  		yyDollar = yyS[yypt-2 : yypt+1]
 19420  //line sql.y:7053
 19421  		{
 19422  			yyVAL.str = " manifest off"
 19423  		}
 19424  	case 1408:
 19425  		yyDollar = yyS[yypt-0 : yypt+1]
 19426  //line sql.y:7058
 19427  		{
 19428  			yyVAL.str = ""
 19429  		}
 19430  	case 1409:
 19431  		yyDollar = yyS[yypt-2 : yypt+1]
 19432  //line sql.y:7062
 19433  		{
 19434  			yyVAL.str = " overwrite on"
 19435  		}
 19436  	case 1410:
 19437  		yyDollar = yyS[yypt-2 : yypt+1]
 19438  //line sql.y:7066
 19439  		{
 19440  			yyVAL.str = " overwrite off"
 19441  		}
 19442  	case 1411:
 19443  		yyDollar = yyS[yypt-2 : yypt+1]
 19444  //line sql.y:7072
 19445  		{
 19446  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 19447  		}
 19448  	case 1412:
 19449  		yyDollar = yyS[yypt-0 : yypt+1]
 19450  //line sql.y:7077
 19451  		{
 19452  			yyVAL.str = ""
 19453  		}
 19454  	case 1413:
 19455  		yyDollar = yyS[yypt-2 : yypt+1]
 19456  //line sql.y:7081
 19457  		{
 19458  			yyVAL.str = " lines" + yyDollar[2].str
 19459  		}
 19460  	case 1414:
 19461  		yyDollar = yyS[yypt-1 : yypt+1]
 19462  //line sql.y:7087
 19463  		{
 19464  			yyVAL.str = yyDollar[1].str
 19465  		}
 19466  	case 1415:
 19467  		yyDollar = yyS[yypt-2 : yypt+1]
 19468  //line sql.y:7091
 19469  		{
 19470  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 19471  		}
 19472  	case 1416:
 19473  		yyDollar = yyS[yypt-3 : yypt+1]
 19474  //line sql.y:7097
 19475  		{
 19476  			yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str)
 19477  		}
 19478  	case 1417:
 19479  		yyDollar = yyS[yypt-3 : yypt+1]
 19480  //line sql.y:7101
 19481  		{
 19482  			yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
 19483  		}
 19484  	case 1418:
 19485  		yyDollar = yyS[yypt-0 : yypt+1]
 19486  //line sql.y:7106
 19487  		{
 19488  			yyVAL.str = ""
 19489  		}
 19490  	case 1419:
 19491  		yyDollar = yyS[yypt-2 : yypt+1]
 19492  //line sql.y:7110
 19493  		{
 19494  			yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str
 19495  		}
 19496  	case 1420:
 19497  		yyDollar = yyS[yypt-1 : yypt+1]
 19498  //line sql.y:7116
 19499  		{
 19500  			yyVAL.str = yyDollar[1].str
 19501  		}
 19502  	case 1421:
 19503  		yyDollar = yyS[yypt-2 : yypt+1]
 19504  //line sql.y:7120
 19505  		{
 19506  			yyVAL.str = yyDollar[1].str + yyDollar[2].str
 19507  		}
 19508  	case 1422:
 19509  		yyDollar = yyS[yypt-3 : yypt+1]
 19510  //line sql.y:7126
 19511  		{
 19512  			yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
 19513  		}
 19514  	case 1423:
 19515  		yyDollar = yyS[yypt-4 : yypt+1]
 19516  //line sql.y:7130
 19517  		{
 19518  			yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str)
 19519  		}
 19520  	case 1424:
 19521  		yyDollar = yyS[yypt-3 : yypt+1]
 19522  //line sql.y:7134
 19523  		{
 19524  			yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str)
 19525  		}
 19526  	case 1425:
 19527  		yyDollar = yyS[yypt-0 : yypt+1]
 19528  //line sql.y:7139
 19529  		{
 19530  			yyVAL.str = ""
 19531  		}
 19532  	case 1426:
 19533  		yyDollar = yyS[yypt-1 : yypt+1]
 19534  //line sql.y:7143
 19535  		{
 19536  			yyVAL.str = " optionally"
 19537  		}
 19538  	case 1427:
 19539  		yyDollar = yyS[yypt-2 : yypt+1]
 19540  		var yyLOCAL *Insert
 19541  //line sql.y:7156
 19542  		{
 19543  			yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()}
 19544  		}
 19545  		yyVAL.union = yyLOCAL
 19546  	case 1428:
 19547  		yyDollar = yyS[yypt-1 : yypt+1]
 19548  		var yyLOCAL *Insert
 19549  //line sql.y:7160
 19550  		{
 19551  			yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()}
 19552  		}
 19553  		yyVAL.union = yyLOCAL
 19554  	case 1429:
 19555  		yyDollar = yyS[yypt-5 : yypt+1]
 19556  		var yyLOCAL *Insert
 19557  //line sql.y:7164
 19558  		{
 19559  			yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()}
 19560  		}
 19561  		yyVAL.union = yyLOCAL
 19562  	case 1430:
 19563  		yyDollar = yyS[yypt-4 : yypt+1]
 19564  		var yyLOCAL *Insert
 19565  //line sql.y:7168
 19566  		{
 19567  			yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion()}
 19568  		}
 19569  		yyVAL.union = yyLOCAL
 19570  	case 1431:
 19571  		yyDollar = yyS[yypt-4 : yypt+1]
 19572  		var yyLOCAL *Insert
 19573  //line sql.y:7172
 19574  		{
 19575  			yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()}
 19576  		}
 19577  		yyVAL.union = yyLOCAL
 19578  	case 1432:
 19579  		yyDollar = yyS[yypt-1 : yypt+1]
 19580  		var yyLOCAL Columns
 19581  //line sql.y:7178
 19582  		{
 19583  			yyLOCAL = Columns{yyDollar[1].identifierCI}
 19584  		}
 19585  		yyVAL.union = yyLOCAL
 19586  	case 1433:
 19587  		yyDollar = yyS[yypt-3 : yypt+1]
 19588  		var yyLOCAL Columns
 19589  //line sql.y:7182
 19590  		{
 19591  			yyLOCAL = Columns{yyDollar[3].identifierCI}
 19592  		}
 19593  		yyVAL.union = yyLOCAL
 19594  	case 1434:
 19595  		yyDollar = yyS[yypt-3 : yypt+1]
 19596  //line sql.y:7186
 19597  		{
 19598  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 19599  			*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
 19600  		}
 19601  	case 1435:
 19602  		yyDollar = yyS[yypt-5 : yypt+1]
 19603  //line sql.y:7190
 19604  		{
 19605  			yySLICE := (*Columns)(yyIaddr(yyVAL.union))
 19606  			*yySLICE = append(*yySLICE, yyDollar[5].identifierCI)
 19607  		}
 19608  	case 1436:
 19609  		yyDollar = yyS[yypt-0 : yypt+1]
 19610  		var yyLOCAL UpdateExprs
 19611  //line sql.y:7195
 19612  		{
 19613  			yyLOCAL = nil
 19614  		}
 19615  		yyVAL.union = yyLOCAL
 19616  	case 1437:
 19617  		yyDollar = yyS[yypt-5 : yypt+1]
 19618  		var yyLOCAL UpdateExprs
 19619  //line sql.y:7199
 19620  		{
 19621  			yyLOCAL = yyDollar[5].updateExprsUnion()
 19622  		}
 19623  		yyVAL.union = yyLOCAL
 19624  	case 1438:
 19625  		yyDollar = yyS[yypt-1 : yypt+1]
 19626  		var yyLOCAL Values
 19627  //line sql.y:7205
 19628  		{
 19629  			yyLOCAL = Values{yyDollar[1].valTupleUnion()}
 19630  		}
 19631  		yyVAL.union = yyLOCAL
 19632  	case 1439:
 19633  		yyDollar = yyS[yypt-3 : yypt+1]
 19634  //line sql.y:7209
 19635  		{
 19636  			yySLICE := (*Values)(yyIaddr(yyVAL.union))
 19637  			*yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion())
 19638  		}
 19639  	case 1440:
 19640  		yyDollar = yyS[yypt-1 : yypt+1]
 19641  		var yyLOCAL ValTuple
 19642  //line sql.y:7215
 19643  		{
 19644  			yyLOCAL = yyDollar[1].valTupleUnion()
 19645  		}
 19646  		yyVAL.union = yyLOCAL
 19647  	case 1441:
 19648  		yyDollar = yyS[yypt-2 : yypt+1]
 19649  		var yyLOCAL ValTuple
 19650  //line sql.y:7219
 19651  		{
 19652  			yyLOCAL = ValTuple{}
 19653  		}
 19654  		yyVAL.union = yyLOCAL
 19655  	case 1442:
 19656  		yyDollar = yyS[yypt-3 : yypt+1]
 19657  		var yyLOCAL ValTuple
 19658  //line sql.y:7225
 19659  		{
 19660  			yyLOCAL = ValTuple(yyDollar[2].exprsUnion())
 19661  		}
 19662  		yyVAL.union = yyLOCAL
 19663  	case 1443:
 19664  		yyDollar = yyS[yypt-4 : yypt+1]
 19665  		var yyLOCAL ValTuple
 19666  //line sql.y:7229
 19667  		{
 19668  			yyLOCAL = ValTuple(yyDollar[3].exprsUnion())
 19669  		}
 19670  		yyVAL.union = yyLOCAL
 19671  	case 1444:
 19672  		yyDollar = yyS[yypt-1 : yypt+1]
 19673  		var yyLOCAL Expr
 19674  //line sql.y:7234
 19675  		{
 19676  			if len(yyDollar[1].valTupleUnion()) == 1 {
 19677  				yyLOCAL = yyDollar[1].valTupleUnion()[0]
 19678  			} else {
 19679  				yyLOCAL = yyDollar[1].valTupleUnion()
 19680  			}
 19681  		}
 19682  		yyVAL.union = yyLOCAL
 19683  	case 1445:
 19684  		yyDollar = yyS[yypt-1 : yypt+1]
 19685  		var yyLOCAL UpdateExprs
 19686  //line sql.y:7244
 19687  		{
 19688  			yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()}
 19689  		}
 19690  		yyVAL.union = yyLOCAL
 19691  	case 1446:
 19692  		yyDollar = yyS[yypt-3 : yypt+1]
 19693  //line sql.y:7248
 19694  		{
 19695  			yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union))
 19696  			*yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion())
 19697  		}
 19698  	case 1447:
 19699  		yyDollar = yyS[yypt-3 : yypt+1]
 19700  		var yyLOCAL *UpdateExpr
 19701  //line sql.y:7254
 19702  		{
 19703  			yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()}
 19704  		}
 19705  		yyVAL.union = yyLOCAL
 19706  	case 1449:
 19707  		yyDollar = yyS[yypt-2 : yypt+1]
 19708  //line sql.y:7261
 19709  		{
 19710  			yyVAL.str = "charset"
 19711  		}
 19712  	case 1452:
 19713  		yyDollar = yyS[yypt-1 : yypt+1]
 19714  		var yyLOCAL Expr
 19715  //line sql.y:7271
 19716  		{
 19717  			yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String())
 19718  		}
 19719  		yyVAL.union = yyLOCAL
 19720  	case 1453:
 19721  		yyDollar = yyS[yypt-1 : yypt+1]
 19722  		var yyLOCAL Expr
 19723  //line sql.y:7275
 19724  		{
 19725  			yyLOCAL = NewStrLiteral(yyDollar[1].str)
 19726  		}
 19727  		yyVAL.union = yyLOCAL
 19728  	case 1454:
 19729  		yyDollar = yyS[yypt-1 : yypt+1]
 19730  		var yyLOCAL Expr
 19731  //line sql.y:7279
 19732  		{
 19733  			yyLOCAL = &Default{}
 19734  		}
 19735  		yyVAL.union = yyLOCAL
 19736  	case 1457:
 19737  		yyDollar = yyS[yypt-0 : yypt+1]
 19738  		var yyLOCAL bool
 19739  //line sql.y:7288
 19740  		{
 19741  			yyLOCAL = false
 19742  		}
 19743  		yyVAL.union = yyLOCAL
 19744  	case 1458:
 19745  		yyDollar = yyS[yypt-1 : yypt+1]
 19746  		var yyLOCAL bool
 19747  //line sql.y:7290
 19748  		{
 19749  			yyLOCAL = true
 19750  		}
 19751  		yyVAL.union = yyLOCAL
 19752  	case 1459:
 19753  		yyDollar = yyS[yypt-0 : yypt+1]
 19754  		var yyLOCAL bool
 19755  //line sql.y:7293
 19756  		{
 19757  			yyLOCAL = false
 19758  		}
 19759  		yyVAL.union = yyLOCAL
 19760  	case 1460:
 19761  		yyDollar = yyS[yypt-2 : yypt+1]
 19762  		var yyLOCAL bool
 19763  //line sql.y:7295
 19764  		{
 19765  			yyLOCAL = true
 19766  		}
 19767  		yyVAL.union = yyLOCAL
 19768  	case 1461:
 19769  		yyDollar = yyS[yypt-0 : yypt+1]
 19770  		var yyLOCAL bool
 19771  //line sql.y:7298
 19772  		{
 19773  			yyLOCAL = false
 19774  		}
 19775  		yyVAL.union = yyLOCAL
 19776  	case 1462:
 19777  		yyDollar = yyS[yypt-3 : yypt+1]
 19778  		var yyLOCAL bool
 19779  //line sql.y:7300
 19780  		{
 19781  			yyLOCAL = true
 19782  		}
 19783  		yyVAL.union = yyLOCAL
 19784  	case 1463:
 19785  		yyDollar = yyS[yypt-0 : yypt+1]
 19786  		var yyLOCAL Ignore
 19787  //line sql.y:7303
 19788  		{
 19789  			yyLOCAL = false
 19790  		}
 19791  		yyVAL.union = yyLOCAL
 19792  	case 1464:
 19793  		yyDollar = yyS[yypt-1 : yypt+1]
 19794  		var yyLOCAL Ignore
 19795  //line sql.y:7305
 19796  		{
 19797  			yyLOCAL = true
 19798  		}
 19799  		yyVAL.union = yyLOCAL
 19800  	case 1465:
 19801  		yyDollar = yyS[yypt-0 : yypt+1]
 19802  //line sql.y:7308
 19803  		{
 19804  			yyVAL.empty = struct{}{}
 19805  		}
 19806  	case 1466:
 19807  		yyDollar = yyS[yypt-1 : yypt+1]
 19808  //line sql.y:7310
 19809  		{
 19810  			yyVAL.empty = struct{}{}
 19811  		}
 19812  	case 1467:
 19813  		yyDollar = yyS[yypt-1 : yypt+1]
 19814  //line sql.y:7312
 19815  		{
 19816  			yyVAL.empty = struct{}{}
 19817  		}
 19818  	case 1468:
 19819  		yyDollar = yyS[yypt-5 : yypt+1]
 19820  		var yyLOCAL Statement
 19821  //line sql.y:7316
 19822  		{
 19823  			yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()}
 19824  		}
 19825  		yyVAL.union = yyLOCAL
 19826  	case 1469:
 19827  		yyDollar = yyS[yypt-0 : yypt+1]
 19828  		var yyLOCAL Exprs
 19829  //line sql.y:7321
 19830  		{
 19831  			yyLOCAL = nil
 19832  		}
 19833  		yyVAL.union = yyLOCAL
 19834  	case 1470:
 19835  		yyDollar = yyS[yypt-1 : yypt+1]
 19836  		var yyLOCAL Exprs
 19837  //line sql.y:7325
 19838  		{
 19839  			yyLOCAL = yyDollar[1].exprsUnion()
 19840  		}
 19841  		yyVAL.union = yyLOCAL
 19842  	case 1471:
 19843  		yyDollar = yyS[yypt-0 : yypt+1]
 19844  		var yyLOCAL []*IndexOption
 19845  //line sql.y:7330
 19846  		{
 19847  			yyLOCAL = nil
 19848  		}
 19849  		yyVAL.union = yyLOCAL
 19850  	case 1472:
 19851  		yyDollar = yyS[yypt-1 : yypt+1]
 19852  		var yyLOCAL []*IndexOption
 19853  //line sql.y:7332
 19854  		{
 19855  			yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
 19856  		}
 19857  		yyVAL.union = yyLOCAL
 19858  	case 1473:
 19859  		yyDollar = yyS[yypt-2 : yypt+1]
 19860  		var yyLOCAL *IndexOption
 19861  //line sql.y:7336
 19862  		{
 19863  			yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())}
 19864  		}
 19865  		yyVAL.union = yyLOCAL
 19866  	case 1474:
 19867  		yyDollar = yyS[yypt-1 : yypt+1]
 19868  //line sql.y:7342
 19869  		{
 19870  			yyVAL.identifierCI = yyDollar[1].identifierCI
 19871  		}
 19872  	case 1475:
 19873  		yyDollar = yyS[yypt-1 : yypt+1]
 19874  //line sql.y:7346
 19875  		{
 19876  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
 19877  		}
 19878  	case 1477:
 19879  		yyDollar = yyS[yypt-1 : yypt+1]
 19880  //line sql.y:7353
 19881  		{
 19882  			yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
 19883  		}
 19884  	case 1478:
 19885  		yyDollar = yyS[yypt-1 : yypt+1]
 19886  //line sql.y:7359
 19887  		{
 19888  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 19889  		}
 19890  	case 1479:
 19891  		yyDollar = yyS[yypt-1 : yypt+1]
 19892  //line sql.y:7363
 19893  		{
 19894  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 19895  		}
 19896  	case 1480:
 19897  		yyDollar = yyS[yypt-0 : yypt+1]
 19898  //line sql.y:7369
 19899  		{
 19900  			yyVAL.identifierCS = NewIdentifierCS("")
 19901  		}
 19902  	case 1481:
 19903  		yyDollar = yyS[yypt-1 : yypt+1]
 19904  //line sql.y:7373
 19905  		{
 19906  			yyVAL.identifierCS = yyDollar[1].identifierCS
 19907  		}
 19908  	case 1483:
 19909  		yyDollar = yyS[yypt-1 : yypt+1]
 19910  //line sql.y:7380
 19911  		{
 19912  			yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
 19913  		}
 19914  	case 2033:
 19915  		yyDollar = yyS[yypt-1 : yypt+1]
 19916  //line sql.y:7956
 19917  		{
 19918  			if incNesting(yylex) {
 19919  				yylex.Error("max nesting level reached")
 19920  				return 1
 19921  			}
 19922  		}
 19923  	case 2034:
 19924  		yyDollar = yyS[yypt-1 : yypt+1]
 19925  //line sql.y:7965
 19926  		{
 19927  			decNesting(yylex)
 19928  		}
 19929  	case 2035:
 19930  		yyDollar = yyS[yypt-0 : yypt+1]
 19931  //line sql.y:7970
 19932  		{
 19933  			skipToEnd(yylex)
 19934  		}
 19935  	case 2036:
 19936  		yyDollar = yyS[yypt-0 : yypt+1]
 19937  //line sql.y:7975
 19938  		{
 19939  			skipToEnd(yylex)
 19940  		}
 19941  	case 2037:
 19942  		yyDollar = yyS[yypt-1 : yypt+1]
 19943  //line sql.y:7979
 19944  		{
 19945  			skipToEnd(yylex)
 19946  		}
 19947  	case 2038:
 19948  		yyDollar = yyS[yypt-1 : yypt+1]
 19949  //line sql.y:7983
 19950  		{
 19951  			skipToEnd(yylex)
 19952  		}
 19953  	}
 19954  	goto yystack /* stack new state and value */
 19955  }