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 = >IDFuncExpr{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 = >IDFuncExpr{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 = >IDFuncExpr{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 = >IDFuncExpr{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 = >IDFuncExpr{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 = >IDFuncExpr{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 = >IDFuncExpr{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 }