github.com/team-ide/go-dialect@v1.9.20/vitess/sqlparser/sql.go (about) 1 // Code generated by goyacc -fast-append -o sql.go sql.y. DO NOT EDIT. 2 3 //line sql.y:18 4 package sqlparser 5 6 import ( 7 __yyfmt__ "fmt" 8 __yyunsafe__ "unsafe" 9 ) 10 11 //line sql.y:18 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 LEX_ERROR = 57346 49 const UNION = 57347 50 const SELECT = 57348 51 const STREAM = 57349 52 const VSTREAM = 57350 53 const INSERT = 57351 54 const UPDATE = 57352 55 const DELETE = 57353 56 const FROM = 57354 57 const WHERE = 57355 58 const GROUP = 57356 59 const HAVING = 57357 60 const ORDER = 57358 61 const BY = 57359 62 const LIMIT = 57360 63 const OFFSET = 57361 64 const FOR = 57362 65 const ALL = 57363 66 const DISTINCT = 57364 67 const AS = 57365 68 const EXISTS = 57366 69 const ASC = 57367 70 const DESC = 57368 71 const INTO = 57369 72 const DUPLICATE = 57370 73 const DEFAULT = 57371 74 const SET = 57372 75 const LOCK = 57373 76 const UNLOCK = 57374 77 const KEYS = 57375 78 const DO = 57376 79 const CALL = 57377 80 const DISTINCTROW = 57378 81 const PARSER = 57379 82 const GENERATED = 57380 83 const ALWAYS = 57381 84 const OUTFILE = 57382 85 const S3 = 57383 86 const DATA = 57384 87 const LOAD = 57385 88 const LINES = 57386 89 const TERMINATED = 57387 90 const ESCAPED = 57388 91 const ENCLOSED = 57389 92 const DUMPFILE = 57390 93 const CSV = 57391 94 const HEADER = 57392 95 const MANIFEST = 57393 96 const OVERWRITE = 57394 97 const STARTING = 57395 98 const OPTIONALLY = 57396 99 const VALUES = 57397 100 const LAST_INSERT_ID = 57398 101 const NEXT = 57399 102 const VALUE = 57400 103 const SHARE = 57401 104 const MODE = 57402 105 const SQL_NO_CACHE = 57403 106 const SQL_CACHE = 57404 107 const SQL_CALC_FOUND_ROWS = 57405 108 const JOIN = 57406 109 const STRAIGHT_JOIN = 57407 110 const LEFT = 57408 111 const RIGHT = 57409 112 const INNER = 57410 113 const OUTER = 57411 114 const CROSS = 57412 115 const NATURAL = 57413 116 const USE = 57414 117 const FORCE = 57415 118 const ON = 57416 119 const USING = 57417 120 const INPLACE = 57418 121 const COPY = 57419 122 const ALGORITHM = 57420 123 const NONE = 57421 124 const SHARED = 57422 125 const EXCLUSIVE = 57423 126 const SUBQUERY_AS_EXPR = 57424 127 const ID = 57425 128 const AT_ID = 57426 129 const AT_AT_ID = 57427 130 const HEX = 57428 131 const STRING = 57429 132 const NCHAR_STRING = 57430 133 const INTEGRAL = 57431 134 const FLOAT = 57432 135 const DECIMAL = 57433 136 const HEXNUM = 57434 137 const VALUE_ARG = 57435 138 const LIST_ARG = 57436 139 const COMMENT = 57437 140 const COMMENT_KEYWORD = 57438 141 const BIT_LITERAL = 57439 142 const COMPRESSION = 57440 143 const EXTRACT = 57441 144 const NULL = 57442 145 const TRUE = 57443 146 const FALSE = 57444 147 const OFF = 57445 148 const DISCARD = 57446 149 const IMPORT = 57447 150 const ENABLE = 57448 151 const DISABLE = 57449 152 const TABLESPACE = 57450 153 const VIRTUAL = 57451 154 const STORED = 57452 155 const EMPTY_FROM_CLAUSE = 57453 156 const LOWER_THAN_CHARSET = 57454 157 const CHARSET = 57455 158 const UNIQUE = 57456 159 const KEY = 57457 160 const EXPRESSION_PREC_SETTER = 57458 161 const OR = 57459 162 const XOR = 57460 163 const AND = 57461 164 const NOT = 57462 165 const BETWEEN = 57463 166 const CASE = 57464 167 const WHEN = 57465 168 const THEN = 57466 169 const ELSE = 57467 170 const END = 57468 171 const LE = 57469 172 const GE = 57470 173 const NE = 57471 174 const NULL_SAFE_EQUAL = 57472 175 const IS = 57473 176 const LIKE = 57474 177 const REGEXP = 57475 178 const IN = 57476 179 const SHIFT_LEFT = 57477 180 const SHIFT_RIGHT = 57478 181 const DIV = 57479 182 const MOD = 57480 183 const UNARY = 57481 184 const COLLATE = 57482 185 const BINARY = 57483 186 const UNDERSCORE_ARMSCII8 = 57484 187 const UNDERSCORE_ASCII = 57485 188 const UNDERSCORE_BIG5 = 57486 189 const UNDERSCORE_BINARY = 57487 190 const UNDERSCORE_CP1250 = 57488 191 const UNDERSCORE_CP1251 = 57489 192 const UNDERSCORE_CP1256 = 57490 193 const UNDERSCORE_CP1257 = 57491 194 const UNDERSCORE_CP850 = 57492 195 const UNDERSCORE_CP852 = 57493 196 const UNDERSCORE_CP866 = 57494 197 const UNDERSCORE_CP932 = 57495 198 const UNDERSCORE_DEC8 = 57496 199 const UNDERSCORE_EUCJPMS = 57497 200 const UNDERSCORE_EUCKR = 57498 201 const UNDERSCORE_GB18030 = 57499 202 const UNDERSCORE_GB2312 = 57500 203 const UNDERSCORE_GBK = 57501 204 const UNDERSCORE_GEOSTD8 = 57502 205 const UNDERSCORE_GREEK = 57503 206 const UNDERSCORE_HEBREW = 57504 207 const UNDERSCORE_HP8 = 57505 208 const UNDERSCORE_KEYBCS2 = 57506 209 const UNDERSCORE_KOI8R = 57507 210 const UNDERSCORE_KOI8U = 57508 211 const UNDERSCORE_LATIN1 = 57509 212 const UNDERSCORE_LATIN2 = 57510 213 const UNDERSCORE_LATIN5 = 57511 214 const UNDERSCORE_LATIN7 = 57512 215 const UNDERSCORE_MACCE = 57513 216 const UNDERSCORE_MACROMAN = 57514 217 const UNDERSCORE_SJIS = 57515 218 const UNDERSCORE_SWE7 = 57516 219 const UNDERSCORE_TIS620 = 57517 220 const UNDERSCORE_UCS2 = 57518 221 const UNDERSCORE_UJIS = 57519 222 const UNDERSCORE_UTF16 = 57520 223 const UNDERSCORE_UTF16LE = 57521 224 const UNDERSCORE_UTF32 = 57522 225 const UNDERSCORE_UTF8 = 57523 226 const UNDERSCORE_UTF8MB4 = 57524 227 const INTERVAL = 57525 228 const JSON_EXTRACT_OP = 57526 229 const JSON_UNQUOTE_EXTRACT_OP = 57527 230 const CREATE = 57528 231 const ALTER = 57529 232 const DROP = 57530 233 const RENAME = 57531 234 const ANALYZE = 57532 235 const ADD = 57533 236 const FLUSH = 57534 237 const CHANGE = 57535 238 const MODIFY = 57536 239 const REVERT = 57537 240 const SCHEMA = 57538 241 const TABLE = 57539 242 const INDEX = 57540 243 const VIEW = 57541 244 const TO = 57542 245 const IGNORE = 57543 246 const IF = 57544 247 const PRIMARY = 57545 248 const COLUMN = 57546 249 const SPATIAL = 57547 250 const FULLTEXT = 57548 251 const KEY_BLOCK_SIZE = 57549 252 const CHECK = 57550 253 const INDEXES = 57551 254 const ACTION = 57552 255 const CASCADE = 57553 256 const CONSTRAINT = 57554 257 const FOREIGN = 57555 258 const NO = 57556 259 const REFERENCES = 57557 260 const RESTRICT = 57558 261 const SHOW = 57559 262 const DESCRIBE = 57560 263 const EXPLAIN = 57561 264 const DATE = 57562 265 const ESCAPE = 57563 266 const REPAIR = 57564 267 const OPTIMIZE = 57565 268 const TRUNCATE = 57566 269 const COALESCE = 57567 270 const EXCHANGE = 57568 271 const REBUILD = 57569 272 const PARTITIONING = 57570 273 const REMOVE = 57571 274 const MAXVALUE = 57572 275 const PARTITION = 57573 276 const REORGANIZE = 57574 277 const LESS = 57575 278 const THAN = 57576 279 const PROCEDURE = 57577 280 const TRIGGER = 57578 281 const VINDEX = 57579 282 const VINDEXES = 57580 283 const DIRECTORY = 57581 284 const NAME = 57582 285 const UPGRADE = 57583 286 const STATUS = 57584 287 const VARIABLES = 57585 288 const WARNINGS = 57586 289 const CASCADED = 57587 290 const DEFINER = 57588 291 const OPTION = 57589 292 const SQL = 57590 293 const UNDEFINED = 57591 294 const SEQUENCE = 57592 295 const MERGE = 57593 296 const TEMPORARY = 57594 297 const TEMPTABLE = 57595 298 const INVOKER = 57596 299 const SECURITY = 57597 300 const FIRST = 57598 301 const AFTER = 57599 302 const LAST = 57600 303 const VITESS_MIGRATION = 57601 304 const CANCEL = 57602 305 const RETRY = 57603 306 const COMPLETE = 57604 307 const CLEANUP = 57605 308 const BEGIN = 57606 309 const START = 57607 310 const TRANSACTION = 57608 311 const COMMIT = 57609 312 const ROLLBACK = 57610 313 const SAVEPOINT = 57611 314 const RELEASE = 57612 315 const WORK = 57613 316 const BIT = 57614 317 const TINYINT = 57615 318 const SMALLINT = 57616 319 const MEDIUMINT = 57617 320 const INT = 57618 321 const INTEGER = 57619 322 const BIGINT = 57620 323 const INTNUM = 57621 324 const REAL = 57622 325 const DOUBLE = 57623 326 const FLOAT_TYPE = 57624 327 const DECIMAL_TYPE = 57625 328 const NUMERIC = 57626 329 const TIME = 57627 330 const TIMESTAMP = 57628 331 const DATETIME = 57629 332 const YEAR = 57630 333 const CHAR = 57631 334 const VARCHAR = 57632 335 const BOOL = 57633 336 const CHARACTER = 57634 337 const VARBINARY = 57635 338 const NCHAR = 57636 339 const TEXT = 57637 340 const TINYTEXT = 57638 341 const MEDIUMTEXT = 57639 342 const LONGTEXT = 57640 343 const BLOB = 57641 344 const TINYBLOB = 57642 345 const MEDIUMBLOB = 57643 346 const LONGBLOB = 57644 347 const JSON = 57645 348 const ENUM = 57646 349 const GEOMETRY = 57647 350 const POINT = 57648 351 const LINESTRING = 57649 352 const POLYGON = 57650 353 const GEOMETRYCOLLECTION = 57651 354 const MULTIPOINT = 57652 355 const MULTILINESTRING = 57653 356 const MULTIPOLYGON = 57654 357 const NULLX = 57655 358 const AUTO_INCREMENT = 57656 359 const APPROXNUM = 57657 360 const SIGNED = 57658 361 const UNSIGNED = 57659 362 const ZEROFILL = 57660 363 const CODE = 57661 364 const COLLATION = 57662 365 const COLUMNS = 57663 366 const DATABASES = 57664 367 const ENGINES = 57665 368 const EVENT = 57666 369 const EXTENDED = 57667 370 const FIELDS = 57668 371 const FULL = 57669 372 const FUNCTION = 57670 373 const GTID_EXECUTED = 57671 374 const KEYSPACES = 57672 375 const OPEN = 57673 376 const PLUGINS = 57674 377 const PRIVILEGES = 57675 378 const PROCESSLIST = 57676 379 const SCHEMAS = 57677 380 const TABLES = 57678 381 const TRIGGERS = 57679 382 const USER = 57680 383 const VGTID_EXECUTED = 57681 384 const VITESS_KEYSPACES = 57682 385 const VITESS_METADATA = 57683 386 const VITESS_MIGRATIONS = 57684 387 const VITESS_REPLICATION_STATUS = 57685 388 const VITESS_SHARDS = 57686 389 const VITESS_TABLETS = 57687 390 const VSCHEMA = 57688 391 const NAMES = 57689 392 const GLOBAL = 57690 393 const SESSION = 57691 394 const ISOLATION = 57692 395 const LEVEL = 57693 396 const READ = 57694 397 const WRITE = 57695 398 const ONLY = 57696 399 const REPEATABLE = 57697 400 const COMMITTED = 57698 401 const UNCOMMITTED = 57699 402 const SERIALIZABLE = 57700 403 const CURRENT_TIMESTAMP = 57701 404 const DATABASE = 57702 405 const CURRENT_DATE = 57703 406 const NOW = 57704 407 const CURRENT_TIME = 57705 408 const LOCALTIME = 57706 409 const LOCALTIMESTAMP = 57707 410 const CURRENT_USER = 57708 411 const UTC_DATE = 57709 412 const UTC_TIME = 57710 413 const UTC_TIMESTAMP = 57711 414 const DAY = 57712 415 const DAY_HOUR = 57713 416 const DAY_MICROSECOND = 57714 417 const DAY_MINUTE = 57715 418 const DAY_SECOND = 57716 419 const HOUR = 57717 420 const HOUR_MICROSECOND = 57718 421 const HOUR_MINUTE = 57719 422 const HOUR_SECOND = 57720 423 const MICROSECOND = 57721 424 const MINUTE = 57722 425 const MINUTE_MICROSECOND = 57723 426 const MINUTE_SECOND = 57724 427 const MONTH = 57725 428 const QUARTER = 57726 429 const SECOND = 57727 430 const SECOND_MICROSECOND = 57728 431 const YEAR_MONTH = 57729 432 const WEEK = 57730 433 const REPLACE = 57731 434 const CONVERT = 57732 435 const CAST = 57733 436 const SUBSTR = 57734 437 const SUBSTRING = 57735 438 const GROUP_CONCAT = 57736 439 const SEPARATOR = 57737 440 const TIMESTAMPADD = 57738 441 const TIMESTAMPDIFF = 57739 442 const MATCH = 57740 443 const AGAINST = 57741 444 const BOOLEAN = 57742 445 const LANGUAGE = 57743 446 const WITH = 57744 447 const QUERY = 57745 448 const EXPANSION = 57746 449 const WITHOUT = 57747 450 const VALIDATION = 57748 451 const UNUSED = 57749 452 const ARRAY = 57750 453 const CUME_DIST = 57751 454 const DESCRIPTION = 57752 455 const DENSE_RANK = 57753 456 const EMPTY = 57754 457 const EXCEPT = 57755 458 const FIRST_VALUE = 57756 459 const GROUPING = 57757 460 const GROUPS = 57758 461 const JSON_TABLE = 57759 462 const LAG = 57760 463 const LAST_VALUE = 57761 464 const LATERAL = 57762 465 const LEAD = 57763 466 const MEMBER = 57764 467 const NTH_VALUE = 57765 468 const NTILE = 57766 469 const OF = 57767 470 const OVER = 57768 471 const PERCENT_RANK = 57769 472 const RANK = 57770 473 const RECURSIVE = 57771 474 const ROW_NUMBER = 57772 475 const SYSTEM = 57773 476 const WINDOW = 57774 477 const ACTIVE = 57775 478 const ADMIN = 57776 479 const BUCKETS = 57777 480 const CLONE = 57778 481 const COMPONENT = 57779 482 const DEFINITION = 57780 483 const ENFORCED = 57781 484 const EXCLUDE = 57782 485 const FOLLOWING = 57783 486 const GEOMCOLLECTION = 57784 487 const GET_MASTER_PUBLIC_KEY = 57785 488 const HISTOGRAM = 57786 489 const HISTORY = 57787 490 const INACTIVE = 57788 491 const INVISIBLE = 57789 492 const LOCKED = 57790 493 const MASTER_COMPRESSION_ALGORITHMS = 57791 494 const MASTER_PUBLIC_KEY_PATH = 57792 495 const MASTER_TLS_CIPHERSUITES = 57793 496 const MASTER_ZSTD_COMPRESSION_LEVEL = 57794 497 const NESTED = 57795 498 const NETWORK_NAMESPACE = 57796 499 const NOWAIT = 57797 500 const NULLS = 57798 501 const OJ = 57799 502 const OLD = 57800 503 const OPTIONAL = 57801 504 const ORDINALITY = 57802 505 const ORGANIZATION = 57803 506 const OTHERS = 57804 507 const PATH = 57805 508 const PERSIST = 57806 509 const PERSIST_ONLY = 57807 510 const PRECEDING = 57808 511 const PRIVILEGE_CHECKS_USER = 57809 512 const PROCESS = 57810 513 const RANDOM = 57811 514 const REFERENCE = 57812 515 const REQUIRE_ROW_FORMAT = 57813 516 const RESOURCE = 57814 517 const RESPECT = 57815 518 const RESTART = 57816 519 const RETAIN = 57817 520 const REUSE = 57818 521 const ROLE = 57819 522 const SECONDARY = 57820 523 const SECONDARY_ENGINE = 57821 524 const SECONDARY_LOAD = 57822 525 const SECONDARY_UNLOAD = 57823 526 const SKIP = 57824 527 const SRID = 57825 528 const THREAD_PRIORITY = 57826 529 const TIES = 57827 530 const UNBOUNDED = 57828 531 const VCPU = 57829 532 const VISIBLE = 57830 533 const FORMAT = 57831 534 const TREE = 57832 535 const VITESS = 57833 536 const TRADITIONAL = 57834 537 const LOCAL = 57835 538 const LOW_PRIORITY = 57836 539 const NO_WRITE_TO_BINLOG = 57837 540 const LOGS = 57838 541 const ERROR = 57839 542 const GENERAL = 57840 543 const HOSTS = 57841 544 const OPTIMIZER_COSTS = 57842 545 const USER_RESOURCES = 57843 546 const SLOW = 57844 547 const CHANNEL = 57845 548 const RELAY = 57846 549 const EXPORT = 57847 550 const AVG_ROW_LENGTH = 57848 551 const CONNECTION = 57849 552 const CHECKSUM = 57850 553 const DELAY_KEY_WRITE = 57851 554 const ENCRYPTION = 57852 555 const ENGINE = 57853 556 const INSERT_METHOD = 57854 557 const MAX_ROWS = 57855 558 const MIN_ROWS = 57856 559 const PACK_KEYS = 57857 560 const PASSWORD = 57858 561 const FIXED = 57859 562 const DYNAMIC = 57860 563 const COMPRESSED = 57861 564 const REDUNDANT = 57862 565 const COMPACT = 57863 566 const ROW_FORMAT = 57864 567 const STATS_AUTO_RECALC = 57865 568 const STATS_PERSISTENT = 57866 569 const STATS_SAMPLE_PAGES = 57867 570 const STORAGE = 57868 571 const MEMORY = 57869 572 const DISK = 57870 573 const PARTITIONS = 57871 574 const LINEAR = 57872 575 const RANGE = 57873 576 const LIST = 57874 577 const SUBPARTITION = 57875 578 const SUBPARTITIONS = 57876 579 const HASH = 57877 580 581 var yyToknames = [...]string{ 582 "$end", 583 "error", 584 "$unk", 585 "LEX_ERROR", 586 "UNION", 587 "SELECT", 588 "STREAM", 589 "VSTREAM", 590 "INSERT", 591 "UPDATE", 592 "DELETE", 593 "FROM", 594 "WHERE", 595 "GROUP", 596 "HAVING", 597 "ORDER", 598 "BY", 599 "LIMIT", 600 "OFFSET", 601 "FOR", 602 "ALL", 603 "DISTINCT", 604 "AS", 605 "EXISTS", 606 "ASC", 607 "DESC", 608 "INTO", 609 "DUPLICATE", 610 "DEFAULT", 611 "SET", 612 "LOCK", 613 "UNLOCK", 614 "KEYS", 615 "DO", 616 "CALL", 617 "DISTINCTROW", 618 "PARSER", 619 "GENERATED", 620 "ALWAYS", 621 "OUTFILE", 622 "S3", 623 "DATA", 624 "LOAD", 625 "LINES", 626 "TERMINATED", 627 "ESCAPED", 628 "ENCLOSED", 629 "DUMPFILE", 630 "CSV", 631 "HEADER", 632 "MANIFEST", 633 "OVERWRITE", 634 "STARTING", 635 "OPTIONALLY", 636 "VALUES", 637 "LAST_INSERT_ID", 638 "NEXT", 639 "VALUE", 640 "SHARE", 641 "MODE", 642 "SQL_NO_CACHE", 643 "SQL_CACHE", 644 "SQL_CALC_FOUND_ROWS", 645 "JOIN", 646 "STRAIGHT_JOIN", 647 "LEFT", 648 "RIGHT", 649 "INNER", 650 "OUTER", 651 "CROSS", 652 "NATURAL", 653 "USE", 654 "FORCE", 655 "ON", 656 "USING", 657 "INPLACE", 658 "COPY", 659 "ALGORITHM", 660 "NONE", 661 "SHARED", 662 "EXCLUSIVE", 663 "SUBQUERY_AS_EXPR", 664 "'('", 665 "','", 666 "')'", 667 "ID", 668 "AT_ID", 669 "AT_AT_ID", 670 "HEX", 671 "STRING", 672 "NCHAR_STRING", 673 "INTEGRAL", 674 "FLOAT", 675 "DECIMAL", 676 "HEXNUM", 677 "VALUE_ARG", 678 "LIST_ARG", 679 "COMMENT", 680 "COMMENT_KEYWORD", 681 "BIT_LITERAL", 682 "COMPRESSION", 683 "EXTRACT", 684 "NULL", 685 "TRUE", 686 "FALSE", 687 "OFF", 688 "DISCARD", 689 "IMPORT", 690 "ENABLE", 691 "DISABLE", 692 "TABLESPACE", 693 "VIRTUAL", 694 "STORED", 695 "EMPTY_FROM_CLAUSE", 696 "LOWER_THAN_CHARSET", 697 "CHARSET", 698 "UNIQUE", 699 "KEY", 700 "EXPRESSION_PREC_SETTER", 701 "OR", 702 "'|'", 703 "XOR", 704 "AND", 705 "NOT", 706 "'!'", 707 "BETWEEN", 708 "CASE", 709 "WHEN", 710 "THEN", 711 "ELSE", 712 "END", 713 "'='", 714 "'<'", 715 "'>'", 716 "LE", 717 "GE", 718 "NE", 719 "NULL_SAFE_EQUAL", 720 "IS", 721 "LIKE", 722 "REGEXP", 723 "IN", 724 "'&'", 725 "SHIFT_LEFT", 726 "SHIFT_RIGHT", 727 "'+'", 728 "'-'", 729 "'*'", 730 "'/'", 731 "DIV", 732 "'%'", 733 "MOD", 734 "'^'", 735 "'~'", 736 "UNARY", 737 "COLLATE", 738 "BINARY", 739 "UNDERSCORE_ARMSCII8", 740 "UNDERSCORE_ASCII", 741 "UNDERSCORE_BIG5", 742 "UNDERSCORE_BINARY", 743 "UNDERSCORE_CP1250", 744 "UNDERSCORE_CP1251", 745 "UNDERSCORE_CP1256", 746 "UNDERSCORE_CP1257", 747 "UNDERSCORE_CP850", 748 "UNDERSCORE_CP852", 749 "UNDERSCORE_CP866", 750 "UNDERSCORE_CP932", 751 "UNDERSCORE_DEC8", 752 "UNDERSCORE_EUCJPMS", 753 "UNDERSCORE_EUCKR", 754 "UNDERSCORE_GB18030", 755 "UNDERSCORE_GB2312", 756 "UNDERSCORE_GBK", 757 "UNDERSCORE_GEOSTD8", 758 "UNDERSCORE_GREEK", 759 "UNDERSCORE_HEBREW", 760 "UNDERSCORE_HP8", 761 "UNDERSCORE_KEYBCS2", 762 "UNDERSCORE_KOI8R", 763 "UNDERSCORE_KOI8U", 764 "UNDERSCORE_LATIN1", 765 "UNDERSCORE_LATIN2", 766 "UNDERSCORE_LATIN5", 767 "UNDERSCORE_LATIN7", 768 "UNDERSCORE_MACCE", 769 "UNDERSCORE_MACROMAN", 770 "UNDERSCORE_SJIS", 771 "UNDERSCORE_SWE7", 772 "UNDERSCORE_TIS620", 773 "UNDERSCORE_UCS2", 774 "UNDERSCORE_UJIS", 775 "UNDERSCORE_UTF16", 776 "UNDERSCORE_UTF16LE", 777 "UNDERSCORE_UTF32", 778 "UNDERSCORE_UTF8", 779 "UNDERSCORE_UTF8MB4", 780 "INTERVAL", 781 "'.'", 782 "JSON_EXTRACT_OP", 783 "JSON_UNQUOTE_EXTRACT_OP", 784 "CREATE", 785 "ALTER", 786 "DROP", 787 "RENAME", 788 "ANALYZE", 789 "ADD", 790 "FLUSH", 791 "CHANGE", 792 "MODIFY", 793 "REVERT", 794 "SCHEMA", 795 "TABLE", 796 "INDEX", 797 "VIEW", 798 "TO", 799 "IGNORE", 800 "IF", 801 "PRIMARY", 802 "COLUMN", 803 "SPATIAL", 804 "FULLTEXT", 805 "KEY_BLOCK_SIZE", 806 "CHECK", 807 "INDEXES", 808 "ACTION", 809 "CASCADE", 810 "CONSTRAINT", 811 "FOREIGN", 812 "NO", 813 "REFERENCES", 814 "RESTRICT", 815 "SHOW", 816 "DESCRIBE", 817 "EXPLAIN", 818 "DATE", 819 "ESCAPE", 820 "REPAIR", 821 "OPTIMIZE", 822 "TRUNCATE", 823 "COALESCE", 824 "EXCHANGE", 825 "REBUILD", 826 "PARTITIONING", 827 "REMOVE", 828 "MAXVALUE", 829 "PARTITION", 830 "REORGANIZE", 831 "LESS", 832 "THAN", 833 "PROCEDURE", 834 "TRIGGER", 835 "VINDEX", 836 "VINDEXES", 837 "DIRECTORY", 838 "NAME", 839 "UPGRADE", 840 "STATUS", 841 "VARIABLES", 842 "WARNINGS", 843 "CASCADED", 844 "DEFINER", 845 "OPTION", 846 "SQL", 847 "UNDEFINED", 848 "SEQUENCE", 849 "MERGE", 850 "TEMPORARY", 851 "TEMPTABLE", 852 "INVOKER", 853 "SECURITY", 854 "FIRST", 855 "AFTER", 856 "LAST", 857 "VITESS_MIGRATION", 858 "CANCEL", 859 "RETRY", 860 "COMPLETE", 861 "CLEANUP", 862 "BEGIN", 863 "START", 864 "TRANSACTION", 865 "COMMIT", 866 "ROLLBACK", 867 "SAVEPOINT", 868 "RELEASE", 869 "WORK", 870 "BIT", 871 "TINYINT", 872 "SMALLINT", 873 "MEDIUMINT", 874 "INT", 875 "INTEGER", 876 "BIGINT", 877 "INTNUM", 878 "REAL", 879 "DOUBLE", 880 "FLOAT_TYPE", 881 "DECIMAL_TYPE", 882 "NUMERIC", 883 "TIME", 884 "TIMESTAMP", 885 "DATETIME", 886 "YEAR", 887 "CHAR", 888 "VARCHAR", 889 "BOOL", 890 "CHARACTER", 891 "VARBINARY", 892 "NCHAR", 893 "TEXT", 894 "TINYTEXT", 895 "MEDIUMTEXT", 896 "LONGTEXT", 897 "BLOB", 898 "TINYBLOB", 899 "MEDIUMBLOB", 900 "LONGBLOB", 901 "JSON", 902 "ENUM", 903 "GEOMETRY", 904 "POINT", 905 "LINESTRING", 906 "POLYGON", 907 "GEOMETRYCOLLECTION", 908 "MULTIPOINT", 909 "MULTILINESTRING", 910 "MULTIPOLYGON", 911 "NULLX", 912 "AUTO_INCREMENT", 913 "APPROXNUM", 914 "SIGNED", 915 "UNSIGNED", 916 "ZEROFILL", 917 "CODE", 918 "COLLATION", 919 "COLUMNS", 920 "DATABASES", 921 "ENGINES", 922 "EVENT", 923 "EXTENDED", 924 "FIELDS", 925 "FULL", 926 "FUNCTION", 927 "GTID_EXECUTED", 928 "KEYSPACES", 929 "OPEN", 930 "PLUGINS", 931 "PRIVILEGES", 932 "PROCESSLIST", 933 "SCHEMAS", 934 "TABLES", 935 "TRIGGERS", 936 "USER", 937 "VGTID_EXECUTED", 938 "VITESS_KEYSPACES", 939 "VITESS_METADATA", 940 "VITESS_MIGRATIONS", 941 "VITESS_REPLICATION_STATUS", 942 "VITESS_SHARDS", 943 "VITESS_TABLETS", 944 "VSCHEMA", 945 "NAMES", 946 "GLOBAL", 947 "SESSION", 948 "ISOLATION", 949 "LEVEL", 950 "READ", 951 "WRITE", 952 "ONLY", 953 "REPEATABLE", 954 "COMMITTED", 955 "UNCOMMITTED", 956 "SERIALIZABLE", 957 "CURRENT_TIMESTAMP", 958 "DATABASE", 959 "CURRENT_DATE", 960 "NOW", 961 "CURRENT_TIME", 962 "LOCALTIME", 963 "LOCALTIMESTAMP", 964 "CURRENT_USER", 965 "UTC_DATE", 966 "UTC_TIME", 967 "UTC_TIMESTAMP", 968 "DAY", 969 "DAY_HOUR", 970 "DAY_MICROSECOND", 971 "DAY_MINUTE", 972 "DAY_SECOND", 973 "HOUR", 974 "HOUR_MICROSECOND", 975 "HOUR_MINUTE", 976 "HOUR_SECOND", 977 "MICROSECOND", 978 "MINUTE", 979 "MINUTE_MICROSECOND", 980 "MINUTE_SECOND", 981 "MONTH", 982 "QUARTER", 983 "SECOND", 984 "SECOND_MICROSECOND", 985 "YEAR_MONTH", 986 "WEEK", 987 "REPLACE", 988 "CONVERT", 989 "CAST", 990 "SUBSTR", 991 "SUBSTRING", 992 "GROUP_CONCAT", 993 "SEPARATOR", 994 "TIMESTAMPADD", 995 "TIMESTAMPDIFF", 996 "MATCH", 997 "AGAINST", 998 "BOOLEAN", 999 "LANGUAGE", 1000 "WITH", 1001 "QUERY", 1002 "EXPANSION", 1003 "WITHOUT", 1004 "VALIDATION", 1005 "UNUSED", 1006 "ARRAY", 1007 "CUME_DIST", 1008 "DESCRIPTION", 1009 "DENSE_RANK", 1010 "EMPTY", 1011 "EXCEPT", 1012 "FIRST_VALUE", 1013 "GROUPING", 1014 "GROUPS", 1015 "JSON_TABLE", 1016 "LAG", 1017 "LAST_VALUE", 1018 "LATERAL", 1019 "LEAD", 1020 "MEMBER", 1021 "NTH_VALUE", 1022 "NTILE", 1023 "OF", 1024 "OVER", 1025 "PERCENT_RANK", 1026 "RANK", 1027 "RECURSIVE", 1028 "ROW_NUMBER", 1029 "SYSTEM", 1030 "WINDOW", 1031 "ACTIVE", 1032 "ADMIN", 1033 "BUCKETS", 1034 "CLONE", 1035 "COMPONENT", 1036 "DEFINITION", 1037 "ENFORCED", 1038 "EXCLUDE", 1039 "FOLLOWING", 1040 "GEOMCOLLECTION", 1041 "GET_MASTER_PUBLIC_KEY", 1042 "HISTOGRAM", 1043 "HISTORY", 1044 "INACTIVE", 1045 "INVISIBLE", 1046 "LOCKED", 1047 "MASTER_COMPRESSION_ALGORITHMS", 1048 "MASTER_PUBLIC_KEY_PATH", 1049 "MASTER_TLS_CIPHERSUITES", 1050 "MASTER_ZSTD_COMPRESSION_LEVEL", 1051 "NESTED", 1052 "NETWORK_NAMESPACE", 1053 "NOWAIT", 1054 "NULLS", 1055 "OJ", 1056 "OLD", 1057 "OPTIONAL", 1058 "ORDINALITY", 1059 "ORGANIZATION", 1060 "OTHERS", 1061 "PATH", 1062 "PERSIST", 1063 "PERSIST_ONLY", 1064 "PRECEDING", 1065 "PRIVILEGE_CHECKS_USER", 1066 "PROCESS", 1067 "RANDOM", 1068 "REFERENCE", 1069 "REQUIRE_ROW_FORMAT", 1070 "RESOURCE", 1071 "RESPECT", 1072 "RESTART", 1073 "RETAIN", 1074 "REUSE", 1075 "ROLE", 1076 "SECONDARY", 1077 "SECONDARY_ENGINE", 1078 "SECONDARY_LOAD", 1079 "SECONDARY_UNLOAD", 1080 "SKIP", 1081 "SRID", 1082 "THREAD_PRIORITY", 1083 "TIES", 1084 "UNBOUNDED", 1085 "VCPU", 1086 "VISIBLE", 1087 "FORMAT", 1088 "TREE", 1089 "VITESS", 1090 "TRADITIONAL", 1091 "LOCAL", 1092 "LOW_PRIORITY", 1093 "NO_WRITE_TO_BINLOG", 1094 "LOGS", 1095 "ERROR", 1096 "GENERAL", 1097 "HOSTS", 1098 "OPTIMIZER_COSTS", 1099 "USER_RESOURCES", 1100 "SLOW", 1101 "CHANNEL", 1102 "RELAY", 1103 "EXPORT", 1104 "AVG_ROW_LENGTH", 1105 "CONNECTION", 1106 "CHECKSUM", 1107 "DELAY_KEY_WRITE", 1108 "ENCRYPTION", 1109 "ENGINE", 1110 "INSERT_METHOD", 1111 "MAX_ROWS", 1112 "MIN_ROWS", 1113 "PACK_KEYS", 1114 "PASSWORD", 1115 "FIXED", 1116 "DYNAMIC", 1117 "COMPRESSED", 1118 "REDUNDANT", 1119 "COMPACT", 1120 "ROW_FORMAT", 1121 "STATS_AUTO_RECALC", 1122 "STATS_PERSISTENT", 1123 "STATS_SAMPLE_PAGES", 1124 "STORAGE", 1125 "MEMORY", 1126 "DISK", 1127 "PARTITIONS", 1128 "LINEAR", 1129 "RANGE", 1130 "LIST", 1131 "SUBPARTITION", 1132 "SUBPARTITIONS", 1133 "HASH", 1134 "';'", 1135 } 1136 1137 var yyStatenames = [...]string{} 1138 1139 const yyEofCode = 1 1140 const yyErrCode = 2 1141 const yyInitialStackSize = 16 1142 1143 //line yacctab:1 1144 var yyExca = [...]int{ 1145 -1, 0, 1146 10, 44, 1147 11, 44, 1148 -2, 34, 1149 -1, 1, 1150 1, -1, 1151 -2, 0, 1152 -1, 44, 1153 1, 137, 1154 553, 137, 1155 -2, 143, 1156 -1, 45, 1157 116, 143, 1158 156, 143, 1159 309, 143, 1160 -2, 447, 1161 -1, 52, 1162 33, 620, 1163 215, 620, 1164 226, 620, 1165 259, 634, 1166 260, 634, 1167 -2, 622, 1168 -1, 57, 1169 217, 644, 1170 -2, 642, 1171 -1, 108, 1172 214, 1090, 1173 -2, 116, 1174 -1, 110, 1175 1, 138, 1176 553, 138, 1177 -2, 143, 1178 -1, 120, 1179 117, 350, 1180 220, 350, 1181 -2, 441, 1182 -1, 139, 1183 116, 143, 1184 156, 143, 1185 309, 143, 1186 -2, 456, 1187 -1, 599, 1188 200, 1111, 1189 -2, 1107, 1190 -1, 600, 1191 200, 1112, 1192 -2, 1108, 1193 -1, 671, 1194 57, 712, 1195 -2, 720, 1196 -1, 708, 1197 132, 1470, 1198 -2, 109, 1199 -1, 709, 1200 132, 1347, 1201 -2, 110, 1202 -1, 715, 1203 132, 1401, 1204 -2, 1084, 1205 -1, 858, 1206 132, 1280, 1207 -2, 1081, 1208 -1, 894, 1209 225, 38, 1210 230, 38, 1211 -2, 361, 1212 -1, 971, 1213 1, 495, 1214 553, 495, 1215 -2, 143, 1216 -1, 1168, 1217 57, 713, 1218 -2, 725, 1219 -1, 1169, 1220 57, 714, 1221 -2, 726, 1222 -1, 1221, 1223 116, 143, 1224 156, 143, 1225 309, 143, 1226 -2, 391, 1227 -1, 1224, 1228 23, 162, 1229 -2, 164, 1230 -1, 1297, 1231 117, 350, 1232 220, 350, 1233 -2, 441, 1234 -1, 1306, 1235 225, 39, 1236 230, 39, 1237 -2, 362, 1238 -1, 1561, 1239 200, 1116, 1240 -2, 1110, 1241 -1, 1636, 1242 116, 143, 1243 156, 143, 1244 309, 143, 1245 -2, 392, 1246 -1, 1874, 1247 75, 91, 1248 84, 91, 1249 -2, 778, 1250 -1, 2041, 1251 47, 1052, 1252 -2, 1046, 1253 -1, 2229, 1254 5, 50, 1255 16, 50, 1256 18, 50, 1257 85, 50, 1258 -2, 753, 1259 } 1260 1261 const yyPrivate = 57344 1262 1263 const yyLast = 33285 1264 1265 var yyAct = [...]int{ 1266 599, 2494, 1592, 2443, 2380, 2410, 2382, 2465, 2274, 2235, 1267 2429, 2138, 2150, 3, 2416, 1034, 1894, 592, 34, 686, 1268 2346, 593, 1901, 2052, 2298, 2055, 2139, 1903, 1819, 1183, 1269 1150, 2056, 2053, 1847, 90, 2200, 2194, 664, 2290, 554, 1270 2303, 1609, 1575, 2220, 2042, 2050, 547, 550, 176, 1839, 1271 1920, 176, 1668, 514, 176, 602, 1596, 1943, 1981, 530, 1272 590, 176, 1673, 548, 982, 591, 2097, 1870, 1922, 176, 1273 576, 546, 1921, 1859, 148, 861, 1688, 687, 1622, 1613, 1274 713, 176, 1831, 33, 35, 1170, 1633, 924, 1555, 668, 1275 1997, 672, 1701, 134, 1733, 542, 1675, 1501, 1512, 1914, 1276 1213, 1876, 1687, 530, 1304, 666, 530, 176, 530, 689, 1277 889, 1614, 89, 1577, 1278, 1192, 1460, 1616, 710, 1153, 1278 559, 1411, 1524, 1478, 1408, 85, 1052, 1311, 1320, 868, 1279 865, 1394, 1685, 890, 1196, 895, 1601, 1664, 608, 678, 1280 1505, 892, 869, 891, 1212, 1273, 1027, 1296, 700, 676, 1281 111, 1416, 79, 967, 117, 902, 70, 673, 674, 1011, 1282 92, 1210, 1597, 91, 537, 118, 1118, 1122, 2478, 1032, 1283 2328, 83, 2495, 2237, 2238, 2239, 2237, 2411, 151, 112, 1284 2383, 1961, 1960, 1731, 1568, 675, 71, 8, 7, 6, 1285 1989, 1990, 1467, 119, 1466, 694, 1465, 699, 1572, 1573, 1286 1464, 178, 179, 180, 696, 1053, 1463, 1462, 1380, 1449, 1287 680, 178, 179, 180, 929, 487, 862, 540, 84, 541, 1288 1454, 1817, 2457, 113, 926, 2038, 877, 538, 667, 1841, 1289 1053, 517, 2251, 2342, 665, 872, 2119, 940, 941, 2341, 1290 944, 945, 946, 947, 688, 928, 950, 951, 952, 953, 1291 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 1292 964, 883, 582, 905, 707, 714, 927, 72, 2269, 543, 1293 681, 2270, 504, 2488, 2439, 72, 884, 906, 74, 2483, 1294 2398, 96, 930, 931, 932, 2473, 2275, 2430, 1719, 113, 1295 882, 1850, 2438, 2397, 72, 1996, 2182, 72, 690, 1287, 1296 1680, 1818, 1968, 937, 2088, 1771, 1967, 1063, 1988, 1885, 1297 970, 1214, 1884, 1215, 942, 1886, 1851, 1768, 503, 98, 1298 99, 1627, 102, 1030, 1678, 108, 1001, 1558, 173, 501, 1299 661, 482, 1063, 881, 1084, 976, 977, 2089, 2090, 660, 1300 1574, 1628, 1629, 1554, 81, 989, 2316, 1911, 2330, 2197, 1301 990, 663, 81, 113, 671, 2351, 1085, 1086, 1087, 1088, 1302 1089, 1090, 1091, 1093, 1092, 1094, 1095, 498, 2174, 1769, 1303 1002, 81, 989, 995, 81, 2172, 512, 990, 1648, 1647, 1304 528, 2152, 702, 703, 517, 988, 1453, 987, 532, 879, 1305 526, 509, 1006, 1007, 1745, 1742, 1744, 1743, 1059, 1157, 1306 966, 1051, 1944, 1702, 2146, 1734, 1400, 1455, 1456, 1457, 1307 1964, 2482, 2147, 1739, 178, 179, 180, 1395, 1747, 1024, 1308 1748, 1029, 1749, 1059, 518, 1546, 1535, 1536, 1537, 1538, 1309 1548, 1539, 1540, 1541, 1553, 1549, 1542, 1543, 1550, 1551, 1310 1552, 1544, 1545, 1547, 517, 881, 965, 1003, 1370, 1677, 1311 996, 1010, 488, 517, 490, 505, 972, 520, 2153, 519, 1312 494, 517, 492, 496, 506, 497, 1740, 491, 1976, 502, 1313 2458, 1750, 493, 507, 508, 510, 524, 523, 511, 1008, 1314 500, 521, 176, 949, 176, 948, 1018, 176, 1020, 1009, 1315 1371, 1738, 1372, 943, 1004, 1005, 2154, 880, 1736, 2338, 1316 876, 885, 2264, 878, 913, 1022, 1704, 1610, 969, 2479, 1317 911, 1890, 922, 886, 921, 530, 530, 530, 920, 919, 1318 2471, 918, 917, 916, 1017, 1019, 915, 910, 1290, 923, 1319 1769, 1737, 1096, 530, 530, 1907, 594, 2469, 577, 598, 1320 579, 595, 596, 866, 575, 578, 597, 1980, 1045, 866, 1321 1310, 1096, 34, 985, 898, 991, 992, 993, 994, 999, 1322 904, 1058, 1055, 1056, 1057, 1062, 1064, 1061, 2118, 1060, 1323 897, 866, 1409, 580, 581, 864, 1054, 518, 1031, 1686, 1324 701, 1897, 1998, 1977, 1820, 1822, 1058, 1055, 1056, 1057, 1325 1062, 1064, 1061, 1401, 1060, 968, 881, 1725, 873, 1966, 1326 2126, 1054, 2477, 2331, 2327, 875, 874, 1405, 1039, 880, 1327 1953, 933, 2198, 1015, 1992, 2025, 939, 1016, 1963, 1099, 1328 1100, 1101, 1102, 2024, 2023, 522, 1898, 1021, 1148, 1107, 1329 1285, 1110, 2352, 1782, 1284, 1283, 904, 518, 1023, 2396, 1330 1406, 914, 1281, 515, 1679, 486, 518, 912, 1143, 1014, 1331 481, 1900, 879, 1309, 518, 1895, 1975, 903, 516, 1974, 1332 2375, 176, 2000, 897, 900, 901, 1399, 866, 1025, 1905, 1333 1906, 894, 898, 904, 1983, 75, 1896, 904, 176, 1982, 1334 80, 1721, 1103, 1160, 1158, 1036, 1037, 1164, 80, 2234, 1335 893, 1983, 2216, 668, 1149, 1881, 1982, 530, 1097, 1098, 1336 1846, 176, 666, 1163, 1770, 1161, 530, 80, 1902, 978, 1337 80, 904, 530, 1382, 1381, 1383, 1384, 1385, 975, 986, 1338 71, 710, 1048, 1046, 1047, 2002, 110, 2006, 1809, 2001, 1339 1821, 1999, 904, 903, 1567, 2467, 2004, 1200, 2468, 1129, 1340 2466, 998, 1120, 980, 1121, 2003, 1162, 1124, 2087, 1069, 1341 89, 1096, 1000, 1149, 1634, 1095, 1012, 1417, 2005, 2007, 1342 880, 683, 1135, 1136, 1137, 1138, 1139, 984, 1028, 2422, 1343 903, 105, 1904, 2420, 903, 907, 897, 1116, 1154, 907, 1344 897, 2409, 2424, 2425, 1907, 908, 2392, 1905, 1906, 908, 1345 2210, 925, 1735, 1402, 2421, 1396, 1216, 1397, 92, 1049, 1346 1398, 1525, 2013, 909, 1933, 178, 179, 180, 903, 1503, 1347 938, 1066, 2312, 1067, 1068, 543, 1068, 1525, 1159, 1797, 1348 2015, 178, 179, 180, 1151, 1843, 1483, 1182, 106, 903, 1349 2108, 665, 667, 2177, 1177, 897, 900, 901, 2107, 866, 1350 1484, 1485, 1482, 894, 898, 1090, 1091, 1093, 1092, 1094, 1351 1095, 1206, 1207, 1602, 1603, 1708, 1720, 1786, 1179, 1319, 1352 1066, 176, 1067, 1068, 1318, 1274, 1308, 1718, 714, 1066, 1353 1716, 1067, 1068, 913, 1282, 1190, 1504, 1473, 1475, 1476, 1354 1067, 1068, 1713, 1899, 911, 1713, 1013, 1418, 1793, 2451, 1355 1904, 2093, 1844, 530, 983, 1306, 1193, 2492, 1474, 1788, 1356 2179, 971, 1907, 1315, 1177, 1201, 2480, 1317, 1787, 1717, 1357 530, 530, 1715, 530, 2497, 530, 530, 2401, 530, 530, 1358 530, 530, 530, 530, 1088, 1089, 1090, 1091, 1093, 1092, 1359 1094, 1095, 1066, 530, 1067, 1068, 2442, 176, 1353, 1066, 1360 1189, 1067, 1068, 2368, 1066, 1316, 1067, 1068, 1066, 2402, 1361 1067, 1068, 1165, 176, 1066, 1211, 1067, 1068, 2412, 2250, 1362 1792, 1084, 2249, 1991, 530, 1177, 176, 2124, 1302, 2452, 1363 1348, 1349, 1288, 1289, 2440, 2369, 1066, 1407, 1067, 1068, 1364 2481, 176, 1295, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1365 1093, 1092, 1094, 1095, 1177, 1918, 1066, 176, 1067, 1068, 1366 1066, 1529, 1067, 1068, 176, 1530, 1917, 1314, 1350, 1066, 1367 1683, 1067, 1068, 176, 176, 176, 176, 176, 176, 176, 1368 176, 176, 530, 530, 530, 1280, 2149, 2413, 1390, 1313, 1369 1356, 1357, 1774, 1775, 1776, 1292, 1362, 1363, 1375, 1322, 1370 1305, 1323, 1293, 1325, 1327, 81, 1389, 1331, 1333, 1335, 1371 1337, 1339, 176, 1291, 2334, 1084, 1312, 1312, 705, 1481, 1372 1421, 1413, 1066, 1374, 1067, 1068, 1366, 1425, 2185, 1427, 1373 1428, 1429, 1430, 613, 614, 615, 1434, 1085, 1086, 1087, 1374 1088, 1089, 1090, 1091, 1093, 1092, 1094, 1095, 1373, 1066, 1375 1448, 1067, 1068, 1364, 1358, 1387, 1351, 1502, 178, 179, 1376 180, 1479, 2105, 1410, 1066, 1355, 1067, 1068, 1354, 1388, 1377 1515, 530, 1086, 1087, 1088, 1089, 1090, 1091, 1093, 1092, 1378 1094, 1095, 883, 1329, 2184, 600, 530, 530, 1486, 1919, 1379 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1380 1498, 1499, 1500, 1477, 2372, 1559, 1487, 1419, 1420, 1423, 1381 113, 882, 2371, 1186, 2370, 1377, 176, 1526, 1386, 1286, 1382 1066, 1424, 1067, 1068, 1066, 2311, 1067, 1068, 1431, 1432, 1383 1433, 1447, 2309, 177, 2287, 2247, 177, 2104, 1927, 177, 1384 1915, 1582, 176, 1583, 531, 530, 177, 1580, 1783, 1415, 1385 1729, 1444, 1445, 1446, 177, 176, 1728, 1595, 530, 1581, 1386 1480, 1177, 1187, 176, 2336, 176, 177, 176, 176, 530, 1387 1561, 1450, 530, 178, 179, 180, 1559, 1888, 1376, 1414, 1388 1563, 1564, 1378, 530, 710, 1365, 89, 710, 531, 1361, 1389 1360, 531, 177, 531, 1359, 1188, 1508, 1508, 1026, 1510, 1390 1837, 2496, 89, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1391 1070, 1560, 178, 179, 180, 88, 1588, 1085, 1086, 1087, 1392 1088, 1089, 1090, 1091, 1093, 1092, 1094, 1095, 2267, 2476, 1393 1468, 1469, 1470, 1471, 1612, 178, 179, 180, 530, 1696, 1394 86, 1561, 1837, 2462, 1689, 1690, 1691, 88, 2335, 1693, 1395 1695, 87, 1654, 1655, 1656, 1657, 1637, 2273, 1638, 178, 1396 179, 180, 530, 1694, 95, 680, 1837, 2446, 530, 1315, 1397 1513, 1514, 1315, 1177, 1315, 94, 95, 93, 1519, 1945, 1398 1712, 1590, 1607, 86, 1620, 1670, 88, 94, 1848, 93, 1399 1703, 1930, 1605, 1641, 87, 1837, 2436, 1837, 2405, 1837, 1400 2386, 2358, 1177, 1642, 1649, 1177, 1650, 1651, 1652, 1653, 1401 530, 1877, 1502, 1676, 1625, 2209, 1640, 1502, 1502, 2267, 1402 1177, 543, 1660, 1661, 1662, 1663, 1639, 1837, 2265, 2211, 1403 1624, 714, 1713, 1177, 714, 2214, 1177, 1700, 2116, 2115, 1404 2112, 2113, 2112, 2111, 1177, 1856, 1177, 1877, 1177, 1784, 1405 1177, 1769, 1962, 176, 1598, 1599, 1177, 1277, 1947, 1856, 1406 176, 1941, 1942, 1714, 1671, 176, 176, 1666, 1667, 176, 1407 1848, 176, 1684, 1707, 1878, 1682, 1710, 176, 1711, 1692, 1408 1681, 1632, 94, 1880, 176, 1722, 1837, 1836, 1855, 1833, 1409 1065, 1177, 1511, 1277, 1276, 1065, 1671, 1706, 1709, 1517, 1410 1518, 1705, 905, 1723, 88, 1084, 2391, 1781, 2082, 1724, 1411 1878, 1837, 176, 530, 1726, 1727, 906, 1769, 1562, 1769, 1412 1713, 1565, 1566, 1222, 1221, 1856, 1312, 1085, 1086, 1087, 1413 1088, 1089, 1090, 1091, 1093, 1092, 1094, 1095, 2051, 2114, 1414 1672, 2209, 1856, 2252, 1760, 1761, 1626, 1784, 2209, 1763, 1415 1784, 1084, 1803, 1802, 1080, 1587, 1081, 1713, 1764, 1697, 1416 1600, 1784, 1181, 1570, 1479, 1458, 1404, 1344, 1208, 1732, 1417 1082, 1083, 1079, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1418 1093, 1092, 1094, 1095, 670, 888, 887, 2491, 2444, 2486, 1419 1778, 1753, 1780, 2253, 2254, 2255, 2408, 1923, 81, 2385, 1420 2379, 2348, 1184, 2323, 2244, 1279, 1669, 2148, 1779, 2110, 1421 1948, 1665, 1659, 1658, 1392, 1307, 1303, 1345, 1346, 1347, 1422 1275, 2381, 1861, 1864, 1865, 1866, 1862, 107, 1863, 1867, 1423 2256, 176, 2221, 2222, 1341, 1924, 2151, 970, 2349, 176, 1424 1680, 2221, 2222, 1815, 1924, 1767, 2448, 530, 1861, 1864, 1425 1865, 1866, 1862, 2417, 1863, 1867, 2224, 2131, 1842, 2130, 1426 2129, 81, 2051, 1480, 1934, 1754, 1777, 177, 1451, 177, 1427 1176, 2073, 177, 1175, 1171, 2227, 2074, 2257, 2258, 176, 1428 176, 1342, 1343, 1852, 1175, 1171, 2071, 34, 1172, 2226, 1429 2075, 2072, 1865, 1866, 2070, 1887, 1872, 2069, 2460, 1172, 1430 531, 531, 531, 2437, 1594, 1185, 1796, 1586, 1561, 2215, 1431 2135, 2031, 1838, 1584, 1585, 1174, 2030, 1173, 531, 531, 1432 2043, 2045, 2202, 2367, 1168, 1169, 1174, 2302, 1173, 2046, 1433 2201, 2304, 684, 2205, 1834, 2040, 1403, 659, 1909, 1645, 1434 685, 530, 1928, 1521, 935, 934, 176, 86, 1154, 1560, 1435 1816, 2161, 1824, 176, 88, 86, 1923, 1522, 87, 530, 1436 1986, 1940, 1871, 1038, 2207, 530, 87, 1912, 1913, 1315, 1437 1315, 1892, 1835, 1830, 530, 1955, 1845, 1954, 114, 88, 1438 95, 1602, 1603, 1879, 2127, 1757, 1959, 1882, 2388, 2344, 1439 1798, 94, 1908, 93, 1869, 1591, 1875, 176, 176, 176, 1440 176, 176, 88, 692, 693, 2029, 1746, 95, 1773, 1893, 1441 93, 1676, 2445, 2028, 176, 176, 2310, 2308, 94, 1916, 1442 93, 2307, 2300, 2206, 2204, 1926, 2132, 2091, 1698, 95, 1443 176, 1925, 691, 94, 2299, 2195, 1848, 2450, 2449, 1931, 1444 94, 1957, 1833, 1804, 1202, 1194, 177, 100, 101, 1502, 1445 2450, 1295, 1935, 1936, 1937, 2373, 2103, 682, 97, 82, 1446 1, 2419, 499, 177, 1571, 1193, 1152, 513, 2415, 1379, 1447 530, 1958, 1369, 1949, 1950, 1956, 2276, 2345, 1674, 896, 1448 139, 1635, 531, 1636, 530, 2022, 177, 2432, 104, 666, 1449 859, 531, 2012, 103, 176, 899, 997, 531, 530, 1699, 1450 2268, 1910, 1646, 1228, 1226, 1227, 1994, 530, 1794, 1225, 1451 1230, 1229, 1224, 1993, 530, 530, 1452, 176, 176, 176, 1452 176, 176, 2022, 527, 1868, 2033, 174, 2048, 1217, 176, 1453 1978, 672, 1195, 2057, 176, 176, 936, 176, 2008, 2063, 1454 176, 176, 176, 1995, 1806, 1807, 2009, 489, 2117, 1730, 1455 2054, 1164, 495, 1108, 2027, 2054, 1883, 2021, 711, 704, 1456 2059, 2034, 2199, 2106, 2039, 2041, 1840, 2044, 176, 2037, 1457 2366, 2301, 2387, 2032, 1643, 1191, 1795, 2081, 1115, 1984, 1458 2035, 1523, 1985, 1617, 1579, 1472, 552, 551, 549, 2125, 1459 1826, 1849, 1071, 603, 1203, 176, 2064, 673, 674, 2067, 1460 1860, 2076, 530, 1858, 2083, 1857, 1755, 2084, 1621, 530, 1461 89, 2137, 2026, 2223, 176, 2219, 1615, 2080, 2100, 2085, 1462 1832, 560, 1413, 2099, 176, 553, 2092, 545, 2096, 2065, 1463 2066, 601, 2068, 2095, 2098, 1644, 1965, 2145, 176, 1050, 1464 1167, 176, 539, 2062, 2134, 871, 177, 1520, 2350, 1772, 1465 2120, 2162, 2181, 583, 1166, 2121, 1533, 2010, 2011, 1534, 1466 2329, 1889, 2014, 60, 38, 534, 2456, 2016, 2017, 2018, 1467 2136, 2122, 2123, 1041, 2143, 698, 2100, 2133, 531, 32, 1468 31, 2099, 2141, 30, 1676, 29, 28, 23, 176, 22, 1469 2157, 21, 20, 19, 25, 531, 531, 2156, 531, 18, 1470 531, 531, 17, 531, 531, 531, 531, 531, 531, 2159, 1471 2160, 16, 529, 2049, 109, 2170, 2164, 47, 531, 44, 1472 42, 116, 177, 2163, 115, 45, 2193, 41, 973, 39, 1473 27, 26, 15, 14, 13, 12, 11, 10, 177, 9, 1474 5, 4, 1044, 176, 24, 2, 2203, 2196, 2236, 531, 1475 0, 177, 0, 0, 0, 0, 712, 2218, 2208, 863, 1476 0, 870, 0, 0, 0, 0, 177, 2228, 0, 0, 1477 0, 2225, 0, 2167, 2168, 0, 2169, 2232, 2233, 2171, 1478 0, 2173, 177, 2230, 0, 0, 0, 176, 0, 177, 1479 176, 176, 176, 530, 0, 2263, 0, 0, 177, 177, 1480 177, 177, 177, 177, 177, 177, 177, 531, 531, 531, 1481 2231, 2243, 530, 530, 530, 530, 0, 2241, 2242, 0, 1482 0, 0, 0, 0, 0, 0, 0, 0, 2246, 2283, 1483 2248, 0, 0, 0, 2272, 0, 0, 177, 0, 0, 1484 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 1485 530, 530, 176, 0, 0, 0, 0, 0, 0, 0, 1486 0, 2286, 0, 0, 0, 0, 0, 0, 0, 0, 1487 0, 0, 2281, 0, 0, 530, 0, 530, 0, 0, 1488 2183, 0, 0, 0, 0, 2282, 0, 2317, 2294, 2295, 1489 2297, 34, 0, 2057, 2296, 2306, 531, 2057, 0, 2305, 1490 0, 2319, 2313, 2315, 0, 530, 0, 2333, 0, 2054, 1491 0, 531, 531, 666, 0, 0, 2321, 0, 0, 0, 1492 0, 0, 0, 543, 2325, 2326, 0, 0, 0, 0, 1493 0, 0, 0, 0, 0, 0, 530, 0, 0, 0, 1494 0, 177, 0, 0, 1178, 1180, 0, 0, 0, 2337, 1495 0, 2347, 0, 2339, 2340, 0, 0, 0, 0, 2240, 1496 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 1497 531, 0, 0, 0, 0, 2245, 0, 0, 0, 0, 1498 177, 0, 2363, 531, 530, 2362, 2377, 0, 177, 0, 1499 177, 2365, 177, 177, 531, 0, 0, 531, 2057, 0, 1500 0, 2376, 2374, 0, 0, 0, 0, 2271, 531, 530, 1501 176, 2393, 0, 0, 0, 0, 0, 0, 2390, 530, 1502 666, 0, 34, 2378, 0, 0, 0, 0, 0, 0, 1503 0, 0, 0, 0, 0, 0, 530, 0, 0, 0, 1504 0, 0, 2284, 0, 2285, 0, 530, 0, 2414, 2288, 1505 2289, 0, 530, 530, 0, 0, 0, 2403, 2406, 0, 1506 0, 0, 2426, 531, 2418, 0, 34, 2347, 2433, 530, 1507 2423, 2441, 2431, 2054, 0, 2314, 0, 0, 0, 0, 1508 0, 0, 0, 0, 0, 0, 2322, 531, 0, 2324, 1509 2447, 0, 0, 531, 0, 0, 0, 2453, 0, 0, 1510 0, 0, 0, 0, 0, 0, 0, 2461, 0, 2459, 1511 0, 0, 0, 0, 0, 2464, 2463, 0, 2470, 0, 1512 0, 0, 0, 0, 0, 0, 0, 2474, 2472, 2475, 1513 0, 0, 0, 0, 0, 531, 0, 0, 2484, 0, 1514 0, 2485, 0, 2487, 0, 0, 0, 0, 0, 2489, 1515 0, 0, 530, 0, 2493, 0, 0, 0, 2498, 0, 1516 0, 0, 0, 0, 2364, 543, 0, 0, 712, 712, 1517 712, 0, 0, 0, 0, 0, 0, 0, 177, 72, 1518 36, 37, 74, 0, 0, 177, 1040, 1042, 0, 0, 1519 177, 177, 0, 0, 177, 2384, 177, 0, 0, 78, 1520 0, 0, 177, 40, 66, 67, 0, 64, 68, 177, 1521 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523 0, 584, 0, 0, 0, 0, 0, 177, 531, 0, 1524 0, 0, 0, 0, 2407, 53, 0, 0, 0, 0, 1525 0, 0, 0, 0, 2427, 0, 81, 0, 0, 0, 1526 0, 0, 1146, 0, 0, 0, 0, 0, 0, 0, 1527 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 1528 0, 0, 485, 0, 0, 525, 0, 0, 0, 0, 1529 0, 0, 485, 0, 0, 0, 0, 0, 0, 0, 1530 485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531 0, 0, 679, 0, 0, 0, 0, 0, 0, 0, 1532 0, 0, 0, 0, 0, 0, 0, 0, 697, 0, 1533 697, 0, 0, 0, 0, 0, 0, 0, 485, 0, 1534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535 1198, 2490, 0, 0, 0, 0, 177, 0, 0, 712, 1536 0, 0, 0, 0, 177, 1218, 0, 0, 0, 0, 1537 0, 0, 531, 0, 0, 0, 43, 46, 49, 48, 1538 51, 0, 63, 0, 0, 69, 0, 0, 0, 0, 1539 1527, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 1540 0, 0, 0, 0, 177, 177, 0, 52, 77, 76, 1541 0, 0, 61, 62, 50, 0, 0, 0, 0, 0, 1542 1178, 1569, 0, 0, 0, 0, 0, 0, 0, 0, 1543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1545 1589, 0, 0, 0, 54, 55, 0, 56, 57, 58, 1546 59, 0, 0, 0, 0, 0, 531, 0, 0, 0, 1547 0, 177, 0, 0, 0, 0, 0, 0, 177, 0, 1548 0, 0, 0, 0, 531, 0, 0, 0, 0, 0, 1549 531, 0, 0, 0, 0, 0, 0, 0, 0, 531, 1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552 0, 0, 177, 177, 177, 177, 177, 0, 0, 0, 1553 1155, 0, 0, 0, 0, 0, 0, 0, 0, 177, 1554 177, 0, 0, 0, 0, 0, 863, 0, 0, 0, 1555 0, 0, 0, 0, 0, 177, 0, 0, 0, 1146, 1556 0, 0, 0, 1321, 1321, 0, 1321, 0, 1321, 1321, 1557 0, 1330, 1321, 1321, 1321, 1321, 1321, 0, 0, 75, 1558 0, 484, 0, 0, 1146, 1146, 863, 0, 0, 0, 1559 0, 533, 80, 0, 0, 531, 0, 0, 0, 662, 1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 1561 0, 0, 0, 0, 0, 0, 0, 1391, 0, 177, 1562 0, 0, 0, 531, 0, 0, 0, 0, 0, 0, 1563 0, 0, 531, 0, 0, 0, 0, 867, 0, 531, 1564 531, 0, 177, 177, 177, 177, 177, 0, 0, 0, 1565 0, 0, 0, 0, 177, 0, 0, 0, 0, 177, 1566 177, 0, 177, 0, 0, 177, 177, 177, 0, 0, 1567 0, 0, 0, 0, 0, 712, 712, 712, 0, 0, 1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571 0, 0, 0, 485, 0, 485, 0, 0, 485, 0, 1572 177, 0, 0, 0, 0, 0, 0, 531, 0, 0, 1573 0, 0, 0, 0, 531, 0, 0, 0, 0, 177, 1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 1575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1576 0, 0, 0, 177, 1516, 0, 177, 0, 0, 0, 1577 0, 1146, 0, 0, 0, 0, 0, 0, 0, 1531, 1578 1532, 0, 1785, 712, 0, 172, 1789, 0, 1790, 1791, 1579 0, 0, 0, 0, 0, 0, 0, 1799, 0, 0, 1580 1800, 1801, 0, 0, 0, 0, 0, 0, 0, 114, 1581 0, 136, 0, 177, 0, 0, 0, 0, 0, 0, 1582 0, 0, 156, 0, 0, 0, 1805, 0, 0, 0, 1583 0, 0, 0, 1810, 1811, 1812, 1813, 1814, 1593, 1589, 1584 1147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1585 1825, 1198, 0, 146, 712, 0, 0, 0, 135, 0, 1586 0, 0, 712, 0, 0, 712, 0, 0, 177, 0, 1587 0, 0, 0, 0, 0, 0, 863, 0, 0, 153, 1588 0, 154, 0, 0, 0, 0, 0, 123, 124, 145, 1589 144, 171, 485, 0, 0, 0, 0, 0, 0, 0, 1590 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 1591 0, 0, 177, 0, 0, 177, 177, 177, 531, 0, 1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1593 0, 870, 485, 0, 0, 0, 0, 531, 531, 531, 1594 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1595 0, 0, 0, 0, 0, 863, 0, 0, 0, 0, 1596 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 1597 0, 0, 0, 0, 531, 531, 531, 177, 0, 0, 1598 0, 0, 0, 0, 140, 121, 147, 128, 120, 0, 1599 141, 142, 0, 0, 0, 157, 0, 0, 0, 0, 1600 531, 0, 531, 863, 162, 129, 0, 0, 0, 0, 1601 0, 0, 974, 0, 979, 0, 0, 981, 0, 132, 1602 130, 125, 126, 127, 131, 0, 0, 0, 0, 122, 1603 531, 0, 0, 0, 0, 0, 0, 0, 133, 0, 1604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1605 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 1606 0, 531, 0, 0, 0, 0, 0, 0, 0, 0, 1607 0, 0, 0, 0, 0, 114, 0, 2019, 2020, 0, 1608 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, 1609 0, 0, 485, 0, 0, 0, 0, 0, 610, 73, 1610 0, 0, 0, 0, 0, 0, 1766, 0, 0, 531, 1611 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 1612 0, 0, 0, 0, 2060, 0, 0, 0, 0, 0, 1613 1891, 0, 0, 0, 531, 177, 0, 1147, 0, 0, 1614 0, 2078, 2079, 0, 531, 153, 0, 154, 0, 0, 1615 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 1616 0, 531, 1147, 1147, 0, 0, 0, 0, 485, 0, 1617 669, 531, 73, 0, 0, 0, 0, 531, 531, 0, 1618 0, 0, 0, 0, 1367, 0, 0, 143, 0, 0, 1619 669, 0, 172, 0, 531, 0, 0, 485, 0, 137, 1620 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 1621 0, 0, 1412, 0, 0, 0, 114, 0, 0, 0, 1622 0, 712, 0, 0, 0, 0, 0, 0, 485, 156, 1623 0, 1205, 0, 0, 0, 485, 0, 0, 0, 0, 1624 1827, 0, 0, 0, 1435, 1436, 485, 485, 485, 485, 1625 485, 485, 485, 0, 0, 0, 0, 0, 0, 0, 1626 0, 157, 0, 0, 0, 0, 0, 0, 2166, 0, 1627 162, 0, 0, 0, 0, 0, 0, 531, 0, 2175, 1628 2176, 2178, 2180, 485, 0, 0, 153, 0, 154, 2186, 1629 0, 0, 2187, 0, 0, 0, 0, 2191, 171, 0, 1630 0, 0, 0, 150, 155, 152, 158, 159, 160, 161, 1631 163, 164, 165, 166, 0, 0, 0, 0, 0, 167, 1632 168, 169, 170, 0, 0, 0, 0, 0, 0, 2212, 1633 2213, 0, 0, 2217, 1929, 0, 697, 0, 0, 0, 1634 0, 0, 0, 697, 697, 0, 0, 0, 0, 1147, 1635 0, 2229, 1593, 0, 0, 0, 0, 0, 1946, 0, 1636 697, 1412, 697, 697, 697, 697, 697, 1951, 0, 0, 1637 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 1638 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 1639 0, 1223, 0, 0, 0, 0, 0, 0, 0, 697, 1640 0, 0, 157, 0, 0, 0, 0, 0, 0, 2266, 1641 0, 162, 0, 679, 0, 0, 0, 0, 0, 0, 1642 0, 0, 0, 0, 0, 0, 485, 0, 0, 0, 1643 0, 0, 1412, 0, 485, 0, 485, 0, 485, 1623, 1644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645 0, 0, 0, 0, 0, 0, 0, 0, 0, 2291, 1646 0, 0, 0, 712, 0, 0, 0, 1352, 0, 0, 1647 0, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 1648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1649 0, 2036, 0, 0, 0, 0, 1393, 0, 0, 0, 1650 712, 0, 0, 0, 1146, 0, 0, 2061, 1321, 1146, 1651 0, 2332, 0, 0, 0, 0, 0, 0, 149, 0, 1652 0, 0, 0, 0, 0, 0, 0, 1422, 0, 0, 1653 0, 0, 0, 0, 1426, 0, 0, 0, 0, 0, 1654 0, 0, 2343, 0, 0, 1437, 1438, 1439, 1440, 1441, 1655 1442, 1443, 0, 0, 0, 2353, 2354, 2355, 0, 2356, 1656 2357, 2359, 0, 0, 0, 2360, 2361, 0, 0, 150, 1657 155, 152, 158, 159, 160, 161, 163, 164, 165, 166, 1658 0, 0, 1461, 0, 0, 167, 168, 169, 170, 0, 1659 0, 0, 0, 0, 0, 863, 0, 0, 1146, 0, 1660 0, 0, 1593, 0, 0, 0, 0, 0, 0, 0, 1661 0, 0, 0, 1033, 1033, 1033, 0, 1245, 0, 0, 1662 0, 2395, 0, 0, 485, 0, 0, 0, 0, 0, 1663 0, 485, 0, 73, 0, 0, 485, 485, 0, 0, 1664 485, 0, 1758, 0, 0, 0, 0, 0, 485, 0, 1665 0, 0, 0, 0, 0, 485, 0, 0, 0, 0, 1666 669, 1104, 1105, 1106, 0, 1109, 0, 1111, 1112, 1113, 1667 1114, 0, 1117, 1119, 1119, 0, 1119, 1123, 1123, 1125, 1668 1126, 1127, 1128, 485, 1130, 1131, 1132, 1133, 1134, 0, 1669 0, 0, 0, 1123, 1123, 1123, 1123, 1123, 2454, 2455, 1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1671 150, 155, 152, 158, 159, 160, 161, 163, 164, 165, 1672 166, 0, 0, 0, 0, 1604, 167, 168, 169, 170, 1673 0, 0, 0, 1608, 0, 1611, 0, 0, 1461, 0, 1674 0, 0, 0, 0, 1233, 0, 0, 0, 0, 0, 1675 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 1676 0, 1156, 0, 0, 669, 0, 0, 0, 669, 0, 1677 0, 0, 0, 0, 669, 0, 0, 0, 0, 0, 1678 0, 0, 0, 0, 0, 0, 1593, 0, 697, 697, 1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 1412, 1680 0, 0, 485, 0, 0, 2277, 2278, 2279, 2280, 0, 1681 1367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1682 0, 0, 0, 0, 1246, 0, 0, 0, 0, 0, 1683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1684 0, 0, 2292, 2292, 2292, 0, 0, 0, 0, 0, 1685 485, 485, 0, 0, 0, 0, 0, 0, 0, 0, 1686 0, 0, 0, 1146, 0, 0, 0, 0, 2318, 0, 1687 2320, 0, 0, 0, 0, 0, 1259, 1262, 1263, 1264, 1688 1265, 1266, 1267, 0, 1268, 1269, 1270, 1271, 1272, 1247, 1689 1248, 1249, 1250, 1231, 1232, 1260, 0, 1234, 1593, 1235, 1690 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1251, 1691 1252, 1253, 1254, 1255, 1256, 1257, 1258, 485, 0, 0, 1692 0, 0, 0, 1461, 1938, 0, 0, 0, 0, 712, 1693 1741, 0, 0, 0, 0, 1751, 1752, 0, 0, 1756, 1694 0, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1695 0, 0, 0, 0, 1762, 172, 0, 0, 0, 0, 1696 0, 0, 0, 0, 0, 0, 1939, 0, 485, 485, 1697 485, 485, 485, 0, 0, 0, 0, 1593, 0, 114, 1698 0, 136, 1765, 0, 0, 485, 485, 0, 0, 0, 1699 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 1700 0, 485, 1593, 0, 1261, 0, 0, 0, 0, 0, 1701 0, 0, 2399, 0, 0, 0, 697, 0, 0, 0, 1702 0, 0, 0, 146, 0, 0, 0, 1146, 135, 2404, 1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 1593, 1704 697, 0, 0, 0, 0, 712, 712, 0, 0, 153, 1705 0, 154, 0, 0, 0, 0, 0, 1298, 1299, 145, 1706 144, 171, 1593, 0, 0, 485, 0, 0, 0, 0, 1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708 0, 0, 1147, 0, 0, 0, 0, 1147, 485, 485, 1709 485, 485, 485, 0, 0, 0, 0, 0, 0, 0, 1710 2077, 0, 0, 0, 0, 485, 1367, 0, 485, 0, 1711 0, 485, 2086, 1412, 0, 0, 0, 0, 0, 0, 1712 1033, 1033, 1033, 0, 0, 0, 0, 0, 0, 0, 1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 485, 1714 0, 0, 0, 0, 0, 1593, 172, 0, 0, 0, 1715 1874, 0, 0, 0, 140, 1300, 147, 1294, 1297, 0, 1716 141, 142, 0, 0, 0, 157, 485, 0, 0, 0, 1717 114, 0, 136, 0, 162, 0, 1147, 0, 0, 0, 1718 0, 0, 0, 156, 0, 485, 0, 0, 0, 0, 1719 0, 0, 0, 0, 0, 485, 0, 0, 0, 0, 1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 485, 1721 0, 0, 485, 0, 146, 0, 1932, 0, 0, 135, 1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1724 153, 0, 154, 0, 0, 0, 0, 0, 1298, 1299, 1725 145, 144, 171, 0, 0, 0, 0, 0, 0, 485, 1726 0, 0, 0, 0, 0, 0, 0, 1969, 1970, 1971, 1727 1972, 1973, 0, 0, 0, 0, 0, 0, 0, 0, 1728 0, 149, 0, 0, 1461, 1979, 0, 0, 0, 0, 1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1730 1987, 0, 0, 0, 0, 1618, 1506, 1507, 0, 0, 1731 0, 0, 1509, 0, 485, 0, 0, 0, 0, 0, 1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1734 0, 0, 0, 0, 0, 140, 1300, 147, 0, 1297, 1735 0, 141, 142, 0, 0, 0, 157, 143, 485, 0, 1736 0, 485, 485, 485, 0, 162, 0, 0, 0, 137, 1737 0, 0, 138, 0, 618, 619, 620, 621, 622, 623, 1738 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 1739 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 1740 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 1741 654, 655, 656, 657, 658, 0, 0, 0, 0, 0, 1742 0, 0, 0, 1367, 0, 0, 0, 0, 0, 0, 1743 0, 0, 0, 0, 0, 0, 0, 0, 2109, 0, 1744 0, 1147, 0, 0, 0, 0, 0, 0, 0, 0, 1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1746 0, 0, 0, 0, 0, 2128, 0, 0, 0, 0, 1747 0, 0, 149, 150, 155, 152, 158, 159, 160, 161, 1748 163, 164, 165, 166, 2140, 0, 0, 0, 0, 167, 1749 168, 169, 170, 0, 2144, 0, 0, 0, 0, 0, 1750 0, 0, 0, 0, 0, 0, 0, 0, 2155, 0, 1751 0, 2158, 0, 0, 0, 0, 0, 0, 0, 0, 1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1753 0, 0, 81, 0, 0, 0, 0, 0, 604, 611, 1754 612, 613, 614, 615, 605, 607, 0, 0, 143, 606, 1755 0, 0, 609, 616, 617, 0, 0, 0, 2192, 0, 1756 137, 0, 0, 138, 0, 0, 0, 0, 0, 0, 1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1758 0, 485, 0, 0, 0, 0, 0, 0, 0, 0, 1759 0, 0, 0, 0, 0, 2101, 2102, 0, 0, 0, 1760 0, 0, 0, 0, 0, 1147, 0, 618, 619, 620, 1761 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 1762 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 1763 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 1764 651, 652, 653, 654, 655, 656, 657, 658, 0, 0, 1765 0, 0, 0, 0, 0, 0, 0, 2259, 1808, 0, 1766 2260, 2261, 2262, 0, 150, 155, 152, 158, 159, 160, 1767 161, 163, 164, 165, 166, 1823, 0, 0, 0, 0, 1768 167, 168, 169, 170, 0, 81, 0, 0, 0, 0, 1769 669, 604, 611, 612, 613, 614, 615, 605, 607, 0, 1770 0, 0, 606, 0, 0, 609, 616, 617, 1853, 1854, 1771 0, 0, 0, 0, 0, 0, 0, 1873, 0, 0, 1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1774 0, 0, 0, 0, 0, 0, 0, 0, 2101, 2102, 1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1776 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 1777 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 1778 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 1779 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 1780 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1781 0, 0, 0, 1952, 0, 0, 0, 0, 0, 0, 1782 0, 0, 0, 0, 0, 594, 0, 0, 598, 0, 1783 595, 596, 0, 0, 0, 597, 0, 0, 0, 0, 1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1788 2394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1793 0, 0, 1618, 0, 0, 0, 0, 0, 0, 0, 1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1795 2058, 0, 73, 0, 0, 1618, 1618, 1618, 1618, 1618, 1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1797 0, 0, 1873, 0, 0, 1618, 0, 0, 1618, 0, 1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1799 0, 0, 0, 0, 0, 0, 2094, 0, 0, 0, 1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1805 0, 0, 0, 0, 2142, 0, 0, 0, 0, 0, 1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1809 0, 0, 0, 0, 0, 2165, 0, 0, 0, 0, 1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1812 0, 0, 2188, 2189, 2190, 0, 0, 0, 0, 0, 1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1818 0, 1618, 0, 0, 0, 0, 0, 0, 0, 0, 1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1831 2058, 0, 73, 0, 2058, 0, 0, 0, 0, 0, 1832 0, 0, 0, 841, 827, 409, 0, 774, 844, 744, 1833 762, 854, 765, 768, 809, 723, 787, 332, 759, 0, 1834 748, 719, 754, 720, 746, 776, 236, 743, 829, 791, 1835 843, 288, 233, 725, 749, 346, 764, 187, 811, 385, 1836 221, 298, 295, 416, 247, 239, 235, 220, 272, 304, 1837 344, 403, 338, 850, 292, 797, 0, 394, 317, 0, 1838 0, 0, 778, 833, 785, 823, 773, 810, 733, 796, 1839 845, 760, 806, 846, 278, 219, 186, 329, 395, 251, 1840 0, 0, 0, 0, 178, 179, 180, 0, 2434, 0, 1841 2435, 0, 0, 0, 0, 2058, 0, 210, 0, 217, 1842 756, 803, 840, 757, 805, 231, 276, 238, 230, 413, 1843 851, 832, 0, 0, 202, 842, 780, 2389, 808, 0, 1844 857, 718, 799, 73, 721, 724, 853, 836, 752, 241, 1845 0, 0, 0, 0, 0, 0, 0, 777, 786, 820, 1846 771, 0, 0, 0, 0, 0, 0, 0, 750, 0, 1847 795, 0, 0, 0, 729, 722, 0, 0, 0, 0, 1848 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1851 0, 0, 0, 0, 0, 0, 0, 775, 0, 0, 1852 0, 732, 0, 751, 821, 0, 716, 259, 726, 318, 1853 0, 825, 835, 772, 445, 839, 770, 769, 815, 730, 1854 831, 763, 287, 728, 284, 182, 198, 0, 761, 328, 1855 368, 374, 830, 747, 755, 222, 753, 372, 342, 430, 1856 206, 249, 365, 347, 370, 794, 813, 371, 293, 418, 1857 360, 428, 446, 447, 229, 322, 436, 407, 442, 458, 1858 199, 226, 336, 400, 433, 391, 315, 414, 415, 283, 1859 390, 257, 185, 291, 452, 197, 380, 214, 204, 190, 1860 402, 426, 211, 383, 0, 0, 460, 192, 424, 399, 1861 311, 280, 281, 191, 0, 364, 234, 255, 224, 331, 1862 421, 422, 223, 461, 201, 441, 194, 1035, 440, 324, 1863 417, 425, 312, 303, 193, 423, 310, 302, 286, 245, 1864 266, 358, 296, 359, 267, 320, 319, 321, 0, 188, 1865 0, 396, 434, 462, 207, 208, 209, 742, 244, 248, 1866 254, 256, 262, 263, 270, 289, 335, 357, 355, 361, 1867 826, 412, 429, 437, 444, 450, 451, 453, 454, 455, 1868 456, 457, 323, 269, 392, 285, 294, 818, 856, 341, 1869 373, 212, 432, 393, 737, 741, 735, 800, 736, 789, 1870 790, 738, 847, 848, 849, 463, 464, 465, 466, 467, 1871 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 1872 478, 479, 480, 0, 822, 731, 0, 739, 740, 0, 1873 828, 837, 838, 793, 181, 195, 290, 852, 362, 252, 1874 459, 439, 435, 717, 734, 228, 745, 0, 0, 758, 1875 766, 767, 779, 781, 782, 783, 784, 314, 801, 802, 1876 804, 812, 814, 817, 819, 824, 834, 855, 183, 184, 1877 196, 205, 215, 227, 242, 250, 260, 265, 268, 273, 1878 274, 277, 282, 300, 305, 306, 307, 308, 325, 326, 1879 327, 330, 333, 334, 337, 339, 340, 343, 350, 351, 1880 352, 353, 354, 356, 363, 367, 375, 376, 377, 378, 1881 379, 381, 382, 386, 387, 388, 389, 397, 401, 419, 1882 420, 431, 443, 448, 261, 427, 449, 0, 299, 792, 1883 798, 301, 246, 264, 275, 807, 438, 398, 200, 369, 1884 253, 189, 218, 203, 225, 240, 243, 279, 309, 316, 1885 345, 349, 258, 237, 216, 366, 213, 384, 404, 405, 1886 406, 408, 313, 232, 348, 788, 816, 297, 410, 411, 1887 271, 841, 827, 409, 0, 774, 844, 744, 762, 854, 1888 765, 768, 809, 723, 787, 332, 759, 0, 748, 719, 1889 754, 720, 746, 776, 236, 743, 829, 791, 843, 288, 1890 233, 725, 749, 346, 764, 187, 811, 385, 221, 298, 1891 295, 416, 247, 239, 235, 220, 272, 304, 344, 403, 1892 338, 850, 292, 797, 0, 394, 317, 0, 0, 0, 1893 778, 833, 785, 823, 773, 810, 733, 796, 845, 760, 1894 806, 846, 278, 219, 186, 329, 395, 251, 0, 0, 1895 0, 0, 178, 179, 180, 0, 0, 0, 0, 0, 1896 0, 0, 0, 0, 0, 210, 0, 217, 756, 803, 1897 840, 757, 805, 231, 276, 238, 230, 413, 851, 832, 1898 0, 0, 202, 842, 780, 0, 808, 0, 857, 718, 1899 799, 0, 721, 724, 853, 836, 752, 241, 0, 0, 1900 0, 0, 0, 0, 0, 777, 786, 820, 771, 0, 1901 0, 0, 0, 0, 2087, 0, 750, 0, 795, 0, 1902 0, 0, 729, 722, 0, 0, 0, 0, 0, 0, 1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1906 0, 0, 0, 0, 0, 775, 0, 0, 0, 732, 1907 0, 751, 821, 0, 716, 259, 726, 318, 0, 825, 1908 835, 772, 445, 839, 770, 769, 815, 730, 831, 763, 1909 287, 728, 284, 182, 198, 0, 761, 328, 368, 374, 1910 830, 747, 755, 222, 753, 372, 342, 430, 206, 249, 1911 365, 347, 370, 794, 813, 371, 293, 418, 360, 428, 1912 446, 447, 229, 322, 436, 407, 442, 458, 199, 226, 1913 336, 400, 433, 391, 315, 414, 415, 283, 390, 257, 1914 185, 291, 452, 197, 380, 214, 204, 190, 402, 426, 1915 211, 383, 0, 0, 460, 192, 424, 399, 311, 280, 1916 281, 191, 0, 364, 234, 255, 224, 331, 421, 422, 1917 223, 461, 201, 441, 194, 1035, 440, 324, 417, 425, 1918 312, 303, 193, 423, 310, 302, 286, 245, 266, 358, 1919 296, 359, 267, 320, 319, 321, 0, 188, 0, 396, 1920 434, 462, 207, 208, 209, 742, 244, 248, 254, 256, 1921 262, 263, 270, 289, 335, 357, 355, 361, 826, 412, 1922 429, 437, 444, 450, 451, 453, 454, 455, 456, 457, 1923 323, 269, 392, 285, 294, 818, 856, 341, 373, 212, 1924 432, 393, 737, 741, 735, 800, 736, 789, 790, 738, 1925 847, 848, 849, 463, 464, 465, 466, 467, 468, 469, 1926 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 1927 480, 0, 822, 731, 0, 739, 740, 0, 828, 837, 1928 838, 793, 181, 195, 290, 852, 362, 252, 459, 439, 1929 435, 717, 734, 228, 745, 0, 0, 758, 766, 767, 1930 779, 781, 782, 783, 784, 314, 801, 802, 804, 812, 1931 814, 817, 819, 824, 834, 855, 183, 184, 196, 205, 1932 215, 227, 242, 250, 260, 265, 268, 273, 274, 277, 1933 282, 300, 305, 306, 307, 308, 325, 326, 327, 330, 1934 333, 334, 337, 339, 340, 343, 350, 351, 352, 353, 1935 354, 356, 363, 367, 375, 376, 377, 378, 379, 381, 1936 382, 386, 387, 388, 389, 397, 401, 419, 420, 431, 1937 443, 448, 261, 427, 449, 0, 299, 792, 798, 301, 1938 246, 264, 275, 807, 438, 398, 200, 369, 253, 189, 1939 218, 203, 225, 240, 243, 279, 309, 316, 345, 349, 1940 258, 237, 216, 366, 213, 384, 404, 405, 406, 408, 1941 313, 232, 348, 788, 816, 297, 410, 411, 271, 841, 1942 827, 409, 0, 774, 844, 744, 762, 854, 765, 768, 1943 809, 723, 787, 332, 759, 0, 748, 719, 754, 720, 1944 746, 776, 236, 743, 829, 791, 843, 288, 233, 725, 1945 749, 346, 764, 187, 811, 385, 221, 298, 295, 416, 1946 247, 239, 235, 220, 272, 304, 344, 403, 338, 850, 1947 292, 797, 0, 394, 317, 0, 0, 0, 778, 833, 1948 785, 823, 773, 810, 733, 796, 845, 760, 806, 846, 1949 278, 219, 186, 329, 395, 251, 0, 0, 0, 0, 1950 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, 1951 0, 0, 0, 210, 0, 217, 756, 803, 840, 757, 1952 805, 231, 276, 238, 230, 413, 851, 832, 0, 0, 1953 202, 842, 780, 0, 808, 0, 857, 718, 799, 0, 1954 721, 724, 853, 836, 752, 241, 0, 0, 0, 0, 1955 0, 0, 0, 777, 786, 820, 771, 0, 0, 0, 1956 0, 0, 2047, 0, 750, 0, 795, 0, 0, 0, 1957 729, 722, 0, 0, 0, 0, 0, 0, 0, 0, 1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1961 0, 0, 0, 775, 0, 0, 0, 732, 0, 751, 1962 821, 0, 716, 259, 726, 318, 0, 825, 835, 772, 1963 445, 839, 770, 769, 815, 730, 831, 763, 287, 728, 1964 284, 182, 198, 0, 761, 328, 368, 374, 830, 747, 1965 755, 222, 753, 372, 342, 430, 206, 249, 365, 347, 1966 370, 794, 813, 371, 293, 418, 360, 428, 446, 447, 1967 229, 322, 436, 407, 442, 458, 199, 226, 336, 400, 1968 433, 391, 315, 414, 415, 283, 390, 257, 185, 291, 1969 452, 197, 380, 214, 204, 190, 402, 426, 211, 383, 1970 0, 0, 460, 192, 424, 399, 311, 280, 281, 191, 1971 0, 364, 234, 255, 224, 331, 421, 422, 223, 461, 1972 201, 441, 194, 1035, 440, 324, 417, 425, 312, 303, 1973 193, 423, 310, 302, 286, 245, 266, 358, 296, 359, 1974 267, 320, 319, 321, 0, 188, 0, 396, 434, 462, 1975 207, 208, 209, 742, 244, 248, 254, 256, 262, 263, 1976 270, 289, 335, 357, 355, 361, 826, 412, 429, 437, 1977 444, 450, 451, 453, 454, 455, 456, 457, 323, 269, 1978 392, 285, 294, 818, 856, 341, 373, 212, 432, 393, 1979 737, 741, 735, 800, 736, 789, 790, 738, 847, 848, 1980 849, 463, 464, 465, 466, 467, 468, 469, 470, 471, 1981 472, 473, 474, 475, 476, 477, 478, 479, 480, 0, 1982 822, 731, 0, 739, 740, 0, 828, 837, 838, 793, 1983 181, 195, 290, 852, 362, 252, 459, 439, 435, 717, 1984 734, 228, 745, 0, 0, 758, 766, 767, 779, 781, 1985 782, 783, 784, 314, 801, 802, 804, 812, 814, 817, 1986 819, 824, 834, 855, 183, 184, 196, 205, 215, 227, 1987 242, 250, 260, 265, 268, 273, 274, 277, 282, 300, 1988 305, 306, 307, 308, 325, 326, 327, 330, 333, 334, 1989 337, 339, 340, 343, 350, 351, 352, 353, 354, 356, 1990 363, 367, 375, 376, 377, 378, 379, 381, 382, 386, 1991 387, 388, 389, 397, 401, 419, 420, 431, 443, 448, 1992 261, 427, 449, 0, 299, 792, 798, 301, 246, 264, 1993 275, 807, 438, 398, 200, 369, 253, 189, 218, 203, 1994 225, 240, 243, 279, 309, 316, 345, 349, 258, 237, 1995 216, 366, 213, 384, 404, 405, 406, 408, 313, 232, 1996 348, 788, 816, 297, 410, 411, 271, 841, 827, 409, 1997 0, 774, 844, 744, 762, 854, 765, 768, 809, 723, 1998 787, 332, 759, 0, 748, 719, 754, 720, 746, 776, 1999 236, 743, 829, 791, 843, 288, 233, 725, 749, 346, 2000 764, 187, 811, 385, 221, 298, 295, 416, 247, 239, 2001 235, 220, 272, 304, 344, 403, 338, 850, 292, 797, 2002 0, 394, 317, 0, 0, 0, 778, 833, 785, 823, 2003 773, 810, 733, 796, 845, 760, 806, 846, 278, 219, 2004 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 2005 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2006 0, 210, 0, 217, 756, 803, 840, 757, 805, 231, 2007 276, 238, 230, 413, 851, 832, 0, 0, 202, 842, 2008 780, 0, 808, 0, 857, 718, 799, 0, 721, 724, 2009 853, 836, 752, 241, 0, 0, 0, 0, 0, 0, 2010 0, 777, 786, 820, 771, 0, 0, 0, 0, 0, 2011 1606, 0, 750, 0, 795, 0, 0, 0, 729, 722, 2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016 0, 775, 0, 0, 0, 732, 0, 751, 821, 0, 2017 716, 259, 726, 318, 0, 825, 835, 772, 445, 839, 2018 770, 769, 815, 730, 831, 763, 287, 728, 284, 182, 2019 198, 0, 761, 328, 368, 374, 830, 747, 755, 222, 2020 753, 372, 342, 430, 206, 249, 365, 347, 370, 794, 2021 813, 371, 293, 418, 360, 428, 446, 447, 229, 322, 2022 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 2023 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 2024 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 2025 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 2026 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 2027 194, 1035, 440, 324, 417, 425, 312, 303, 193, 423, 2028 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 2029 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 2030 209, 742, 244, 248, 254, 256, 262, 263, 270, 289, 2031 335, 357, 355, 361, 826, 412, 429, 437, 444, 450, 2032 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 2033 294, 818, 856, 341, 373, 212, 432, 393, 737, 741, 2034 735, 800, 736, 789, 790, 738, 847, 848, 849, 463, 2035 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 2036 474, 475, 476, 477, 478, 479, 480, 0, 822, 731, 2037 0, 739, 740, 0, 828, 837, 838, 793, 181, 195, 2038 290, 852, 362, 252, 459, 439, 435, 717, 734, 228, 2039 745, 0, 0, 758, 766, 767, 779, 781, 782, 783, 2040 784, 314, 801, 802, 804, 812, 814, 817, 819, 824, 2041 834, 855, 183, 184, 196, 205, 215, 227, 242, 250, 2042 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 2043 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 2044 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 2045 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 2046 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 2047 449, 0, 299, 792, 798, 301, 246, 264, 275, 807, 2048 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 2049 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 2050 213, 384, 404, 405, 406, 408, 313, 232, 348, 788, 2051 816, 297, 410, 411, 271, 841, 827, 409, 0, 774, 2052 844, 744, 762, 854, 765, 768, 809, 723, 787, 332, 2053 759, 0, 748, 719, 754, 720, 746, 776, 236, 743, 2054 829, 791, 843, 288, 233, 725, 749, 346, 764, 187, 2055 811, 385, 221, 298, 295, 416, 247, 239, 235, 220, 2056 272, 304, 344, 403, 338, 850, 292, 797, 0, 394, 2057 317, 0, 0, 0, 778, 833, 785, 823, 773, 810, 2058 733, 796, 845, 760, 806, 846, 278, 219, 186, 329, 2059 395, 251, 0, 81, 0, 0, 178, 179, 180, 0, 2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 2061 0, 217, 756, 803, 840, 757, 805, 231, 276, 238, 2062 230, 413, 851, 832, 0, 0, 202, 842, 780, 0, 2063 808, 0, 857, 718, 799, 0, 721, 724, 853, 836, 2064 752, 241, 0, 0, 0, 0, 0, 0, 0, 777, 2065 786, 820, 771, 0, 0, 0, 0, 0, 0, 0, 2066 750, 0, 795, 0, 0, 0, 729, 722, 0, 0, 2067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 775, 2071 0, 0, 0, 732, 0, 751, 821, 0, 716, 259, 2072 726, 318, 0, 825, 835, 772, 445, 839, 770, 769, 2073 815, 730, 831, 763, 287, 728, 284, 182, 198, 0, 2074 761, 328, 368, 374, 830, 747, 755, 222, 753, 372, 2075 342, 430, 206, 249, 365, 347, 370, 794, 813, 371, 2076 293, 418, 360, 428, 446, 447, 229, 322, 436, 407, 2077 442, 458, 199, 226, 336, 400, 433, 391, 315, 414, 2078 415, 283, 390, 257, 185, 291, 452, 197, 380, 214, 2079 204, 190, 402, 426, 211, 383, 0, 0, 460, 192, 2080 424, 399, 311, 280, 281, 191, 0, 364, 234, 255, 2081 224, 331, 421, 422, 223, 461, 201, 441, 194, 1035, 2082 440, 324, 417, 425, 312, 303, 193, 423, 310, 302, 2083 286, 245, 266, 358, 296, 359, 267, 320, 319, 321, 2084 0, 188, 0, 396, 434, 462, 207, 208, 209, 742, 2085 244, 248, 254, 256, 262, 263, 270, 289, 335, 357, 2086 355, 361, 826, 412, 429, 437, 444, 450, 451, 453, 2087 454, 455, 456, 457, 323, 269, 392, 285, 294, 818, 2088 856, 341, 373, 212, 432, 393, 737, 741, 735, 800, 2089 736, 789, 790, 738, 847, 848, 849, 463, 464, 465, 2090 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 2091 476, 477, 478, 479, 480, 0, 822, 731, 0, 739, 2092 740, 0, 828, 837, 838, 793, 181, 195, 290, 852, 2093 362, 252, 459, 439, 435, 717, 734, 228, 745, 0, 2094 0, 758, 766, 767, 779, 781, 782, 783, 784, 314, 2095 801, 802, 804, 812, 814, 817, 819, 824, 834, 855, 2096 183, 184, 196, 205, 215, 227, 242, 250, 260, 265, 2097 268, 273, 274, 277, 282, 300, 305, 306, 307, 308, 2098 325, 326, 327, 330, 333, 334, 337, 339, 340, 343, 2099 350, 351, 352, 353, 354, 356, 363, 367, 375, 376, 2100 377, 378, 379, 381, 382, 386, 387, 388, 389, 397, 2101 401, 419, 420, 431, 443, 448, 261, 427, 449, 0, 2102 299, 792, 798, 301, 246, 264, 275, 807, 438, 398, 2103 200, 369, 253, 189, 218, 203, 225, 240, 243, 279, 2104 309, 316, 345, 349, 258, 237, 216, 366, 213, 384, 2105 404, 405, 406, 408, 313, 232, 348, 788, 816, 297, 2106 410, 411, 271, 841, 827, 409, 0, 774, 844, 744, 2107 762, 854, 765, 768, 809, 723, 787, 332, 759, 0, 2108 748, 719, 754, 720, 746, 776, 236, 743, 829, 791, 2109 843, 288, 233, 725, 749, 346, 764, 187, 811, 385, 2110 221, 298, 295, 416, 247, 239, 235, 220, 272, 304, 2111 344, 403, 338, 850, 292, 797, 0, 394, 317, 0, 2112 0, 0, 778, 833, 785, 823, 773, 810, 733, 796, 2113 845, 760, 806, 846, 278, 219, 186, 329, 395, 251, 2114 0, 0, 0, 0, 178, 179, 180, 0, 0, 0, 2115 0, 0, 0, 0, 0, 0, 0, 210, 0, 217, 2116 756, 803, 840, 757, 805, 231, 276, 238, 230, 413, 2117 851, 832, 0, 0, 202, 842, 780, 0, 808, 0, 2118 857, 718, 799, 0, 721, 724, 853, 836, 752, 241, 2119 0, 0, 0, 0, 0, 0, 0, 777, 786, 820, 2120 771, 0, 0, 0, 0, 0, 0, 0, 750, 0, 2121 795, 0, 0, 0, 729, 722, 0, 0, 0, 0, 2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2125 0, 0, 0, 0, 0, 0, 0, 775, 0, 0, 2126 0, 732, 0, 751, 821, 0, 716, 259, 726, 318, 2127 0, 825, 835, 772, 445, 839, 770, 769, 815, 730, 2128 831, 763, 287, 728, 284, 182, 198, 0, 761, 328, 2129 368, 374, 830, 747, 755, 222, 753, 372, 342, 430, 2130 206, 249, 365, 347, 370, 794, 813, 371, 293, 418, 2131 360, 428, 446, 447, 229, 322, 436, 407, 442, 458, 2132 199, 226, 336, 400, 433, 391, 315, 414, 415, 283, 2133 390, 257, 185, 291, 452, 197, 380, 214, 204, 190, 2134 402, 426, 211, 383, 0, 0, 460, 192, 424, 399, 2135 311, 280, 281, 191, 0, 364, 234, 255, 224, 331, 2136 421, 422, 223, 461, 201, 441, 194, 1035, 440, 324, 2137 417, 425, 312, 303, 193, 423, 310, 302, 286, 245, 2138 266, 358, 296, 359, 267, 320, 319, 321, 0, 188, 2139 0, 396, 434, 462, 207, 208, 209, 742, 244, 248, 2140 254, 256, 262, 263, 270, 289, 335, 357, 355, 361, 2141 826, 412, 429, 437, 444, 450, 451, 453, 454, 455, 2142 456, 457, 323, 269, 392, 285, 294, 818, 856, 341, 2143 373, 212, 432, 393, 737, 741, 735, 800, 736, 789, 2144 790, 738, 847, 848, 849, 463, 464, 465, 466, 467, 2145 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 2146 478, 479, 480, 0, 822, 731, 0, 739, 740, 0, 2147 828, 837, 838, 793, 181, 195, 290, 852, 362, 252, 2148 459, 439, 435, 717, 734, 228, 745, 0, 0, 758, 2149 766, 767, 779, 781, 782, 783, 784, 314, 801, 802, 2150 804, 812, 814, 817, 819, 824, 834, 855, 183, 184, 2151 196, 205, 215, 227, 242, 250, 260, 265, 268, 273, 2152 274, 277, 282, 300, 305, 306, 307, 308, 325, 326, 2153 327, 330, 333, 334, 337, 339, 340, 343, 350, 351, 2154 352, 353, 354, 356, 363, 367, 375, 376, 377, 378, 2155 379, 381, 382, 386, 387, 388, 389, 397, 401, 419, 2156 420, 431, 443, 448, 261, 427, 449, 0, 299, 792, 2157 798, 301, 246, 264, 275, 807, 438, 398, 200, 369, 2158 253, 189, 218, 203, 225, 240, 243, 279, 309, 316, 2159 345, 349, 258, 237, 216, 366, 213, 384, 404, 405, 2160 406, 408, 313, 232, 348, 788, 816, 297, 410, 411, 2161 271, 841, 827, 409, 0, 774, 844, 744, 762, 854, 2162 765, 768, 809, 723, 787, 332, 759, 0, 748, 719, 2163 754, 720, 746, 776, 236, 743, 829, 791, 843, 288, 2164 233, 725, 749, 346, 764, 187, 811, 385, 221, 298, 2165 295, 416, 247, 239, 235, 220, 272, 304, 344, 403, 2166 338, 850, 292, 797, 0, 394, 317, 0, 0, 0, 2167 778, 833, 785, 823, 773, 810, 733, 796, 845, 760, 2168 806, 846, 278, 219, 186, 329, 395, 251, 0, 0, 2169 0, 0, 178, 179, 180, 0, 0, 0, 0, 0, 2170 0, 0, 0, 0, 0, 210, 0, 217, 756, 803, 2171 840, 757, 805, 231, 276, 238, 230, 413, 851, 832, 2172 0, 0, 858, 842, 780, 0, 808, 0, 857, 718, 2173 799, 0, 721, 724, 853, 836, 752, 241, 0, 0, 2174 0, 0, 0, 0, 0, 777, 786, 820, 771, 0, 2175 0, 0, 0, 0, 0, 0, 750, 0, 795, 0, 2176 0, 0, 729, 722, 0, 0, 0, 0, 0, 0, 2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2180 0, 0, 0, 0, 0, 775, 0, 0, 0, 732, 2181 0, 751, 821, 0, 716, 259, 726, 318, 0, 825, 2182 835, 772, 445, 839, 770, 769, 815, 730, 831, 763, 2183 287, 728, 284, 182, 198, 0, 761, 328, 368, 374, 2184 830, 747, 755, 222, 753, 372, 342, 430, 206, 249, 2185 365, 347, 370, 794, 813, 371, 293, 418, 360, 428, 2186 446, 447, 229, 322, 436, 407, 442, 458, 199, 226, 2187 336, 400, 433, 391, 315, 414, 415, 283, 390, 257, 2188 185, 291, 452, 197, 380, 214, 204, 190, 402, 426, 2189 211, 383, 0, 0, 460, 192, 424, 399, 311, 280, 2190 281, 191, 0, 364, 234, 255, 224, 331, 421, 422, 2191 223, 461, 201, 441, 194, 727, 440, 324, 417, 425, 2192 312, 303, 193, 423, 310, 302, 286, 245, 266, 358, 2193 296, 359, 267, 320, 319, 321, 0, 188, 0, 396, 2194 434, 462, 207, 208, 209, 742, 244, 248, 254, 256, 2195 262, 263, 270, 289, 335, 357, 355, 361, 826, 412, 2196 429, 437, 444, 450, 451, 453, 454, 455, 456, 457, 2197 715, 709, 708, 285, 294, 818, 856, 341, 373, 212, 2198 432, 393, 737, 741, 735, 800, 736, 789, 790, 738, 2199 847, 848, 849, 463, 464, 465, 466, 467, 468, 469, 2200 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 2201 480, 0, 822, 731, 0, 739, 740, 0, 828, 837, 2202 838, 793, 181, 195, 290, 852, 362, 252, 459, 439, 2203 435, 717, 734, 228, 745, 0, 0, 758, 766, 767, 2204 779, 781, 782, 783, 784, 314, 801, 802, 804, 812, 2205 814, 817, 819, 824, 834, 855, 183, 184, 196, 205, 2206 215, 227, 242, 250, 260, 265, 268, 273, 274, 277, 2207 282, 300, 305, 306, 307, 308, 325, 326, 327, 330, 2208 333, 334, 337, 339, 340, 343, 350, 351, 352, 353, 2209 354, 356, 363, 367, 375, 376, 377, 378, 379, 381, 2210 382, 386, 387, 388, 389, 397, 401, 419, 420, 431, 2211 443, 448, 261, 427, 449, 0, 299, 792, 798, 301, 2212 246, 264, 275, 807, 438, 398, 200, 369, 253, 189, 2213 218, 203, 225, 240, 243, 279, 309, 316, 345, 349, 2214 258, 237, 216, 366, 213, 384, 404, 405, 406, 408, 2215 313, 232, 348, 788, 816, 297, 410, 411, 271, 841, 2216 827, 409, 0, 774, 844, 744, 762, 854, 765, 768, 2217 809, 723, 787, 332, 759, 0, 748, 719, 754, 720, 2218 746, 776, 236, 743, 829, 791, 843, 288, 233, 725, 2219 749, 346, 764, 187, 811, 385, 221, 298, 295, 416, 2220 247, 239, 235, 220, 272, 304, 344, 403, 338, 850, 2221 292, 797, 0, 394, 317, 0, 0, 0, 778, 833, 2222 785, 823, 773, 810, 733, 796, 845, 760, 806, 846, 2223 278, 219, 186, 329, 395, 251, 0, 0, 0, 0, 2224 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, 2225 0, 0, 0, 210, 0, 217, 756, 803, 840, 757, 2226 805, 231, 276, 238, 230, 413, 851, 832, 0, 0, 2227 858, 842, 780, 0, 808, 0, 857, 718, 799, 0, 2228 721, 724, 853, 836, 752, 241, 0, 0, 0, 0, 2229 0, 0, 0, 777, 786, 820, 771, 0, 0, 0, 2230 0, 0, 0, 0, 750, 0, 795, 0, 0, 0, 2231 729, 722, 0, 0, 0, 0, 0, 0, 0, 0, 2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2235 0, 0, 0, 775, 0, 0, 0, 732, 0, 751, 2236 821, 0, 716, 259, 726, 318, 0, 825, 835, 772, 2237 445, 839, 770, 769, 815, 730, 831, 763, 287, 728, 2238 284, 182, 198, 0, 761, 328, 368, 374, 830, 747, 2239 755, 222, 753, 372, 342, 430, 206, 249, 365, 347, 2240 370, 794, 813, 371, 293, 418, 360, 428, 446, 447, 2241 229, 322, 436, 407, 442, 458, 199, 226, 336, 400, 2242 433, 391, 315, 414, 415, 283, 390, 257, 185, 291, 2243 452, 197, 380, 214, 204, 190, 402, 1209, 211, 383, 2244 0, 0, 460, 192, 424, 399, 311, 280, 281, 191, 2245 0, 364, 234, 255, 224, 331, 421, 422, 223, 461, 2246 201, 441, 194, 727, 440, 324, 417, 425, 312, 303, 2247 193, 423, 310, 302, 286, 245, 266, 358, 296, 359, 2248 267, 320, 319, 321, 0, 188, 0, 396, 434, 462, 2249 207, 208, 209, 742, 244, 248, 254, 256, 262, 263, 2250 270, 289, 335, 357, 355, 361, 826, 412, 429, 437, 2251 444, 450, 451, 453, 454, 455, 456, 457, 715, 709, 2252 708, 285, 294, 818, 856, 341, 373, 212, 432, 393, 2253 737, 741, 735, 800, 736, 789, 790, 738, 847, 848, 2254 849, 463, 464, 465, 466, 467, 468, 469, 470, 471, 2255 472, 473, 474, 475, 476, 477, 478, 479, 480, 0, 2256 822, 731, 0, 739, 740, 0, 828, 837, 838, 793, 2257 181, 195, 290, 852, 362, 252, 459, 439, 435, 717, 2258 734, 228, 745, 0, 0, 758, 766, 767, 779, 781, 2259 782, 783, 784, 314, 801, 802, 804, 812, 814, 817, 2260 819, 824, 834, 855, 183, 184, 196, 205, 215, 227, 2261 242, 250, 260, 265, 268, 273, 274, 277, 282, 300, 2262 305, 306, 307, 308, 325, 326, 327, 330, 333, 334, 2263 337, 339, 340, 343, 350, 351, 352, 353, 354, 356, 2264 363, 367, 375, 376, 377, 378, 379, 381, 382, 386, 2265 387, 388, 389, 397, 401, 419, 420, 431, 443, 448, 2266 261, 427, 449, 0, 299, 792, 798, 301, 246, 264, 2267 275, 807, 438, 398, 200, 369, 253, 189, 218, 203, 2268 225, 240, 243, 279, 309, 316, 345, 349, 258, 237, 2269 216, 366, 213, 384, 404, 405, 406, 408, 313, 232, 2270 348, 788, 816, 297, 410, 411, 271, 841, 827, 409, 2271 0, 774, 844, 744, 762, 854, 765, 768, 809, 723, 2272 787, 332, 759, 0, 748, 719, 754, 720, 746, 776, 2273 236, 743, 829, 791, 843, 288, 233, 725, 749, 346, 2274 764, 187, 811, 385, 221, 298, 295, 416, 247, 239, 2275 235, 220, 272, 304, 344, 403, 338, 850, 292, 797, 2276 0, 394, 317, 0, 0, 0, 778, 833, 785, 823, 2277 773, 810, 733, 796, 845, 760, 806, 846, 278, 219, 2278 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 2279 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2280 0, 210, 0, 217, 756, 803, 840, 757, 805, 231, 2281 276, 238, 230, 413, 851, 832, 0, 0, 858, 842, 2282 780, 0, 808, 0, 857, 718, 799, 0, 721, 724, 2283 853, 836, 752, 241, 0, 0, 0, 0, 0, 0, 2284 0, 777, 786, 820, 771, 0, 0, 0, 0, 0, 2285 0, 0, 750, 0, 795, 0, 0, 0, 729, 722, 2286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2287 0, 0, 0, 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, 775, 0, 0, 0, 732, 0, 751, 821, 0, 2291 716, 259, 726, 318, 0, 825, 835, 772, 445, 839, 2292 770, 769, 815, 730, 831, 763, 287, 728, 284, 182, 2293 198, 0, 761, 328, 368, 374, 830, 747, 755, 222, 2294 753, 372, 342, 430, 206, 249, 365, 347, 370, 794, 2295 813, 371, 293, 418, 360, 428, 446, 447, 229, 322, 2296 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 2297 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 2298 380, 214, 204, 190, 402, 706, 211, 383, 0, 0, 2299 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 2300 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 2301 194, 727, 440, 324, 417, 425, 312, 303, 193, 423, 2302 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 2303 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 2304 209, 742, 244, 248, 254, 256, 262, 263, 270, 289, 2305 335, 357, 355, 361, 826, 412, 429, 437, 444, 450, 2306 451, 453, 454, 455, 456, 457, 715, 709, 708, 285, 2307 294, 818, 856, 341, 373, 212, 432, 393, 737, 741, 2308 735, 800, 736, 789, 790, 738, 847, 848, 849, 463, 2309 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 2310 474, 475, 476, 477, 478, 479, 480, 0, 822, 731, 2311 0, 739, 740, 0, 828, 837, 838, 793, 181, 195, 2312 290, 852, 362, 252, 459, 439, 435, 717, 734, 228, 2313 745, 0, 0, 758, 766, 767, 779, 781, 782, 783, 2314 784, 314, 801, 802, 804, 812, 814, 817, 819, 824, 2315 834, 855, 183, 184, 196, 205, 215, 227, 242, 250, 2316 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 2317 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 2318 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 2319 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 2320 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 2321 449, 0, 299, 792, 798, 301, 246, 264, 275, 807, 2322 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 2323 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 2324 213, 384, 404, 405, 406, 408, 313, 232, 348, 788, 2325 816, 297, 410, 411, 271, 409, 0, 0, 0, 0, 2326 0, 0, 0, 0, 0, 0, 0, 332, 0, 0, 2327 1556, 0, 561, 0, 0, 0, 236, 566, 0, 0, 2328 0, 288, 233, 0, 1557, 346, 0, 187, 0, 385, 2329 221, 298, 295, 416, 247, 239, 235, 220, 272, 304, 2330 344, 403, 338, 573, 292, 0, 0, 394, 317, 0, 2331 0, 0, 0, 0, 568, 569, 0, 0, 0, 0, 2332 0, 0, 0, 0, 278, 219, 186, 329, 395, 251, 2333 0, 81, 0, 0, 178, 179, 180, 604, 611, 612, 2334 613, 614, 615, 605, 607, 0, 0, 210, 606, 217, 2335 582, 609, 616, 617, 0, 231, 276, 238, 230, 413, 2336 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 2337 0, 0, 544, 558, 0, 572, 0, 0, 0, 241, 2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2339 0, 0, 0, 0, 555, 556, 695, 0, 0, 0, 2340 588, 0, 557, 0, 0, 565, 618, 619, 620, 621, 2341 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 2342 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 2343 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 2344 652, 653, 654, 655, 656, 657, 658, 567, 0, 0, 2345 0, 0, 0, 0, 0, 0, 0, 259, 0, 318, 2346 0, 587, 0, 0, 445, 0, 0, 585, 0, 0, 2347 0, 0, 287, 0, 284, 182, 198, 0, 0, 328, 2348 368, 374, 0, 0, 0, 222, 0, 372, 342, 430, 2349 206, 249, 365, 347, 370, 0, 0, 371, 293, 418, 2350 360, 428, 446, 447, 229, 322, 436, 407, 442, 458, 2351 199, 226, 336, 400, 433, 391, 315, 414, 415, 283, 2352 390, 257, 185, 291, 452, 197, 380, 214, 204, 190, 2353 402, 426, 211, 383, 0, 0, 460, 192, 424, 399, 2354 311, 280, 281, 191, 0, 364, 234, 255, 224, 331, 2355 421, 422, 223, 461, 201, 441, 194, 0, 440, 324, 2356 417, 425, 312, 303, 193, 423, 310, 302, 286, 245, 2357 266, 358, 296, 359, 267, 320, 319, 321, 0, 188, 2358 0, 396, 434, 462, 207, 208, 209, 0, 244, 248, 2359 254, 256, 262, 263, 270, 289, 335, 357, 355, 361, 2360 0, 412, 429, 437, 444, 450, 451, 453, 454, 455, 2361 456, 457, 323, 269, 392, 285, 294, 0, 0, 341, 2362 373, 212, 432, 393, 594, 586, 577, 598, 579, 595, 2363 596, 574, 575, 578, 597, 463, 464, 465, 466, 467, 2364 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 2365 478, 479, 480, 0, 589, 564, 563, 0, 570, 571, 2366 0, 580, 581, 562, 181, 195, 290, 0, 362, 252, 2367 459, 439, 435, 0, 0, 228, 0, 0, 0, 0, 2368 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 2369 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 2370 196, 205, 215, 227, 242, 250, 260, 265, 268, 273, 2371 274, 277, 282, 300, 305, 306, 307, 308, 325, 326, 2372 327, 330, 333, 334, 337, 339, 340, 343, 350, 351, 2373 352, 353, 354, 356, 363, 367, 375, 376, 377, 378, 2374 379, 381, 382, 386, 387, 388, 389, 397, 401, 419, 2375 420, 431, 443, 448, 261, 427, 449, 0, 299, 0, 2376 0, 301, 246, 264, 275, 0, 438, 398, 200, 369, 2377 253, 189, 218, 203, 225, 240, 243, 279, 309, 316, 2378 345, 349, 258, 237, 216, 366, 213, 384, 404, 405, 2379 406, 408, 313, 232, 348, 409, 0, 297, 410, 411, 2380 271, 0, 0, 0, 0, 0, 0, 332, 0, 0, 2381 0, 0, 561, 0, 0, 0, 236, 566, 0, 0, 2382 0, 288, 233, 0, 0, 346, 0, 187, 0, 385, 2383 221, 298, 295, 416, 247, 239, 235, 220, 272, 304, 2384 344, 403, 338, 573, 292, 0, 0, 394, 317, 0, 2385 0, 0, 0, 0, 568, 569, 0, 0, 0, 0, 2386 0, 0, 1630, 0, 278, 219, 186, 329, 395, 251, 2387 0, 81, 0, 0, 178, 179, 180, 604, 611, 612, 2388 613, 614, 615, 605, 607, 0, 0, 210, 606, 217, 2389 582, 609, 616, 617, 1631, 231, 276, 238, 230, 413, 2390 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 2391 0, 0, 544, 558, 0, 572, 0, 0, 0, 241, 2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2393 0, 0, 0, 0, 555, 556, 0, 0, 0, 0, 2394 588, 0, 557, 0, 0, 565, 618, 619, 620, 621, 2395 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 2396 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 2397 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 2398 652, 653, 654, 655, 656, 657, 658, 567, 0, 0, 2399 0, 0, 0, 0, 0, 0, 0, 259, 0, 318, 2400 0, 587, 0, 0, 445, 0, 0, 585, 0, 0, 2401 0, 0, 287, 0, 284, 182, 198, 0, 0, 328, 2402 368, 374, 0, 0, 0, 222, 0, 372, 342, 430, 2403 206, 249, 365, 347, 370, 0, 0, 371, 293, 418, 2404 360, 428, 446, 447, 229, 322, 436, 407, 442, 458, 2405 199, 226, 336, 400, 433, 391, 315, 414, 415, 283, 2406 390, 257, 185, 291, 452, 197, 380, 214, 204, 190, 2407 402, 426, 211, 383, 0, 0, 460, 192, 424, 399, 2408 311, 280, 281, 191, 0, 364, 234, 255, 224, 331, 2409 421, 422, 223, 461, 201, 441, 194, 0, 440, 324, 2410 417, 425, 312, 303, 193, 423, 310, 302, 286, 245, 2411 266, 358, 296, 359, 267, 320, 319, 321, 0, 188, 2412 0, 396, 434, 462, 207, 208, 209, 0, 244, 248, 2413 254, 256, 262, 263, 270, 289, 335, 357, 355, 361, 2414 0, 412, 429, 437, 444, 450, 451, 453, 454, 455, 2415 456, 457, 323, 269, 392, 285, 294, 0, 0, 341, 2416 373, 212, 432, 393, 594, 586, 577, 598, 579, 595, 2417 596, 574, 575, 578, 597, 463, 464, 465, 466, 467, 2418 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 2419 478, 479, 480, 0, 589, 564, 563, 0, 570, 571, 2420 0, 580, 581, 562, 181, 195, 290, 0, 362, 252, 2421 459, 439, 435, 0, 0, 228, 0, 0, 0, 0, 2422 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 2423 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 2424 196, 205, 215, 227, 242, 250, 260, 265, 268, 273, 2425 274, 277, 282, 300, 305, 306, 307, 308, 325, 326, 2426 327, 330, 333, 334, 337, 339, 340, 343, 350, 351, 2427 352, 353, 354, 356, 363, 367, 375, 376, 377, 378, 2428 379, 381, 382, 386, 387, 388, 389, 397, 401, 419, 2429 420, 431, 443, 448, 261, 427, 449, 0, 299, 0, 2430 0, 301, 246, 264, 275, 0, 438, 398, 200, 369, 2431 253, 189, 218, 203, 225, 240, 243, 279, 309, 316, 2432 345, 349, 258, 237, 216, 366, 213, 384, 404, 405, 2433 406, 408, 313, 232, 348, 72, 409, 297, 410, 411, 2434 271, 0, 0, 0, 0, 0, 0, 0, 332, 0, 2435 0, 0, 0, 561, 0, 0, 0, 236, 566, 0, 2436 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2437 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2438 304, 344, 403, 338, 573, 292, 0, 0, 394, 317, 2439 0, 0, 0, 0, 0, 568, 569, 0, 0, 0, 2440 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2441 251, 0, 81, 0, 0, 178, 179, 180, 604, 611, 2442 612, 613, 614, 615, 605, 607, 0, 0, 210, 606, 2443 217, 582, 609, 616, 617, 0, 231, 276, 238, 230, 2444 413, 0, 0, 0, 0, 202, 0, 0, 0, 0, 2445 0, 0, 0, 544, 558, 0, 572, 0, 0, 0, 2446 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 2448 0, 588, 0, 557, 0, 0, 565, 618, 619, 620, 2449 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 2450 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 2451 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 2452 651, 652, 653, 654, 655, 656, 657, 658, 567, 0, 2453 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2454 318, 0, 587, 0, 0, 445, 0, 0, 585, 0, 2455 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2456 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2457 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2458 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2459 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2460 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2461 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2462 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2463 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2464 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2465 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2466 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2467 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2468 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2469 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2470 341, 373, 212, 432, 393, 594, 586, 577, 598, 579, 2471 595, 596, 574, 575, 578, 597, 463, 464, 465, 466, 2472 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2473 477, 478, 479, 480, 0, 589, 564, 563, 0, 570, 2474 571, 0, 580, 581, 562, 181, 195, 290, 80, 362, 2475 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2476 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2478 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2479 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2480 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2481 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2482 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2483 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2484 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2485 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2486 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2487 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2488 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2489 0, 0, 0, 561, 0, 0, 0, 236, 566, 0, 2490 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2491 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2492 304, 344, 403, 338, 573, 292, 0, 0, 394, 317, 2493 0, 0, 0, 0, 0, 568, 569, 0, 0, 0, 2494 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2495 251, 0, 81, 0, 0, 178, 179, 180, 604, 611, 2496 612, 613, 614, 615, 605, 607, 0, 0, 210, 606, 2497 217, 582, 609, 616, 617, 0, 231, 276, 238, 230, 2498 413, 0, 0, 0, 0, 202, 0, 0, 0, 0, 2499 0, 0, 0, 544, 558, 0, 572, 0, 0, 0, 2500 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2501 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 2502 0, 588, 0, 557, 0, 0, 565, 618, 619, 620, 2503 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 2504 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 2505 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 2506 651, 652, 653, 654, 655, 656, 657, 658, 567, 0, 2507 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2508 318, 0, 587, 0, 0, 445, 0, 0, 585, 0, 2509 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2510 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2511 430, 206, 249, 365, 347, 370, 2428, 0, 371, 293, 2512 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2513 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2514 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2515 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2516 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2517 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2518 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2519 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2520 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2521 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2522 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2523 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2524 341, 373, 212, 432, 393, 594, 586, 577, 598, 579, 2525 595, 596, 574, 575, 578, 597, 463, 464, 465, 466, 2526 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2527 477, 478, 479, 480, 0, 589, 564, 563, 0, 570, 2528 571, 0, 580, 581, 562, 181, 195, 290, 0, 362, 2529 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2530 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2531 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2532 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2533 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2534 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2535 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2536 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2537 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2538 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2539 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2540 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2541 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2542 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2543 0, 0, 0, 561, 0, 0, 0, 236, 566, 0, 2544 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2545 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2546 304, 344, 403, 338, 573, 292, 0, 0, 394, 317, 2547 0, 0, 0, 0, 0, 568, 569, 0, 0, 0, 2548 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2549 251, 0, 81, 0, 1177, 178, 179, 180, 604, 611, 2550 612, 613, 614, 615, 605, 607, 0, 0, 210, 606, 2551 217, 582, 609, 616, 617, 0, 231, 276, 238, 230, 2552 413, 0, 0, 0, 0, 202, 0, 0, 0, 0, 2553 0, 0, 0, 544, 558, 0, 572, 0, 0, 0, 2554 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2555 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 2556 0, 588, 0, 557, 0, 0, 565, 618, 619, 620, 2557 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 2558 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 2559 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 2560 651, 652, 653, 654, 655, 656, 657, 658, 567, 0, 2561 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2562 318, 0, 587, 0, 0, 445, 0, 0, 585, 0, 2563 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2564 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2565 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2566 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2567 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2568 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2569 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2570 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2571 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2572 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2573 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2574 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2575 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2576 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2577 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2578 341, 373, 212, 432, 393, 594, 586, 577, 598, 579, 2579 595, 596, 574, 575, 578, 597, 463, 464, 465, 466, 2580 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2581 477, 478, 479, 480, 0, 589, 564, 563, 0, 570, 2582 571, 0, 580, 581, 562, 181, 195, 290, 0, 362, 2583 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2584 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2586 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2587 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2588 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2589 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2590 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2591 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2592 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2593 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2594 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2595 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2596 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2597 0, 0, 0, 561, 0, 0, 0, 236, 566, 0, 2598 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2599 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2600 304, 344, 403, 338, 573, 292, 0, 0, 394, 317, 2601 0, 0, 0, 0, 0, 568, 569, 0, 0, 0, 2602 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2603 251, 0, 81, 0, 0, 178, 179, 180, 604, 611, 2604 612, 613, 614, 615, 605, 607, 0, 0, 210, 606, 2605 217, 582, 609, 616, 617, 0, 231, 276, 238, 230, 2606 413, 0, 0, 0, 0, 202, 0, 0, 0, 0, 2607 0, 0, 0, 544, 558, 0, 572, 0, 0, 0, 2608 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2609 0, 0, 0, 0, 0, 555, 556, 695, 0, 0, 2610 0, 588, 0, 557, 0, 0, 565, 618, 619, 620, 2611 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 2612 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 2613 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 2614 651, 652, 653, 654, 655, 656, 657, 658, 567, 0, 2615 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2616 318, 0, 587, 0, 0, 445, 0, 0, 585, 0, 2617 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2618 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2619 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2620 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2621 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2622 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2623 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2624 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2625 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2626 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2627 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2628 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2629 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2630 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2631 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2632 341, 373, 212, 432, 393, 594, 586, 577, 598, 579, 2633 595, 596, 574, 575, 578, 597, 463, 464, 465, 466, 2634 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2635 477, 478, 479, 480, 0, 589, 564, 563, 0, 570, 2636 571, 0, 580, 581, 562, 181, 195, 290, 0, 362, 2637 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2638 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2640 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2641 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2642 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2643 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2644 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2645 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2646 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2647 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2648 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2649 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2650 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2651 0, 0, 0, 561, 0, 0, 0, 236, 566, 0, 2652 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2653 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2654 304, 344, 403, 338, 573, 292, 0, 0, 394, 317, 2655 0, 0, 0, 0, 0, 568, 569, 0, 0, 0, 2656 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2657 251, 0, 81, 0, 0, 178, 179, 180, 604, 611, 2658 612, 613, 614, 615, 605, 607, 0, 0, 210, 606, 2659 217, 582, 609, 616, 617, 0, 231, 276, 238, 230, 2660 413, 0, 0, 0, 0, 202, 0, 0, 0, 0, 2661 0, 0, 0, 544, 558, 0, 572, 0, 0, 0, 2662 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 2664 0, 588, 0, 557, 0, 0, 565, 618, 619, 620, 2665 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 2666 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 2667 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 2668 651, 652, 653, 654, 655, 656, 657, 658, 567, 0, 2669 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2670 318, 0, 587, 0, 0, 445, 0, 0, 585, 0, 2671 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2672 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2673 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2674 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2675 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2676 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2677 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2678 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2679 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2680 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2681 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2682 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2683 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2684 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2685 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2686 341, 373, 212, 432, 393, 594, 586, 577, 598, 579, 2687 595, 596, 574, 575, 578, 597, 463, 464, 465, 466, 2688 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2689 477, 478, 479, 480, 0, 589, 564, 563, 0, 570, 2690 571, 0, 580, 581, 562, 181, 195, 290, 0, 362, 2691 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2692 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2694 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2695 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2696 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2697 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2698 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2699 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2700 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2701 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2702 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2703 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2704 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2705 0, 0, 0, 561, 0, 0, 0, 236, 566, 0, 2706 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2707 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2708 304, 344, 403, 338, 573, 292, 0, 0, 394, 317, 2709 0, 0, 0, 0, 0, 568, 569, 0, 0, 0, 2710 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2711 251, 0, 81, 0, 0, 178, 179, 180, 604, 611, 2712 612, 613, 614, 615, 605, 607, 0, 0, 210, 606, 2713 217, 582, 609, 616, 617, 0, 231, 276, 238, 230, 2714 413, 0, 0, 0, 0, 202, 0, 0, 0, 0, 2715 0, 0, 0, 0, 558, 0, 572, 0, 0, 0, 2716 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2717 0, 0, 0, 0, 0, 555, 556, 0, 0, 0, 2718 0, 588, 0, 557, 0, 0, 565, 618, 619, 620, 2719 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 2720 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 2721 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 2722 651, 652, 653, 654, 655, 656, 657, 658, 567, 0, 2723 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2724 318, 0, 587, 0, 0, 445, 0, 0, 585, 0, 2725 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2726 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2727 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2728 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2729 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2730 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2731 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2732 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2733 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2734 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2735 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2736 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2737 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2738 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2739 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2740 341, 373, 212, 432, 393, 594, 586, 577, 598, 579, 2741 595, 596, 574, 575, 578, 597, 463, 464, 465, 466, 2742 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2743 477, 478, 479, 480, 0, 589, 564, 563, 0, 570, 2744 571, 0, 580, 581, 562, 181, 195, 290, 0, 362, 2745 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2746 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2748 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2749 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2750 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2751 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2752 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2753 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2754 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2755 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2756 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2757 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2758 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2759 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 2760 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2761 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2762 304, 344, 403, 338, 0, 292, 0, 0, 394, 317, 2763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2764 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2765 251, 0, 0, 0, 0, 178, 179, 180, 0, 0, 2766 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 2767 217, 0, 0, 0, 0, 0, 231, 276, 238, 230, 2768 413, 0, 0, 0, 0, 202, 0, 904, 0, 0, 2769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2770 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2777 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2778 318, 0, 0, 0, 903, 445, 0, 0, 0, 0, 2779 0, 900, 901, 287, 866, 284, 182, 198, 894, 898, 2780 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2781 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2782 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2783 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2784 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2785 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2786 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2787 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2788 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2789 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2790 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2791 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2792 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2793 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2794 341, 373, 212, 432, 393, 0, 0, 0, 0, 0, 2795 0, 0, 0, 0, 0, 0, 463, 464, 465, 466, 2796 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2797 477, 478, 479, 480, 0, 0, 0, 0, 0, 0, 2798 0, 0, 0, 0, 0, 181, 195, 290, 0, 362, 2799 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2800 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2801 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2802 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2803 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2804 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2805 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2806 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2807 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2808 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2809 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2810 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2811 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2812 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2813 0, 0, 1197, 0, 0, 0, 0, 236, 0, 0, 2814 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2815 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2816 304, 344, 403, 338, 0, 292, 0, 0, 394, 317, 2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2818 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2819 251, 0, 0, 0, 0, 178, 179, 180, 0, 1199, 2820 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 2821 217, 0, 0, 0, 0, 0, 231, 276, 238, 230, 2822 413, 0, 0, 0, 0, 202, 0, 0, 0, 1066, 2823 0, 1067, 1068, 0, 0, 0, 0, 0, 0, 0, 2824 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2832 318, 0, 0, 0, 0, 445, 0, 0, 0, 0, 2833 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2834 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2835 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2836 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2837 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2838 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2839 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2840 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2841 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2842 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2843 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2844 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2845 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2846 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2847 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2848 341, 373, 212, 432, 393, 0, 0, 0, 0, 0, 2849 0, 0, 0, 0, 0, 0, 463, 464, 465, 466, 2850 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2851 477, 478, 479, 480, 0, 0, 0, 0, 0, 0, 2852 0, 0, 0, 0, 0, 181, 195, 290, 0, 362, 2853 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2854 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2856 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2857 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2858 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2859 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2860 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2861 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2862 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2863 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2864 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2865 405, 406, 408, 313, 232, 348, 409, 0, 297, 410, 2866 411, 271, 0, 0, 0, 0, 0, 0, 332, 0, 2867 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 2868 0, 0, 288, 233, 0, 0, 346, 0, 187, 0, 2869 385, 221, 298, 295, 416, 247, 239, 235, 220, 272, 2870 304, 344, 403, 338, 0, 292, 0, 0, 394, 317, 2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2872 0, 0, 0, 0, 0, 278, 219, 186, 329, 395, 2873 251, 0, 0, 0, 0, 178, 179, 180, 1142, 1145, 2874 0, 0, 0, 0, 1141, 1144, 0, 0, 210, 1140, 2875 217, 0, 0, 0, 0, 0, 231, 276, 238, 230, 2876 413, 0, 0, 0, 0, 202, 0, 0, 0, 0, 2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2878 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2885 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 2886 318, 0, 0, 0, 0, 445, 0, 0, 0, 0, 2887 0, 0, 0, 287, 0, 284, 182, 198, 0, 0, 2888 328, 368, 374, 0, 0, 0, 222, 0, 372, 342, 2889 430, 206, 249, 365, 347, 370, 0, 0, 371, 293, 2890 418, 360, 428, 446, 447, 229, 322, 436, 407, 442, 2891 458, 199, 226, 336, 400, 433, 391, 315, 414, 415, 2892 283, 390, 257, 185, 291, 452, 197, 380, 214, 204, 2893 190, 402, 426, 211, 383, 0, 0, 460, 192, 424, 2894 399, 311, 280, 281, 191, 0, 364, 234, 255, 224, 2895 331, 421, 422, 223, 461, 201, 441, 194, 0, 440, 2896 324, 417, 425, 312, 303, 193, 423, 310, 302, 286, 2897 245, 266, 358, 296, 359, 267, 320, 319, 321, 0, 2898 188, 0, 396, 434, 462, 207, 208, 209, 0, 244, 2899 248, 254, 256, 262, 263, 270, 289, 335, 357, 355, 2900 361, 0, 412, 429, 437, 444, 450, 451, 453, 454, 2901 455, 456, 457, 323, 269, 392, 285, 294, 0, 0, 2902 341, 373, 212, 432, 393, 0, 0, 0, 0, 0, 2903 0, 0, 0, 0, 0, 0, 463, 464, 465, 466, 2904 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 2905 477, 478, 479, 480, 0, 0, 0, 0, 0, 0, 2906 0, 0, 0, 0, 0, 181, 195, 290, 0, 362, 2907 252, 459, 439, 435, 0, 0, 228, 0, 0, 0, 2908 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 2910 184, 196, 205, 215, 227, 242, 250, 260, 265, 268, 2911 273, 274, 277, 282, 300, 305, 306, 307, 308, 325, 2912 326, 327, 330, 333, 334, 337, 339, 340, 343, 350, 2913 351, 352, 353, 354, 356, 363, 367, 375, 376, 377, 2914 378, 379, 381, 382, 386, 387, 388, 389, 397, 401, 2915 419, 420, 431, 443, 448, 261, 427, 449, 0, 299, 2916 0, 0, 301, 246, 264, 275, 0, 438, 398, 200, 2917 369, 253, 189, 218, 203, 225, 240, 243, 279, 309, 2918 316, 345, 349, 258, 237, 216, 366, 213, 384, 404, 2919 405, 406, 408, 313, 232, 348, 72, 409, 297, 410, 2920 411, 271, 0, 0, 0, 0, 0, 0, 0, 332, 2921 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 2922 0, 0, 0, 288, 233, 0, 0, 346, 0, 187, 2923 0, 385, 221, 298, 295, 416, 247, 239, 235, 220, 2924 272, 304, 344, 403, 338, 0, 292, 0, 0, 394, 2925 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926 0, 0, 0, 0, 0, 0, 278, 219, 186, 329, 2927 395, 251, 0, 81, 0, 1177, 178, 179, 180, 0, 2928 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 2929 0, 217, 0, 0, 0, 0, 0, 231, 276, 238, 2930 230, 413, 0, 0, 0, 0, 202, 0, 0, 0, 2931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2932 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 2933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2939 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 2940 0, 318, 0, 0, 0, 0, 445, 0, 0, 0, 2941 0, 0, 0, 0, 287, 0, 284, 182, 198, 0, 2942 0, 328, 368, 374, 0, 0, 0, 222, 0, 372, 2943 342, 430, 206, 249, 365, 347, 370, 0, 0, 371, 2944 293, 418, 360, 428, 446, 447, 229, 322, 436, 407, 2945 442, 458, 199, 226, 336, 400, 433, 391, 315, 414, 2946 415, 283, 390, 257, 185, 291, 452, 197, 380, 214, 2947 204, 190, 402, 426, 211, 383, 0, 0, 460, 192, 2948 424, 399, 311, 280, 281, 191, 0, 364, 234, 255, 2949 224, 331, 421, 422, 223, 461, 201, 441, 194, 0, 2950 440, 324, 417, 425, 312, 303, 193, 423, 310, 302, 2951 286, 245, 266, 358, 296, 359, 267, 320, 319, 321, 2952 0, 188, 0, 396, 434, 462, 207, 208, 209, 0, 2953 244, 248, 254, 256, 262, 263, 270, 289, 335, 357, 2954 355, 361, 0, 412, 429, 437, 444, 450, 451, 453, 2955 454, 455, 456, 457, 323, 269, 392, 285, 294, 0, 2956 0, 341, 373, 212, 432, 393, 0, 0, 0, 0, 2957 0, 0, 0, 0, 0, 0, 0, 463, 464, 465, 2958 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 2959 476, 477, 478, 479, 480, 0, 0, 0, 0, 0, 2960 0, 0, 0, 0, 0, 0, 181, 195, 290, 80, 2961 362, 252, 459, 439, 435, 0, 0, 228, 0, 0, 2962 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 2963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2964 183, 184, 196, 205, 215, 227, 242, 250, 260, 265, 2965 268, 273, 274, 277, 282, 300, 305, 306, 307, 308, 2966 325, 326, 327, 330, 333, 334, 337, 339, 340, 343, 2967 350, 351, 352, 353, 354, 356, 363, 367, 375, 376, 2968 377, 378, 379, 381, 382, 386, 387, 388, 389, 397, 2969 401, 419, 420, 431, 443, 448, 261, 427, 449, 0, 2970 299, 0, 0, 301, 246, 264, 275, 0, 438, 398, 2971 200, 369, 253, 189, 218, 203, 225, 240, 243, 279, 2972 309, 316, 345, 349, 258, 237, 216, 366, 213, 384, 2973 404, 405, 406, 408, 313, 232, 348, 72, 409, 297, 2974 410, 411, 271, 0, 0, 0, 0, 0, 0, 0, 2975 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 2976 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 2977 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 2978 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 2979 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 2980 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 2981 329, 395, 251, 0, 81, 0, 0, 178, 179, 180, 2982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2983 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 2984 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 2985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 2987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2994 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 2995 0, 0, 0, 0, 0, 287, 0, 284, 182, 198, 2996 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 2997 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 2998 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 2999 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3000 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3001 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3002 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3003 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3004 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3005 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3006 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3007 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3008 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3009 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3010 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3011 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3012 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3013 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3014 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3015 80, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3017 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3018 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3019 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3020 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3021 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3022 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3023 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3024 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3025 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3026 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3027 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3028 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3029 332, 0, 0, 0, 1578, 0, 0, 0, 0, 236, 3030 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3031 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3032 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3033 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3034 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3035 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3036 0, 1368, 0, 0, 0, 0, 0, 0, 0, 0, 3037 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3038 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3040 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3048 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3049 0, 0, 0, 0, 0, 287, 0, 284, 182, 198, 3050 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3051 372, 342, 430, 206, 249, 365, 347, 370, 0, 1576, 3052 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3053 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3054 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3055 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3056 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3057 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3058 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3059 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3060 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3061 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3062 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3063 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3064 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3065 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3066 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3067 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3068 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3069 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3071 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3073 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3074 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3075 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3076 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3077 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3078 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3079 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3080 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3081 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3082 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3083 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3084 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3085 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3086 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3087 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3088 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3089 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3092 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3094 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3095 0, 860, 0, 0, 0, 0, 0, 0, 0, 0, 3096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3102 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3103 0, 0, 0, 0, 0, 287, 866, 284, 182, 198, 3104 864, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3105 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3106 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3107 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3108 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3109 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3110 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3111 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3112 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3113 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3114 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3115 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3116 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3117 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3118 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3119 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3120 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3121 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3122 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3123 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3125 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3126 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3127 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3128 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3129 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3130 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3131 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3132 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3133 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3134 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3135 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3136 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3137 332, 0, 0, 0, 1578, 0, 0, 0, 0, 236, 3138 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3139 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3140 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3141 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3142 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3143 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3144 0, 1368, 0, 0, 0, 0, 0, 0, 0, 0, 3145 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3146 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3148 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3156 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3157 0, 0, 0, 0, 0, 287, 0, 284, 182, 198, 3158 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3159 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3160 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3161 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3162 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3163 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3164 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3165 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3166 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3167 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3168 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3169 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3170 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3171 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3172 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3173 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3174 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3175 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3176 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3177 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3179 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3180 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3181 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3182 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3183 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3184 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3185 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3186 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3187 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3188 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3189 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3190 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3191 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3192 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3193 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3194 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3195 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3196 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3197 329, 395, 251, 0, 0, 0, 1177, 178, 179, 180, 3198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3199 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3200 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3202 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3210 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3211 0, 2293, 0, 0, 0, 287, 0, 284, 182, 198, 3212 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3213 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3214 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3215 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3216 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3217 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3218 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3219 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3220 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3221 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3222 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3223 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3224 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3225 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3226 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3227 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3228 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3229 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3230 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3231 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3233 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3235 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3236 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3237 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3238 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3239 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3240 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3241 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3242 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3243 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3244 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3245 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3246 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3247 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3248 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3249 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3250 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3251 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3252 0, 0, 0, 1828, 0, 0, 0, 1829, 0, 0, 3253 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3254 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3264 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3265 0, 0, 0, 0, 0, 287, 0, 284, 182, 198, 3266 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3267 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3268 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3269 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3270 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3271 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3272 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3273 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3274 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3275 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3276 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3277 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3278 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3279 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3280 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3281 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3282 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3283 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3284 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3285 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3287 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3288 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3289 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3290 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3291 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3292 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3293 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3294 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3295 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3296 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3297 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3298 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3299 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3300 1220, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3301 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3302 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3303 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3304 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3305 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3306 0, 1219, 0, 0, 0, 0, 0, 0, 0, 0, 3307 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3308 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3310 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3318 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3319 0, 0, 0, 0, 0, 287, 0, 284, 182, 198, 3320 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3321 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3322 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3323 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3324 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3325 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3326 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3327 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3328 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3329 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3330 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3331 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3332 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3333 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3334 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3335 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3336 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3337 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3338 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3339 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3341 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3342 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3343 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3344 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3345 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3346 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3347 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3348 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3349 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3350 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3351 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3352 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3353 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3354 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3355 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3356 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3357 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3358 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3359 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3361 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3362 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3364 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3372 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3373 0, 2400, 0, 0, 0, 287, 0, 284, 182, 198, 3374 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3375 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3376 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3377 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3378 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3379 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3380 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3381 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3382 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3383 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3384 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3385 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3386 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3387 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3388 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3389 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3390 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3391 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3392 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3393 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3395 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3396 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3397 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3398 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3399 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3400 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3401 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3402 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3403 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3404 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3405 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3406 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3407 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3408 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3409 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3410 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3411 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3412 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3413 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3415 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3416 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3418 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3426 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3427 0, 2293, 0, 0, 0, 287, 0, 284, 182, 198, 3428 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3429 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3430 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3431 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3432 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3433 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3434 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3435 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3436 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3437 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3438 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3439 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3440 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3441 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3442 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3443 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3444 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3445 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3446 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3447 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3449 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3450 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3451 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3452 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3453 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3454 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3455 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3456 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3457 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3458 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3459 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3460 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3461 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3462 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3463 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3464 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3465 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3466 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3467 329, 395, 251, 0, 81, 0, 0, 178, 179, 180, 3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3469 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3470 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3472 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3480 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3481 0, 0, 0, 0, 0, 287, 0, 284, 182, 198, 3482 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3483 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3484 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3485 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3486 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3487 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3488 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3489 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3490 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3491 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3492 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3493 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3494 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3495 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3496 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3497 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3498 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3499 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3500 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3501 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3503 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3504 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3505 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3506 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3507 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3508 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3509 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3510 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3511 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3512 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3513 384, 404, 405, 406, 408, 313, 232, 348, 409, 0, 3514 297, 410, 411, 271, 0, 0, 0, 0, 0, 0, 3515 332, 0, 0, 0, 0, 0, 0, 0, 0, 236, 3516 0, 0, 0, 0, 288, 233, 0, 0, 346, 0, 3517 187, 0, 385, 221, 298, 295, 416, 247, 239, 235, 3518 220, 272, 304, 344, 403, 338, 0, 292, 0, 0, 3519 394, 317, 0, 0, 0, 0, 0, 0, 0, 0, 3520 0, 0, 0, 0, 0, 0, 0, 278, 219, 186, 3521 329, 395, 251, 0, 0, 0, 0, 178, 179, 180, 3522 0, 1368, 0, 0, 0, 0, 0, 0, 0, 0, 3523 210, 0, 217, 0, 0, 0, 0, 0, 231, 276, 3524 238, 230, 413, 0, 0, 0, 0, 202, 0, 0, 3525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3526 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 3527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3534 259, 0, 318, 0, 0, 0, 0, 445, 0, 0, 3535 0, 0, 0, 0, 0, 287, 0, 284, 182, 198, 3536 0, 0, 328, 368, 374, 0, 0, 0, 222, 0, 3537 372, 342, 430, 206, 249, 365, 347, 370, 0, 0, 3538 371, 293, 418, 360, 428, 446, 447, 229, 322, 436, 3539 407, 442, 458, 199, 226, 336, 400, 433, 391, 315, 3540 414, 415, 283, 390, 257, 185, 291, 452, 197, 380, 3541 214, 204, 190, 402, 426, 211, 383, 0, 0, 460, 3542 192, 424, 399, 311, 280, 281, 191, 0, 364, 234, 3543 255, 224, 331, 421, 422, 223, 461, 201, 441, 194, 3544 0, 440, 324, 417, 425, 312, 303, 193, 423, 310, 3545 302, 286, 245, 266, 358, 296, 359, 267, 320, 319, 3546 321, 0, 188, 0, 396, 434, 462, 207, 208, 209, 3547 0, 244, 248, 254, 256, 262, 263, 270, 289, 335, 3548 357, 355, 361, 0, 412, 429, 437, 444, 450, 451, 3549 453, 454, 455, 456, 457, 323, 269, 392, 285, 294, 3550 0, 0, 341, 373, 212, 432, 393, 0, 0, 0, 3551 0, 0, 0, 0, 0, 0, 0, 0, 463, 464, 3552 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 3553 475, 476, 477, 478, 479, 480, 0, 0, 0, 0, 3554 0, 0, 0, 0, 0, 0, 0, 181, 195, 290, 3555 0, 362, 252, 459, 439, 435, 0, 0, 228, 0, 3556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3557 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3558 0, 183, 184, 196, 205, 215, 227, 242, 250, 260, 3559 265, 268, 273, 274, 277, 282, 300, 305, 306, 307, 3560 308, 325, 326, 327, 330, 333, 334, 337, 339, 340, 3561 343, 350, 351, 352, 353, 354, 356, 363, 367, 375, 3562 376, 377, 378, 379, 381, 382, 386, 387, 388, 389, 3563 397, 401, 419, 420, 431, 443, 448, 261, 427, 449, 3564 0, 299, 0, 0, 301, 246, 264, 275, 0, 438, 3565 398, 200, 369, 253, 189, 218, 203, 225, 240, 243, 3566 279, 309, 316, 345, 349, 258, 237, 216, 366, 213, 3567 384, 404, 405, 406, 408, 313, 232, 348, 0, 409, 3568 297, 410, 411, 271, 1619, 0, 0, 0, 0, 0, 3569 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 3570 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3571 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3572 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3573 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3574 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3575 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3576 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3577 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3578 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3580 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 3581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3588 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3589 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3590 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3591 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3592 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3593 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3594 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3595 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3596 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3597 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3598 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3599 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3600 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3601 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3602 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3603 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3604 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3605 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3606 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3607 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3608 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3609 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 3610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3611 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3612 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3613 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3614 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3615 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3616 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3617 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3618 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3619 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3620 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3621 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 3622 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 3623 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 3624 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3625 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3626 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3627 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3628 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3629 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3630 180, 0, 1199, 0, 0, 0, 0, 0, 0, 0, 3631 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3632 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3634 0, 0, 0, 241, 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, 0, 0, 0, 0, 0, 0, 0, 3638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3642 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3643 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3644 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3645 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3646 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3647 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3648 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3649 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3650 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3651 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3652 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3653 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3654 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3655 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3656 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3657 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3658 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3659 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3660 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3661 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3662 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3663 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 3664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3665 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3666 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3667 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3668 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3669 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3670 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3671 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3672 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3673 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3674 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3675 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 3676 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 3677 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 3678 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3679 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3680 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3681 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3682 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3683 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3684 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3685 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3686 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3688 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 3689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3690 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 3691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3696 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3697 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3698 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3699 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3700 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3701 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3702 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3703 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3704 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3705 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3706 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3707 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3708 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3709 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3710 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3711 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3712 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3713 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3714 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3715 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3716 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3717 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 3718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3719 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3720 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3721 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3722 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3723 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3724 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3725 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3726 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3727 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3728 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3729 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 3730 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 3731 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 3732 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3733 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3734 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3735 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3736 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3737 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3738 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3739 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3740 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3742 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 3743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3750 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3751 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3752 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3753 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3754 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3755 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3756 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3757 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3758 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3759 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3760 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3761 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3762 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3763 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3764 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3765 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3766 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3767 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3768 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3769 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3770 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3771 290, 1459, 362, 252, 459, 439, 435, 0, 0, 228, 3772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3773 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3774 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3775 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3776 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3777 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3778 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3779 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3780 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3781 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3782 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3783 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 3784 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 3785 0, 332, 0, 1340, 0, 0, 0, 0, 0, 0, 3786 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3787 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3788 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3789 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3790 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3791 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3792 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3793 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3794 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3796 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 3797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3804 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3805 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3806 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3807 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3808 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3809 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3810 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3811 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3812 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3813 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3814 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3815 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3816 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3817 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3818 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3819 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3820 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3821 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3822 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3823 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3824 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3825 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 3826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3827 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3828 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3829 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3830 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3831 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3832 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3833 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3834 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3835 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3836 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3837 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 3838 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 3839 0, 332, 0, 1338, 0, 0, 0, 0, 0, 0, 3840 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3841 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3842 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3843 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3844 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3845 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3846 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3847 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3848 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3850 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 3851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3858 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3859 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3860 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3861 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3862 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3863 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3864 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3865 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3866 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3867 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3868 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3869 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3870 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3871 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3872 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3873 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3874 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3875 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3876 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3877 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3878 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3879 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 3880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3881 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3882 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3883 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3884 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3885 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3886 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3887 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3888 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3889 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3890 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3891 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 3892 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 3893 0, 332, 0, 1336, 0, 0, 0, 0, 0, 0, 3894 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3895 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3896 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3897 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3898 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3899 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3900 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3901 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3902 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3904 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 3905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3912 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3913 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3914 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3915 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3916 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3917 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3918 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3919 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3920 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3921 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3922 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3923 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3924 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3925 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3926 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3927 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3928 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3929 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3930 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3931 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3932 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3933 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 3934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3935 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3936 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3937 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3938 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3939 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3940 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3941 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3942 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3943 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3944 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3945 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 3946 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 3947 0, 332, 0, 1334, 0, 0, 0, 0, 0, 0, 3948 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 3949 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 3950 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 3951 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 3952 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 3953 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 3954 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3955 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 3956 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 3957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3958 0, 0, 0, 241, 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 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3966 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 3967 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 3968 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 3969 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 3970 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 3971 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 3972 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 3973 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 3974 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 3975 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 3976 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 3977 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 3978 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 3979 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 3980 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 3981 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 3982 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 3983 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 3984 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 3985 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 3986 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 3987 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 3988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3989 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 3990 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 3991 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 3992 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 3993 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 3994 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 3995 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 3996 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 3997 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 3998 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 3999 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4000 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4001 0, 332, 0, 1332, 0, 0, 0, 0, 0, 0, 4002 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4003 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4004 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4005 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4006 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4007 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4008 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4009 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4010 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4012 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4020 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4021 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4022 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4023 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4024 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4025 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4026 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4027 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4028 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4029 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4030 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4031 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4032 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4033 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4034 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4035 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4036 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4037 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4038 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4039 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4040 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4041 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4043 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4044 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4045 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4046 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4047 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4048 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4049 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4050 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4051 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4052 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4053 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4054 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4055 0, 332, 0, 1328, 0, 0, 0, 0, 0, 0, 4056 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4057 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4058 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4059 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4060 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4061 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4062 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4063 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4064 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4066 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4074 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4075 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4076 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4077 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4078 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4079 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4080 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4081 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4082 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4083 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4084 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4085 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4086 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4087 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4088 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4089 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4090 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4091 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4092 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4093 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4094 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4095 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4097 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4098 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4099 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4100 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4101 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4102 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4103 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4104 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4105 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4106 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4107 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4108 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4109 0, 332, 0, 1326, 0, 0, 0, 0, 0, 0, 4110 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4111 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4112 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4113 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4114 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4115 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4116 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4117 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4118 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4120 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4128 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4129 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4130 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4131 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4132 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4133 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4134 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4135 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4136 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4137 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4138 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4139 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4140 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4141 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4142 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4143 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4144 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4145 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4146 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4147 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4148 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4149 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4151 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4152 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4153 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4154 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4155 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4156 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4157 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4158 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4159 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4160 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4161 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4162 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4163 0, 332, 0, 1324, 0, 0, 0, 0, 0, 0, 4164 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4165 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4166 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4167 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4168 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4169 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4170 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4171 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4172 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4174 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4182 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4183 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4184 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4185 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4186 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4187 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4188 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4189 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4190 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4191 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4192 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4193 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4194 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4195 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4196 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4197 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4198 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4199 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4200 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4201 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4202 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4203 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4205 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4206 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4207 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4208 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4209 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4210 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4211 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4212 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4213 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4214 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4215 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4216 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4217 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 4218 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4219 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4220 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4221 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4222 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4223 186, 329, 395, 251, 0, 1301, 0, 0, 178, 179, 4224 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4225 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4226 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4228 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4236 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4237 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4238 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4239 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4240 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4241 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4242 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4243 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4244 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4245 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4246 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4247 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4248 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4249 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4250 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4251 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4252 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4253 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4254 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4255 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4256 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4257 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4259 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4260 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4261 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4262 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4263 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4264 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4265 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4266 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4267 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4268 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4269 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4270 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4271 0, 332, 0, 0, 0, 0, 0, 0, 0, 1204, 4272 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4273 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4274 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4275 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4276 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4277 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4278 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4279 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4280 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4282 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4290 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4291 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4292 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4293 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4294 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4295 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4296 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4297 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4298 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4299 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4300 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4301 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4302 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4303 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4304 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4305 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4306 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4307 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4308 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4309 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4310 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4311 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4313 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4314 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4315 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4316 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4317 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4318 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4319 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4320 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4321 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4322 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4323 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4324 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4325 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 4326 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4327 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4328 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4329 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4330 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4331 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4332 180, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 4333 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4334 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4336 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4344 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4345 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4346 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4347 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4348 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4349 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4350 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4351 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4352 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4353 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4354 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4355 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4356 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4357 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4358 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4359 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4360 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4361 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4362 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4363 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4364 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4365 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4367 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4368 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4369 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4370 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4371 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4372 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4373 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4374 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4375 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4376 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4377 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4378 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4379 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 4380 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4381 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4382 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4383 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4384 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4385 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4386 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4387 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4388 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4390 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4398 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4399 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4400 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4401 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4402 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4403 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4404 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4405 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4406 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4407 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4408 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4409 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4410 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4411 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4412 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4413 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4414 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4415 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4416 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4417 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4418 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4419 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4421 0, 314, 0, 0, 0, 0, 0, 0, 677, 0, 4422 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4423 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4424 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4425 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4426 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4427 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4428 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4429 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4430 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4431 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4432 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4433 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 4434 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4435 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4436 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4437 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4438 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4439 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4440 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4441 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4442 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4444 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4451 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, 4452 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4453 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4454 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4455 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4456 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4457 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4458 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4459 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4460 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4461 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4462 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4463 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4464 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4465 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4466 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4467 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4468 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4469 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4470 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4471 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4472 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4473 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4475 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4476 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4477 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4478 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4479 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4480 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4481 389, 397, 401, 419, 420, 431, 443, 448, 535, 427, 4482 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4483 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4484 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4485 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4486 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4487 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 4488 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4489 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4490 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4491 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4492 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4493 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4494 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4495 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4496 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4498 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4506 0, 259, 0, 318, 0, 0, 483, 0, 445, 0, 4507 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4508 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4509 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4510 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4511 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4512 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4513 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4514 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4515 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4516 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4517 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4518 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4519 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4520 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4521 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4522 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4523 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4524 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4525 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4526 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4527 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4529 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4530 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4531 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4532 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4533 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4534 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4535 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4536 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4537 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4538 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4539 213, 384, 404, 405, 406, 408, 313, 232, 348, 409, 4540 0, 297, 410, 411, 271, 0, 0, 0, 0, 0, 4541 0, 332, 0, 0, 0, 0, 0, 0, 0, 0, 4542 236, 0, 0, 0, 0, 288, 233, 0, 0, 346, 4543 0, 187, 0, 385, 221, 298, 295, 416, 247, 239, 4544 235, 220, 272, 304, 344, 403, 338, 0, 292, 0, 4545 0, 394, 317, 0, 0, 0, 0, 0, 0, 0, 4546 0, 0, 0, 0, 0, 0, 0, 0, 278, 219, 4547 186, 329, 395, 251, 0, 0, 0, 0, 178, 179, 4548 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4549 0, 210, 0, 217, 0, 0, 0, 0, 0, 231, 4550 276, 238, 230, 413, 0, 0, 0, 0, 202, 0, 4551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4552 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 4553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4560 0, 259, 0, 318, 0, 0, 0, 0, 445, 0, 4561 0, 0, 0, 0, 0, 0, 287, 0, 284, 182, 4562 198, 0, 0, 328, 368, 374, 0, 0, 0, 222, 4563 0, 372, 342, 430, 206, 249, 365, 347, 370, 0, 4564 0, 371, 293, 418, 360, 428, 446, 447, 229, 322, 4565 436, 407, 442, 458, 199, 226, 336, 400, 433, 391, 4566 315, 414, 415, 283, 390, 257, 185, 291, 452, 197, 4567 380, 214, 204, 190, 402, 426, 211, 383, 0, 0, 4568 460, 192, 424, 399, 311, 280, 281, 191, 0, 364, 4569 234, 255, 224, 331, 421, 422, 223, 461, 201, 441, 4570 194, 0, 440, 324, 417, 425, 312, 303, 193, 423, 4571 310, 302, 286, 245, 266, 358, 296, 359, 267, 320, 4572 319, 321, 0, 188, 0, 396, 434, 462, 207, 208, 4573 209, 0, 244, 248, 254, 256, 262, 263, 270, 289, 4574 335, 357, 355, 361, 0, 412, 429, 437, 444, 450, 4575 451, 453, 454, 455, 456, 457, 323, 269, 392, 285, 4576 294, 0, 0, 341, 373, 212, 432, 393, 0, 0, 4577 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 4578 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 4579 474, 475, 476, 477, 478, 479, 480, 0, 0, 0, 4580 0, 0, 0, 0, 0, 0, 0, 0, 181, 195, 4581 290, 0, 362, 252, 459, 439, 435, 0, 0, 228, 4582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4583 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 4584 0, 0, 183, 184, 196, 205, 215, 227, 242, 250, 4585 260, 265, 268, 273, 274, 277, 282, 300, 305, 306, 4586 307, 308, 325, 326, 327, 330, 333, 334, 337, 339, 4587 340, 343, 350, 351, 352, 353, 354, 356, 363, 367, 4588 375, 376, 377, 378, 379, 381, 382, 386, 387, 388, 4589 389, 397, 401, 419, 420, 431, 443, 448, 261, 427, 4590 449, 0, 299, 0, 0, 301, 246, 264, 275, 0, 4591 438, 398, 200, 369, 253, 189, 218, 203, 225, 240, 4592 243, 279, 309, 316, 345, 349, 258, 237, 216, 366, 4593 213, 384, 404, 405, 406, 408, 313, 232, 348, 0, 4594 0, 297, 410, 411, 271, 4595 } 4596 4597 var yyPact = [...]int{ 4598 2513, -1000, -382, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4599 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4600 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4601 -1000, -1000, -1000, 1667, 1715, -1000, -1000, -1000, -1000, 1777, 4602 -1000, 688, 1484, -1000, 1689, 3120, -1000, 32732, 436, -1000, 4603 32192, 431, 115, 32732, -1000, 107, -1000, 92, 32732, 102, 4604 31652, -1000, -1000, -293, 13829, 1635, -14, -23, 32732, -1000, 4605 1764, 1518, -1000, 288, -1000, -1000, -1000, -1000, -1000, -1000, 4606 31112, -1000, -1000, -1000, 1692, 1675, 1787, 619, 1632, -1000, 4607 1732, 1518, -1000, 13829, 1755, 1722, 13289, -1000, 13289, 362, 4608 -1000, -1000, 10042, -1000, -1000, 18151, 32732, 32732, 383, -1000, 4609 1689, -1000, -1000, 345, -1000, 267, 1442, -1000, 1441, -1000, 4610 442, 555, 279, 399, 393, 278, 275, 274, 273, 271, 4611 270, 266, 264, 284, -1000, 659, 659, -157, -178, 3527, 4612 349, 349, 349, 394, 1652, 1651, -1000, 593, -1000, 659, 4613 659, 337, 659, 659, 659, 659, 229, 227, 659, 659, 4614 659, 659, 659, 659, 659, 659, 659, 659, 659, 659, 4615 659, 659, 659, 232, 1689, 198, -1000, -1000, -1000, -1000, 4616 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4617 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4618 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4619 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4620 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4621 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4622 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4623 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4624 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4625 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4626 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4627 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4628 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4629 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4630 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4631 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4632 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4633 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4634 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4635 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4636 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4637 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4638 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4639 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4640 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4641 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4642 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4643 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4644 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4645 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4646 -1000, 32732, 120, 32732, -1000, 543, 32732, 754, 754, 34, 4647 754, 754, 754, 754, 114, 526, -27, -1000, 111, 235, 4648 133, 192, 744, 272, 125, -1000, -1000, 159, 744, 1148, 4649 628, 68, -1000, 754, 7850, 7850, 7850, -1000, 1673, -1000, 4650 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 391, -1000, -1000, 4651 -1000, -1000, 32732, 30572, 269, 667, -1000, -1000, -1000, 48, 4652 -1000, -1000, 1351, 740, 13829, 1111, -1000, 1370, 595, -1000, 4653 -1000, -1000, -1000, -1000, 497, 14369, 14369, 14369, 14369, -1000, 4654 -1000, 1455, 1455, 1455, 1455, 14369, 1455, 14369, 1455, 1455, 4655 1455, 1455, 13829, 1455, 1455, 1455, -1000, 1455, 1455, 1455, 4656 1455, 1455, 1455, 1455, 539, 1455, 1455, 1455, 1455, 1455, 4657 -1000, -1000, -1000, -1000, 1455, 1455, 1455, 1455, 1455, -1000, 4658 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 15989, -1000, 4659 11669, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4660 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4661 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4662 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4663 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4664 32732, -1000, 1455, 123, 1732, 1518, -1000, 1764, 1742, 288, 4665 -1000, 1603, 1299, 1260, 1116, 1518, 1418, 32732, -1000, 1459, 4666 -1000, -1000, -1000, 1586, 1112, 1145, -1000, -1000, -1000, -1000, 4667 856, 13829, -1000, -1000, 1773, -1000, 15449, 537, 807, 1772, 4668 30032, -1000, 362, 362, 1424, 9494, -56, -1000, -1000, -1000, 4669 664, 20311, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4670 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1673, -1000, -1000, 4671 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4672 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4673 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4674 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4675 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4676 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4677 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4678 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4679 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4680 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4681 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4682 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4683 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1379, 4684 32732, -1000, -1000, 3927, 1166, -1000, 1477, -1000, 1349, -1000, 4685 1462, 1499, 428, 1166, 420, 419, 415, -1000, -107, -1000, 4686 -1000, -1000, -1000, -1000, 659, 659, 283, 3120, 4481, -1000, 4687 -1000, -1000, 29492, 1473, 1166, -1000, 1472, -1000, 748, 433, 4688 518, 518, 1166, -1000, -1000, 32732, 1166, 746, 741, 32732, 4689 32732, -1000, 28952, -1000, 28412, 27872, 1031, 32732, 27332, 26792, 4690 26252, 25712, 25172, -1000, 1545, -1000, 1478, -1000, -1000, -1000, 4691 32732, 32732, 32732, 268, -1000, -1000, 32732, 1166, -1000, -1000, 4692 1016, 1013, 659, 659, 1002, 1144, 1140, 1139, 659, 659, 4693 1001, 1135, 22471, 217, 996, 971, 946, 1126, 1132, 179, 4694 1066, 1017, 936, 32732, 1471, 32732, -1000, 154, 592, 316, 4695 661, 1689, 1634, 1422, 390, 426, 1166, 353, 353, -1000, 4696 8398, -1000, -1000, 1129, 13829, -1000, 745, 744, 744, -1000, 4697 -1000, -1000, -1000, -1000, -1000, 754, 32732, 745, -1000, -1000, 4698 -1000, 744, 754, 32732, 754, 754, 754, 754, 744, 744, 4699 744, 754, 32732, 32732, 32732, 32732, 32732, 32732, 32732, 32732, 4700 32732, 7850, 7850, 7850, 628, 754, -304, -1000, 1121, -1000, 4701 1534, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 100, 4702 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -100, 4703 1421, 24632, -1000, -306, -307, -313, -317, -1000, -1000, -1000, 4704 -319, -321, -1000, -1000, -1000, 13829, 13829, 13829, 13829, -1000, 4705 774, 14369, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 962, 4706 700, 14369, 14369, 14369, 14369, 14369, 14369, 14369, 14369, 14369, 4707 14369, 14369, 14369, 14369, 14369, 14369, 719, 4556, 4556, 595, 4708 595, 595, 595, -1000, 13289, 13829, 13829, 595, -1000, 1166, 4709 24092, 13289, 13289, 13829, 1661, 673, 740, 32732, -1000, 1116, 4710 -1000, -1000, -1000, 909, -1000, 32732, 32732, 38, 10588, 8398, 4711 13289, 13289, 13289, 13289, 13289, -1000, -1000, -1000, -1000, -1000, 4712 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 534, 1311, 1303, 4713 1346, -1000, 1419, -1000, -171, 17611, 13829, 1109, -1000, -1000, 4714 -1000, 1732, -1000, 1732, 1311, 1592, 1590, 13289, -1000, -1000, 4715 1592, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1228, 4716 -1000, 32732, 1418, 1712, 32732, 1584, 1107, 268, -1000, 13829, 4717 13829, 1416, -1000, 828, 32732, -1000, -1000, 23552, -1000, -1000, 4718 7302, -1000, 32732, 259, 32732, -1000, 21931, 23012, 8946, -56, 4719 -1000, 8946, 1402, -1000, -47, -29, 11128, 598, -1000, -1000, 4720 -1000, 3527, 14909, 1258, 1641, 45, -1000, -1000, -1000, 1462, 4721 -1000, 1462, 1462, 1462, 1462, 268, 268, 268, 268, -1000, 4722 -1000, -1000, -1000, -1000, 1470, 1469, -1000, 1462, 1462, 1462, 4723 1462, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4724 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1468, 1468, 4725 1468, 1463, 1463, 318, -1000, 13829, 225, 32732, 1696, 918, 4726 154, 360, 1505, 1166, 1166, 1166, 360, -1000, 1213, 1189, 4727 -1000, 1415, -1000, -1000, 1751, -1000, -1000, 614, 773, 762, 4728 559, 32732, 130, 258, -1000, 324, -1000, 32732, 1166, 737, 4729 518, 1166, -1000, 1166, -1000, -1000, -1000, -1000, -1000, 1166, 4730 1413, -1000, 1376, 801, 759, 798, 756, 1413, -1000, -1000, 4731 -131, 1413, -1000, 1413, -1000, 1413, -1000, 1413, -1000, 1413, 4732 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 651, 32732, 4733 130, 719, -1000, 380, -1000, -1000, 719, 719, -1000, -1000, 4734 -1000, -1000, 1106, 1100, -1000, -1000, -1000, -1000, -1000, -1000, 4735 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4736 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4737 -1000, -360, 32732, -1000, 140, 660, 244, 277, 199, 32732, 4738 117, 1725, 152, 215, 32732, 32732, 353, 1531, 32732, 1701, 4739 32732, -1000, -1000, -1000, -1000, 740, 32732, -1000, -1000, 754, 4740 754, -1000, -1000, 32732, 754, -1000, -1000, -1000, -1000, -1000, 4741 -1000, -1000, -1000, 754, -1000, -1000, -1000, -1000, -1000, -1000, 4742 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4743 -1000, 32732, 32732, -1000, -1000, -1000, -1000, -1000, 73, -52, 4744 285, -1000, -1000, -1000, -1000, -1000, 1728, -1000, 740, 758, 4745 693, -1000, -1000, -1000, 929, -1000, -1000, -1000, -1000, -1000, 4746 -1000, -1000, 962, 14369, 14369, 14369, 1324, 395, 934, 1114, 4747 968, 778, 778, 697, 697, 602, 602, 602, 602, 602, 4748 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1098, -1000, 4749 -1000, 1305, -1000, 834, 824, 1116, -1000, 1305, 1305, 876, 4750 13289, -1000, -1000, 689, -1000, 13829, 1116, -1000, -1000, 1116, 4751 1116, 1409, 1408, 1771, -1000, -1000, -1000, -1000, -1000, -1000, 4752 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4753 -1000, -1000, -1000, -1000, -1000, 1116, 13289, 13289, 1403, 1455, 4754 528, -1000, 1305, 1116, 1116, 1305, 1305, 8398, 1116, -1000, 4755 32732, -1000, -289, -1000, -69, 512, 1455, -1000, 22471, 1116, 4756 1351, -1000, -1000, -1000, -1000, -1000, 19771, 1417, 1592, -1000, 4757 -1000, 1455, 1342, -1000, -1000, 268, 7, 735, 740, 740, 4758 13829, -1000, -1000, -1000, -1000, -1000, -1000, 500, 1763, 261, 4759 1455, -1000, 1398, 1524, -1000, -1000, -1000, 1711, 17071, 32732, 4760 1375, 1339, -1000, 495, -1000, 1402, -56, -60, -1000, -1000, 4761 -1000, -1000, 740, -1000, 1127, 263, 3386, -1000, 346, -1000, 4762 -1000, -1000, -1000, 552, 1709, 1639, 12, -1000, -1000, -1000, 4763 268, 268, -1000, -1000, -1000, -1000, -1000, -1000, 1090, 1090, 4764 -1000, -1000, -1000, -1000, -1000, 914, -1000, -1000, -1000, 903, 4765 -1000, -1000, 1044, 1506, 225, -1000, -1000, 659, 1088, 1645, 4766 32732, -1000, -1000, 1246, 140, 32732, 680, 1530, -1000, 1505, 4767 1505, 1505, 32732, -1000, -1000, -1000, -1000, 4290, 32732, 1317, 4768 -1000, 128, -1000, 1234, 32732, -1000, 1313, 1467, 1166, 1166, 4769 -1000, -1000, -1000, 32732, 1455, -1000, -1000, -1000, -1000, 396, 4770 1688, 1686, 130, 128, 598, 1166, -1000, -1000, -1000, -1000, 4771 -1000, -363, 1307, 402, 138, 216, 32732, 32732, 32732, 32732, 4772 32732, 451, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4773 211, 366, -1000, 32732, 32732, 463, -1000, -1000, -1000, 744, 4774 -1000, -1000, 744, -1000, -1000, -1000, -1000, -1000, 1669, 32732, 4775 -61, -332, -1000, -329, -1000, -1000, -1000, -1000, 840, 376, 4776 934, 14369, 14369, -1000, 13289, -121, 425, 425, 719, -1000, 4777 -1000, -1000, 13829, 13829, 1406, 671, -1000, 13829, 691, -1000, 4778 -1000, -1000, 13829, 13829, 13829, -1000, 1305, 1305, 13289, 8398, 4779 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4780 409, 408, 400, 32732, -1000, -1000, 1733, -1000, 1601, 1596, 4781 1770, 1763, -1000, 21931, 1592, -1000, -1000, 32732, -281, -1000, 4782 1631, 1615, -1000, -1000, -1000, -1000, 6754, 1732, 13829, 1528, 4783 32732, 1455, -1000, 16530, 32732, 32732, 21931, 21931, 21931, 21931, 4784 21931, -1000, 1573, 1570, -1000, 1562, 1547, 1566, 32732, -1000, 4785 1301, 1116, 1742, 17071, 18691, 1373, 21931, -1000, -1000, 21931, 4786 32732, 6206, -1000, -1000, -65, -36, -1000, -1000, -1000, -1000, 4787 1750, 3527, -1000, -1000, -1000, -1000, 788, 4789, 1786, -1000, 4788 1087, -1000, 1012, -1000, 720, 712, -1000, 32732, 1466, -1000, 4789 -1000, -1000, -1000, -1000, 1298, -1000, 1296, 1395, 1294, 112, 4790 -1000, 1497, 1665, 659, 659, -1000, 875, -1000, 1166, -1000, 4791 -1000, 384, -1000, 1700, 32732, 1526, 1525, 1523, -1000, 1749, 4792 1367, 32732, -1000, -1000, 32732, -1000, 1595, 225, 32732, -1000, 4793 -1000, -1000, 258, 32732, -1000, 4942, 128, -1000, -1000, -1000, 4794 -1000, -1000, -1000, 32732, 141, -1000, 1464, 939, -1000, 1501, 4795 -1000, -1000, -1000, -1000, 127, 242, -1000, 32732, 446, 1506, 4796 32732, -1000, -1000, -1000, 754, 754, -1000, -1000, 1660, -1000, 4797 1166, 14369, 14369, -1000, 595, -1000, 1455, 1116, 1462, 1462, 4798 -1000, 1462, 1463, -1000, 1462, 81, 1462, 74, 1116, 1116, 4799 749, 880, -116, -1000, 740, 13829, 1040, 984, 819, -1000, 4800 -1000, 1116, -1000, 1455, 1455, 1455, 1288, 32732, -1000, -1000, 4801 -1000, -1000, 1763, 1761, 1381, -1000, -1000, 7, 300, -1000, 4802 1617, 1615, -1000, 1747, 1626, 1746, -1000, -1000, -1000, 740, 4803 -1000, 1676, 1404, -1000, 658, 1285, -1000, -1000, 12749, 1291, 4804 1594, 492, 1288, 1397, 1524, 1507, 1522, 1498, -1000, -1000, 4805 -1000, -1000, 1565, -1000, 1551, -1000, -1000, 1459, -1000, -1000, 4806 1303, 259, 21931, 1315, 1315, -1000, 489, -1000, -1000, -1000, 4807 -1000, -374, -1000, -1000, 13829, -1000, -1000, -1000, -1000, -1000, 4808 -1000, 981, 981, 160, -1000, -1000, -1000, -1000, -1000, 1461, 4809 13829, 268, 1085, 268, 870, -1000, 867, -1000, -1000, -224, 4810 -1000, -1000, 1454, 1541, -1000, -1000, 32732, -1000, -1000, 32732, 4811 32732, 32732, 32732, -1000, -1000, 252, -1000, 1283, 1275, -1000, 4812 -151, -1000, 13829, -1000, 1459, -1000, -1000, -1000, 1212, -1000, 4813 -133, 32732, 32732, 32732, 32732, -1000, -1000, -1000, -1000, -1000, 4814 -1000, -1000, -1000, -1000, 595, 14369, -1000, -1000, 328, -1000, 4815 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 13829, -1000, 13829, 4816 -1000, 1732, 1084, 740, 13829, 13829, -1000, -1000, 19231, 21391, 4817 21391, 18691, -1000, 1761, 1759, 1745, 1616, 1621, 1621, 1617, 4818 -1000, 1744, 1740, -1000, 1082, 1739, 1075, 694, -1000, 32732, 4819 13829, 1455, -1000, 291, 32732, 1455, 32732, -1000, 1757, -1000, 4820 -1000, 13829, 1460, -1000, 13829, -1000, -1000, -1000, -1000, -1000, 4821 1763, 1315, -1000, -1000, 600, 52, 265, -1000, -1000, -1000, 4822 819, -1000, -1000, -1000, 32732, 969, -1000, -1000, -1000, 1203, 4823 1119, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1459, 4824 -1000, -1000, -1000, 1367, 248, 303, -1000, 258, -1000, -184, 4825 -190, 819, 1706, -1000, -1000, 8398, -1000, -1000, 1458, 1503, 4826 -1000, 213, -1000, -1000, 819, 819, 1116, -1000, 819, 819, 4827 1257, -1000, -1000, -1000, 1257, 1257, 512, 1759, -1000, 13829, 4828 13829, 1611, 869, -1000, -1000, -1000, -1000, 1064, 1062, -1000, 4829 1054, -1000, 1785, -1000, 740, -1000, 1455, -1000, 460, 1285, 4830 -1000, 1732, 740, 32732, 740, 1757, -1000, 1457, 1483, -366, 4831 13829, 1456, -1000, 1255, -1000, -1000, -1000, 1705, 1455, -1000, 4832 -1000, -1000, -1000, -1000, 288, 1362, -1000, 654, 32732, 32732, 4833 1116, 222, -140, -1000, -1000, -1000, -1000, -1000, 20851, -1000, 4834 -1000, -1000, -1000, -1000, 740, 1351, -1000, 843, -1000, -1000, 4835 -1000, -1000, -1000, 32732, 1285, 32732, -1000, 1253, 1732, 13829, 4836 1453, 649, -373, 866, 942, 32732, 1519, 670, 288, 12209, 4837 -132, 8398, 5658, 1251, -1000, -1000, 1583, -126, -147, -1000, 4838 -1000, -1000, -1000, 1271, -1000, -1000, -1000, 889, 32732, 844, 4839 1445, 1735, -1000, -1000, 1222, 1512, -1000, 1767, -1000, -1000, 4840 -1000, 786, 879, -1000, -1000, -1000, -132, 819, 1116, -1000, 4841 -40, -1000, -1000, -1000, -1000, -1000, 1501, -1000, 1578, -1000, 4842 -366, 1198, -1000, -1000, 258, -371, -1000, -1000, 1780, 507, 4843 507, -1000, -1000, -1000, -1000, -1000, 295, -1000, -1000, -133, 4844 -134, -373, -366, 1184, 50, -1000, -1000, -1000, 282, 877, 4845 -1000, 147, -1000, -141, 1445, -373, -1000, 1446, 1483, -1000, 4846 -1000, -1000, -1000, -148, -1000, 1445, 13829, 1444, -1000, -1000, 4847 812, 32732, -379, 1156, -1000, 822, -379, -1000, -1000, 4848 } 4849 4850 var yyPgo = [...]int{ 4851 0, 9, 2088, 6, 1, 4, 2085, 17, 83, 156, 4852 13, 152, 84, 2084, 2082, 2081, 2080, 189, 188, 187, 4853 2079, 2077, 2076, 2075, 2074, 2073, 2072, 2071, 2070, 2069, 4854 185, 139, 149, 2068, 2067, 2065, 93, 147, 72, 68, 4855 165, 2064, 2061, 50, 2060, 2059, 2057, 179, 150, 726, 4856 2054, 178, 92, 2051, 2042, 2039, 2034, 2033, 2032, 2031, 4857 2029, 2027, 2026, 2025, 2023, 2020, 2019, 281, 2015, 2013, 4858 10, 2006, 58, 2005, 2004, 2003, 2001, 2000, 5, 1999, 4859 1996, 1994, 1992, 126, 1989, 1988, 1987, 163, 1985, 1982, 4860 327, 88, 98, 1980, 1979, 85, 153, 1977, 94, 131, 4861 1976, 1975, 204, 1974, 66, 65, 1973, 46, 63, 60, 4862 55, 1971, 140, 1967, 1965, 70, 71, 1961, 82, 67, 4863 1960, 79, 111, 1956, 43, 1955, 1953, 116, 1948, 1946, 4864 1945, 73, 1943, 1940, 2870, 1934, 78, 117, 28, 33, 4865 1933, 1932, 1931, 1930, 1928, 47, 1927, 1926, 1925, 123, 4866 30, 1924, 25, 21, 31, 120, 1923, 39, 57, 1921, 4867 122, 1918, 1916, 36, 24, 37, 1915, 34, 115, 136, 4868 19, 77, 125, 1914, 1912, 40, 49, 1911, 1910, 1909, 4869 1907, 1906, 1905, 44, 1904, 35, 1902, 184, 1900, 2, 4870 29, 38, 41, 128, 45, 23, 1899, 162, 1898, 32, 4871 161, 100, 144, 1896, 1894, 1893, 148, 229, 1892, 1889, 4872 64, 146, 124, 132, 1888, 235, 1887, 1876, 80, 1125, 4873 1993, 15, 134, 1872, 1868, 2571, 121, 113, 42, 1866, 4874 159, 1864, 1863, 1856, 164, 169, 97, 955, 90, 1852, 4875 1851, 1850, 1849, 1845, 1844, 1843, 114, 167, 56, 86, 4876 137, 52, 1842, 1841, 1840, 99, 75, 1839, 143, 133, 4877 110, 155, 1836, 151, 127, 104, 1835, 87, 1833, 1830, 4878 1828, 1827, 74, 1823, 1821, 1820, 1819, 142, 129, 96, 4879 76, 1818, 62, 102, 135, 130, 11, 3, 26, 154, 4880 20, 1817, 8, 0, 1816, 12, 145, 226, 141, 1812, 4881 1809, 7, 1808, 14, 1807, 1806, 119, 1804, 1802, 1801, 4882 22, 27, 16, 138, 1800, 1799, 3438, 1610, 101, 1798, 4883 166, 4884 } 4885 4886 //line sql.y:6028 4887 type yySymType struct { 4888 union interface{} 4889 empty struct{} 4890 LengthScaleOption LengthScaleOption 4891 tableName TableName 4892 tableIdent TableIdent 4893 str string 4894 strs []string 4895 vindexParam VindexParam 4896 colIdent ColIdent 4897 joinCondition *JoinCondition 4898 collateAndCharset CollateAndCharset 4899 columnType ColumnType 4900 yys int 4901 } 4902 4903 func (st *yySymType) ReferenceActionUnion() ReferenceAction { 4904 v, _ := st.union.(ReferenceAction) 4905 return v 4906 } 4907 4908 func (st *yySymType) aliasedTableNameUnion() *AliasedTableExpr { 4909 v, _ := st.union.(*AliasedTableExpr) 4910 return v 4911 } 4912 4913 func (st *yySymType) alterDatabaseUnion() *AlterDatabase { 4914 v, _ := st.union.(*AlterDatabase) 4915 return v 4916 } 4917 4918 func (st *yySymType) alterMigrationUnion() *AlterMigration { 4919 v, _ := st.union.(*AlterMigration) 4920 return v 4921 } 4922 4923 func (st *yySymType) alterOptionUnion() AlterOption { 4924 v, _ := st.union.(AlterOption) 4925 return v 4926 } 4927 4928 func (st *yySymType) alterOptionsUnion() []AlterOption { 4929 v, _ := st.union.([]AlterOption) 4930 return v 4931 } 4932 4933 func (st *yySymType) alterTableUnion() *AlterTable { 4934 v, _ := st.union.(*AlterTable) 4935 return v 4936 } 4937 4938 func (st *yySymType) boolValUnion() BoolVal { 4939 v, _ := st.union.(BoolVal) 4940 return v 4941 } 4942 4943 func (st *yySymType) booleanUnion() bool { 4944 v, _ := st.union.(bool) 4945 return v 4946 } 4947 4948 func (st *yySymType) characteristicUnion() Characteristic { 4949 v, _ := st.union.(Characteristic) 4950 return v 4951 } 4952 4953 func (st *yySymType) characteristicsUnion() []Characteristic { 4954 v, _ := st.union.([]Characteristic) 4955 return v 4956 } 4957 4958 func (st *yySymType) colKeyOptUnion() ColumnKeyOption { 4959 v, _ := st.union.(ColumnKeyOption) 4960 return v 4961 } 4962 4963 func (st *yySymType) colNameUnion() *ColName { 4964 v, _ := st.union.(*ColName) 4965 return v 4966 } 4967 4968 func (st *yySymType) colTupleUnion() ColTuple { 4969 v, _ := st.union.(ColTuple) 4970 return v 4971 } 4972 4973 func (st *yySymType) collateAndCharsetsUnion() []CollateAndCharset { 4974 v, _ := st.union.([]CollateAndCharset) 4975 return v 4976 } 4977 4978 func (st *yySymType) columnDefinitionUnion() *ColumnDefinition { 4979 v, _ := st.union.(*ColumnDefinition) 4980 return v 4981 } 4982 4983 func (st *yySymType) columnDefinitionsUnion() []*ColumnDefinition { 4984 v, _ := st.union.([]*ColumnDefinition) 4985 return v 4986 } 4987 4988 func (st *yySymType) columnStorageUnion() ColumnStorage { 4989 v, _ := st.union.(ColumnStorage) 4990 return v 4991 } 4992 4993 func (st *yySymType) columnTypeOptionsUnion() *ColumnTypeOptions { 4994 v, _ := st.union.(*ColumnTypeOptions) 4995 return v 4996 } 4997 4998 func (st *yySymType) columnsUnion() Columns { 4999 v, _ := st.union.(Columns) 5000 return v 5001 } 5002 5003 func (st *yySymType) comparisonExprOperatorUnion() ComparisonExprOperator { 5004 v, _ := st.union.(ComparisonExprOperator) 5005 return v 5006 } 5007 5008 func (st *yySymType) constraintDefinitionUnion() *ConstraintDefinition { 5009 v, _ := st.union.(*ConstraintDefinition) 5010 return v 5011 } 5012 5013 func (st *yySymType) constraintInfoUnion() ConstraintInfo { 5014 v, _ := st.union.(ConstraintInfo) 5015 return v 5016 } 5017 5018 func (st *yySymType) convertTypeUnion() *ConvertType { 5019 v, _ := st.union.(*ConvertType) 5020 return v 5021 } 5022 5023 func (st *yySymType) createDatabaseUnion() *CreateDatabase { 5024 v, _ := st.union.(*CreateDatabase) 5025 return v 5026 } 5027 5028 func (st *yySymType) createTableUnion() *CreateTable { 5029 v, _ := st.union.(*CreateTable) 5030 return v 5031 } 5032 5033 func (st *yySymType) cteUnion() *CommonTableExpr { 5034 v, _ := st.union.(*CommonTableExpr) 5035 return v 5036 } 5037 5038 func (st *yySymType) ctesUnion() []*CommonTableExpr { 5039 v, _ := st.union.([]*CommonTableExpr) 5040 return v 5041 } 5042 5043 func (st *yySymType) derivedTableUnion() *DerivedTable { 5044 v, _ := st.union.(*DerivedTable) 5045 return v 5046 } 5047 5048 func (st *yySymType) explainTypeUnion() ExplainType { 5049 v, _ := st.union.(ExplainType) 5050 return v 5051 } 5052 5053 func (st *yySymType) exprUnion() Expr { 5054 v, _ := st.union.(Expr) 5055 return v 5056 } 5057 5058 func (st *yySymType) exprOrColumnsUnion() *ExprOrColumns { 5059 v, _ := st.union.(*ExprOrColumns) 5060 return v 5061 } 5062 5063 func (st *yySymType) exprsUnion() Exprs { 5064 v, _ := st.union.(Exprs) 5065 return v 5066 } 5067 5068 func (st *yySymType) ignoreUnion() Ignore { 5069 v, _ := st.union.(Ignore) 5070 return v 5071 } 5072 5073 func (st *yySymType) indexColumnUnion() *IndexColumn { 5074 v, _ := st.union.(*IndexColumn) 5075 return v 5076 } 5077 5078 func (st *yySymType) indexColumnsUnion() []*IndexColumn { 5079 v, _ := st.union.([]*IndexColumn) 5080 return v 5081 } 5082 5083 func (st *yySymType) indexDefinitionUnion() *IndexDefinition { 5084 v, _ := st.union.(*IndexDefinition) 5085 return v 5086 } 5087 5088 func (st *yySymType) indexHintsUnion() *IndexHints { 5089 v, _ := st.union.(*IndexHints) 5090 return v 5091 } 5092 5093 func (st *yySymType) indexInfoUnion() *IndexInfo { 5094 v, _ := st.union.(*IndexInfo) 5095 return v 5096 } 5097 5098 func (st *yySymType) indexOptionUnion() *IndexOption { 5099 v, _ := st.union.(*IndexOption) 5100 return v 5101 } 5102 5103 func (st *yySymType) indexOptionsUnion() []*IndexOption { 5104 v, _ := st.union.([]*IndexOption) 5105 return v 5106 } 5107 5108 func (st *yySymType) insUnion() *Insert { 5109 v, _ := st.union.(*Insert) 5110 return v 5111 } 5112 5113 func (st *yySymType) insertActionUnion() InsertAction { 5114 v, _ := st.union.(InsertAction) 5115 return v 5116 } 5117 5118 func (st *yySymType) intervalTypeUnion() IntervalTypes { 5119 v, _ := st.union.(IntervalTypes) 5120 return v 5121 } 5122 5123 func (st *yySymType) isExprOperatorUnion() IsExprOperator { 5124 v, _ := st.union.(IsExprOperator) 5125 return v 5126 } 5127 5128 func (st *yySymType) isolationLevelUnion() IsolationLevel { 5129 v, _ := st.union.(IsolationLevel) 5130 return v 5131 } 5132 5133 func (st *yySymType) joinTypeUnion() JoinType { 5134 v, _ := st.union.(JoinType) 5135 return v 5136 } 5137 5138 func (st *yySymType) limitUnion() *Limit { 5139 v, _ := st.union.(*Limit) 5140 return v 5141 } 5142 5143 func (st *yySymType) literalUnion() *Literal { 5144 v, _ := st.union.(*Literal) 5145 return v 5146 } 5147 5148 func (st *yySymType) lockUnion() Lock { 5149 v, _ := st.union.(Lock) 5150 return v 5151 } 5152 5153 func (st *yySymType) lockTypeUnion() LockType { 5154 v, _ := st.union.(LockType) 5155 return v 5156 } 5157 5158 func (st *yySymType) matchExprOptionUnion() MatchExprOption { 5159 v, _ := st.union.(MatchExprOption) 5160 return v 5161 } 5162 5163 func (st *yySymType) optLikeUnion() *OptLike { 5164 v, _ := st.union.(*OptLike) 5165 return v 5166 } 5167 5168 func (st *yySymType) optValUnion() Expr { 5169 v, _ := st.union.(Expr) 5170 return v 5171 } 5172 5173 func (st *yySymType) orderUnion() *Order { 5174 v, _ := st.union.(*Order) 5175 return v 5176 } 5177 5178 func (st *yySymType) orderByUnion() OrderBy { 5179 v, _ := st.union.(OrderBy) 5180 return v 5181 } 5182 5183 func (st *yySymType) orderDirectionUnion() OrderDirection { 5184 v, _ := st.union.(OrderDirection) 5185 return v 5186 } 5187 5188 func (st *yySymType) partDefUnion() *PartitionDefinition { 5189 v, _ := st.union.(*PartitionDefinition) 5190 return v 5191 } 5192 5193 func (st *yySymType) partDefsUnion() []*PartitionDefinition { 5194 v, _ := st.union.([]*PartitionDefinition) 5195 return v 5196 } 5197 5198 func (st *yySymType) partSpecUnion() *PartitionSpec { 5199 v, _ := st.union.(*PartitionSpec) 5200 return v 5201 } 5202 5203 func (st *yySymType) partSpecsUnion() []*PartitionSpec { 5204 v, _ := st.union.([]*PartitionSpec) 5205 return v 5206 } 5207 5208 func (st *yySymType) partitionOptionUnion() *PartitionOption { 5209 v, _ := st.union.(*PartitionOption) 5210 return v 5211 } 5212 5213 func (st *yySymType) partitionsUnion() Partitions { 5214 v, _ := st.union.(Partitions) 5215 return v 5216 } 5217 5218 func (st *yySymType) referenceDefinitionUnion() *ReferenceDefinition { 5219 v, _ := st.union.(*ReferenceDefinition) 5220 return v 5221 } 5222 5223 func (st *yySymType) renameTablePairsUnion() []*RenameTablePair { 5224 v, _ := st.union.([]*RenameTablePair) 5225 return v 5226 } 5227 5228 func (st *yySymType) revertMigrationUnion() *RevertMigration { 5229 v, _ := st.union.(*RevertMigration) 5230 return v 5231 } 5232 5233 func (st *yySymType) scopeUnion() Scope { 5234 v, _ := st.union.(Scope) 5235 return v 5236 } 5237 5238 func (st *yySymType) selStmtUnion() SelectStatement { 5239 v, _ := st.union.(SelectStatement) 5240 return v 5241 } 5242 5243 func (st *yySymType) selectExprUnion() SelectExpr { 5244 v, _ := st.union.(SelectExpr) 5245 return v 5246 } 5247 5248 func (st *yySymType) selectExprsUnion() SelectExprs { 5249 v, _ := st.union.(SelectExprs) 5250 return v 5251 } 5252 5253 func (st *yySymType) selectIntoUnion() *SelectInto { 5254 v, _ := st.union.(*SelectInto) 5255 return v 5256 } 5257 5258 func (st *yySymType) setExprUnion() *SetExpr { 5259 v, _ := st.union.(*SetExpr) 5260 return v 5261 } 5262 5263 func (st *yySymType) setExprsUnion() SetExprs { 5264 v, _ := st.union.(SetExprs) 5265 return v 5266 } 5267 5268 func (st *yySymType) showFilterUnion() *ShowFilter { 5269 v, _ := st.union.(*ShowFilter) 5270 return v 5271 } 5272 5273 func (st *yySymType) statementUnion() Statement { 5274 v, _ := st.union.(Statement) 5275 return v 5276 } 5277 5278 func (st *yySymType) subPartitionUnion() *SubPartition { 5279 v, _ := st.union.(*SubPartition) 5280 return v 5281 } 5282 5283 func (st *yySymType) subqueryUnion() *Subquery { 5284 v, _ := st.union.(*Subquery) 5285 return v 5286 } 5287 5288 func (st *yySymType) tableAndLockTypeUnion() *TableAndLockType { 5289 v, _ := st.union.(*TableAndLockType) 5290 return v 5291 } 5292 5293 func (st *yySymType) tableAndLockTypesUnion() TableAndLockTypes { 5294 v, _ := st.union.(TableAndLockTypes) 5295 return v 5296 } 5297 5298 func (st *yySymType) tableExprUnion() TableExpr { 5299 v, _ := st.union.(TableExpr) 5300 return v 5301 } 5302 5303 func (st *yySymType) tableExprsUnion() TableExprs { 5304 v, _ := st.union.(TableExprs) 5305 return v 5306 } 5307 5308 func (st *yySymType) tableNamesUnion() TableNames { 5309 v, _ := st.union.(TableNames) 5310 return v 5311 } 5312 5313 func (st *yySymType) tableOptionUnion() *TableOption { 5314 v, _ := st.union.(*TableOption) 5315 return v 5316 } 5317 5318 func (st *yySymType) tableOptionsUnion() TableOptions { 5319 v, _ := st.union.(TableOptions) 5320 return v 5321 } 5322 5323 func (st *yySymType) tableSpecUnion() *TableSpec { 5324 v, _ := st.union.(*TableSpec) 5325 return v 5326 } 5327 5328 func (st *yySymType) updateExprUnion() *UpdateExpr { 5329 v, _ := st.union.(*UpdateExpr) 5330 return v 5331 } 5332 5333 func (st *yySymType) updateExprsUnion() UpdateExprs { 5334 v, _ := st.union.(UpdateExprs) 5335 return v 5336 } 5337 5338 func (st *yySymType) valTupleUnion() ValTuple { 5339 v, _ := st.union.(ValTuple) 5340 return v 5341 } 5342 5343 func (st *yySymType) valuesUnion() Values { 5344 v, _ := st.union.(Values) 5345 return v 5346 } 5347 5348 func (st *yySymType) vindexParamsUnion() []VindexParam { 5349 v, _ := st.union.([]VindexParam) 5350 return v 5351 } 5352 5353 func (st *yySymType) whenUnion() *When { 5354 v, _ := st.union.(*When) 5355 return v 5356 } 5357 5358 func (st *yySymType) whensUnion() []*When { 5359 v, _ := st.union.([]*When) 5360 return v 5361 } 5362 5363 func (st *yySymType) withUnion() *With { 5364 v, _ := st.union.(*With) 5365 return v 5366 } 5367 5368 var yyR1 = [...]int{ 5369 0, 314, 315, 315, 6, 6, 6, 6, 6, 6, 5370 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5371 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5372 6, 6, 6, 6, 6, 293, 293, 293, 296, 296, 5373 28, 62, 30, 30, 29, 29, 32, 32, 31, 7, 5374 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5375 9, 9, 9, 9, 9, 10, 10, 10, 10, 12, 5376 12, 12, 12, 12, 15, 16, 11, 11, 17, 17, 5377 74, 74, 18, 19, 19, 19, 19, 318, 318, 129, 5378 129, 127, 127, 128, 128, 192, 192, 20, 21, 21, 5379 202, 202, 201, 201, 201, 203, 203, 203, 203, 237, 5380 237, 22, 22, 22, 22, 22, 88, 88, 295, 295, 5381 294, 292, 292, 291, 291, 290, 34, 35, 44, 44, 5382 44, 44, 45, 46, 297, 297, 268, 50, 50, 49, 5383 49, 49, 49, 51, 51, 48, 48, 47, 47, 270, 5384 270, 257, 257, 269, 269, 269, 269, 269, 269, 269, 5385 256, 256, 101, 101, 173, 173, 173, 173, 173, 173, 5386 173, 173, 173, 173, 173, 309, 309, 174, 174, 174, 5387 174, 174, 174, 106, 106, 115, 115, 115, 115, 115, 5388 104, 104, 105, 103, 103, 103, 109, 109, 109, 109, 5389 109, 109, 109, 109, 109, 109, 109, 109, 313, 313, 5390 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 5391 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 5392 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 5393 313, 313, 313, 313, 313, 313, 313, 313, 313, 114, 5394 114, 110, 110, 110, 111, 111, 111, 112, 112, 112, 5395 112, 310, 310, 310, 310, 239, 239, 239, 239, 242, 5396 242, 240, 240, 240, 240, 240, 240, 240, 240, 240, 5397 241, 241, 241, 241, 241, 243, 243, 243, 243, 243, 5398 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 5399 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 5400 245, 245, 245, 255, 255, 246, 246, 250, 250, 251, 5401 251, 251, 252, 252, 252, 253, 253, 248, 248, 248, 5402 248, 249, 249, 249, 258, 282, 282, 281, 281, 279, 5403 279, 279, 279, 267, 267, 276, 276, 276, 276, 276, 5404 266, 266, 262, 262, 262, 263, 263, 264, 264, 261, 5405 261, 265, 265, 278, 278, 277, 259, 259, 260, 260, 5406 284, 311, 311, 311, 311, 312, 312, 285, 302, 303, 5407 301, 301, 301, 301, 301, 72, 72, 72, 214, 214, 5408 214, 274, 274, 273, 273, 273, 275, 275, 272, 272, 5409 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 5410 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 5411 272, 272, 272, 272, 272, 272, 209, 209, 209, 300, 5412 300, 300, 300, 300, 300, 299, 299, 299, 271, 271, 5413 271, 298, 298, 52, 52, 158, 158, 41, 41, 41, 5414 41, 41, 41, 40, 40, 40, 36, 36, 36, 36, 5415 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 5416 36, 36, 36, 36, 36, 36, 36, 36, 36, 42, 5417 42, 37, 37, 37, 37, 37, 37, 37, 37, 37, 5418 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 5419 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 5420 76, 76, 76, 76, 78, 78, 78, 287, 287, 1, 5421 1, 5, 5, 2, 2, 77, 77, 3, 3, 4, 5422 4, 289, 289, 289, 289, 289, 289, 289, 289, 289, 5423 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 5424 289, 289, 289, 254, 254, 254, 286, 286, 288, 288, 5425 24, 33, 33, 25, 25, 25, 25, 26, 26, 53, 5426 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 5427 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 5428 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 5429 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 5430 54, 54, 54, 54, 54, 54, 54, 54, 304, 304, 5431 208, 208, 216, 216, 207, 207, 230, 230, 230, 210, 5432 210, 210, 211, 211, 308, 308, 308, 55, 55, 57, 5433 57, 58, 59, 59, 232, 232, 233, 233, 60, 61, 5434 73, 73, 73, 73, 73, 73, 75, 75, 75, 14, 5435 14, 14, 14, 69, 69, 69, 13, 13, 56, 56, 5436 63, 305, 305, 306, 307, 307, 307, 307, 64, 66, 5437 27, 27, 27, 27, 27, 27, 94, 94, 83, 83, 5438 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 5439 89, 89, 89, 84, 84, 319, 67, 68, 68, 87, 5440 87, 87, 81, 81, 81, 86, 86, 86, 91, 91, 5441 93, 93, 93, 93, 93, 95, 95, 95, 95, 95, 5442 95, 95, 90, 90, 92, 92, 92, 92, 223, 223, 5443 223, 222, 222, 118, 118, 120, 119, 119, 121, 121, 5444 122, 122, 122, 156, 137, 137, 190, 190, 189, 189, 5445 191, 191, 191, 191, 193, 193, 123, 123, 123, 123, 5446 124, 124, 125, 125, 126, 126, 231, 231, 228, 228, 5447 228, 227, 227, 130, 130, 130, 132, 131, 131, 131, 5448 131, 133, 133, 135, 135, 134, 134, 136, 138, 138, 5449 138, 138, 138, 139, 139, 102, 102, 102, 102, 102, 5450 102, 113, 113, 113, 113, 116, 116, 116, 116, 116, 5451 116, 116, 116, 116, 116, 116, 107, 107, 107, 107, 5452 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 5453 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 5454 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 5455 108, 108, 205, 205, 140, 140, 148, 148, 148, 148, 5456 141, 141, 141, 141, 141, 141, 141, 149, 149, 149, 5457 155, 150, 150, 146, 146, 146, 146, 144, 144, 144, 5458 144, 144, 144, 144, 144, 144, 144, 145, 145, 145, 5459 145, 145, 145, 145, 145, 80, 80, 80, 80, 80, 5460 80, 80, 80, 80, 80, 80, 80, 79, 79, 79, 5461 79, 79, 79, 79, 79, 79, 320, 320, 247, 247, 5462 247, 247, 147, 147, 147, 147, 147, 85, 85, 85, 5463 85, 85, 236, 236, 236, 238, 238, 238, 238, 238, 5464 238, 238, 238, 238, 238, 238, 238, 238, 161, 161, 5465 82, 82, 159, 159, 160, 162, 162, 157, 157, 157, 5466 143, 143, 143, 163, 163, 164, 164, 165, 165, 167, 5467 166, 166, 168, 169, 169, 169, 170, 170, 171, 171, 5468 171, 43, 43, 43, 43, 43, 38, 38, 38, 38, 5469 39, 39, 39, 96, 96, 96, 96, 98, 98, 97, 5470 97, 70, 70, 71, 71, 71, 99, 99, 100, 100, 5471 100, 100, 187, 187, 172, 172, 172, 179, 179, 179, 5472 175, 175, 177, 177, 177, 178, 178, 178, 176, 184, 5473 184, 186, 186, 185, 185, 181, 181, 182, 182, 183, 5474 183, 183, 180, 180, 142, 142, 142, 142, 142, 188, 5475 188, 188, 188, 194, 194, 152, 152, 154, 154, 153, 5476 117, 195, 195, 199, 196, 196, 200, 200, 200, 200, 5477 200, 197, 197, 198, 198, 224, 224, 224, 204, 204, 5478 215, 215, 212, 212, 213, 213, 206, 206, 217, 217, 5479 217, 65, 151, 151, 283, 283, 280, 220, 220, 221, 5480 221, 225, 225, 229, 229, 226, 226, 218, 218, 218, 5481 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5482 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5483 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5484 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5485 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5486 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5487 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5488 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5489 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5490 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5491 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5492 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5493 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 5494 218, 218, 218, 218, 218, 218, 218, 218, 218, 219, 5495 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5496 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5497 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5498 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5499 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5500 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5501 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5502 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5503 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5504 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5505 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5506 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5507 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5508 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5509 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5510 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5511 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5512 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5513 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5514 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5515 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5516 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5517 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5518 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5519 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5520 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5521 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5522 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5523 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 5524 219, 219, 219, 219, 219, 219, 219, 219, 219, 316, 5525 317, 234, 235, 235, 235, 5526 } 5527 5528 var yyR2 = [...]int{ 5529 0, 2, 0, 1, 1, 1, 1, 1, 1, 1, 5530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5532 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 5533 2, 3, 2, 3, 0, 1, 3, 1, 4, 3, 5534 3, 4, 3, 2, 3, 4, 3, 4, 2, 7, 5535 1, 3, 3, 3, 3, 1, 2, 1, 1, 3, 5536 2, 3, 3, 2, 5, 7, 9, 8, 7, 8, 5537 1, 1, 10, 11, 9, 8, 8, 1, 1, 1, 5538 3, 1, 3, 1, 3, 0, 4, 3, 5, 4, 5539 1, 3, 3, 2, 2, 2, 2, 2, 1, 1, 5540 1, 2, 2, 6, 12, 2, 0, 2, 0, 2, 5541 1, 0, 2, 1, 3, 3, 6, 4, 7, 8, 5542 8, 8, 6, 3, 1, 1, 5, 0, 1, 1, 5543 1, 2, 2, 0, 1, 4, 4, 4, 4, 2, 5544 4, 1, 3, 1, 1, 3, 4, 3, 3, 3, 5545 4, 9, 0, 2, 0, 2, 3, 5, 3, 4, 5546 2, 3, 2, 3, 3, 1, 1, 0, 2, 2, 5547 3, 3, 2, 1, 1, 2, 2, 2, 2, 2, 5548 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 5549 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 5550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5554 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 5555 1, 2, 1, 2, 1, 3, 1, 1, 1, 2, 5556 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5557 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 5558 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 5559 1, 1, 1, 5, 5, 1, 1, 1, 1, 1, 5560 1, 1, 1, 1, 3, 0, 3, 0, 5, 0, 5561 3, 5, 0, 1, 1, 0, 1, 0, 2, 2, 5562 2, 0, 2, 2, 5, 0, 1, 1, 2, 1, 5563 3, 2, 3, 0, 1, 4, 3, 3, 4, 2, 5564 0, 2, 1, 1, 1, 1, 1, 0, 1, 1, 5565 1, 0, 1, 1, 3, 3, 3, 1, 3, 1, 5566 7, 5, 6, 6, 7, 0, 1, 5, 3, 3, 5567 1, 1, 2, 2, 2, 0, 1, 1, 0, 1, 5568 2, 0, 1, 1, 3, 2, 1, 2, 3, 3, 5569 4, 4, 3, 3, 3, 3, 4, 4, 3, 3, 5570 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5571 3, 3, 3, 3, 4, 5, 0, 2, 2, 1, 5572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5573 1, 0, 1, 0, 1, 0, 2, 0, 1, 5, 5574 1, 3, 7, 1, 3, 3, 1, 2, 2, 2, 5575 5, 5, 5, 6, 8, 6, 5, 5, 2, 2, 5576 2, 2, 3, 3, 3, 4, 1, 3, 5, 1, 5577 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 5578 2, 4, 4, 2, 11, 3, 6, 8, 6, 6, 5579 6, 13, 8, 6, 10, 5, 5, 5, 5, 5, 5580 0, 10, 11, 7, 0, 8, 9, 0, 3, 0, 5581 1, 0, 3, 1, 1, 3, 4, 0, 2, 0, 5582 2, 5, 3, 7, 4, 4, 4, 4, 3, 3, 5583 3, 7, 3, 3, 3, 3, 3, 3, 3, 3, 5584 3, 3, 2, 0, 2, 2, 1, 3, 8, 8, 5585 3, 3, 5, 7, 7, 6, 5, 3, 2, 3, 5586 3, 3, 7, 3, 3, 3, 3, 4, 7, 5, 5587 2, 4, 4, 4, 4, 4, 5, 5, 4, 4, 5588 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 5589 4, 2, 4, 5, 4, 4, 4, 4, 4, 3, 5590 3, 3, 5, 2, 3, 3, 3, 3, 1, 1, 5591 0, 1, 0, 1, 1, 1, 0, 2, 2, 0, 5592 2, 2, 0, 2, 0, 1, 1, 2, 1, 1, 5593 2, 1, 1, 5, 0, 1, 0, 1, 2, 3, 5594 0, 3, 3, 3, 3, 1, 1, 1, 1, 1, 5595 1, 1, 1, 0, 1, 1, 3, 3, 2, 2, 5596 3, 1, 3, 2, 1, 2, 1, 2, 2, 4, 5597 3, 3, 6, 4, 7, 6, 1, 3, 2, 2, 5598 2, 2, 1, 1, 1, 3, 2, 1, 1, 1, 5599 0, 1, 1, 0, 3, 0, 2, 0, 2, 1, 5600 2, 2, 0, 1, 1, 0, 1, 1, 0, 1, 5601 0, 1, 2, 3, 4, 1, 1, 1, 1, 1, 5602 1, 1, 1, 3, 1, 2, 3, 5, 0, 1, 5603 2, 1, 1, 0, 1, 2, 1, 3, 1, 1, 5604 1, 4, 3, 3, 3, 7, 0, 3, 1, 3, 5605 1, 1, 3, 3, 1, 3, 4, 4, 4, 3, 5606 2, 4, 0, 1, 0, 2, 0, 1, 0, 1, 5607 2, 1, 1, 1, 2, 2, 1, 2, 3, 2, 5608 3, 2, 2, 2, 1, 1, 3, 3, 0, 5, 5609 4, 5, 5, 0, 2, 3, 3, 3, 2, 3, 5610 1, 3, 4, 3, 1, 3, 4, 5, 6, 3, 5611 4, 5, 6, 3, 4, 1, 3, 3, 3, 3, 5612 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 5613 1, 1, 1, 3, 1, 1, 2, 2, 2, 2, 5614 1, 1, 2, 9, 6, 6, 6, 2, 2, 3, 5615 3, 3, 0, 3, 1, 1, 1, 2, 1, 2, 5616 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5617 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 5618 6, 8, 6, 8, 5, 4, 2, 2, 1, 2, 5619 2, 2, 8, 8, 6, 1, 1, 1, 1, 1, 5620 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5621 1, 1, 1, 1, 1, 1, 0, 2, 0, 2, 5622 3, 3, 4, 4, 4, 4, 4, 0, 3, 4, 5623 7, 3, 1, 1, 1, 2, 3, 3, 1, 2, 5624 2, 1, 2, 1, 2, 2, 1, 2, 0, 1, 5625 0, 2, 1, 2, 4, 0, 2, 1, 3, 5, 5626 1, 2, 2, 0, 3, 0, 2, 0, 1, 3, 5627 1, 3, 2, 0, 1, 1, 0, 1, 2, 4, 5628 4, 0, 2, 2, 1, 1, 3, 3, 3, 3, 5629 3, 3, 3, 0, 3, 3, 3, 0, 3, 1, 5630 1, 0, 4, 0, 1, 1, 0, 3, 1, 3, 5631 2, 1, 2, 4, 9, 3, 5, 0, 3, 3, 5632 0, 1, 0, 2, 2, 0, 2, 2, 2, 0, 5633 2, 1, 2, 3, 3, 0, 2, 1, 2, 3, 5634 4, 3, 0, 1, 2, 1, 5, 4, 4, 1, 5635 3, 3, 5, 0, 5, 1, 3, 1, 2, 3, 5636 1, 1, 3, 3, 1, 3, 3, 3, 3, 3, 5637 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 5638 0, 1, 0, 2, 0, 3, 0, 1, 0, 1, 5639 1, 5, 0, 1, 0, 1, 2, 1, 1, 1, 5640 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 5641 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5672 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5673 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5674 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5675 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5676 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5677 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5678 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5679 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5684 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5685 1, 0, 0, 1, 1, 5686 } 5687 5688 var yyChk = [...]int{ 5689 -1000, -314, -6, -10, -15, -16, -17, -18, -19, -20, 5690 -21, -22, -23, -24, -25, -26, -53, -54, -55, -57, 5691 -58, -59, -60, -61, -13, -56, -27, -28, -62, -63, 5692 -64, -65, -66, -8, -7, -12, 7, 8, -74, -29, 5693 30, -34, -44, 203, -45, -35, 204, -46, 206, 205, 5694 241, 207, 234, 72, 281, 282, 284, 285, 286, 287, 5695 -75, 239, 240, 209, 34, 43, 31, 32, 35, 212, 5696 -9, -30, 6, -316, 9, 406, 236, 235, 26, -11, 5697 419, 83, -315, 553, -187, -172, 20, 31, 27, -171, 5698 -167, -87, -172, 18, 16, 5, -67, -319, -67, -67, 5699 10, 11, -67, -268, -270, 83, 140, 83, -67, -50, 5700 -49, -48, -47, -51, 29, -41, -42, -289, -40, -37, 5701 208, 205, 249, 107, 108, 241, 242, 243, 207, 225, 5702 240, 244, 239, 258, -36, 78, 31, 419, 422, -275, 5703 204, 210, 211, 407, 110, 109, 73, 206, -272, 331, 5704 523, -51, 525, 99, 101, 524, 42, 215, 526, 527, 5705 528, 529, 224, 530, 531, 532, 533, 539, 540, 541, 5706 542, 111, 5, -67, -229, -225, -293, -219, 86, 87, 5707 88, 416, 227, 450, 451, 274, 78, 39, 331, 523, 5708 281, 295, 289, 316, 308, 417, 452, 277, 228, 262, 5709 520, 306, 116, 525, 280, 453, 242, 336, 337, 338, 5710 99, 284, 373, 538, 279, 454, 536, 101, 524, 77, 5711 49, 42, 237, 304, 300, 526, 263, 455, 427, 256, 5712 110, 107, 545, 34, 298, 48, 28, 535, 109, 47, 5713 527, 131, 456, 528, 340, 321, 514, 46, 341, 243, 5714 457, 81, 421, 522, 342, 299, 343, 273, 534, 209, 5715 458, 506, 344, 345, 515, 459, 322, 326, 460, 365, 5716 346, 552, 50, 461, 462, 516, 108, 463, 76, 529, 5717 293, 294, 464, 271, 226, 367, 320, 224, 33, 347, 5718 418, 275, 56, 250, 368, 44, 324, 549, 43, 510, 5719 465, 513, 319, 315, 51, 466, 467, 468, 469, 530, 5720 318, 292, 314, 544, 439, 268, 531, 60, 211, 328, 5721 327, 329, 257, 364, 311, 470, 471, 472, 231, 79, 5722 473, 301, 19, 474, 475, 348, 264, 476, 54, 477, 5723 478, 371, 240, 479, 52, 532, 37, 245, 546, 533, 5724 480, 481, 482, 483, 484, 350, 485, 349, 323, 325, 5725 252, 351, 420, 486, 297, 244, 537, 487, 232, 521, 5726 246, 249, 239, 372, 233, 488, 489, 490, 491, 492, 5727 278, 493, 494, 285, 539, 41, 495, 496, 497, 498, 5728 272, 267, 366, 375, 59, 80, 333, 499, 519, 291, 5729 265, 500, 282, 53, 540, 541, 542, 259, 543, 7, 5730 550, 551, 353, 111, 269, 270, 45, 312, 251, 501, 5731 502, 302, 303, 317, 290, 313, 283, 507, 253, 354, 5732 241, 503, 374, 266, 334, 424, 258, 355, 518, 423, 5733 310, 307, 260, 504, 356, 216, 254, 255, 505, 508, 5734 357, 358, 276, 359, 360, 361, 362, 363, 261, 422, 5735 288, 305, 335, 387, 388, 389, 390, 391, 392, 393, 5736 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 5737 404, 214, -67, 214, -134, -225, 214, -197, 337, -216, 5738 339, 352, 347, 357, 345, -208, 348, 350, 252, -308, 5739 365, 214, 354, 203, 157, 340, 349, 358, 359, 276, 5740 360, 363, 261, -304, -293, 528, 543, 116, 309, 344, 5741 342, 366, 510, 362, 361, -225, 283, -232, 288, -220, 5742 -293, -219, 286, -134, -73, 506, 207, -234, -234, -89, 5743 510, 512, -150, -102, 124, -113, -116, -107, -108, -144, 5744 -145, -146, -147, -114, -157, 146, 147, 154, 125, -155, 5745 -117, 24, 415, 408, 407, 157, 29, 199, 66, 67, 5746 410, 411, 127, 55, 383, 384, -115, 378, 385, 380, 5747 413, 414, 102, -220, -225, 219, 377, 213, 152, 406, 5748 -109, -105, -7, -153, 376, 381, 382, 386, 379, -293, 5749 -219, -111, -110, -140, 89, 95, 100, 96, -313, 103, 5750 -316, 90, 91, 92, 93, 94, 104, 105, 158, 159, 5751 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 5752 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 5753 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 5754 190, 191, 192, 193, 194, 195, 196, 197, 198, 42, 5755 353, 353, -134, -67, -165, -87, -167, -9, -7, -316, 5756 6, -67, -7, -8, -12, -30, -32, 446, -31, -225, 5757 -172, -187, 10, 142, 40, 48, -170, -171, -11, -7, 5758 -102, 17, 21, 22, -92, 148, -102, -225, -68, -92, 5759 -206, 218, -67, -67, -196, -237, 283, -200, 366, 365, 5760 -221, -198, -220, -218, -197, 364, 208, 425, 123, 23, 5761 25, 126, 157, 17, 127, 35, 210, 309, 225, 156, 5762 221, 407, 203, 70, 426, 378, 380, 376, 383, 409, 5763 410, 377, 339, 29, 11, 428, 26, 235, 22, 36, 5764 150, 205, 130, 238, 24, 236, 102, 105, 431, 20, 5765 73, 230, 12, 223, 38, 14, 432, 433, 15, 219, 5766 218, 142, 215, 68, 9, 199, 27, 139, 64, 434, 5767 118, 435, 436, 437, 438, 66, 140, 18, 547, 381, 5768 382, 31, 511, 415, 247, 152, 71, 57, 512, 124, 5769 379, 440, 441, 103, 442, 106, 74, 517, 120, 16, 5770 69, 40, 443, 248, 444, 220, 548, 445, 369, 446, 5771 141, 206, 406, 67, 447, 213, 352, 6, 412, 30, 5772 234, 222, 113, 65, 448, 214, 129, 413, 414, 217, 5773 104, 5, 117, 32, 10, 72, 75, 384, 385, 386, 5774 55, 112, 419, 128, 13, 449, 370, 122, 116, -269, 5775 140, -256, -260, -220, 229, -285, 225, -134, -278, -277, 5776 -220, -88, -215, 215, 223, 222, 117, -297, 120, 269, 5777 377, 213, -47, -48, -197, 156, 246, 84, 84, -260, 5778 -259, -258, -298, 248, 229, -284, -276, 221, 230, -266, 5779 222, 223, -261, 215, 118, -298, -261, 220, 230, 248, 5780 248, 111, 248, 111, 248, 248, 248, 248, 248, 248, 5781 248, 248, 248, 245, -267, 132, -267, 423, 423, -272, 5782 -298, -298, -298, 217, 33, 33, -217, -261, 217, 23, 5783 -267, -267, -197, 156, -267, -267, -267, -267, 256, 256, 5784 -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, 5785 -267, -267, -267, -267, -267, 214, -297, -96, 363, 276, 5786 78, -49, 258, -33, -134, -215, 215, 216, -297, -134, 5787 200, -134, -210, 140, 13, -210, -207, 353, 351, 338, 5788 343, -210, -210, -210, -210, 259, 336, -262, 215, 33, 5789 226, 353, 259, 336, 259, 260, 259, 260, 346, 356, 5790 259, -230, 12, 142, 377, 341, 345, 252, 214, 253, 5791 216, 355, -293, 513, 260, -230, 90, -211, 140, 353, 5792 255, -210, -235, -316, -221, 309, -235, -235, 30, 217, 5793 -220, -69, -220, 90, -14, -10, -18, -17, -19, 132, 5794 -94, 353, -83, 157, 528, 514, 515, 516, 513, 350, 5795 521, 519, 517, 259, 518, 84, 120, 122, 123, -102, 5796 139, -141, 132, 133, 134, 135, 136, 137, 138, 142, 5797 124, 126, 140, 141, 121, 143, 144, 145, 146, 147, 5798 148, 149, 151, 150, 152, 153, 156, 201, 202, -108, 5799 -108, -108, -108, -155, -316, -316, -316, -108, -205, -316, 5800 -108, -316, -316, -316, -316, -161, -102, -316, -320, -316, 5801 -320, -320, -247, -316, -247, -316, -316, -316, -316, 200, 5802 -316, -316, -316, -316, -316, -247, -247, -247, -247, -247, 5803 100, 95, 89, -157, 96, 90, -220, -225, -7, -8, 5804 -150, -234, -305, -306, -137, -134, -316, 276, -170, -11, 5805 -7, -165, -171, -167, -7, -67, -81, -93, 61, 62, 5806 -95, 22, 36, 65, 63, 21, -317, 85, -317, -187, 5807 -317, 84, -32, -190, 83, 59, 41, 90, 90, 84, 5808 19, -166, -168, -102, 12, -223, -222, 23, -220, 90, 5809 200, 98, 12, -135, 27, -134, -206, -206, 84, 283, 5810 -200, -237, -202, -201, 367, 369, 132, -224, -220, 90, 5811 29, 85, 84, -134, -239, -242, -244, -243, -245, -240, 5812 -241, 306, 307, 157, 310, 312, 313, 314, 315, 316, 5813 317, 318, 319, 320, 321, 30, 237, 302, 303, 304, 5814 305, 322, 323, 324, 325, 326, 327, 328, 329, 289, 5815 308, 417, 290, 291, 292, 293, 294, 295, 297, 298, 5816 299, 300, 301, -296, -293, 83, 85, 84, -246, 83, 5817 -96, 214, -293, 215, 215, 215, -67, 406, -267, -267, 5818 245, -40, -37, -289, 16, -36, -37, 208, 107, 108, 5819 205, 83, -256, 83, -265, -296, -293, 83, 118, 220, 5820 117, -264, -261, -264, -265, -293, -157, -293, 118, 118, 5821 -193, -220, -193, -193, 21, -193, 21, -193, 21, 92, 5822 -220, -193, 21, -193, 21, -193, 21, -193, 21, -193, 5823 21, 29, 76, 77, 29, 79, 80, 81, -157, -157, 5824 -256, -197, -134, -293, 92, 92, -267, -267, 92, 90, 5825 90, 90, -267, -267, 92, 90, -227, -225, 90, -299, 5826 231, 273, 275, 92, 92, 92, 92, 29, 90, -300, 5827 29, 535, 534, 536, 537, 538, 92, 29, 92, 29, 5828 92, -220, 83, -134, -99, 263, 203, 205, 208, 74, 5829 90, 277, 132, 42, 84, 217, 214, -293, -212, 219, 5830 -212, -226, -225, -218, 90, -102, -263, 12, 142, -230, 5831 -230, -210, -134, -263, -230, -210, -134, -210, -210, -210, 5832 -210, -230, -230, -230, -210, -225, -225, -134, -134, -134, 5833 -134, -134, -134, -134, -235, -235, -235, -211, -210, 513, 5834 90, 74, -233, 286, 320, 507, 508, 509, 84, 419, 5835 -127, -134, 513, 513, 513, 513, 513, 513, -102, -102, 5836 -102, -102, -148, 103, 124, 104, 105, -116, -149, -153, 5837 -155, 97, 142, 126, 140, 141, -107, -108, -107, -107, 5838 -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, 5839 -107, -236, -293, 90, 157, -112, 90, 91, -313, 96, 5840 -112, -90, -92, -102, -102, -293, -220, -90, -90, -102, 5841 -86, 22, 36, -159, -160, 128, -157, -317, -317, 92, 5842 96, -220, -220, -80, -79, 388, 389, 390, 391, 393, 5843 394, 395, 398, 399, 403, 404, 387, 405, 392, 397, 5844 400, 401, 402, 396, 305, -91, 22, 36, -90, -221, 5845 -226, -218, -90, -91, -91, -90, -90, 200, -187, -317, 5846 84, -307, 369, 370, 511, -228, 248, -227, 23, -151, 5847 -150, 90, -170, -170, 61, 62, 57, -90, -95, -317, 5848 -31, 23, -189, -220, 60, 90, -248, -197, -102, -102, 5849 84, -169, 25, 26, -134, -222, 148, -226, -134, -192, 5850 248, -134, -119, -121, -122, -123, -137, -156, -316, 12, 5851 -127, -128, -136, -225, -200, -202, 84, 368, 370, 371, 5852 74, 106, -102, -249, 156, -274, -273, -272, -256, -258, 5853 -259, -260, 85, -173, -101, 38, -252, 334, 333, -246, 5854 -246, -246, -246, -246, -248, -248, -248, -248, 83, 83, 5855 -246, -246, -246, -246, -250, 83, -250, -250, -251, 83, 5856 -251, -285, -102, -282, -281, -279, -280, 224, 99, 419, 5857 75, -277, -169, 92, -99, -213, 219, -283, -280, -293, 5858 -293, -293, -213, -293, 90, -293, 90, 84, 17, -257, 5859 -256, -52, 273, -288, 248, -284, -278, -265, 118, -264, 5860 -265, -265, -293, 84, 27, 111, 111, 111, 111, 419, 5861 205, 30, -256, -52, -236, 217, -236, -236, 90, 90, 5862 -209, 543, -127, -98, 265, 132, 254, 254, 214, 214, 5863 267, -134, 278, 280, 279, 277, 21, 266, 268, 270, 5864 256, -134, -134, -212, 74, -129, -134, 24, -225, -134, 5865 -210, -210, -134, -210, -210, -134, -220, -83, 369, 84, 5866 419, 20, -84, 20, 103, 104, 105, -149, -107, -108, 5867 -107, 123, 238, 90, 84, -317, 23, 84, 75, -317, 5868 -317, -317, 84, 12, -90, -162, -160, 130, -102, -317, 5869 -317, -317, 84, 84, 12, -317, -90, -90, -316, 200, 5870 -317, -317, -317, -317, -317, -221, -306, 510, 370, -138, 5871 72, 218, 73, -316, -227, -317, -143, -220, 92, 96, 5872 -172, -118, -120, 12, -95, -155, 85, 84, -248, -176, 5873 -181, -207, -293, 90, 157, -168, 200, -139, 13, -142, 5874 30, 55, -10, -316, -316, 30, 84, -130, -132, -131, 5875 -133, 64, 68, 70, 65, 66, 67, 71, -231, 23, 5876 -119, -8, -7, -316, -134, -127, -318, 12, 75, -318, 5877 84, 200, -201, -203, 372, 369, 375, -293, 90, -76, 5878 248, 84, -272, -260, -312, 103, 124, 29, 74, 331, 5879 99, -310, 156, -311, 220, 117, 118, 232, 23, 39, 5880 -253, 335, -248, -248, -255, 90, -255, 92, 92, 85, 5881 -43, -38, -39, 31, 78, -279, -267, 90, 37, -220, 5882 85, -98, -134, 124, 74, -283, -283, -283, -225, 16, 5883 -189, 84, 85, -158, 274, 85, -220, 85, 83, -265, 5884 -265, -220, -316, 214, 29, 29, -52, -158, -249, -293, 5885 545, 544, 85, 216, 272, -100, 383, 90, 86, -134, 5886 -134, -134, -134, -134, 208, 205, 257, 217, -127, -134, 5887 84, -72, 233, 228, -230, -230, 31, -134, 369, 522, 5888 520, 123, 238, -116, -108, -92, 416, -238, 157, 306, 5889 237, 304, 300, 320, 311, 333, 302, 334, -238, -236, 5890 -102, -102, -165, 131, -102, 129, -102, -102, -102, -317, 5891 -317, -91, -221, 215, 215, 215, -193, -204, 20, 12, 5892 55, 55, -118, -139, -119, -95, -220, -179, 506, -184, 5893 44, -182, -183, 45, -180, 46, 54, 148, -170, -102, 5894 -194, 74, -195, -199, -157, -152, -154, -153, -316, -188, 5895 -317, -220, -193, -195, -121, -122, -122, -121, -122, 64, 5896 64, 64, 69, 64, 69, 64, -131, -225, -317, -317, 5897 -8, -228, 75, -119, -119, -136, -225, 148, 369, 373, 5898 374, 17, -272, 103, -316, -106, -115, -104, -103, -105, 5899 -109, 146, 147, 10, 90, 90, -293, 118, 118, -134, 5900 83, 85, 84, 85, 84, 85, 84, -214, 456, 124, 5901 -39, -38, -267, -267, 92, -293, 216, 24, -134, 74, 5902 74, 74, 17, -256, -157, 55, -282, -189, -286, -288, 5903 -134, -104, -316, -158, -134, -97, 263, 271, 83, 87, 5904 -295, 75, 254, 331, 254, -134, -72, -43, -134, -210, 5905 -210, 31, -293, -116, -108, -316, -317, -246, -246, -246, 5906 -251, -246, 294, -246, 294, -317, -317, 84, -317, 20, 5907 -317, -82, 412, -102, 84, 84, -317, -317, -316, -316, 5908 -316, -317, -134, -139, -163, 14, -176, 49, 312, -186, 5909 -185, 53, 45, -183, 17, 47, 17, 28, -194, 84, 5910 132, 84, -317, -317, 84, 55, 200, -317, -139, -125, 5911 -124, 74, 75, -126, 74, -124, 64, 64, -190, -317, 5912 -192, -119, -139, -139, 200, -1, -2, 547, 548, 549, 5913 -102, -110, -110, -145, 83, -102, -248, 90, -248, 92, 5914 92, 456, 29, 79, 80, 81, 29, 76, 77, -134, 5915 -134, -134, -134, -189, 250, 85, -317, 84, -254, 419, 5916 422, -102, -190, 85, -292, 419, -294, -220, -220, -220, 5917 -220, -107, -248, -293, -102, -102, -170, 90, -102, -102, 5918 -191, -317, -220, 220, -191, -191, -228, -163, -164, 15, 5919 17, -177, 51, -175, 50, -175, -185, 17, 17, 90, 5920 17, 90, 118, -199, -102, -154, 55, -10, -220, -152, 5921 -220, -165, -102, 83, -102, -139, -139, 552, 118, -77, 5922 83, 338, -317, -189, 85, 85, 85, -190, 251, -311, 5923 -288, 423, 423, -317, 23, -291, -290, -221, 83, 75, 5924 -85, 142, 419, -317, -317, -317, -317, -317, 84, -317, 5925 -317, -317, -138, -164, -102, -150, -178, 52, 74, 106, 5926 90, 90, 90, 10, -152, 200, -170, -189, -165, 83, 5927 -5, 78, -3, 546, -102, 83, 85, -174, 23, -316, 5928 -10, 84, 132, -189, -134, -317, 417, 71, 420, -220, 5929 220, 74, 106, -195, -220, 85, -170, -102, 83, 132, 5930 -78, 550, 92, 85, -189, -302, -303, 74, -312, -309, 5931 103, 124, 99, -310, 112, 113, -10, -102, 247, -70, 5932 419, -290, -271, -221, 90, 92, 85, 60, 418, 421, 5933 85, -189, 92, -287, 83, 17, 85, -303, 74, 11, 5934 10, 103, 90, -70, -317, -317, -71, 262, 510, -295, 5935 60, -3, 85, -286, -1, -301, 233, 228, 231, 30, 5936 -301, 225, -292, 419, -78, -3, 85, 552, 118, 227, 5937 29, 103, 264, 420, -287, -78, 83, -5, 421, -287, 5938 -102, 83, 85, -189, -4, 551, 85, 92, -4, 5939 } 5940 5941 var yyDef = [...]int{ 5942 -2, -2, 2, 4, 5, 6, 7, 8, 9, 10, 5943 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 5944 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 5945 31, 32, 33, 65, 67, 68, 705, 705, 705, 0, 5946 705, 0, 0, 705, -2, -2, 705, 1113, 0, 705, 5947 0, 0, -2, 638, 639, 0, 641, -2, 0, 0, 5948 650, 1561, 1561, 700, 0, 0, 0, 0, 0, 705, 5949 977, 45, 705, 0, 80, 81, 656, 657, 658, 60, 5950 0, 1559, 1, 3, 66, 70, 0, 0, 0, 53, 5951 986, 0, 73, 0, 0, 709, 0, 707, 0, 1096, 5952 705, 705, 0, 111, 112, 0, 0, 0, -2, 115, 5953 -2, 139, 140, 0, 144, 490, 450, 493, 448, 479, 5954 -2, 441, 0, 0, 0, 0, 0, 0, 0, 0, 5955 0, 0, 0, 0, 453, 343, 343, 0, 0, -2, 5956 441, 441, 441, 0, 0, 0, 476, 1098, 396, 343, 5957 343, 0, 343, 343, 343, 343, 0, 0, 343, 343, 5958 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 5959 343, 343, 343, 1003, 143, 1114, 1111, 1112, 35, 36, 5960 37, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 5961 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 5962 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 5963 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 5964 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 5965 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 5966 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 5967 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 5968 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 5969 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 5970 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 5971 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 5972 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 5973 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 5974 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 5975 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 5976 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 5977 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 5978 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 5979 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 5980 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 5981 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 5982 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 5983 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 5984 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 5985 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 5986 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 5987 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 5988 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 5989 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 5990 1558, 0, 1090, 0, 568, 795, 0, 629, 629, 0, 5991 629, 629, 629, 629, 0, 0, 0, 580, 0, 0, 5992 0, 0, 626, 0, 0, 599, 601, 0, 626, 0, 5993 632, 0, 613, 629, 1562, 1562, 1562, 1081, 0, 623, 5994 621, 635, 636, 618, 619, 637, 640, 0, 645, 648, 5995 1107, 1108, 0, 663, 44, 1339, 655, 668, 669, 0, 5996 701, 702, 40, 881, 0, 810, 814, 825, 838, 839, 5997 840, 841, 842, 844, 845, 0, 0, 0, 0, 850, 5998 851, 0, 0, 0, 0, 0, 862, 0, 0, 0, 5999 0, 0, 958, 0, 926, 926, 898, 926, 928, 928, 6000 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 6001 249, 250, 880, 1070, 928, 928, 928, 928, 928, -2, 6002 -2, 196, 197, 198, 199, 200, 201, 202, 0, 192, 6003 0, 254, 255, 251, 252, 253, 864, 865, 208, 209, 6004 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 6005 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 6006 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 6007 240, 241, 242, 243, 244, 245, 246, 247, 248, 1561, 6008 0, 678, 0, 0, 986, 0, 978, 977, 58, 0, 6009 705, -2, 0, 0, 0, 0, 42, 0, 47, 756, 6010 72, 71, 1022, 0, 0, 0, 54, 987, 62, 64, 6011 988, 0, 710, 711, 0, 734, 738, 0, 706, 0, 6012 0, 1097, 1096, 1096, 97, 0, 1504, 1074, -2, -2, 6013 0, 0, 1109, 1110, 1083, -2, 1117, 1118, 1119, 1120, 6014 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 6015 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 6016 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 6017 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 6018 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 6019 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 6020 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 6021 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 6022 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 6023 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 6024 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 6025 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 6026 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 6027 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, -2, 0, 6028 0, 153, 154, 0, 38, 369, 0, 149, 0, 363, 6029 315, 1003, 0, 0, 0, 0, 0, 705, 0, 1091, 6030 134, 135, 141, 142, 343, 343, 0, 143, 143, 457, 6031 458, 459, 0, 0, -2, 367, 0, 442, 0, 0, 6032 357, 357, 361, 359, 360, 0, 0, 0, 0, 0, 6033 0, 470, 0, 471, 0, 0, 0, 0, 0, 0, 6034 0, 0, 0, 552, 0, 344, 0, 488, 489, 397, 6035 0, 0, 0, 0, 468, 469, 0, 0, 1099, 1100, 6036 0, 0, 343, 343, 0, 0, 0, 0, 343, 343, 6037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6038 0, 0, 0, 0, 0, 0, 133, 1016, 0, 0, 6039 0, -2, 0, 560, 0, 0, 0, 1092, 1092, 567, 6040 0, 569, 570, 0, 0, 571, 0, 626, 626, 624, 6041 625, 573, 574, 575, 576, 629, 0, 0, 352, 353, 6042 354, 626, 629, 0, 629, 629, 629, 629, 626, 626, 6043 626, 629, 0, 0, 0, 0, 0, 0, 0, 0, 6044 0, 1562, 1562, 1562, 632, 629, 0, 609, 0, 610, 6045 611, 614, 615, 1563, 1564, 1128, 616, 617, 1082, 646, 6046 649, 666, 664, 665, 667, 659, 660, 661, 662, 0, 6047 680, 681, 686, 0, 0, 0, 0, 692, 693, 694, 6048 0, 0, 697, 698, 699, 0, 0, 0, 0, 808, 6049 0, 0, 870, 871, 872, 873, 874, 875, 876, 0, 6050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6051 0, 0, 0, 0, 0, 0, 0, 0, 0, 846, 6052 847, 848, 849, 852, 0, 0, 0, 857, 858, 0, 6053 0, 0, 0, 0, 715, 0, 959, 0, 896, 0, 6054 897, 899, 900, 0, 901, 0, 0, 0, 718, 0, 6055 0, 718, 718, 0, 0, 185, 186, 187, 188, 189, 6056 203, 204, 205, 206, 207, 256, 967, 0, 880, 0, 6057 0, 41, 670, 671, 0, 778, 1102, 0, 52, 61, 6058 63, 986, 56, 986, 0, 720, 0, 0, -2, -2, 6059 721, 727, 728, 729, 730, 731, 49, 1560, 50, 0, 6060 69, 0, 43, 0, 0, 0, 0, 327, 1025, 0, 6061 0, 979, 980, 983, 0, 735, 739, 0, 741, 742, 6062 0, 708, 0, 95, 0, 794, 0, 0, 0, 1504, 6063 1080, 0, 99, 100, 0, 0, 0, 331, 1085, 1086, 6064 1087, -2, 350, 0, -2, 322, 266, 267, 268, 315, 6065 270, 315, 315, 315, 315, 327, 327, 327, 327, 298, 6066 299, 300, 301, 302, 0, 0, 285, 315, 315, 315, 6067 315, 305, 306, 307, 308, 309, 310, 311, 312, 271, 6068 272, 273, 274, 275, 276, 277, 278, 279, 317, 317, 6069 317, 319, 319, 0, 39, 0, 335, 0, 983, 0, 6070 1016, 1094, 1104, 0, 0, 0, 1094, 117, 0, 0, 6071 491, 451, 480, 492, 0, 454, 455, -2, 0, 0, 6072 441, 0, 443, 0, 351, 0, -2, 0, 361, 0, 6073 357, 361, 358, 361, 349, 362, 472, 473, 474, 0, 6074 532, 764, 0, 0, 0, 0, 0, 538, 539, 540, 6075 0, 542, 543, 544, 545, 546, 547, 548, 549, 550, 6076 551, 481, 482, 483, 484, 485, 486, 487, 0, 0, 6077 443, 0, 477, 0, 398, 399, 0, 0, 402, 403, 6078 404, 405, 0, 0, 408, 409, 410, 781, 782, 411, 6079 435, 436, 437, 412, 413, 414, 415, 416, 417, 418, 6080 429, 430, 431, 432, 433, 434, 419, 420, 421, 422, 6081 423, 426, 0, 127, 1007, 0, 0, 0, 0, 0, 6082 0, 0, 0, 0, 0, 0, 1092, 0, 0, 0, 6083 0, 796, 1115, 1116, 630, 631, 0, 355, 356, 629, 6084 629, 577, 600, 0, 629, 581, 602, 582, 584, 583, 6085 585, 604, 605, 629, 588, 627, 628, 589, 590, 591, 6086 592, 593, 594, 595, 596, 597, 598, 606, 607, 608, 6087 633, 0, 0, 647, 651, 652, 653, 654, 0, 0, 6088 683, 91, 688, 689, 690, 691, 703, 696, 882, 805, 6089 806, 807, 809, 811, 0, 866, 868, 813, 815, 877, 6090 878, 879, 0, 0, 0, 0, 0, 819, 823, 826, 6091 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 6092 837, 843, 942, 943, 944, 860, 257, 258, 0, 260, 6093 861, 0, 732, 0, 0, 0, 859, 0, 0, 0, 6094 0, 716, 717, 965, 962, 0, 0, 927, 929, 0, 6095 0, 0, 0, 0, 905, 906, 907, 908, 909, 910, 6096 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 6097 921, 922, 923, 924, 925, 0, 0, 0, 719, 968, 6098 0, -2, 0, 0, 0, 0, 0, 0, 0, 1069, 6099 0, 673, 674, 676, 0, 798, 0, 779, 0, 0, 6100 1103, 679, 55, 57, 725, 726, 0, 743, 722, 51, 6101 46, 0, 0, 758, 1023, 327, 1045, 0, 989, 990, 6102 0, 982, 984, 985, 74, 740, 736, 0, 803, 0, 6103 0, 793, 0, 746, 748, 749, 750, 776, 0, 0, 6104 0, 0, 93, 795, 1075, 98, 0, 0, 103, 104, 6105 1076, 1077, 1078, 1079, 0, 510, -2, 393, 155, 157, 6106 158, 159, 150, 375, 0, 0, 325, 323, 324, 269, 6107 327, 327, 292, 293, 294, 295, 296, 297, 0, 0, 6108 286, 287, 288, 289, 280, 0, 281, 282, 283, 0, 6109 284, 368, 0, 991, 336, 337, 339, 343, 0, 0, 6110 0, 364, 365, 0, 1007, 0, 0, 0, 1105, 1104, 6111 1104, 1104, 0, 145, 146, 147, 148, 143, 0, 0, 6112 151, 445, 444, 0, 0, 366, 0, 0, 361, 361, 6113 346, 347, 475, 0, 0, 534, 535, 536, 537, 0, 6114 0, 0, 443, 445, 331, 0, 400, 401, 406, 407, 6115 424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6116 0, 0, 505, 506, 507, 508, 509, 1004, 1005, 1006, 6117 0, 0, 561, 0, 0, 385, 89, 1093, 566, 626, 6118 587, 603, 626, 579, 586, 612, 643, 687, 0, 0, 6119 0, 0, 695, 0, 812, 867, 869, 816, 0, 820, 6120 824, 0, 0, 259, 0, 0, 0, 0, 0, 863, 6121 887, 888, 0, 0, 977, 0, 963, 0, 0, 895, 6122 930, 931, 0, 0, 0, 883, 0, 0, 718, 0, 6123 932, 933, 934, 935, 936, 968, 672, 675, 677, 754, 6124 0, 0, 0, 0, 780, 1101, 0, 970, 0, 0, 6125 743, 803, 744, 0, 723, 48, 757, 0, 1027, 1026, 6126 1039, 1052, 328, 329, 330, 981, 0, 986, 0, 1063, 6127 0, 0, 1055, 0, 0, 0, 0, 0, 0, 0, 6128 0, 783, 0, 0, 786, 0, 0, 0, 0, 777, 6129 0, 0, 0, 0, -2, 0, 0, 87, 88, 0, 6130 0, 0, 101, 102, 0, 0, 108, 332, 333, 136, 6131 0, 143, 395, 156, 160, 165, 0, 0, 0, 170, 6132 0, 172, 0, 376, 0, 262, 264, 0, 0, 163, 6133 265, 326, 290, 291, 0, 313, 0, 0, 0, 388, 6134 113, 995, 994, 343, 343, 338, 0, 341, 0, 1106, 6135 316, 0, 126, 0, 0, 0, 0, 0, 132, 0, 6136 449, 0, 460, 461, 0, 531, 0, 335, 0, 345, 6137 348, 765, 0, 0, 462, 0, 445, 466, 467, 478, 6138 427, 428, 425, 0, 0, 1017, 1018, 0, 1021, 118, 6139 498, 500, 499, 503, 0, 0, 496, 0, 385, 991, 6140 0, 565, 386, 387, 629, 629, 682, 92, 0, 685, 6141 0, 0, 0, 817, 821, 733, 0, 0, 315, 315, 6142 948, 315, 319, 951, 315, 953, 315, 956, 0, 0, 6143 0, 0, 960, 894, 966, 0, 0, 0, 0, 884, 6144 885, 0, 969, 0, 0, 0, 0, 0, 1088, 1089, 6145 971, 972, 803, 973, 745, 724, 759, 1045, 0, 1038, 6146 0, -2, 1047, 0, 0, 0, 1053, 737, 75, 804, 6147 78, 0, 1063, 1071, 0, 1054, 1065, 1067, 0, 0, 6148 0, 1059, 0, 803, 747, 772, 774, 0, 769, 784, 6149 785, 787, 0, 789, 0, 791, 792, 756, 752, 753, 6150 0, 95, 0, 803, 803, 94, 0, 797, 105, 106, 6151 107, 519, 394, 166, 0, 168, 183, 184, 190, 191, 6152 193, 0, 0, 0, 171, 173, 174, 261, 263, 0, 6153 0, 327, 0, 327, 0, 320, 0, 377, 389, 0, 6154 992, 993, 0, 0, 340, 342, 0, 1095, 128, 0, 6155 0, 0, 0, 152, 446, 0, 334, 0, 0, 556, 6156 553, 463, 0, 465, 756, 1008, 1009, 1010, 0, 1020, 6157 121, 0, 0, 0, 0, 562, 563, 564, 90, 572, 6158 578, 684, 704, 818, 822, 0, 854, 945, 327, 949, 6159 950, 952, 954, 955, 957, 855, 856, 0, 890, 0, 6160 892, 986, 0, 964, 0, 0, 904, 886, 0, 0, 6161 0, 778, 59, 973, 975, 0, 1032, 1030, 1030, 1040, 6162 1041, 0, 0, 1048, 0, 0, 0, 0, 79, 0, 6163 0, 0, 1068, 0, 0, 0, 0, 96, 977, 766, 6164 773, 0, 0, 767, 0, 768, 788, 790, 751, -2, 6165 803, 803, 85, 86, 0, 0, 0, 520, 523, 524, 6166 0, 194, 195, 169, 0, 0, 303, 314, 304, 0, 6167 0, 390, 996, 997, 998, 999, 1000, 1001, 1002, 756, 6168 129, 130, 131, 452, 0, 0, 533, 0, 541, 0, 6169 0, 0, 0, 1019, 497, 0, 119, 120, 0, 0, 6170 502, 937, 946, 947, 0, 0, 0, 961, 0, 0, 6171 0, 800, 760, 761, 0, 0, 798, 975, 77, 0, 6172 0, 1035, 0, 1028, 1031, 1029, 1042, 0, 0, 1049, 6173 0, 1051, 0, 1072, 1073, 1066, 0, 1058, 1061, 1057, 6174 1060, 986, 770, 0, 775, 977, 84, 0, 521, 527, 6175 0, 0, 167, 0, 177, 318, 321, 0, 0, 370, 6176 557, 554, 555, 464, 0, 122, 123, 0, 0, 0, 6177 0, 0, 0, 889, 891, 893, 902, 903, 0, 799, 6178 801, 802, 755, 76, 976, 974, 1024, 0, 1033, 1034, 6179 1043, 1044, 1050, 0, 1056, 0, 82, 0, 986, 0, 6180 0, 0, 514, 0, 0, 0, 371, 375, 0, 0, 6181 1011, 0, 0, 0, 504, 853, 0, 0, 0, 762, 6182 763, 1036, 1037, 1064, 1062, 771, 83, 0, 0, 0, 6183 517, 0, 528, 525, 0, 372, 373, 0, 161, 178, 6184 179, 0, 0, 182, 175, 176, 1011, 0, 0, 494, 6185 1013, 124, 125, 438, 439, 440, 118, 938, 0, 941, 6186 527, 0, 522, 513, 0, 519, 526, 374, 0, 0, 6187 0, 180, 181, 114, 558, 559, 0, 1014, 1015, 121, 6188 939, 514, 527, 0, 0, 378, 380, 381, 0, 0, 6189 379, 0, 501, 0, 517, 514, 518, 0, 521, 382, 6190 383, 384, 1012, 0, 511, 517, 0, 0, 940, 512, 6191 0, 0, 529, 0, 515, 0, 529, 530, 516, 6192 } 6193 6194 var yyTok1 = [...]int{ 6195 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6196 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6197 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6198 3, 3, 3, 125, 3, 3, 3, 151, 143, 3, 6199 83, 85, 148, 146, 84, 147, 200, 149, 3, 3, 6200 3, 3, 3, 3, 3, 3, 3, 3, 3, 553, 6201 133, 132, 134, 3, 3, 3, 3, 3, 3, 3, 6202 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6203 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6204 3, 3, 3, 3, 153, 3, 3, 3, 3, 3, 6205 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6206 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6207 3, 3, 3, 3, 121, 3, 154, 6208 } 6209 6210 var yyTok2 = [...]int{ 6211 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 6212 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 6213 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6214 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 6215 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 6216 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 6217 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 6218 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 6219 82, 86, 87, 88, 89, 90, 91, 92, 93, 94, 6220 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 6221 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 6222 115, 116, 117, 118, 119, 120, 122, 123, 124, 126, 6223 127, 128, 129, 130, 131, 135, 136, 137, 138, 139, 6224 140, 141, 142, 144, 145, 150, 152, 155, 156, 157, 6225 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 6226 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 6227 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 6228 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 6229 198, 199, 201, 202, 203, 204, 205, 206, 207, 208, 6230 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 6231 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 6232 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 6233 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 6234 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 6235 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 6236 269, 270, 271, 272, 273, 274, 6237 } 6238 6239 var yyTok3 = [...]int{ 6240 57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279, 6241 57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284, 6242 57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289, 6243 57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294, 6244 57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299, 6245 57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304, 6246 57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309, 6247 57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314, 6248 57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319, 6249 57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324, 6250 57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329, 6251 57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334, 6252 57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339, 6253 57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344, 6254 57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349, 6255 57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354, 6256 57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359, 6257 57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364, 6258 57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369, 6259 57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374, 6260 57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379, 6261 57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384, 6262 57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389, 6263 57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394, 6264 57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399, 6265 57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404, 6266 57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409, 6267 57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414, 6268 57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419, 6269 57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424, 6270 57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429, 6271 57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434, 6272 57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439, 6273 57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444, 6274 57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449, 6275 57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454, 6276 57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459, 6277 57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464, 6278 57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469, 6279 57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474, 6280 57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479, 6281 57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484, 6282 57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489, 6283 57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494, 6284 57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499, 6285 57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504, 6286 57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509, 6287 57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514, 6288 57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519, 6289 57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524, 6290 57850, 525, 57851, 526, 57852, 527, 57853, 528, 57854, 529, 6291 57855, 530, 57856, 531, 57857, 532, 57858, 533, 57859, 534, 6292 57860, 535, 57861, 536, 57862, 537, 57863, 538, 57864, 539, 6293 57865, 540, 57866, 541, 57867, 542, 57868, 543, 57869, 544, 6294 57870, 545, 57871, 546, 57872, 547, 57873, 548, 57874, 549, 6295 57875, 550, 57876, 551, 57877, 552, 0, 6296 } 6297 6298 var yyErrorMessages = [...]struct { 6299 state int 6300 token int 6301 msg string 6302 }{} 6303 6304 //line yaccpar:1 6305 6306 /* parser for yacc output */ 6307 6308 func yyIaddr(v interface{}) __yyunsafe__.Pointer { 6309 type h struct { 6310 t __yyunsafe__.Pointer 6311 p __yyunsafe__.Pointer 6312 } 6313 return (*h)(__yyunsafe__.Pointer(&v)).p 6314 } 6315 6316 var ( 6317 yyDebug = 0 6318 yyErrorVerbose = false 6319 ) 6320 6321 type yyLexer interface { 6322 Lex(lval *yySymType) int 6323 Error(s string) 6324 } 6325 6326 type yyParser interface { 6327 Parse(yyLexer) int 6328 Lookahead() int 6329 } 6330 6331 type yyParserImpl struct { 6332 lval yySymType 6333 stack [yyInitialStackSize]yySymType 6334 char int 6335 } 6336 6337 func (p *yyParserImpl) Lookahead() int { 6338 return p.char 6339 } 6340 6341 func yyNewParser() yyParser { 6342 return &yyParserImpl{} 6343 } 6344 6345 const yyFlag = -1000 6346 6347 func yyTokname(c int) string { 6348 if c >= 1 && c-1 < len(yyToknames) { 6349 if yyToknames[c-1] != "" { 6350 return yyToknames[c-1] 6351 } 6352 } 6353 return __yyfmt__.Sprintf("tok-%v", c) 6354 } 6355 6356 func yyStatname(s int) string { 6357 if s >= 0 && s < len(yyStatenames) { 6358 if yyStatenames[s] != "" { 6359 return yyStatenames[s] 6360 } 6361 } 6362 return __yyfmt__.Sprintf("state-%v", s) 6363 } 6364 6365 func yyErrorMessage(state, lookAhead int) string { 6366 const TOKSTART = 4 6367 6368 if !yyErrorVerbose { 6369 return "syntax error" 6370 } 6371 6372 for _, e := range yyErrorMessages { 6373 if e.state == state && e.token == lookAhead { 6374 return "syntax error: " + e.msg 6375 } 6376 } 6377 6378 res := "syntax error: unexpected " + yyTokname(lookAhead) 6379 6380 // To match Bison, suggest at most four expected tokens. 6381 expected := make([]int, 0, 4) 6382 6383 // Look for shiftable tokens. 6384 base := yyPact[state] 6385 for tok := TOKSTART; tok-1 < len(yyToknames); tok++ { 6386 if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok { 6387 if len(expected) == cap(expected) { 6388 return res 6389 } 6390 expected = append(expected, tok) 6391 } 6392 } 6393 6394 if yyDef[state] == -2 { 6395 i := 0 6396 for yyExca[i] != -1 || yyExca[i+1] != state { 6397 i += 2 6398 } 6399 6400 // Look for tokens that we accept or reduce. 6401 for i += 2; yyExca[i] >= 0; i += 2 { 6402 tok := yyExca[i] 6403 if tok < TOKSTART || yyExca[i+1] == 0 { 6404 continue 6405 } 6406 if len(expected) == cap(expected) { 6407 return res 6408 } 6409 expected = append(expected, tok) 6410 } 6411 6412 // If the default action is to accept or reduce, give up. 6413 if yyExca[i+1] != 0 { 6414 return res 6415 } 6416 } 6417 6418 for i, tok := range expected { 6419 if i == 0 { 6420 res += ", expecting " 6421 } else { 6422 res += " or " 6423 } 6424 res += yyTokname(tok) 6425 } 6426 return res 6427 } 6428 6429 func yylex1(lex yyLexer, lval *yySymType) (char, token int) { 6430 token = 0 6431 char = lex.Lex(lval) 6432 if char <= 0 { 6433 token = yyTok1[0] 6434 goto out 6435 } 6436 if char < len(yyTok1) { 6437 token = yyTok1[char] 6438 goto out 6439 } 6440 if char >= yyPrivate { 6441 if char < yyPrivate+len(yyTok2) { 6442 token = yyTok2[char-yyPrivate] 6443 goto out 6444 } 6445 } 6446 for i := 0; i < len(yyTok3); i += 2 { 6447 token = yyTok3[i+0] 6448 if token == char { 6449 token = yyTok3[i+1] 6450 goto out 6451 } 6452 } 6453 6454 out: 6455 if token == 0 { 6456 token = yyTok2[1] /* unknown char */ 6457 } 6458 if yyDebug >= 3 { 6459 __yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char)) 6460 } 6461 return char, token 6462 } 6463 6464 func yyParse(yylex yyLexer) int { 6465 return yyNewParser().Parse(yylex) 6466 } 6467 6468 func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int { 6469 var yyn int 6470 var yyVAL yySymType 6471 var yyDollar []yySymType 6472 _ = yyDollar // silence set and not used 6473 yyS := yyrcvr.stack[:] 6474 6475 Nerrs := 0 /* number of errors */ 6476 Errflag := 0 /* error recovery flag */ 6477 yystate := 0 6478 yyrcvr.char = -1 6479 yytoken := -1 // yyrcvr.char translated into internal numbering 6480 defer func() { 6481 // Make sure we report no lookahead when not parsing. 6482 yystate = -1 6483 yyrcvr.char = -1 6484 yytoken = -1 6485 }() 6486 yyp := -1 6487 goto yystack 6488 6489 ret0: 6490 return 0 6491 6492 ret1: 6493 return 1 6494 6495 yystack: 6496 /* put a state and value onto the stack */ 6497 if yyDebug >= 4 { 6498 __yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate)) 6499 } 6500 6501 yyp++ 6502 if yyp >= len(yyS) { 6503 nyys := make([]yySymType, len(yyS)*2) 6504 copy(nyys, yyS) 6505 yyS = nyys 6506 } 6507 yyS[yyp] = yyVAL 6508 yyS[yyp].yys = yystate 6509 6510 yynewstate: 6511 yyn = yyPact[yystate] 6512 if yyn <= yyFlag { 6513 goto yydefault /* simple state */ 6514 } 6515 if yyrcvr.char < 0 { 6516 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 6517 } 6518 yyn += yytoken 6519 if yyn < 0 || yyn >= yyLast { 6520 goto yydefault 6521 } 6522 yyn = yyAct[yyn] 6523 if yyChk[yyn] == yytoken { /* valid shift */ 6524 yyrcvr.char = -1 6525 yytoken = -1 6526 yyVAL = yyrcvr.lval 6527 yystate = yyn 6528 if Errflag > 0 { 6529 Errflag-- 6530 } 6531 goto yystack 6532 } 6533 6534 yydefault: 6535 /* default state action */ 6536 yyn = yyDef[yystate] 6537 if yyn == -2 { 6538 if yyrcvr.char < 0 { 6539 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 6540 } 6541 6542 /* look through exception table */ 6543 xi := 0 6544 for { 6545 if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate { 6546 break 6547 } 6548 xi += 2 6549 } 6550 for xi += 2; ; xi += 2 { 6551 yyn = yyExca[xi+0] 6552 if yyn < 0 || yyn == yytoken { 6553 break 6554 } 6555 } 6556 yyn = yyExca[xi+1] 6557 if yyn < 0 { 6558 goto ret0 6559 } 6560 } 6561 if yyn == 0 { 6562 /* error ... attempt to resume parsing */ 6563 switch Errflag { 6564 case 0: /* brand new error */ 6565 yylex.Error(yyErrorMessage(yystate, yytoken)) 6566 Nerrs++ 6567 if yyDebug >= 1 { 6568 __yyfmt__.Printf("%s", yyStatname(yystate)) 6569 __yyfmt__.Printf(" saw %s\n", yyTokname(yytoken)) 6570 } 6571 fallthrough 6572 6573 case 1, 2: /* incompletely recovered error ... try again */ 6574 Errflag = 3 6575 6576 /* find a state where "error" is a legal shift action */ 6577 for yyp >= 0 { 6578 yyn = yyPact[yyS[yyp].yys] + yyErrCode 6579 if yyn >= 0 && yyn < yyLast { 6580 yystate = yyAct[yyn] /* simulate a shift of "error" */ 6581 if yyChk[yystate] == yyErrCode { 6582 goto yystack 6583 } 6584 } 6585 6586 /* the current p has no shift on "error", pop stack */ 6587 if yyDebug >= 2 { 6588 __yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys) 6589 } 6590 yyp-- 6591 } 6592 /* there is no state on the stack with an error shift ... abort */ 6593 goto ret1 6594 6595 case 3: /* no shift yet; clobber input char */ 6596 if yyDebug >= 2 { 6597 __yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken)) 6598 } 6599 if yytoken == yyEofCode { 6600 goto ret1 6601 } 6602 yyrcvr.char = -1 6603 yytoken = -1 6604 goto yynewstate /* try again in the same state */ 6605 } 6606 } 6607 6608 /* reduction by production yyn */ 6609 if yyDebug >= 2 { 6610 __yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate)) 6611 } 6612 6613 yynt := yyn 6614 yypt := yyp 6615 _ = yypt // guard against "declared and not used" 6616 6617 yyp -= yyR2[yyn] 6618 // yyp is now the index of $0. Perform the default action. Iff the 6619 // reduced production is ε, $1 is possibly out of range. 6620 if yyp+1 >= len(yyS) { 6621 nyys := make([]yySymType, len(yyS)*2) 6622 copy(nyys, yyS) 6623 yyS = nyys 6624 } 6625 yyVAL = yyS[yyp+1] 6626 6627 /* consult goto table to find next state */ 6628 yyn = yyR1[yyn] 6629 yyg := yyPgo[yyn] 6630 yyj := yyg + yyS[yyp].yys + 1 6631 6632 if yyj >= yyLast { 6633 yystate = yyAct[yyg] 6634 } else { 6635 yystate = yyAct[yyj] 6636 if yyChk[yystate] != -yyn { 6637 yystate = yyAct[yyg] 6638 } 6639 } 6640 // dummy call; replaced with literal code 6641 switch yynt { 6642 6643 case 1: 6644 yyDollar = yyS[yypt-2 : yypt+1] 6645 //line sql.y:463 6646 { 6647 setParseTree(yylex, yyDollar[1].statementUnion()) 6648 } 6649 case 2: 6650 yyDollar = yyS[yypt-0 : yypt+1] 6651 //line sql.y:468 6652 { 6653 } 6654 case 3: 6655 yyDollar = yyS[yypt-1 : yypt+1] 6656 //line sql.y:469 6657 { 6658 } 6659 case 4: 6660 yyDollar = yyS[yypt-1 : yypt+1] 6661 var yyLOCAL Statement 6662 //line sql.y:473 6663 { 6664 yyLOCAL = yyDollar[1].selStmtUnion() 6665 } 6666 yyVAL.union = yyLOCAL 6667 case 34: 6668 yyDollar = yyS[yypt-0 : yypt+1] 6669 //line sql.y:506 6670 { 6671 setParseTree(yylex, nil) 6672 } 6673 case 35: 6674 yyDollar = yyS[yypt-1 : yypt+1] 6675 //line sql.y:512 6676 { 6677 yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) 6678 } 6679 case 36: 6680 yyDollar = yyS[yypt-1 : yypt+1] 6681 //line sql.y:516 6682 { 6683 yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) 6684 } 6685 case 37: 6686 yyDollar = yyS[yypt-1 : yypt+1] 6687 //line sql.y:520 6688 { 6689 yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) 6690 } 6691 case 38: 6692 yyDollar = yyS[yypt-0 : yypt+1] 6693 //line sql.y:525 6694 { 6695 yyVAL.colIdent = NewColIdentWithAt("", NoAt) 6696 } 6697 case 39: 6698 yyDollar = yyS[yypt-1 : yypt+1] 6699 //line sql.y:529 6700 { 6701 yyVAL.colIdent = yyDollar[1].colIdent 6702 } 6703 case 40: 6704 yyDollar = yyS[yypt-2 : yypt+1] 6705 var yyLOCAL Statement 6706 //line sql.y:535 6707 { 6708 yyLOCAL = &OtherAdmin{} 6709 } 6710 yyVAL.union = yyLOCAL 6711 case 41: 6712 yyDollar = yyS[yypt-3 : yypt+1] 6713 var yyLOCAL Statement 6714 //line sql.y:541 6715 { 6716 yyLOCAL = &Load{} 6717 } 6718 yyVAL.union = yyLOCAL 6719 case 42: 6720 yyDollar = yyS[yypt-2 : yypt+1] 6721 var yyLOCAL *With 6722 //line sql.y:547 6723 { 6724 yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} 6725 } 6726 yyVAL.union = yyLOCAL 6727 case 43: 6728 yyDollar = yyS[yypt-3 : yypt+1] 6729 var yyLOCAL *With 6730 //line sql.y:551 6731 { 6732 yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} 6733 } 6734 yyVAL.union = yyLOCAL 6735 case 44: 6736 yyDollar = yyS[yypt-0 : yypt+1] 6737 var yyLOCAL *With 6738 //line sql.y:556 6739 { 6740 yyLOCAL = nil 6741 } 6742 yyVAL.union = yyLOCAL 6743 case 45: 6744 yyDollar = yyS[yypt-1 : yypt+1] 6745 var yyLOCAL *With 6746 //line sql.y:560 6747 { 6748 yyLOCAL = yyDollar[1].withUnion() 6749 } 6750 yyVAL.union = yyLOCAL 6751 case 46: 6752 yyDollar = yyS[yypt-3 : yypt+1] 6753 //line sql.y:566 6754 { 6755 yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) 6756 *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) 6757 } 6758 case 47: 6759 yyDollar = yyS[yypt-1 : yypt+1] 6760 var yyLOCAL []*CommonTableExpr 6761 //line sql.y:570 6762 { 6763 yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} 6764 } 6765 yyVAL.union = yyLOCAL 6766 case 48: 6767 yyDollar = yyS[yypt-4 : yypt+1] 6768 var yyLOCAL *CommonTableExpr 6769 //line sql.y:576 6770 { 6771 yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} 6772 } 6773 yyVAL.union = yyLOCAL 6774 case 49: 6775 yyDollar = yyS[yypt-3 : yypt+1] 6776 var yyLOCAL SelectStatement 6777 //line sql.y:582 6778 { 6779 yyLOCAL = yyDollar[2].selStmtUnion() 6780 } 6781 yyVAL.union = yyLOCAL 6782 case 50: 6783 yyDollar = yyS[yypt-3 : yypt+1] 6784 var yyLOCAL SelectStatement 6785 //line sql.y:586 6786 { 6787 yyLOCAL = yyDollar[2].selStmtUnion() 6788 } 6789 yyVAL.union = yyLOCAL 6790 case 51: 6791 yyDollar = yyS[yypt-4 : yypt+1] 6792 var yyLOCAL SelectStatement 6793 //line sql.y:590 6794 { 6795 setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) 6796 yyLOCAL = yyDollar[2].selStmtUnion() 6797 } 6798 yyVAL.union = yyLOCAL 6799 case 52: 6800 yyDollar = yyS[yypt-3 : yypt+1] 6801 var yyLOCAL SelectStatement 6802 //line sql.y:613 6803 { 6804 yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) 6805 yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) 6806 yyLOCAL = yyDollar[1].selStmtUnion() 6807 } 6808 yyVAL.union = yyLOCAL 6809 case 53: 6810 yyDollar = yyS[yypt-2 : yypt+1] 6811 var yyLOCAL SelectStatement 6812 //line sql.y:619 6813 { 6814 yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) 6815 yyLOCAL = yyDollar[1].selStmtUnion() 6816 } 6817 yyVAL.union = yyLOCAL 6818 case 54: 6819 yyDollar = yyS[yypt-3 : yypt+1] 6820 var yyLOCAL SelectStatement 6821 //line sql.y:624 6822 { 6823 yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) 6824 yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) 6825 yyLOCAL = yyDollar[1].selStmtUnion() 6826 } 6827 yyVAL.union = yyLOCAL 6828 case 55: 6829 yyDollar = yyS[yypt-4 : yypt+1] 6830 var yyLOCAL SelectStatement 6831 //line sql.y:630 6832 { 6833 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 6834 yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) 6835 yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion()) 6836 yyLOCAL = yyDollar[2].selStmtUnion() 6837 } 6838 yyVAL.union = yyLOCAL 6839 case 56: 6840 yyDollar = yyS[yypt-3 : yypt+1] 6841 var yyLOCAL SelectStatement 6842 //line sql.y:637 6843 { 6844 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 6845 yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) 6846 yyLOCAL = yyDollar[2].selStmtUnion() 6847 } 6848 yyVAL.union = yyLOCAL 6849 case 57: 6850 yyDollar = yyS[yypt-4 : yypt+1] 6851 var yyLOCAL SelectStatement 6852 //line sql.y:643 6853 { 6854 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 6855 yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) 6856 yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion()) 6857 yyLOCAL = yyDollar[2].selStmtUnion() 6858 } 6859 yyVAL.union = yyLOCAL 6860 case 58: 6861 yyDollar = yyS[yypt-2 : yypt+1] 6862 //line sql.y:650 6863 { 6864 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 6865 } 6866 case 59: 6867 yyDollar = yyS[yypt-7 : yypt+1] 6868 var yyLOCAL SelectStatement 6869 //line sql.y:654 6870 { 6871 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*/) 6872 } 6873 yyVAL.union = yyLOCAL 6874 case 60: 6875 yyDollar = yyS[yypt-1 : yypt+1] 6876 var yyLOCAL SelectStatement 6877 //line sql.y:660 6878 { 6879 yyLOCAL = yyDollar[1].selStmtUnion() 6880 } 6881 yyVAL.union = yyLOCAL 6882 case 61: 6883 yyDollar = yyS[yypt-3 : yypt+1] 6884 var yyLOCAL SelectStatement 6885 //line sql.y:664 6886 { 6887 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 6888 } 6889 yyVAL.union = yyLOCAL 6890 case 62: 6891 yyDollar = yyS[yypt-3 : yypt+1] 6892 var yyLOCAL SelectStatement 6893 //line sql.y:668 6894 { 6895 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 6896 } 6897 yyVAL.union = yyLOCAL 6898 case 63: 6899 yyDollar = yyS[yypt-3 : yypt+1] 6900 var yyLOCAL SelectStatement 6901 //line sql.y:672 6902 { 6903 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 6904 } 6905 yyVAL.union = yyLOCAL 6906 case 64: 6907 yyDollar = yyS[yypt-3 : yypt+1] 6908 var yyLOCAL SelectStatement 6909 //line sql.y:676 6910 { 6911 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 6912 } 6913 yyVAL.union = yyLOCAL 6914 case 65: 6915 yyDollar = yyS[yypt-1 : yypt+1] 6916 var yyLOCAL SelectStatement 6917 //line sql.y:682 6918 { 6919 yyLOCAL = yyDollar[1].selStmtUnion() 6920 } 6921 yyVAL.union = yyLOCAL 6922 case 66: 6923 yyDollar = yyS[yypt-2 : yypt+1] 6924 var yyLOCAL SelectStatement 6925 //line sql.y:686 6926 { 6927 setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) 6928 yyLOCAL = yyDollar[1].selStmtUnion() 6929 } 6930 yyVAL.union = yyLOCAL 6931 case 67: 6932 yyDollar = yyS[yypt-1 : yypt+1] 6933 var yyLOCAL SelectStatement 6934 //line sql.y:691 6935 { 6936 yyLOCAL = yyDollar[1].selStmtUnion() 6937 } 6938 yyVAL.union = yyLOCAL 6939 case 68: 6940 yyDollar = yyS[yypt-1 : yypt+1] 6941 var yyLOCAL SelectStatement 6942 //line sql.y:695 6943 { 6944 yyLOCAL = yyDollar[1].selStmtUnion() 6945 } 6946 yyVAL.union = yyLOCAL 6947 case 69: 6948 yyDollar = yyS[yypt-3 : yypt+1] 6949 var yyLOCAL SelectStatement 6950 //line sql.y:701 6951 { 6952 yyLOCAL = yyDollar[2].selStmtUnion() 6953 } 6954 yyVAL.union = yyLOCAL 6955 case 70: 6956 yyDollar = yyS[yypt-2 : yypt+1] 6957 var yyLOCAL SelectStatement 6958 //line sql.y:705 6959 { 6960 yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) 6961 yyLOCAL = yyDollar[1].selStmtUnion() 6962 } 6963 yyVAL.union = yyLOCAL 6964 case 71: 6965 yyDollar = yyS[yypt-3 : yypt+1] 6966 var yyLOCAL SelectStatement 6967 //line sql.y:710 6968 { 6969 yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) 6970 yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) 6971 yyLOCAL = yyDollar[1].selStmtUnion() 6972 } 6973 yyVAL.union = yyLOCAL 6974 case 72: 6975 yyDollar = yyS[yypt-3 : yypt+1] 6976 var yyLOCAL SelectStatement 6977 //line sql.y:716 6978 { 6979 yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) 6980 yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) 6981 yyLOCAL = yyDollar[1].selStmtUnion() 6982 } 6983 yyVAL.union = yyLOCAL 6984 case 73: 6985 yyDollar = yyS[yypt-2 : yypt+1] 6986 var yyLOCAL SelectStatement 6987 //line sql.y:722 6988 { 6989 yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) 6990 yyLOCAL = yyDollar[1].selStmtUnion() 6991 } 6992 yyVAL.union = yyLOCAL 6993 case 74: 6994 yyDollar = yyS[yypt-5 : yypt+1] 6995 var yyLOCAL Statement 6996 //line sql.y:729 6997 { 6998 yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} 6999 } 7000 yyVAL.union = yyLOCAL 7001 case 75: 7002 yyDollar = yyS[yypt-7 : yypt+1] 7003 var yyLOCAL Statement 7004 //line sql.y:735 7005 { 7006 yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} 7007 } 7008 yyVAL.union = yyLOCAL 7009 case 76: 7010 yyDollar = yyS[yypt-9 : yypt+1] 7011 var yyLOCAL SelectStatement 7012 //line sql.y:743 7013 { 7014 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())) 7015 } 7016 yyVAL.union = yyLOCAL 7017 case 77: 7018 yyDollar = yyS[yypt-8 : yypt+1] 7019 var yyLOCAL SelectStatement 7020 //line sql.y:747 7021 { 7022 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())) 7023 } 7024 yyVAL.union = yyLOCAL 7025 case 78: 7026 yyDollar = yyS[yypt-7 : yypt+1] 7027 var yyLOCAL Statement 7028 //line sql.y:755 7029 { 7030 // insert_data returns a *Insert pre-filled with Columns & Values 7031 ins := yyDollar[6].insUnion() 7032 ins.Action = yyDollar[1].insertActionUnion() 7033 ins.Comments = yyDollar[2].strs 7034 ins.Ignore = yyDollar[3].ignoreUnion() 7035 ins.Table = yyDollar[4].tableName 7036 ins.Partitions = yyDollar[5].partitionsUnion() 7037 ins.OnDup = OnDup(yyDollar[7].updateExprsUnion()) 7038 yyLOCAL = ins 7039 } 7040 yyVAL.union = yyLOCAL 7041 case 79: 7042 yyDollar = yyS[yypt-8 : yypt+1] 7043 var yyLOCAL Statement 7044 //line sql.y:767 7045 { 7046 cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) 7047 vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) 7048 for _, updateList := range yyDollar[7].updateExprsUnion() { 7049 cols = append(cols, updateList.Name.Name) 7050 vals = append(vals, updateList.Expr) 7051 } 7052 yyLOCAL = &Insert{Action: yyDollar[1].insertActionUnion(), Comments: Comments(yyDollar[2].strs), Ignore: yyDollar[3].ignoreUnion(), Table: yyDollar[4].tableName, Partitions: yyDollar[5].partitionsUnion(), Columns: cols, Rows: Values{vals}, OnDup: OnDup(yyDollar[8].updateExprsUnion())} 7053 } 7054 yyVAL.union = yyLOCAL 7055 case 80: 7056 yyDollar = yyS[yypt-1 : yypt+1] 7057 var yyLOCAL InsertAction 7058 //line sql.y:779 7059 { 7060 yyLOCAL = InsertAct 7061 } 7062 yyVAL.union = yyLOCAL 7063 case 81: 7064 yyDollar = yyS[yypt-1 : yypt+1] 7065 var yyLOCAL InsertAction 7066 //line sql.y:783 7067 { 7068 yyLOCAL = ReplaceAct 7069 } 7070 yyVAL.union = yyLOCAL 7071 case 82: 7072 yyDollar = yyS[yypt-10 : yypt+1] 7073 var yyLOCAL Statement 7074 //line sql.y:789 7075 { 7076 yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), 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()} 7077 } 7078 yyVAL.union = yyLOCAL 7079 case 83: 7080 yyDollar = yyS[yypt-11 : yypt+1] 7081 var yyLOCAL Statement 7082 //line sql.y:795 7083 { 7084 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].tableIdent}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()} 7085 } 7086 yyVAL.union = yyLOCAL 7087 case 84: 7088 yyDollar = yyS[yypt-9 : yypt+1] 7089 var yyLOCAL Statement 7090 //line sql.y:799 7091 { 7092 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} 7093 } 7094 yyVAL.union = yyLOCAL 7095 case 85: 7096 yyDollar = yyS[yypt-8 : yypt+1] 7097 var yyLOCAL Statement 7098 //line sql.y:803 7099 { 7100 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} 7101 } 7102 yyVAL.union = yyLOCAL 7103 case 86: 7104 yyDollar = yyS[yypt-8 : yypt+1] 7105 var yyLOCAL Statement 7106 //line sql.y:807 7107 { 7108 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} 7109 } 7110 yyVAL.union = yyLOCAL 7111 case 87: 7112 yyDollar = yyS[yypt-1 : yypt+1] 7113 //line sql.y:812 7114 { 7115 } 7116 case 88: 7117 yyDollar = yyS[yypt-1 : yypt+1] 7118 //line sql.y:813 7119 { 7120 } 7121 case 89: 7122 yyDollar = yyS[yypt-1 : yypt+1] 7123 var yyLOCAL TableNames 7124 //line sql.y:817 7125 { 7126 yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} 7127 } 7128 yyVAL.union = yyLOCAL 7129 case 90: 7130 yyDollar = yyS[yypt-3 : yypt+1] 7131 //line sql.y:821 7132 { 7133 yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) 7134 *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) 7135 } 7136 case 91: 7137 yyDollar = yyS[yypt-1 : yypt+1] 7138 var yyLOCAL TableNames 7139 //line sql.y:827 7140 { 7141 yyLOCAL = TableNames{yyDollar[1].tableName} 7142 } 7143 yyVAL.union = yyLOCAL 7144 case 92: 7145 yyDollar = yyS[yypt-3 : yypt+1] 7146 //line sql.y:831 7147 { 7148 yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) 7149 *yySLICE = append(*yySLICE, yyDollar[3].tableName) 7150 } 7151 case 93: 7152 yyDollar = yyS[yypt-1 : yypt+1] 7153 var yyLOCAL TableNames 7154 //line sql.y:837 7155 { 7156 yyLOCAL = TableNames{yyDollar[1].tableName} 7157 } 7158 yyVAL.union = yyLOCAL 7159 case 94: 7160 yyDollar = yyS[yypt-3 : yypt+1] 7161 //line sql.y:841 7162 { 7163 yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) 7164 *yySLICE = append(*yySLICE, yyDollar[3].tableName) 7165 } 7166 case 95: 7167 yyDollar = yyS[yypt-0 : yypt+1] 7168 var yyLOCAL Partitions 7169 //line sql.y:846 7170 { 7171 yyLOCAL = nil 7172 } 7173 yyVAL.union = yyLOCAL 7174 case 96: 7175 yyDollar = yyS[yypt-4 : yypt+1] 7176 var yyLOCAL Partitions 7177 //line sql.y:850 7178 { 7179 yyLOCAL = yyDollar[3].partitionsUnion() 7180 } 7181 yyVAL.union = yyLOCAL 7182 case 97: 7183 yyDollar = yyS[yypt-3 : yypt+1] 7184 var yyLOCAL Statement 7185 //line sql.y:856 7186 { 7187 yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs), Exprs: yyDollar[3].setExprsUnion()} 7188 } 7189 yyVAL.union = yyLOCAL 7190 case 98: 7191 yyDollar = yyS[yypt-5 : yypt+1] 7192 var yyLOCAL Statement 7193 //line sql.y:862 7194 { 7195 yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} 7196 } 7197 yyVAL.union = yyLOCAL 7198 case 99: 7199 yyDollar = yyS[yypt-4 : yypt+1] 7200 var yyLOCAL Statement 7201 //line sql.y:866 7202 { 7203 yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} 7204 } 7205 yyVAL.union = yyLOCAL 7206 case 100: 7207 yyDollar = yyS[yypt-1 : yypt+1] 7208 var yyLOCAL []Characteristic 7209 //line sql.y:872 7210 { 7211 yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} 7212 } 7213 yyVAL.union = yyLOCAL 7214 case 101: 7215 yyDollar = yyS[yypt-3 : yypt+1] 7216 //line sql.y:876 7217 { 7218 yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) 7219 *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) 7220 } 7221 case 102: 7222 yyDollar = yyS[yypt-3 : yypt+1] 7223 var yyLOCAL Characteristic 7224 //line sql.y:882 7225 { 7226 yyLOCAL = yyDollar[3].isolationLevelUnion() 7227 } 7228 yyVAL.union = yyLOCAL 7229 case 103: 7230 yyDollar = yyS[yypt-2 : yypt+1] 7231 var yyLOCAL Characteristic 7232 //line sql.y:886 7233 { 7234 yyLOCAL = ReadWrite 7235 } 7236 yyVAL.union = yyLOCAL 7237 case 104: 7238 yyDollar = yyS[yypt-2 : yypt+1] 7239 var yyLOCAL Characteristic 7240 //line sql.y:890 7241 { 7242 yyLOCAL = ReadOnly 7243 } 7244 yyVAL.union = yyLOCAL 7245 case 105: 7246 yyDollar = yyS[yypt-2 : yypt+1] 7247 var yyLOCAL IsolationLevel 7248 //line sql.y:896 7249 { 7250 yyLOCAL = RepeatableRead 7251 } 7252 yyVAL.union = yyLOCAL 7253 case 106: 7254 yyDollar = yyS[yypt-2 : yypt+1] 7255 var yyLOCAL IsolationLevel 7256 //line sql.y:900 7257 { 7258 yyLOCAL = ReadCommitted 7259 } 7260 yyVAL.union = yyLOCAL 7261 case 107: 7262 yyDollar = yyS[yypt-2 : yypt+1] 7263 var yyLOCAL IsolationLevel 7264 //line sql.y:904 7265 { 7266 yyLOCAL = ReadUncommitted 7267 } 7268 yyVAL.union = yyLOCAL 7269 case 108: 7270 yyDollar = yyS[yypt-1 : yypt+1] 7271 var yyLOCAL IsolationLevel 7272 //line sql.y:908 7273 { 7274 yyLOCAL = Serializable 7275 } 7276 yyVAL.union = yyLOCAL 7277 case 109: 7278 yyDollar = yyS[yypt-1 : yypt+1] 7279 var yyLOCAL Scope 7280 //line sql.y:914 7281 { 7282 yyLOCAL = SessionScope 7283 } 7284 yyVAL.union = yyLOCAL 7285 case 110: 7286 yyDollar = yyS[yypt-1 : yypt+1] 7287 var yyLOCAL Scope 7288 //line sql.y:918 7289 { 7290 yyLOCAL = GlobalScope 7291 } 7292 yyVAL.union = yyLOCAL 7293 case 111: 7294 yyDollar = yyS[yypt-2 : yypt+1] 7295 var yyLOCAL Statement 7296 //line sql.y:924 7297 { 7298 yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() 7299 yyDollar[1].createTableUnion().FullyParsed = true 7300 yyLOCAL = yyDollar[1].createTableUnion() 7301 } 7302 yyVAL.union = yyLOCAL 7303 case 112: 7304 yyDollar = yyS[yypt-2 : yypt+1] 7305 var yyLOCAL Statement 7306 //line sql.y:930 7307 { 7308 // Create table [name] like [name] 7309 yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() 7310 yyDollar[1].createTableUnion().FullyParsed = true 7311 yyLOCAL = yyDollar[1].createTableUnion() 7312 } 7313 yyVAL.union = yyLOCAL 7314 case 113: 7315 yyDollar = yyS[yypt-6 : yypt+1] 7316 var yyLOCAL Statement 7317 //line sql.y:937 7318 { 7319 indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition 7320 indexDef.Columns = yyDollar[3].indexColumnsUnion() 7321 indexDef.Options = append(indexDef.Options, yyDollar[5].indexOptionsUnion()...) 7322 yyDollar[1].alterTableUnion().AlterOptions = append(yyDollar[1].alterTableUnion().AlterOptions, yyDollar[6].alterOptionsUnion()...) 7323 yyDollar[1].alterTableUnion().FullyParsed = true 7324 yyLOCAL = yyDollar[1].alterTableUnion() 7325 } 7326 yyVAL.union = yyLOCAL 7327 case 114: 7328 yyDollar = yyS[yypt-12 : yypt+1] 7329 var yyLOCAL Statement 7330 //line sql.y:946 7331 { 7332 yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].str, Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} 7333 } 7334 yyVAL.union = yyLOCAL 7335 case 115: 7336 yyDollar = yyS[yypt-2 : yypt+1] 7337 var yyLOCAL Statement 7338 //line sql.y:950 7339 { 7340 yyDollar[1].createDatabaseUnion().FullyParsed = true 7341 yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].collateAndCharsetsUnion() 7342 yyLOCAL = yyDollar[1].createDatabaseUnion() 7343 } 7344 yyVAL.union = yyLOCAL 7345 case 116: 7346 yyDollar = yyS[yypt-0 : yypt+1] 7347 var yyLOCAL bool 7348 //line sql.y:957 7349 { 7350 yyLOCAL = false 7351 } 7352 yyVAL.union = yyLOCAL 7353 case 117: 7354 yyDollar = yyS[yypt-2 : yypt+1] 7355 var yyLOCAL bool 7356 //line sql.y:961 7357 { 7358 yyLOCAL = true 7359 } 7360 yyVAL.union = yyLOCAL 7361 case 118: 7362 yyDollar = yyS[yypt-0 : yypt+1] 7363 //line sql.y:966 7364 { 7365 yyVAL.colIdent = NewColIdent("") 7366 } 7367 case 119: 7368 yyDollar = yyS[yypt-2 : yypt+1] 7369 //line sql.y:970 7370 { 7371 yyVAL.colIdent = yyDollar[2].colIdent 7372 } 7373 case 120: 7374 yyDollar = yyS[yypt-1 : yypt+1] 7375 //line sql.y:976 7376 { 7377 yyVAL.colIdent = yyDollar[1].colIdent 7378 } 7379 case 121: 7380 yyDollar = yyS[yypt-0 : yypt+1] 7381 var yyLOCAL []VindexParam 7382 //line sql.y:981 7383 { 7384 var v []VindexParam 7385 yyLOCAL = v 7386 } 7387 yyVAL.union = yyLOCAL 7388 case 122: 7389 yyDollar = yyS[yypt-2 : yypt+1] 7390 var yyLOCAL []VindexParam 7391 //line sql.y:986 7392 { 7393 yyLOCAL = yyDollar[2].vindexParamsUnion() 7394 } 7395 yyVAL.union = yyLOCAL 7396 case 123: 7397 yyDollar = yyS[yypt-1 : yypt+1] 7398 var yyLOCAL []VindexParam 7399 //line sql.y:992 7400 { 7401 yyLOCAL = make([]VindexParam, 0, 4) 7402 yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) 7403 } 7404 yyVAL.union = yyLOCAL 7405 case 124: 7406 yyDollar = yyS[yypt-3 : yypt+1] 7407 //line sql.y:997 7408 { 7409 yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) 7410 *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) 7411 } 7412 case 125: 7413 yyDollar = yyS[yypt-3 : yypt+1] 7414 //line sql.y:1003 7415 { 7416 yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} 7417 } 7418 case 126: 7419 yyDollar = yyS[yypt-6 : yypt+1] 7420 var yyLOCAL *CreateTable 7421 //line sql.y:1009 7422 { 7423 yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} 7424 setDDL(yylex, yyLOCAL) 7425 } 7426 yyVAL.union = yyLOCAL 7427 case 127: 7428 yyDollar = yyS[yypt-4 : yypt+1] 7429 var yyLOCAL *AlterTable 7430 //line sql.y:1016 7431 { 7432 yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs), Table: yyDollar[4].tableName} 7433 setDDL(yylex, yyLOCAL) 7434 } 7435 yyVAL.union = yyLOCAL 7436 case 128: 7437 yyDollar = yyS[yypt-7 : yypt+1] 7438 var yyLOCAL *AlterTable 7439 //line sql.y:1023 7440 { 7441 yyLOCAL = &AlterTable{Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].colIdent, Type: string(yyDollar[3].str)}, Options: yyDollar[5].indexOptionsUnion()}}}} 7442 setDDL(yylex, yyLOCAL) 7443 } 7444 yyVAL.union = yyLOCAL 7445 case 129: 7446 yyDollar = yyS[yypt-8 : yypt+1] 7447 var yyLOCAL *AlterTable 7448 //line sql.y:1028 7449 { 7450 yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Fulltext: true}, Options: yyDollar[6].indexOptionsUnion()}}}} 7451 setDDL(yylex, yyLOCAL) 7452 } 7453 yyVAL.union = yyLOCAL 7454 case 130: 7455 yyDollar = yyS[yypt-8 : yypt+1] 7456 var yyLOCAL *AlterTable 7457 //line sql.y:1033 7458 { 7459 yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Spatial: true}, Options: yyDollar[6].indexOptionsUnion()}}}} 7460 setDDL(yylex, yyLOCAL) 7461 } 7462 yyVAL.union = yyLOCAL 7463 case 131: 7464 yyDollar = yyS[yypt-8 : yypt+1] 7465 var yyLOCAL *AlterTable 7466 //line sql.y:1038 7467 { 7468 yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].colIdent, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Unique: true}, Options: yyDollar[6].indexOptionsUnion()}}}} 7469 setDDL(yylex, yyLOCAL) 7470 } 7471 yyVAL.union = yyLOCAL 7472 case 132: 7473 yyDollar = yyS[yypt-6 : yypt+1] 7474 var yyLOCAL *CreateDatabase 7475 //line sql.y:1045 7476 { 7477 yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} 7478 setDDL(yylex, yyLOCAL) 7479 } 7480 yyVAL.union = yyLOCAL 7481 case 133: 7482 yyDollar = yyS[yypt-3 : yypt+1] 7483 var yyLOCAL *AlterDatabase 7484 //line sql.y:1052 7485 { 7486 yyLOCAL = &AlterDatabase{} 7487 setDDL(yylex, yyLOCAL) 7488 } 7489 yyVAL.union = yyLOCAL 7490 case 136: 7491 yyDollar = yyS[yypt-5 : yypt+1] 7492 var yyLOCAL *TableSpec 7493 //line sql.y:1063 7494 { 7495 yyLOCAL = yyDollar[2].tableSpecUnion() 7496 yyLOCAL.Options = yyDollar[4].tableOptionsUnion() 7497 yyLOCAL.PartitionOption = yyDollar[5].partitionOptionUnion() 7498 } 7499 yyVAL.union = yyLOCAL 7500 case 137: 7501 yyDollar = yyS[yypt-0 : yypt+1] 7502 var yyLOCAL []CollateAndCharset 7503 //line sql.y:1070 7504 { 7505 yyLOCAL = nil 7506 } 7507 yyVAL.union = yyLOCAL 7508 case 138: 7509 yyDollar = yyS[yypt-1 : yypt+1] 7510 var yyLOCAL []CollateAndCharset 7511 //line sql.y:1074 7512 { 7513 yyLOCAL = yyDollar[1].collateAndCharsetsUnion() 7514 } 7515 yyVAL.union = yyLOCAL 7516 case 139: 7517 yyDollar = yyS[yypt-1 : yypt+1] 7518 var yyLOCAL []CollateAndCharset 7519 //line sql.y:1080 7520 { 7521 yyLOCAL = []CollateAndCharset{yyDollar[1].collateAndCharset} 7522 } 7523 yyVAL.union = yyLOCAL 7524 case 140: 7525 yyDollar = yyS[yypt-1 : yypt+1] 7526 var yyLOCAL []CollateAndCharset 7527 //line sql.y:1084 7528 { 7529 yyLOCAL = []CollateAndCharset{yyDollar[1].collateAndCharset} 7530 } 7531 yyVAL.union = yyLOCAL 7532 case 141: 7533 yyDollar = yyS[yypt-2 : yypt+1] 7534 //line sql.y:1088 7535 { 7536 yySLICE := (*[]CollateAndCharset)(yyIaddr(yyVAL.union)) 7537 *yySLICE = append(*yySLICE, yyDollar[2].collateAndCharset) 7538 } 7539 case 142: 7540 yyDollar = yyS[yypt-2 : yypt+1] 7541 //line sql.y:1092 7542 { 7543 yySLICE := (*[]CollateAndCharset)(yyIaddr(yyVAL.union)) 7544 *yySLICE = append(*yySLICE, yyDollar[2].collateAndCharset) 7545 } 7546 case 143: 7547 yyDollar = yyS[yypt-0 : yypt+1] 7548 var yyLOCAL bool 7549 //line sql.y:1098 7550 { 7551 yyLOCAL = false 7552 } 7553 yyVAL.union = yyLOCAL 7554 case 144: 7555 yyDollar = yyS[yypt-1 : yypt+1] 7556 var yyLOCAL bool 7557 //line sql.y:1102 7558 { 7559 yyLOCAL = true 7560 } 7561 yyVAL.union = yyLOCAL 7562 case 145: 7563 yyDollar = yyS[yypt-4 : yypt+1] 7564 //line sql.y:1108 7565 { 7566 yyVAL.collateAndCharset = CollateAndCharset{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} 7567 } 7568 case 146: 7569 yyDollar = yyS[yypt-4 : yypt+1] 7570 //line sql.y:1112 7571 { 7572 yyVAL.collateAndCharset = CollateAndCharset{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} 7573 } 7574 case 147: 7575 yyDollar = yyS[yypt-4 : yypt+1] 7576 //line sql.y:1118 7577 { 7578 yyVAL.collateAndCharset = CollateAndCharset{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} 7579 } 7580 case 148: 7581 yyDollar = yyS[yypt-4 : yypt+1] 7582 //line sql.y:1122 7583 { 7584 yyVAL.collateAndCharset = CollateAndCharset{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} 7585 } 7586 case 149: 7587 yyDollar = yyS[yypt-2 : yypt+1] 7588 var yyLOCAL *OptLike 7589 //line sql.y:1129 7590 { 7591 yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} 7592 } 7593 yyVAL.union = yyLOCAL 7594 case 150: 7595 yyDollar = yyS[yypt-4 : yypt+1] 7596 var yyLOCAL *OptLike 7597 //line sql.y:1133 7598 { 7599 yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} 7600 } 7601 yyVAL.union = yyLOCAL 7602 case 151: 7603 yyDollar = yyS[yypt-1 : yypt+1] 7604 var yyLOCAL []*ColumnDefinition 7605 //line sql.y:1139 7606 { 7607 yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} 7608 } 7609 yyVAL.union = yyLOCAL 7610 case 152: 7611 yyDollar = yyS[yypt-3 : yypt+1] 7612 //line sql.y:1143 7613 { 7614 yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) 7615 *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) 7616 } 7617 case 153: 7618 yyDollar = yyS[yypt-1 : yypt+1] 7619 var yyLOCAL *TableSpec 7620 //line sql.y:1149 7621 { 7622 yyLOCAL = &TableSpec{} 7623 yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) 7624 } 7625 yyVAL.union = yyLOCAL 7626 case 154: 7627 yyDollar = yyS[yypt-1 : yypt+1] 7628 var yyLOCAL *TableSpec 7629 //line sql.y:1154 7630 { 7631 yyLOCAL = &TableSpec{} 7632 yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) 7633 } 7634 yyVAL.union = yyLOCAL 7635 case 155: 7636 yyDollar = yyS[yypt-3 : yypt+1] 7637 //line sql.y:1159 7638 { 7639 yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) 7640 } 7641 case 156: 7642 yyDollar = yyS[yypt-4 : yypt+1] 7643 //line sql.y:1163 7644 { 7645 yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) 7646 yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) 7647 } 7648 case 157: 7649 yyDollar = yyS[yypt-3 : yypt+1] 7650 //line sql.y:1168 7651 { 7652 yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) 7653 } 7654 case 158: 7655 yyDollar = yyS[yypt-3 : yypt+1] 7656 //line sql.y:1172 7657 { 7658 yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) 7659 } 7660 case 159: 7661 yyDollar = yyS[yypt-3 : yypt+1] 7662 //line sql.y:1176 7663 { 7664 yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) 7665 } 7666 case 160: 7667 yyDollar = yyS[yypt-4 : yypt+1] 7668 var yyLOCAL *ColumnDefinition 7669 //line sql.y:1182 7670 { 7671 yyDollar[2].columnType.Options = yyDollar[3].columnTypeOptionsUnion() 7672 yyDollar[2].columnType.Options.Reference = yyDollar[4].referenceDefinitionUnion() 7673 yyLOCAL = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType} 7674 } 7675 yyVAL.union = yyLOCAL 7676 case 161: 7677 yyDollar = yyS[yypt-9 : yypt+1] 7678 var yyLOCAL *ColumnDefinition 7679 //line sql.y:1188 7680 { 7681 yyDollar[2].columnType.Options = yyDollar[8].columnTypeOptionsUnion() 7682 yyDollar[2].columnType.Options.As = yyDollar[6].exprUnion() 7683 yyDollar[2].columnType.Options.Reference = yyDollar[9].referenceDefinitionUnion() 7684 yyLOCAL = &ColumnDefinition{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType} 7685 } 7686 yyVAL.union = yyLOCAL 7687 case 162: 7688 yyDollar = yyS[yypt-0 : yypt+1] 7689 //line sql.y:1196 7690 { 7691 yyVAL.str = "" 7692 } 7693 case 163: 7694 yyDollar = yyS[yypt-2 : yypt+1] 7695 //line sql.y:1200 7696 { 7697 yyVAL.str = "" 7698 } 7699 case 164: 7700 yyDollar = yyS[yypt-0 : yypt+1] 7701 var yyLOCAL *ColumnTypeOptions 7702 //line sql.y:1209 7703 { 7704 yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil} 7705 } 7706 yyVAL.union = yyLOCAL 7707 case 165: 7708 yyDollar = yyS[yypt-2 : yypt+1] 7709 var yyLOCAL *ColumnTypeOptions 7710 //line sql.y:1213 7711 { 7712 val := true 7713 yyDollar[1].columnTypeOptionsUnion().Null = &val 7714 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7715 } 7716 yyVAL.union = yyLOCAL 7717 case 166: 7718 yyDollar = yyS[yypt-3 : yypt+1] 7719 var yyLOCAL *ColumnTypeOptions 7720 //line sql.y:1219 7721 { 7722 val := false 7723 yyDollar[1].columnTypeOptionsUnion().Null = &val 7724 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7725 } 7726 yyVAL.union = yyLOCAL 7727 case 167: 7728 yyDollar = yyS[yypt-5 : yypt+1] 7729 var yyLOCAL *ColumnTypeOptions 7730 //line sql.y:1225 7731 { 7732 yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() 7733 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7734 } 7735 yyVAL.union = yyLOCAL 7736 case 168: 7737 yyDollar = yyS[yypt-3 : yypt+1] 7738 var yyLOCAL *ColumnTypeOptions 7739 //line sql.y:1230 7740 { 7741 yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() 7742 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7743 } 7744 yyVAL.union = yyLOCAL 7745 case 169: 7746 yyDollar = yyS[yypt-4 : yypt+1] 7747 var yyLOCAL *ColumnTypeOptions 7748 //line sql.y:1235 7749 { 7750 yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() 7751 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7752 } 7753 yyVAL.union = yyLOCAL 7754 case 170: 7755 yyDollar = yyS[yypt-2 : yypt+1] 7756 var yyLOCAL *ColumnTypeOptions 7757 //line sql.y:1240 7758 { 7759 yyDollar[1].columnTypeOptionsUnion().Autoincrement = true 7760 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7761 } 7762 yyVAL.union = yyLOCAL 7763 case 171: 7764 yyDollar = yyS[yypt-3 : yypt+1] 7765 var yyLOCAL *ColumnTypeOptions 7766 //line sql.y:1245 7767 { 7768 yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) 7769 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7770 } 7771 yyVAL.union = yyLOCAL 7772 case 172: 7773 yyDollar = yyS[yypt-2 : yypt+1] 7774 var yyLOCAL *ColumnTypeOptions 7775 //line sql.y:1250 7776 { 7777 yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() 7778 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7779 } 7780 yyVAL.union = yyLOCAL 7781 case 173: 7782 yyDollar = yyS[yypt-3 : yypt+1] 7783 //line sql.y:1255 7784 { 7785 yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) 7786 } 7787 case 174: 7788 yyDollar = yyS[yypt-3 : yypt+1] 7789 var yyLOCAL *ColumnTypeOptions 7790 //line sql.y:1259 7791 { 7792 yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) 7793 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7794 } 7795 yyVAL.union = yyLOCAL 7796 case 175: 7797 yyDollar = yyS[yypt-1 : yypt+1] 7798 var yyLOCAL ColumnStorage 7799 //line sql.y:1266 7800 { 7801 yyLOCAL = VirtualStorage 7802 } 7803 yyVAL.union = yyLOCAL 7804 case 176: 7805 yyDollar = yyS[yypt-1 : yypt+1] 7806 var yyLOCAL ColumnStorage 7807 //line sql.y:1270 7808 { 7809 yyLOCAL = StoredStorage 7810 } 7811 yyVAL.union = yyLOCAL 7812 case 177: 7813 yyDollar = yyS[yypt-0 : yypt+1] 7814 var yyLOCAL *ColumnTypeOptions 7815 //line sql.y:1275 7816 { 7817 yyLOCAL = &ColumnTypeOptions{} 7818 } 7819 yyVAL.union = yyLOCAL 7820 case 178: 7821 yyDollar = yyS[yypt-2 : yypt+1] 7822 var yyLOCAL *ColumnTypeOptions 7823 //line sql.y:1279 7824 { 7825 yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() 7826 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7827 } 7828 yyVAL.union = yyLOCAL 7829 case 179: 7830 yyDollar = yyS[yypt-2 : yypt+1] 7831 var yyLOCAL *ColumnTypeOptions 7832 //line sql.y:1284 7833 { 7834 val := true 7835 yyDollar[1].columnTypeOptionsUnion().Null = &val 7836 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7837 } 7838 yyVAL.union = yyLOCAL 7839 case 180: 7840 yyDollar = yyS[yypt-3 : yypt+1] 7841 var yyLOCAL *ColumnTypeOptions 7842 //line sql.y:1290 7843 { 7844 val := false 7845 yyDollar[1].columnTypeOptionsUnion().Null = &val 7846 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7847 } 7848 yyVAL.union = yyLOCAL 7849 case 181: 7850 yyDollar = yyS[yypt-3 : yypt+1] 7851 var yyLOCAL *ColumnTypeOptions 7852 //line sql.y:1296 7853 { 7854 yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) 7855 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7856 } 7857 yyVAL.union = yyLOCAL 7858 case 182: 7859 yyDollar = yyS[yypt-2 : yypt+1] 7860 var yyLOCAL *ColumnTypeOptions 7861 //line sql.y:1301 7862 { 7863 yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() 7864 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 7865 } 7866 yyVAL.union = yyLOCAL 7867 case 183: 7868 yyDollar = yyS[yypt-1 : yypt+1] 7869 var yyLOCAL Expr 7870 //line sql.y:1308 7871 { 7872 yyLOCAL = yyDollar[1].exprUnion() 7873 } 7874 yyVAL.union = yyLOCAL 7875 case 185: 7876 yyDollar = yyS[yypt-2 : yypt+1] 7877 var yyLOCAL Expr 7878 //line sql.y:1315 7879 { 7880 yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} 7881 } 7882 yyVAL.union = yyLOCAL 7883 case 186: 7884 yyDollar = yyS[yypt-2 : yypt+1] 7885 var yyLOCAL Expr 7886 //line sql.y:1319 7887 { 7888 yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} 7889 } 7890 yyVAL.union = yyLOCAL 7891 case 187: 7892 yyDollar = yyS[yypt-2 : yypt+1] 7893 var yyLOCAL Expr 7894 //line sql.y:1323 7895 { 7896 yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} 7897 } 7898 yyVAL.union = yyLOCAL 7899 case 188: 7900 yyDollar = yyS[yypt-2 : yypt+1] 7901 var yyLOCAL Expr 7902 //line sql.y:1327 7903 { 7904 yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} 7905 } 7906 yyVAL.union = yyLOCAL 7907 case 189: 7908 yyDollar = yyS[yypt-2 : yypt+1] 7909 var yyLOCAL Expr 7910 //line sql.y:1331 7911 { 7912 yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} 7913 } 7914 yyVAL.union = yyLOCAL 7915 case 192: 7916 yyDollar = yyS[yypt-1 : yypt+1] 7917 var yyLOCAL Expr 7918 //line sql.y:1342 7919 { 7920 yyLOCAL = &NullVal{} 7921 } 7922 yyVAL.union = yyLOCAL 7923 case 194: 7924 yyDollar = yyS[yypt-2 : yypt+1] 7925 var yyLOCAL Expr 7926 //line sql.y:1349 7927 { 7928 yyLOCAL = yyDollar[2].exprUnion() 7929 } 7930 yyVAL.union = yyLOCAL 7931 case 195: 7932 yyDollar = yyS[yypt-2 : yypt+1] 7933 var yyLOCAL Expr 7934 //line sql.y:1353 7935 { 7936 yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} 7937 } 7938 yyVAL.union = yyLOCAL 7939 case 196: 7940 yyDollar = yyS[yypt-1 : yypt+1] 7941 var yyLOCAL Expr 7942 //line sql.y:1359 7943 { 7944 yyLOCAL = yyDollar[1].exprUnion() 7945 } 7946 yyVAL.union = yyLOCAL 7947 case 197: 7948 yyDollar = yyS[yypt-1 : yypt+1] 7949 var yyLOCAL Expr 7950 //line sql.y:1363 7951 { 7952 yyLOCAL = yyDollar[1].exprUnion() 7953 } 7954 yyVAL.union = yyLOCAL 7955 case 198: 7956 yyDollar = yyS[yypt-1 : yypt+1] 7957 var yyLOCAL Expr 7958 //line sql.y:1367 7959 { 7960 yyLOCAL = yyDollar[1].boolValUnion() 7961 } 7962 yyVAL.union = yyLOCAL 7963 case 199: 7964 yyDollar = yyS[yypt-1 : yypt+1] 7965 var yyLOCAL Expr 7966 //line sql.y:1371 7967 { 7968 yyLOCAL = NewHexLiteral(yyDollar[1].str) 7969 } 7970 yyVAL.union = yyLOCAL 7971 case 200: 7972 yyDollar = yyS[yypt-1 : yypt+1] 7973 var yyLOCAL Expr 7974 //line sql.y:1375 7975 { 7976 yyLOCAL = NewHexNumLiteral(yyDollar[1].str) 7977 } 7978 yyVAL.union = yyLOCAL 7979 case 201: 7980 yyDollar = yyS[yypt-1 : yypt+1] 7981 var yyLOCAL Expr 7982 //line sql.y:1379 7983 { 7984 yyLOCAL = NewBitLiteral(yyDollar[1].str) 7985 } 7986 yyVAL.union = yyLOCAL 7987 case 202: 7988 yyDollar = yyS[yypt-1 : yypt+1] 7989 var yyLOCAL Expr 7990 //line sql.y:1383 7991 { 7992 yyLOCAL = NewArgument(yyDollar[1].str[1:]) 7993 bindVariable(yylex, yyDollar[1].str[1:]) 7994 } 7995 yyVAL.union = yyLOCAL 7996 case 203: 7997 yyDollar = yyS[yypt-2 : yypt+1] 7998 var yyLOCAL Expr 7999 //line sql.y:1388 8000 { 8001 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} 8002 } 8003 yyVAL.union = yyLOCAL 8004 case 204: 8005 yyDollar = yyS[yypt-2 : yypt+1] 8006 var yyLOCAL Expr 8007 //line sql.y:1392 8008 { 8009 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} 8010 } 8011 yyVAL.union = yyLOCAL 8012 case 205: 8013 yyDollar = yyS[yypt-2 : yypt+1] 8014 var yyLOCAL Expr 8015 //line sql.y:1396 8016 { 8017 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} 8018 } 8019 yyVAL.union = yyLOCAL 8020 case 206: 8021 yyDollar = yyS[yypt-2 : yypt+1] 8022 var yyLOCAL Expr 8023 //line sql.y:1400 8024 { 8025 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} 8026 } 8027 yyVAL.union = yyLOCAL 8028 case 207: 8029 yyDollar = yyS[yypt-2 : yypt+1] 8030 var yyLOCAL Expr 8031 //line sql.y:1404 8032 { 8033 bindVariable(yylex, yyDollar[2].str[1:]) 8034 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} 8035 } 8036 yyVAL.union = yyLOCAL 8037 case 208: 8038 yyDollar = yyS[yypt-1 : yypt+1] 8039 //line sql.y:1411 8040 { 8041 yyVAL.str = Armscii8Str 8042 } 8043 case 209: 8044 yyDollar = yyS[yypt-1 : yypt+1] 8045 //line sql.y:1415 8046 { 8047 yyVAL.str = ASCIIStr 8048 } 8049 case 210: 8050 yyDollar = yyS[yypt-1 : yypt+1] 8051 //line sql.y:1419 8052 { 8053 yyVAL.str = Big5Str 8054 } 8055 case 211: 8056 yyDollar = yyS[yypt-1 : yypt+1] 8057 //line sql.y:1423 8058 { 8059 yyVAL.str = UBinaryStr 8060 } 8061 case 212: 8062 yyDollar = yyS[yypt-1 : yypt+1] 8063 //line sql.y:1427 8064 { 8065 yyVAL.str = Cp1250Str 8066 } 8067 case 213: 8068 yyDollar = yyS[yypt-1 : yypt+1] 8069 //line sql.y:1431 8070 { 8071 yyVAL.str = Cp1251Str 8072 } 8073 case 214: 8074 yyDollar = yyS[yypt-1 : yypt+1] 8075 //line sql.y:1435 8076 { 8077 yyVAL.str = Cp1256Str 8078 } 8079 case 215: 8080 yyDollar = yyS[yypt-1 : yypt+1] 8081 //line sql.y:1439 8082 { 8083 yyVAL.str = Cp1257Str 8084 } 8085 case 216: 8086 yyDollar = yyS[yypt-1 : yypt+1] 8087 //line sql.y:1443 8088 { 8089 yyVAL.str = Cp850Str 8090 } 8091 case 217: 8092 yyDollar = yyS[yypt-1 : yypt+1] 8093 //line sql.y:1447 8094 { 8095 yyVAL.str = Cp852Str 8096 } 8097 case 218: 8098 yyDollar = yyS[yypt-1 : yypt+1] 8099 //line sql.y:1451 8100 { 8101 yyVAL.str = Cp866Str 8102 } 8103 case 219: 8104 yyDollar = yyS[yypt-1 : yypt+1] 8105 //line sql.y:1455 8106 { 8107 yyVAL.str = Cp932Str 8108 } 8109 case 220: 8110 yyDollar = yyS[yypt-1 : yypt+1] 8111 //line sql.y:1459 8112 { 8113 yyVAL.str = Dec8Str 8114 } 8115 case 221: 8116 yyDollar = yyS[yypt-1 : yypt+1] 8117 //line sql.y:1463 8118 { 8119 yyVAL.str = EucjpmsStr 8120 } 8121 case 222: 8122 yyDollar = yyS[yypt-1 : yypt+1] 8123 //line sql.y:1467 8124 { 8125 yyVAL.str = EuckrStr 8126 } 8127 case 223: 8128 yyDollar = yyS[yypt-1 : yypt+1] 8129 //line sql.y:1471 8130 { 8131 yyVAL.str = Gb18030Str 8132 } 8133 case 224: 8134 yyDollar = yyS[yypt-1 : yypt+1] 8135 //line sql.y:1475 8136 { 8137 yyVAL.str = Gb2312Str 8138 } 8139 case 225: 8140 yyDollar = yyS[yypt-1 : yypt+1] 8141 //line sql.y:1479 8142 { 8143 yyVAL.str = GbkStr 8144 } 8145 case 226: 8146 yyDollar = yyS[yypt-1 : yypt+1] 8147 //line sql.y:1483 8148 { 8149 yyVAL.str = Geostd8Str 8150 } 8151 case 227: 8152 yyDollar = yyS[yypt-1 : yypt+1] 8153 //line sql.y:1487 8154 { 8155 yyVAL.str = GreekStr 8156 } 8157 case 228: 8158 yyDollar = yyS[yypt-1 : yypt+1] 8159 //line sql.y:1491 8160 { 8161 yyVAL.str = HebrewStr 8162 } 8163 case 229: 8164 yyDollar = yyS[yypt-1 : yypt+1] 8165 //line sql.y:1495 8166 { 8167 yyVAL.str = Hp8Str 8168 } 8169 case 230: 8170 yyDollar = yyS[yypt-1 : yypt+1] 8171 //line sql.y:1499 8172 { 8173 yyVAL.str = Keybcs2Str 8174 } 8175 case 231: 8176 yyDollar = yyS[yypt-1 : yypt+1] 8177 //line sql.y:1503 8178 { 8179 yyVAL.str = Koi8rStr 8180 } 8181 case 232: 8182 yyDollar = yyS[yypt-1 : yypt+1] 8183 //line sql.y:1507 8184 { 8185 yyVAL.str = Koi8uStr 8186 } 8187 case 233: 8188 yyDollar = yyS[yypt-1 : yypt+1] 8189 //line sql.y:1511 8190 { 8191 yyVAL.str = Latin1Str 8192 } 8193 case 234: 8194 yyDollar = yyS[yypt-1 : yypt+1] 8195 //line sql.y:1515 8196 { 8197 yyVAL.str = Latin2Str 8198 } 8199 case 235: 8200 yyDollar = yyS[yypt-1 : yypt+1] 8201 //line sql.y:1519 8202 { 8203 yyVAL.str = Latin5Str 8204 } 8205 case 236: 8206 yyDollar = yyS[yypt-1 : yypt+1] 8207 //line sql.y:1523 8208 { 8209 yyVAL.str = Latin7Str 8210 } 8211 case 237: 8212 yyDollar = yyS[yypt-1 : yypt+1] 8213 //line sql.y:1527 8214 { 8215 yyVAL.str = MacceStr 8216 } 8217 case 238: 8218 yyDollar = yyS[yypt-1 : yypt+1] 8219 //line sql.y:1531 8220 { 8221 yyVAL.str = MacromanStr 8222 } 8223 case 239: 8224 yyDollar = yyS[yypt-1 : yypt+1] 8225 //line sql.y:1535 8226 { 8227 yyVAL.str = SjisStr 8228 } 8229 case 240: 8230 yyDollar = yyS[yypt-1 : yypt+1] 8231 //line sql.y:1539 8232 { 8233 yyVAL.str = Swe7Str 8234 } 8235 case 241: 8236 yyDollar = yyS[yypt-1 : yypt+1] 8237 //line sql.y:1543 8238 { 8239 yyVAL.str = Tis620Str 8240 } 8241 case 242: 8242 yyDollar = yyS[yypt-1 : yypt+1] 8243 //line sql.y:1547 8244 { 8245 yyVAL.str = Ucs2Str 8246 } 8247 case 243: 8248 yyDollar = yyS[yypt-1 : yypt+1] 8249 //line sql.y:1551 8250 { 8251 yyVAL.str = UjisStr 8252 } 8253 case 244: 8254 yyDollar = yyS[yypt-1 : yypt+1] 8255 //line sql.y:1555 8256 { 8257 yyVAL.str = Utf16Str 8258 } 8259 case 245: 8260 yyDollar = yyS[yypt-1 : yypt+1] 8261 //line sql.y:1559 8262 { 8263 yyVAL.str = Utf16leStr 8264 } 8265 case 246: 8266 yyDollar = yyS[yypt-1 : yypt+1] 8267 //line sql.y:1563 8268 { 8269 yyVAL.str = Utf32Str 8270 } 8271 case 247: 8272 yyDollar = yyS[yypt-1 : yypt+1] 8273 //line sql.y:1567 8274 { 8275 yyVAL.str = Utf8Str 8276 } 8277 case 248: 8278 yyDollar = yyS[yypt-1 : yypt+1] 8279 //line sql.y:1571 8280 { 8281 yyVAL.str = Utf8mb4Str 8282 } 8283 case 251: 8284 yyDollar = yyS[yypt-1 : yypt+1] 8285 var yyLOCAL Expr 8286 //line sql.y:1581 8287 { 8288 yyLOCAL = NewIntLiteral(yyDollar[1].str) 8289 } 8290 yyVAL.union = yyLOCAL 8291 case 252: 8292 yyDollar = yyS[yypt-1 : yypt+1] 8293 var yyLOCAL Expr 8294 //line sql.y:1585 8295 { 8296 yyLOCAL = NewFloatLiteral(yyDollar[1].str) 8297 } 8298 yyVAL.union = yyLOCAL 8299 case 253: 8300 yyDollar = yyS[yypt-1 : yypt+1] 8301 var yyLOCAL Expr 8302 //line sql.y:1589 8303 { 8304 yyLOCAL = NewDecimalLiteral(yyDollar[1].str) 8305 } 8306 yyVAL.union = yyLOCAL 8307 case 254: 8308 yyDollar = yyS[yypt-1 : yypt+1] 8309 var yyLOCAL Expr 8310 //line sql.y:1596 8311 { 8312 yyLOCAL = NewStrLiteral(yyDollar[1].str) 8313 } 8314 yyVAL.union = yyLOCAL 8315 case 255: 8316 yyDollar = yyS[yypt-1 : yypt+1] 8317 var yyLOCAL Expr 8318 //line sql.y:1600 8319 { 8320 yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} 8321 } 8322 yyVAL.union = yyLOCAL 8323 case 256: 8324 yyDollar = yyS[yypt-2 : yypt+1] 8325 var yyLOCAL Expr 8326 //line sql.y:1604 8327 { 8328 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} 8329 } 8330 yyVAL.union = yyLOCAL 8331 case 257: 8332 yyDollar = yyS[yypt-1 : yypt+1] 8333 var yyLOCAL Expr 8334 //line sql.y:1610 8335 { 8336 yyLOCAL = NewStrLiteral(yyDollar[1].str) 8337 } 8338 yyVAL.union = yyLOCAL 8339 case 258: 8340 yyDollar = yyS[yypt-1 : yypt+1] 8341 var yyLOCAL Expr 8342 //line sql.y:1614 8343 { 8344 yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} 8345 } 8346 yyVAL.union = yyLOCAL 8347 case 259: 8348 yyDollar = yyS[yypt-2 : yypt+1] 8349 var yyLOCAL Expr 8350 //line sql.y:1618 8351 { 8352 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} 8353 } 8354 yyVAL.union = yyLOCAL 8355 case 260: 8356 yyDollar = yyS[yypt-1 : yypt+1] 8357 var yyLOCAL Expr 8358 //line sql.y:1622 8359 { 8360 yyLOCAL = NewArgument(yyDollar[1].str[1:]) 8361 bindVariable(yylex, yyDollar[1].str[1:]) 8362 } 8363 yyVAL.union = yyLOCAL 8364 case 261: 8365 yyDollar = yyS[yypt-2 : yypt+1] 8366 var yyLOCAL ColumnKeyOption 8367 //line sql.y:1629 8368 { 8369 yyLOCAL = colKeyPrimary 8370 } 8371 yyVAL.union = yyLOCAL 8372 case 262: 8373 yyDollar = yyS[yypt-1 : yypt+1] 8374 var yyLOCAL ColumnKeyOption 8375 //line sql.y:1633 8376 { 8377 yyLOCAL = colKeyUnique 8378 } 8379 yyVAL.union = yyLOCAL 8380 case 263: 8381 yyDollar = yyS[yypt-2 : yypt+1] 8382 var yyLOCAL ColumnKeyOption 8383 //line sql.y:1637 8384 { 8385 yyLOCAL = colKeyUniqueKey 8386 } 8387 yyVAL.union = yyLOCAL 8388 case 264: 8389 yyDollar = yyS[yypt-1 : yypt+1] 8390 var yyLOCAL ColumnKeyOption 8391 //line sql.y:1641 8392 { 8393 yyLOCAL = colKey 8394 } 8395 yyVAL.union = yyLOCAL 8396 case 265: 8397 yyDollar = yyS[yypt-3 : yypt+1] 8398 //line sql.y:1647 8399 { 8400 yyVAL.columnType = yyDollar[1].columnType 8401 yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() 8402 yyVAL.columnType.Zerofill = yyDollar[3].booleanUnion() 8403 } 8404 case 269: 8405 yyDollar = yyS[yypt-2 : yypt+1] 8406 //line sql.y:1658 8407 { 8408 yyVAL.columnType = yyDollar[1].columnType 8409 yyVAL.columnType.Length = yyDollar[2].literalUnion() 8410 } 8411 case 270: 8412 yyDollar = yyS[yypt-1 : yypt+1] 8413 //line sql.y:1663 8414 { 8415 yyVAL.columnType = yyDollar[1].columnType 8416 } 8417 case 271: 8418 yyDollar = yyS[yypt-1 : yypt+1] 8419 //line sql.y:1669 8420 { 8421 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8422 } 8423 case 272: 8424 yyDollar = yyS[yypt-1 : yypt+1] 8425 //line sql.y:1673 8426 { 8427 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8428 } 8429 case 273: 8430 yyDollar = yyS[yypt-1 : yypt+1] 8431 //line sql.y:1677 8432 { 8433 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8434 } 8435 case 274: 8436 yyDollar = yyS[yypt-1 : yypt+1] 8437 //line sql.y:1681 8438 { 8439 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8440 } 8441 case 275: 8442 yyDollar = yyS[yypt-1 : yypt+1] 8443 //line sql.y:1685 8444 { 8445 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8446 } 8447 case 276: 8448 yyDollar = yyS[yypt-1 : yypt+1] 8449 //line sql.y:1689 8450 { 8451 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8452 } 8453 case 277: 8454 yyDollar = yyS[yypt-1 : yypt+1] 8455 //line sql.y:1693 8456 { 8457 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8458 } 8459 case 278: 8460 yyDollar = yyS[yypt-1 : yypt+1] 8461 //line sql.y:1697 8462 { 8463 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8464 } 8465 case 279: 8466 yyDollar = yyS[yypt-1 : yypt+1] 8467 //line sql.y:1701 8468 { 8469 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8470 } 8471 case 280: 8472 yyDollar = yyS[yypt-2 : yypt+1] 8473 //line sql.y:1707 8474 { 8475 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8476 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 8477 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 8478 } 8479 case 281: 8480 yyDollar = yyS[yypt-2 : yypt+1] 8481 //line sql.y:1713 8482 { 8483 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8484 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 8485 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 8486 } 8487 case 282: 8488 yyDollar = yyS[yypt-2 : yypt+1] 8489 //line sql.y:1719 8490 { 8491 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8492 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 8493 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 8494 } 8495 case 283: 8496 yyDollar = yyS[yypt-2 : yypt+1] 8497 //line sql.y:1725 8498 { 8499 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8500 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 8501 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 8502 } 8503 case 284: 8504 yyDollar = yyS[yypt-2 : yypt+1] 8505 //line sql.y:1731 8506 { 8507 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8508 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 8509 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 8510 } 8511 case 285: 8512 yyDollar = yyS[yypt-1 : yypt+1] 8513 //line sql.y:1739 8514 { 8515 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8516 } 8517 case 286: 8518 yyDollar = yyS[yypt-2 : yypt+1] 8519 //line sql.y:1743 8520 { 8521 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 8522 } 8523 case 287: 8524 yyDollar = yyS[yypt-2 : yypt+1] 8525 //line sql.y:1747 8526 { 8527 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 8528 } 8529 case 288: 8530 yyDollar = yyS[yypt-2 : yypt+1] 8531 //line sql.y:1751 8532 { 8533 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 8534 } 8535 case 289: 8536 yyDollar = yyS[yypt-2 : yypt+1] 8537 //line sql.y:1755 8538 { 8539 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 8540 } 8541 case 290: 8542 yyDollar = yyS[yypt-3 : yypt+1] 8543 //line sql.y:1761 8544 { 8545 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str} 8546 } 8547 case 291: 8548 yyDollar = yyS[yypt-3 : yypt+1] 8549 //line sql.y:1765 8550 { 8551 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str} 8552 } 8553 case 292: 8554 yyDollar = yyS[yypt-2 : yypt+1] 8555 //line sql.y:1769 8556 { 8557 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 8558 } 8559 case 293: 8560 yyDollar = yyS[yypt-2 : yypt+1] 8561 //line sql.y:1773 8562 { 8563 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 8564 } 8565 case 294: 8566 yyDollar = yyS[yypt-2 : yypt+1] 8567 //line sql.y:1777 8568 { 8569 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} 8570 } 8571 case 295: 8572 yyDollar = yyS[yypt-2 : yypt+1] 8573 //line sql.y:1781 8574 { 8575 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} 8576 } 8577 case 296: 8578 yyDollar = yyS[yypt-2 : yypt+1] 8579 //line sql.y:1785 8580 { 8581 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} 8582 } 8583 case 297: 8584 yyDollar = yyS[yypt-2 : yypt+1] 8585 //line sql.y:1789 8586 { 8587 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].str} 8588 } 8589 case 298: 8590 yyDollar = yyS[yypt-1 : yypt+1] 8591 //line sql.y:1793 8592 { 8593 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8594 } 8595 case 299: 8596 yyDollar = yyS[yypt-1 : yypt+1] 8597 //line sql.y:1797 8598 { 8599 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8600 } 8601 case 300: 8602 yyDollar = yyS[yypt-1 : yypt+1] 8603 //line sql.y:1801 8604 { 8605 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8606 } 8607 case 301: 8608 yyDollar = yyS[yypt-1 : yypt+1] 8609 //line sql.y:1805 8610 { 8611 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8612 } 8613 case 302: 8614 yyDollar = yyS[yypt-1 : yypt+1] 8615 //line sql.y:1809 8616 { 8617 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8618 } 8619 case 303: 8620 yyDollar = yyS[yypt-5 : yypt+1] 8621 //line sql.y:1813 8622 { 8623 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str} 8624 } 8625 case 304: 8626 yyDollar = yyS[yypt-5 : yypt+1] 8627 //line sql.y:1818 8628 { 8629 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str} 8630 } 8631 case 305: 8632 yyDollar = yyS[yypt-1 : yypt+1] 8633 //line sql.y:1824 8634 { 8635 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8636 } 8637 case 306: 8638 yyDollar = yyS[yypt-1 : yypt+1] 8639 //line sql.y:1828 8640 { 8641 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8642 } 8643 case 307: 8644 yyDollar = yyS[yypt-1 : yypt+1] 8645 //line sql.y:1832 8646 { 8647 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8648 } 8649 case 308: 8650 yyDollar = yyS[yypt-1 : yypt+1] 8651 //line sql.y:1836 8652 { 8653 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8654 } 8655 case 309: 8656 yyDollar = yyS[yypt-1 : yypt+1] 8657 //line sql.y:1840 8658 { 8659 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8660 } 8661 case 310: 8662 yyDollar = yyS[yypt-1 : yypt+1] 8663 //line sql.y:1844 8664 { 8665 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8666 } 8667 case 311: 8668 yyDollar = yyS[yypt-1 : yypt+1] 8669 //line sql.y:1848 8670 { 8671 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8672 } 8673 case 312: 8674 yyDollar = yyS[yypt-1 : yypt+1] 8675 //line sql.y:1852 8676 { 8677 yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} 8678 } 8679 case 313: 8680 yyDollar = yyS[yypt-1 : yypt+1] 8681 //line sql.y:1858 8682 { 8683 yyVAL.strs = make([]string, 0, 4) 8684 yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) 8685 } 8686 case 314: 8687 yyDollar = yyS[yypt-3 : yypt+1] 8688 //line sql.y:1863 8689 { 8690 yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) 8691 } 8692 case 315: 8693 yyDollar = yyS[yypt-0 : yypt+1] 8694 var yyLOCAL *Literal 8695 //line sql.y:1868 8696 { 8697 yyLOCAL = nil 8698 } 8699 yyVAL.union = yyLOCAL 8700 case 316: 8701 yyDollar = yyS[yypt-3 : yypt+1] 8702 var yyLOCAL *Literal 8703 //line sql.y:1872 8704 { 8705 yyLOCAL = NewIntLiteral(yyDollar[2].str) 8706 } 8707 yyVAL.union = yyLOCAL 8708 case 317: 8709 yyDollar = yyS[yypt-0 : yypt+1] 8710 //line sql.y:1877 8711 { 8712 yyVAL.LengthScaleOption = LengthScaleOption{} 8713 } 8714 case 318: 8715 yyDollar = yyS[yypt-5 : yypt+1] 8716 //line sql.y:1881 8717 { 8718 yyVAL.LengthScaleOption = LengthScaleOption{ 8719 Length: NewIntLiteral(yyDollar[2].str), 8720 Scale: NewIntLiteral(yyDollar[4].str), 8721 } 8722 } 8723 case 319: 8724 yyDollar = yyS[yypt-0 : yypt+1] 8725 //line sql.y:1889 8726 { 8727 yyVAL.LengthScaleOption = LengthScaleOption{} 8728 } 8729 case 320: 8730 yyDollar = yyS[yypt-3 : yypt+1] 8731 //line sql.y:1893 8732 { 8733 yyVAL.LengthScaleOption = LengthScaleOption{ 8734 Length: NewIntLiteral(yyDollar[2].str), 8735 } 8736 } 8737 case 321: 8738 yyDollar = yyS[yypt-5 : yypt+1] 8739 //line sql.y:1899 8740 { 8741 yyVAL.LengthScaleOption = LengthScaleOption{ 8742 Length: NewIntLiteral(yyDollar[2].str), 8743 Scale: NewIntLiteral(yyDollar[4].str), 8744 } 8745 } 8746 case 322: 8747 yyDollar = yyS[yypt-0 : yypt+1] 8748 var yyLOCAL bool 8749 //line sql.y:1907 8750 { 8751 yyLOCAL = false 8752 } 8753 yyVAL.union = yyLOCAL 8754 case 323: 8755 yyDollar = yyS[yypt-1 : yypt+1] 8756 var yyLOCAL bool 8757 //line sql.y:1911 8758 { 8759 yyLOCAL = true 8760 } 8761 yyVAL.union = yyLOCAL 8762 case 324: 8763 yyDollar = yyS[yypt-1 : yypt+1] 8764 var yyLOCAL bool 8765 //line sql.y:1915 8766 { 8767 yyLOCAL = false 8768 } 8769 yyVAL.union = yyLOCAL 8770 case 325: 8771 yyDollar = yyS[yypt-0 : yypt+1] 8772 var yyLOCAL bool 8773 //line sql.y:1920 8774 { 8775 yyLOCAL = false 8776 } 8777 yyVAL.union = yyLOCAL 8778 case 326: 8779 yyDollar = yyS[yypt-1 : yypt+1] 8780 var yyLOCAL bool 8781 //line sql.y:1924 8782 { 8783 yyLOCAL = true 8784 } 8785 yyVAL.union = yyLOCAL 8786 case 327: 8787 yyDollar = yyS[yypt-0 : yypt+1] 8788 //line sql.y:1929 8789 { 8790 yyVAL.str = "" 8791 } 8792 case 328: 8793 yyDollar = yyS[yypt-2 : yypt+1] 8794 //line sql.y:1933 8795 { 8796 yyVAL.str = string(yyDollar[2].colIdent.String()) 8797 } 8798 case 329: 8799 yyDollar = yyS[yypt-2 : yypt+1] 8800 //line sql.y:1937 8801 { 8802 yyVAL.str = encodeSQLString(yyDollar[2].str) 8803 } 8804 case 330: 8805 yyDollar = yyS[yypt-2 : yypt+1] 8806 //line sql.y:1941 8807 { 8808 yyVAL.str = string(yyDollar[2].str) 8809 } 8810 case 331: 8811 yyDollar = yyS[yypt-0 : yypt+1] 8812 //line sql.y:1946 8813 { 8814 yyVAL.str = "" 8815 } 8816 case 332: 8817 yyDollar = yyS[yypt-2 : yypt+1] 8818 //line sql.y:1950 8819 { 8820 yyVAL.str = string(yyDollar[2].colIdent.String()) 8821 } 8822 case 333: 8823 yyDollar = yyS[yypt-2 : yypt+1] 8824 //line sql.y:1954 8825 { 8826 yyVAL.str = encodeSQLString(yyDollar[2].str) 8827 } 8828 case 334: 8829 yyDollar = yyS[yypt-5 : yypt+1] 8830 var yyLOCAL *IndexDefinition 8831 //line sql.y:1961 8832 { 8833 yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} 8834 } 8835 yyVAL.union = yyLOCAL 8836 case 335: 8837 yyDollar = yyS[yypt-0 : yypt+1] 8838 var yyLOCAL []*IndexOption 8839 //line sql.y:1966 8840 { 8841 yyLOCAL = nil 8842 } 8843 yyVAL.union = yyLOCAL 8844 case 336: 8845 yyDollar = yyS[yypt-1 : yypt+1] 8846 var yyLOCAL []*IndexOption 8847 //line sql.y:1970 8848 { 8849 yyLOCAL = yyDollar[1].indexOptionsUnion() 8850 } 8851 yyVAL.union = yyLOCAL 8852 case 337: 8853 yyDollar = yyS[yypt-1 : yypt+1] 8854 var yyLOCAL []*IndexOption 8855 //line sql.y:1976 8856 { 8857 yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} 8858 } 8859 yyVAL.union = yyLOCAL 8860 case 338: 8861 yyDollar = yyS[yypt-2 : yypt+1] 8862 //line sql.y:1980 8863 { 8864 yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) 8865 *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) 8866 } 8867 case 339: 8868 yyDollar = yyS[yypt-1 : yypt+1] 8869 var yyLOCAL *IndexOption 8870 //line sql.y:1986 8871 { 8872 yyLOCAL = yyDollar[1].indexOptionUnion() 8873 } 8874 yyVAL.union = yyLOCAL 8875 case 340: 8876 yyDollar = yyS[yypt-3 : yypt+1] 8877 var yyLOCAL *IndexOption 8878 //line sql.y:1990 8879 { 8880 // should not be string 8881 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 8882 } 8883 yyVAL.union = yyLOCAL 8884 case 341: 8885 yyDollar = yyS[yypt-2 : yypt+1] 8886 var yyLOCAL *IndexOption 8887 //line sql.y:1995 8888 { 8889 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} 8890 } 8891 yyVAL.union = yyLOCAL 8892 case 342: 8893 yyDollar = yyS[yypt-3 : yypt+1] 8894 var yyLOCAL *IndexOption 8895 //line sql.y:1999 8896 { 8897 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} 8898 } 8899 yyVAL.union = yyLOCAL 8900 case 343: 8901 yyDollar = yyS[yypt-0 : yypt+1] 8902 //line sql.y:2005 8903 { 8904 yyVAL.str = "" 8905 } 8906 case 344: 8907 yyDollar = yyS[yypt-1 : yypt+1] 8908 //line sql.y:2009 8909 { 8910 yyVAL.str = string(yyDollar[1].str) 8911 } 8912 case 345: 8913 yyDollar = yyS[yypt-4 : yypt+1] 8914 var yyLOCAL *IndexInfo 8915 //line sql.y:2015 8916 { 8917 yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} 8918 } 8919 yyVAL.union = yyLOCAL 8920 case 346: 8921 yyDollar = yyS[yypt-3 : yypt+1] 8922 var yyLOCAL *IndexInfo 8923 //line sql.y:2019 8924 { 8925 yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} 8926 } 8927 yyVAL.union = yyLOCAL 8928 case 347: 8929 yyDollar = yyS[yypt-3 : yypt+1] 8930 var yyLOCAL *IndexInfo 8931 //line sql.y:2023 8932 { 8933 yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} 8934 } 8935 yyVAL.union = yyLOCAL 8936 case 348: 8937 yyDollar = yyS[yypt-4 : yypt+1] 8938 var yyLOCAL *IndexInfo 8939 //line sql.y:2027 8940 { 8941 yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} 8942 } 8943 yyVAL.union = yyLOCAL 8944 case 349: 8945 yyDollar = yyS[yypt-2 : yypt+1] 8946 var yyLOCAL *IndexInfo 8947 //line sql.y:2031 8948 { 8949 yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} 8950 } 8951 yyVAL.union = yyLOCAL 8952 case 350: 8953 yyDollar = yyS[yypt-0 : yypt+1] 8954 //line sql.y:2036 8955 { 8956 yyVAL.str = "" 8957 } 8958 case 351: 8959 yyDollar = yyS[yypt-2 : yypt+1] 8960 //line sql.y:2040 8961 { 8962 yyVAL.str = yyDollar[2].str 8963 } 8964 case 352: 8965 yyDollar = yyS[yypt-1 : yypt+1] 8966 //line sql.y:2046 8967 { 8968 yyVAL.str = string(yyDollar[1].str) 8969 } 8970 case 353: 8971 yyDollar = yyS[yypt-1 : yypt+1] 8972 //line sql.y:2050 8973 { 8974 yyVAL.str = string(yyDollar[1].str) 8975 } 8976 case 354: 8977 yyDollar = yyS[yypt-1 : yypt+1] 8978 //line sql.y:2054 8979 { 8980 yyVAL.str = string(yyDollar[1].str) 8981 } 8982 case 355: 8983 yyDollar = yyS[yypt-1 : yypt+1] 8984 //line sql.y:2061 8985 { 8986 yyVAL.str = string(yyDollar[1].str) 8987 } 8988 case 356: 8989 yyDollar = yyS[yypt-1 : yypt+1] 8990 //line sql.y:2065 8991 { 8992 yyVAL.str = string(yyDollar[1].str) 8993 } 8994 case 357: 8995 yyDollar = yyS[yypt-0 : yypt+1] 8996 //line sql.y:2070 8997 { 8998 yyVAL.str = "key" 8999 } 9000 case 358: 9001 yyDollar = yyS[yypt-1 : yypt+1] 9002 //line sql.y:2074 9003 { 9004 yyVAL.str = yyDollar[1].str 9005 } 9006 case 359: 9007 yyDollar = yyS[yypt-1 : yypt+1] 9008 //line sql.y:2080 9009 { 9010 yyVAL.str = string(yyDollar[1].str) 9011 } 9012 case 360: 9013 yyDollar = yyS[yypt-1 : yypt+1] 9014 //line sql.y:2084 9015 { 9016 yyVAL.str = string(yyDollar[1].str) 9017 } 9018 case 361: 9019 yyDollar = yyS[yypt-0 : yypt+1] 9020 //line sql.y:2089 9021 { 9022 yyVAL.str = "" 9023 } 9024 case 362: 9025 yyDollar = yyS[yypt-1 : yypt+1] 9026 //line sql.y:2093 9027 { 9028 yyVAL.str = string(yyDollar[1].colIdent.String()) 9029 } 9030 case 363: 9031 yyDollar = yyS[yypt-1 : yypt+1] 9032 var yyLOCAL []*IndexColumn 9033 //line sql.y:2099 9034 { 9035 yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} 9036 } 9037 yyVAL.union = yyLOCAL 9038 case 364: 9039 yyDollar = yyS[yypt-3 : yypt+1] 9040 //line sql.y:2103 9041 { 9042 yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) 9043 *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) 9044 } 9045 case 365: 9046 yyDollar = yyS[yypt-3 : yypt+1] 9047 var yyLOCAL *IndexColumn 9048 //line sql.y:2109 9049 { 9050 yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} 9051 } 9052 yyVAL.union = yyLOCAL 9053 case 366: 9054 yyDollar = yyS[yypt-3 : yypt+1] 9055 var yyLOCAL *ConstraintDefinition 9056 //line sql.y:2115 9057 { 9058 yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} 9059 } 9060 yyVAL.union = yyLOCAL 9061 case 367: 9062 yyDollar = yyS[yypt-1 : yypt+1] 9063 var yyLOCAL *ConstraintDefinition 9064 //line sql.y:2119 9065 { 9066 yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} 9067 } 9068 yyVAL.union = yyLOCAL 9069 case 368: 9070 yyDollar = yyS[yypt-3 : yypt+1] 9071 var yyLOCAL *ConstraintDefinition 9072 //line sql.y:2125 9073 { 9074 yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} 9075 } 9076 yyVAL.union = yyLOCAL 9077 case 369: 9078 yyDollar = yyS[yypt-1 : yypt+1] 9079 var yyLOCAL *ConstraintDefinition 9080 //line sql.y:2129 9081 { 9082 yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} 9083 } 9084 yyVAL.union = yyLOCAL 9085 case 370: 9086 yyDollar = yyS[yypt-7 : yypt+1] 9087 var yyLOCAL ConstraintInfo 9088 //line sql.y:2135 9089 { 9090 yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} 9091 } 9092 yyVAL.union = yyLOCAL 9093 case 371: 9094 yyDollar = yyS[yypt-5 : yypt+1] 9095 var yyLOCAL *ReferenceDefinition 9096 //line sql.y:2141 9097 { 9098 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion()} 9099 } 9100 yyVAL.union = yyLOCAL 9101 case 372: 9102 yyDollar = yyS[yypt-6 : yypt+1] 9103 var yyLOCAL *ReferenceDefinition 9104 //line sql.y:2145 9105 { 9106 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnDelete: yyDollar[6].ReferenceActionUnion()} 9107 } 9108 yyVAL.union = yyLOCAL 9109 case 373: 9110 yyDollar = yyS[yypt-6 : yypt+1] 9111 var yyLOCAL *ReferenceDefinition 9112 //line sql.y:2149 9113 { 9114 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnUpdate: yyDollar[6].ReferenceActionUnion()} 9115 } 9116 yyVAL.union = yyLOCAL 9117 case 374: 9118 yyDollar = yyS[yypt-7 : yypt+1] 9119 var yyLOCAL *ReferenceDefinition 9120 //line sql.y:2153 9121 { 9122 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), OnDelete: yyDollar[6].ReferenceActionUnion(), OnUpdate: yyDollar[7].ReferenceActionUnion()} 9123 } 9124 yyVAL.union = yyLOCAL 9125 case 375: 9126 yyDollar = yyS[yypt-0 : yypt+1] 9127 var yyLOCAL *ReferenceDefinition 9128 //line sql.y:2158 9129 { 9130 yyLOCAL = nil 9131 } 9132 yyVAL.union = yyLOCAL 9133 case 376: 9134 yyDollar = yyS[yypt-1 : yypt+1] 9135 var yyLOCAL *ReferenceDefinition 9136 //line sql.y:2162 9137 { 9138 yyLOCAL = yyDollar[1].referenceDefinitionUnion() 9139 } 9140 yyVAL.union = yyLOCAL 9141 case 377: 9142 yyDollar = yyS[yypt-5 : yypt+1] 9143 var yyLOCAL ConstraintInfo 9144 //line sql.y:2168 9145 { 9146 yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} 9147 } 9148 yyVAL.union = yyLOCAL 9149 case 378: 9150 yyDollar = yyS[yypt-3 : yypt+1] 9151 var yyLOCAL ReferenceAction 9152 //line sql.y:2174 9153 { 9154 yyLOCAL = yyDollar[3].ReferenceActionUnion() 9155 } 9156 yyVAL.union = yyLOCAL 9157 case 379: 9158 yyDollar = yyS[yypt-3 : yypt+1] 9159 var yyLOCAL ReferenceAction 9160 //line sql.y:2180 9161 { 9162 yyLOCAL = yyDollar[3].ReferenceActionUnion() 9163 } 9164 yyVAL.union = yyLOCAL 9165 case 380: 9166 yyDollar = yyS[yypt-1 : yypt+1] 9167 var yyLOCAL ReferenceAction 9168 //line sql.y:2186 9169 { 9170 yyLOCAL = Restrict 9171 } 9172 yyVAL.union = yyLOCAL 9173 case 381: 9174 yyDollar = yyS[yypt-1 : yypt+1] 9175 var yyLOCAL ReferenceAction 9176 //line sql.y:2190 9177 { 9178 yyLOCAL = Cascade 9179 } 9180 yyVAL.union = yyLOCAL 9181 case 382: 9182 yyDollar = yyS[yypt-2 : yypt+1] 9183 var yyLOCAL ReferenceAction 9184 //line sql.y:2194 9185 { 9186 yyLOCAL = NoAction 9187 } 9188 yyVAL.union = yyLOCAL 9189 case 383: 9190 yyDollar = yyS[yypt-2 : yypt+1] 9191 var yyLOCAL ReferenceAction 9192 //line sql.y:2198 9193 { 9194 yyLOCAL = SetDefault 9195 } 9196 yyVAL.union = yyLOCAL 9197 case 384: 9198 yyDollar = yyS[yypt-2 : yypt+1] 9199 var yyLOCAL ReferenceAction 9200 //line sql.y:2202 9201 { 9202 yyLOCAL = SetNull 9203 } 9204 yyVAL.union = yyLOCAL 9205 case 385: 9206 yyDollar = yyS[yypt-0 : yypt+1] 9207 //line sql.y:2207 9208 { 9209 yyVAL.str = "" 9210 } 9211 case 386: 9212 yyDollar = yyS[yypt-1 : yypt+1] 9213 //line sql.y:2211 9214 { 9215 yyVAL.str = string(yyDollar[1].str) 9216 } 9217 case 387: 9218 yyDollar = yyS[yypt-1 : yypt+1] 9219 //line sql.y:2215 9220 { 9221 yyVAL.str = string(yyDollar[1].str) 9222 } 9223 case 388: 9224 yyDollar = yyS[yypt-0 : yypt+1] 9225 var yyLOCAL bool 9226 //line sql.y:2220 9227 { 9228 yyLOCAL = true 9229 } 9230 yyVAL.union = yyLOCAL 9231 case 389: 9232 yyDollar = yyS[yypt-1 : yypt+1] 9233 var yyLOCAL bool 9234 //line sql.y:2224 9235 { 9236 yyLOCAL = true 9237 } 9238 yyVAL.union = yyLOCAL 9239 case 390: 9240 yyDollar = yyS[yypt-2 : yypt+1] 9241 var yyLOCAL bool 9242 //line sql.y:2228 9243 { 9244 yyLOCAL = false 9245 } 9246 yyVAL.union = yyLOCAL 9247 case 391: 9248 yyDollar = yyS[yypt-0 : yypt+1] 9249 var yyLOCAL TableOptions 9250 //line sql.y:2233 9251 { 9252 yyLOCAL = nil 9253 } 9254 yyVAL.union = yyLOCAL 9255 case 392: 9256 yyDollar = yyS[yypt-1 : yypt+1] 9257 var yyLOCAL TableOptions 9258 //line sql.y:2237 9259 { 9260 yyLOCAL = yyDollar[1].tableOptionsUnion() 9261 } 9262 yyVAL.union = yyLOCAL 9263 case 393: 9264 yyDollar = yyS[yypt-1 : yypt+1] 9265 var yyLOCAL TableOptions 9266 //line sql.y:2243 9267 { 9268 yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} 9269 } 9270 yyVAL.union = yyLOCAL 9271 case 394: 9272 yyDollar = yyS[yypt-3 : yypt+1] 9273 //line sql.y:2247 9274 { 9275 yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) 9276 *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) 9277 } 9278 case 395: 9279 yyDollar = yyS[yypt-2 : yypt+1] 9280 //line sql.y:2251 9281 { 9282 yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) 9283 *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) 9284 } 9285 case 396: 9286 yyDollar = yyS[yypt-1 : yypt+1] 9287 var yyLOCAL TableOptions 9288 //line sql.y:2257 9289 { 9290 yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} 9291 } 9292 yyVAL.union = yyLOCAL 9293 case 397: 9294 yyDollar = yyS[yypt-2 : yypt+1] 9295 //line sql.y:2261 9296 { 9297 yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) 9298 *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) 9299 } 9300 case 398: 9301 yyDollar = yyS[yypt-3 : yypt+1] 9302 var yyLOCAL *TableOption 9303 //line sql.y:2267 9304 { 9305 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9306 } 9307 yyVAL.union = yyLOCAL 9308 case 399: 9309 yyDollar = yyS[yypt-3 : yypt+1] 9310 var yyLOCAL *TableOption 9311 //line sql.y:2271 9312 { 9313 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9314 } 9315 yyVAL.union = yyLOCAL 9316 case 400: 9317 yyDollar = yyS[yypt-4 : yypt+1] 9318 var yyLOCAL *TableOption 9319 //line sql.y:2275 9320 { 9321 yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str} 9322 } 9323 yyVAL.union = yyLOCAL 9324 case 401: 9325 yyDollar = yyS[yypt-4 : yypt+1] 9326 var yyLOCAL *TableOption 9327 //line sql.y:2279 9328 { 9329 yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str} 9330 } 9331 yyVAL.union = yyLOCAL 9332 case 402: 9333 yyDollar = yyS[yypt-3 : yypt+1] 9334 var yyLOCAL *TableOption 9335 //line sql.y:2283 9336 { 9337 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9338 } 9339 yyVAL.union = yyLOCAL 9340 case 403: 9341 yyDollar = yyS[yypt-3 : yypt+1] 9342 var yyLOCAL *TableOption 9343 //line sql.y:2287 9344 { 9345 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 9346 } 9347 yyVAL.union = yyLOCAL 9348 case 404: 9349 yyDollar = yyS[yypt-3 : yypt+1] 9350 var yyLOCAL *TableOption 9351 //line sql.y:2291 9352 { 9353 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 9354 } 9355 yyVAL.union = yyLOCAL 9356 case 405: 9357 yyDollar = yyS[yypt-3 : yypt+1] 9358 var yyLOCAL *TableOption 9359 //line sql.y:2295 9360 { 9361 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 9362 } 9363 yyVAL.union = yyLOCAL 9364 case 406: 9365 yyDollar = yyS[yypt-4 : yypt+1] 9366 var yyLOCAL *TableOption 9367 //line sql.y:2299 9368 { 9369 yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} 9370 } 9371 yyVAL.union = yyLOCAL 9372 case 407: 9373 yyDollar = yyS[yypt-4 : yypt+1] 9374 var yyLOCAL *TableOption 9375 //line sql.y:2303 9376 { 9377 yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} 9378 } 9379 yyVAL.union = yyLOCAL 9380 case 408: 9381 yyDollar = yyS[yypt-3 : yypt+1] 9382 var yyLOCAL *TableOption 9383 //line sql.y:2307 9384 { 9385 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9386 } 9387 yyVAL.union = yyLOCAL 9388 case 409: 9389 yyDollar = yyS[yypt-3 : yypt+1] 9390 var yyLOCAL *TableOption 9391 //line sql.y:2311 9392 { 9393 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 9394 } 9395 yyVAL.union = yyLOCAL 9396 case 410: 9397 yyDollar = yyS[yypt-3 : yypt+1] 9398 var yyLOCAL *TableOption 9399 //line sql.y:2315 9400 { 9401 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String()} 9402 } 9403 yyVAL.union = yyLOCAL 9404 case 411: 9405 yyDollar = yyS[yypt-3 : yypt+1] 9406 var yyLOCAL *TableOption 9407 //line sql.y:2319 9408 { 9409 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 9410 } 9411 yyVAL.union = yyLOCAL 9412 case 412: 9413 yyDollar = yyS[yypt-3 : yypt+1] 9414 var yyLOCAL *TableOption 9415 //line sql.y:2323 9416 { 9417 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9418 } 9419 yyVAL.union = yyLOCAL 9420 case 413: 9421 yyDollar = yyS[yypt-3 : yypt+1] 9422 var yyLOCAL *TableOption 9423 //line sql.y:2327 9424 { 9425 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9426 } 9427 yyVAL.union = yyLOCAL 9428 case 414: 9429 yyDollar = yyS[yypt-3 : yypt+1] 9430 var yyLOCAL *TableOption 9431 //line sql.y:2331 9432 { 9433 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9434 } 9435 yyVAL.union = yyLOCAL 9436 case 415: 9437 yyDollar = yyS[yypt-3 : yypt+1] 9438 var yyLOCAL *TableOption 9439 //line sql.y:2335 9440 { 9441 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9442 } 9443 yyVAL.union = yyLOCAL 9444 case 416: 9445 yyDollar = yyS[yypt-3 : yypt+1] 9446 var yyLOCAL *TableOption 9447 //line sql.y:2339 9448 { 9449 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 9450 } 9451 yyVAL.union = yyLOCAL 9452 case 417: 9453 yyDollar = yyS[yypt-3 : yypt+1] 9454 var yyLOCAL *TableOption 9455 //line sql.y:2343 9456 { 9457 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 9458 } 9459 yyVAL.union = yyLOCAL 9460 case 418: 9461 yyDollar = yyS[yypt-3 : yypt+1] 9462 var yyLOCAL *TableOption 9463 //line sql.y:2347 9464 { 9465 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 9466 } 9467 yyVAL.union = yyLOCAL 9468 case 419: 9469 yyDollar = yyS[yypt-3 : yypt+1] 9470 var yyLOCAL *TableOption 9471 //line sql.y:2351 9472 { 9473 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9474 } 9475 yyVAL.union = yyLOCAL 9476 case 420: 9477 yyDollar = yyS[yypt-3 : yypt+1] 9478 var yyLOCAL *TableOption 9479 //line sql.y:2355 9480 { 9481 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 9482 } 9483 yyVAL.union = yyLOCAL 9484 case 421: 9485 yyDollar = yyS[yypt-3 : yypt+1] 9486 var yyLOCAL *TableOption 9487 //line sql.y:2359 9488 { 9489 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9490 } 9491 yyVAL.union = yyLOCAL 9492 case 422: 9493 yyDollar = yyS[yypt-3 : yypt+1] 9494 var yyLOCAL *TableOption 9495 //line sql.y:2363 9496 { 9497 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 9498 } 9499 yyVAL.union = yyLOCAL 9500 case 423: 9501 yyDollar = yyS[yypt-3 : yypt+1] 9502 var yyLOCAL *TableOption 9503 //line sql.y:2367 9504 { 9505 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 9506 } 9507 yyVAL.union = yyLOCAL 9508 case 424: 9509 yyDollar = yyS[yypt-4 : yypt+1] 9510 var yyLOCAL *TableOption 9511 //line sql.y:2371 9512 { 9513 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} 9514 } 9515 yyVAL.union = yyLOCAL 9516 case 425: 9517 yyDollar = yyS[yypt-5 : yypt+1] 9518 var yyLOCAL *TableOption 9519 //line sql.y:2375 9520 { 9521 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} 9522 } 9523 yyVAL.union = yyLOCAL 9524 case 426: 9525 yyDollar = yyS[yypt-0 : yypt+1] 9526 //line sql.y:2380 9527 { 9528 yyVAL.str = "" 9529 } 9530 case 427: 9531 yyDollar = yyS[yypt-2 : yypt+1] 9532 //line sql.y:2384 9533 { 9534 yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) 9535 } 9536 case 428: 9537 yyDollar = yyS[yypt-2 : yypt+1] 9538 //line sql.y:2388 9539 { 9540 yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) 9541 } 9542 case 438: 9543 yyDollar = yyS[yypt-1 : yypt+1] 9544 //line sql.y:2407 9545 { 9546 yyVAL.str = yyDollar[1].colIdent.String() 9547 } 9548 case 439: 9549 yyDollar = yyS[yypt-1 : yypt+1] 9550 //line sql.y:2411 9551 { 9552 yyVAL.str = encodeSQLString(yyDollar[1].str) 9553 } 9554 case 440: 9555 yyDollar = yyS[yypt-1 : yypt+1] 9556 //line sql.y:2415 9557 { 9558 yyVAL.str = string(yyDollar[1].str) 9559 } 9560 case 441: 9561 yyDollar = yyS[yypt-0 : yypt+1] 9562 //line sql.y:2420 9563 { 9564 yyVAL.str = "" 9565 } 9566 case 443: 9567 yyDollar = yyS[yypt-0 : yypt+1] 9568 var yyLOCAL bool 9569 //line sql.y:2426 9570 { 9571 yyLOCAL = false 9572 } 9573 yyVAL.union = yyLOCAL 9574 case 444: 9575 yyDollar = yyS[yypt-1 : yypt+1] 9576 var yyLOCAL bool 9577 //line sql.y:2430 9578 { 9579 yyLOCAL = true 9580 } 9581 yyVAL.union = yyLOCAL 9582 case 445: 9583 yyDollar = yyS[yypt-0 : yypt+1] 9584 var yyLOCAL *ColName 9585 //line sql.y:2435 9586 { 9587 yyLOCAL = nil 9588 } 9589 yyVAL.union = yyLOCAL 9590 case 446: 9591 yyDollar = yyS[yypt-2 : yypt+1] 9592 var yyLOCAL *ColName 9593 //line sql.y:2439 9594 { 9595 yyLOCAL = yyDollar[2].colNameUnion() 9596 } 9597 yyVAL.union = yyLOCAL 9598 case 447: 9599 yyDollar = yyS[yypt-0 : yypt+1] 9600 var yyLOCAL []AlterOption 9601 //line sql.y:2444 9602 { 9603 yyLOCAL = nil 9604 } 9605 yyVAL.union = yyLOCAL 9606 case 448: 9607 yyDollar = yyS[yypt-1 : yypt+1] 9608 var yyLOCAL []AlterOption 9609 //line sql.y:2448 9610 { 9611 yyLOCAL = yyDollar[1].alterOptionsUnion() 9612 } 9613 yyVAL.union = yyLOCAL 9614 case 449: 9615 yyDollar = yyS[yypt-5 : yypt+1] 9616 //line sql.y:2452 9617 { 9618 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 9619 *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) 9620 } 9621 case 450: 9622 yyDollar = yyS[yypt-1 : yypt+1] 9623 var yyLOCAL []AlterOption 9624 //line sql.y:2456 9625 { 9626 yyLOCAL = yyDollar[1].alterOptionsUnion() 9627 } 9628 yyVAL.union = yyLOCAL 9629 case 451: 9630 yyDollar = yyS[yypt-3 : yypt+1] 9631 //line sql.y:2460 9632 { 9633 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 9634 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) 9635 } 9636 case 452: 9637 yyDollar = yyS[yypt-7 : yypt+1] 9638 var yyLOCAL []AlterOption 9639 //line sql.y:2464 9640 { 9641 yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) 9642 } 9643 yyVAL.union = yyLOCAL 9644 case 453: 9645 yyDollar = yyS[yypt-1 : yypt+1] 9646 var yyLOCAL []AlterOption 9647 //line sql.y:2470 9648 { 9649 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 9650 } 9651 yyVAL.union = yyLOCAL 9652 case 454: 9653 yyDollar = yyS[yypt-3 : yypt+1] 9654 //line sql.y:2474 9655 { 9656 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 9657 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) 9658 } 9659 case 455: 9660 yyDollar = yyS[yypt-3 : yypt+1] 9661 //line sql.y:2478 9662 { 9663 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 9664 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) 9665 } 9666 case 456: 9667 yyDollar = yyS[yypt-1 : yypt+1] 9668 var yyLOCAL AlterOption 9669 //line sql.y:2484 9670 { 9671 yyLOCAL = yyDollar[1].tableOptionsUnion() 9672 } 9673 yyVAL.union = yyLOCAL 9674 case 457: 9675 yyDollar = yyS[yypt-2 : yypt+1] 9676 var yyLOCAL AlterOption 9677 //line sql.y:2488 9678 { 9679 yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} 9680 } 9681 yyVAL.union = yyLOCAL 9682 case 458: 9683 yyDollar = yyS[yypt-2 : yypt+1] 9684 var yyLOCAL AlterOption 9685 //line sql.y:2492 9686 { 9687 yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} 9688 } 9689 yyVAL.union = yyLOCAL 9690 case 459: 9691 yyDollar = yyS[yypt-2 : yypt+1] 9692 var yyLOCAL AlterOption 9693 //line sql.y:2496 9694 { 9695 yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} 9696 } 9697 yyVAL.union = yyLOCAL 9698 case 460: 9699 yyDollar = yyS[yypt-5 : yypt+1] 9700 var yyLOCAL AlterOption 9701 //line sql.y:2500 9702 { 9703 yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} 9704 } 9705 yyVAL.union = yyLOCAL 9706 case 461: 9707 yyDollar = yyS[yypt-5 : yypt+1] 9708 var yyLOCAL AlterOption 9709 //line sql.y:2504 9710 { 9711 yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} 9712 } 9713 yyVAL.union = yyLOCAL 9714 case 462: 9715 yyDollar = yyS[yypt-5 : yypt+1] 9716 var yyLOCAL AlterOption 9717 //line sql.y:2508 9718 { 9719 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} 9720 } 9721 yyVAL.union = yyLOCAL 9722 case 463: 9723 yyDollar = yyS[yypt-6 : yypt+1] 9724 var yyLOCAL AlterOption 9725 //line sql.y:2512 9726 { 9727 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} 9728 } 9729 yyVAL.union = yyLOCAL 9730 case 464: 9731 yyDollar = yyS[yypt-8 : yypt+1] 9732 var yyLOCAL AlterOption 9733 //line sql.y:2516 9734 { 9735 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} 9736 } 9737 yyVAL.union = yyLOCAL 9738 case 465: 9739 yyDollar = yyS[yypt-6 : yypt+1] 9740 var yyLOCAL AlterOption 9741 //line sql.y:2520 9742 { 9743 yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} 9744 } 9745 yyVAL.union = yyLOCAL 9746 case 466: 9747 yyDollar = yyS[yypt-5 : yypt+1] 9748 var yyLOCAL AlterOption 9749 //line sql.y:2524 9750 { 9751 yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} 9752 } 9753 yyVAL.union = yyLOCAL 9754 case 467: 9755 yyDollar = yyS[yypt-5 : yypt+1] 9756 var yyLOCAL AlterOption 9757 //line sql.y:2528 9758 { 9759 yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} 9760 } 9761 yyVAL.union = yyLOCAL 9762 case 468: 9763 yyDollar = yyS[yypt-2 : yypt+1] 9764 var yyLOCAL AlterOption 9765 //line sql.y:2532 9766 { 9767 yyLOCAL = &KeyState{Enable: false} 9768 } 9769 yyVAL.union = yyLOCAL 9770 case 469: 9771 yyDollar = yyS[yypt-2 : yypt+1] 9772 var yyLOCAL AlterOption 9773 //line sql.y:2536 9774 { 9775 yyLOCAL = &KeyState{Enable: true} 9776 } 9777 yyVAL.union = yyLOCAL 9778 case 470: 9779 yyDollar = yyS[yypt-2 : yypt+1] 9780 var yyLOCAL AlterOption 9781 //line sql.y:2540 9782 { 9783 yyLOCAL = &TablespaceOperation{Import: false} 9784 } 9785 yyVAL.union = yyLOCAL 9786 case 471: 9787 yyDollar = yyS[yypt-2 : yypt+1] 9788 var yyLOCAL AlterOption 9789 //line sql.y:2544 9790 { 9791 yyLOCAL = &TablespaceOperation{Import: true} 9792 } 9793 yyVAL.union = yyLOCAL 9794 case 472: 9795 yyDollar = yyS[yypt-3 : yypt+1] 9796 var yyLOCAL AlterOption 9797 //line sql.y:2548 9798 { 9799 yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} 9800 } 9801 yyVAL.union = yyLOCAL 9802 case 473: 9803 yyDollar = yyS[yypt-3 : yypt+1] 9804 var yyLOCAL AlterOption 9805 //line sql.y:2552 9806 { 9807 yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} 9808 } 9809 yyVAL.union = yyLOCAL 9810 case 474: 9811 yyDollar = yyS[yypt-3 : yypt+1] 9812 var yyLOCAL AlterOption 9813 //line sql.y:2556 9814 { 9815 yyLOCAL = &DropKey{Type: PrimaryKeyType} 9816 } 9817 yyVAL.union = yyLOCAL 9818 case 475: 9819 yyDollar = yyS[yypt-4 : yypt+1] 9820 var yyLOCAL AlterOption 9821 //line sql.y:2560 9822 { 9823 yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} 9824 } 9825 yyVAL.union = yyLOCAL 9826 case 476: 9827 yyDollar = yyS[yypt-1 : yypt+1] 9828 var yyLOCAL AlterOption 9829 //line sql.y:2564 9830 { 9831 yyLOCAL = &Force{} 9832 } 9833 yyVAL.union = yyLOCAL 9834 case 477: 9835 yyDollar = yyS[yypt-3 : yypt+1] 9836 var yyLOCAL AlterOption 9837 //line sql.y:2568 9838 { 9839 yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} 9840 } 9841 yyVAL.union = yyLOCAL 9842 case 478: 9843 yyDollar = yyS[yypt-5 : yypt+1] 9844 var yyLOCAL AlterOption 9845 //line sql.y:2572 9846 { 9847 yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} 9848 } 9849 yyVAL.union = yyLOCAL 9850 case 479: 9851 yyDollar = yyS[yypt-1 : yypt+1] 9852 var yyLOCAL []AlterOption 9853 //line sql.y:2578 9854 { 9855 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 9856 } 9857 yyVAL.union = yyLOCAL 9858 case 480: 9859 yyDollar = yyS[yypt-3 : yypt+1] 9860 //line sql.y:2582 9861 { 9862 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 9863 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) 9864 } 9865 case 481: 9866 yyDollar = yyS[yypt-3 : yypt+1] 9867 var yyLOCAL AlterOption 9868 //line sql.y:2588 9869 { 9870 yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) 9871 } 9872 yyVAL.union = yyLOCAL 9873 case 482: 9874 yyDollar = yyS[yypt-3 : yypt+1] 9875 var yyLOCAL AlterOption 9876 //line sql.y:2592 9877 { 9878 yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) 9879 } 9880 yyVAL.union = yyLOCAL 9881 case 483: 9882 yyDollar = yyS[yypt-3 : yypt+1] 9883 var yyLOCAL AlterOption 9884 //line sql.y:2596 9885 { 9886 yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) 9887 } 9888 yyVAL.union = yyLOCAL 9889 case 484: 9890 yyDollar = yyS[yypt-3 : yypt+1] 9891 var yyLOCAL AlterOption 9892 //line sql.y:2600 9893 { 9894 yyLOCAL = &LockOption{Type: DefaultType} 9895 } 9896 yyVAL.union = yyLOCAL 9897 case 485: 9898 yyDollar = yyS[yypt-3 : yypt+1] 9899 var yyLOCAL AlterOption 9900 //line sql.y:2604 9901 { 9902 yyLOCAL = &LockOption{Type: NoneType} 9903 } 9904 yyVAL.union = yyLOCAL 9905 case 486: 9906 yyDollar = yyS[yypt-3 : yypt+1] 9907 var yyLOCAL AlterOption 9908 //line sql.y:2608 9909 { 9910 yyLOCAL = &LockOption{Type: SharedType} 9911 } 9912 yyVAL.union = yyLOCAL 9913 case 487: 9914 yyDollar = yyS[yypt-3 : yypt+1] 9915 var yyLOCAL AlterOption 9916 //line sql.y:2612 9917 { 9918 yyLOCAL = &LockOption{Type: ExclusiveType} 9919 } 9920 yyVAL.union = yyLOCAL 9921 case 488: 9922 yyDollar = yyS[yypt-2 : yypt+1] 9923 var yyLOCAL AlterOption 9924 //line sql.y:2616 9925 { 9926 yyLOCAL = &Validation{With: true} 9927 } 9928 yyVAL.union = yyLOCAL 9929 case 489: 9930 yyDollar = yyS[yypt-2 : yypt+1] 9931 var yyLOCAL AlterOption 9932 //line sql.y:2620 9933 { 9934 yyLOCAL = &Validation{With: false} 9935 } 9936 yyVAL.union = yyLOCAL 9937 case 490: 9938 yyDollar = yyS[yypt-2 : yypt+1] 9939 var yyLOCAL Statement 9940 //line sql.y:2626 9941 { 9942 yyDollar[1].alterTableUnion().FullyParsed = true 9943 yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() 9944 yyLOCAL = yyDollar[1].alterTableUnion() 9945 } 9946 yyVAL.union = yyLOCAL 9947 case 491: 9948 yyDollar = yyS[yypt-4 : yypt+1] 9949 var yyLOCAL Statement 9950 //line sql.y:2632 9951 { 9952 yyDollar[1].alterTableUnion().FullyParsed = true 9953 yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() 9954 yyDollar[1].alterTableUnion().PartitionSpec = &PartitionSpec{Action: RemoveAction} 9955 yyLOCAL = yyDollar[1].alterTableUnion() 9956 } 9957 yyVAL.union = yyLOCAL 9958 case 492: 9959 yyDollar = yyS[yypt-4 : yypt+1] 9960 var yyLOCAL Statement 9961 //line sql.y:2639 9962 { 9963 yyDollar[1].alterTableUnion().FullyParsed = true 9964 yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() 9965 yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[4].partSpecUnion() 9966 yyLOCAL = yyDollar[1].alterTableUnion() 9967 } 9968 yyVAL.union = yyLOCAL 9969 case 493: 9970 yyDollar = yyS[yypt-2 : yypt+1] 9971 var yyLOCAL Statement 9972 //line sql.y:2646 9973 { 9974 yyDollar[1].alterTableUnion().FullyParsed = true 9975 yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() 9976 yyLOCAL = yyDollar[1].alterTableUnion() 9977 } 9978 yyVAL.union = yyLOCAL 9979 case 494: 9980 yyDollar = yyS[yypt-11 : yypt+1] 9981 var yyLOCAL Statement 9982 //line sql.y:2652 9983 { 9984 yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].str, Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} 9985 } 9986 yyVAL.union = yyLOCAL 9987 case 495: 9988 yyDollar = yyS[yypt-3 : yypt+1] 9989 var yyLOCAL Statement 9990 //line sql.y:2656 9991 { 9992 yyDollar[1].alterDatabaseUnion().FullyParsed = true 9993 yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent 9994 yyDollar[1].alterDatabaseUnion().AlterOptions = yyDollar[3].collateAndCharsetsUnion() 9995 yyLOCAL = yyDollar[1].alterDatabaseUnion() 9996 } 9997 yyVAL.union = yyLOCAL 9998 case 496: 9999 yyDollar = yyS[yypt-6 : yypt+1] 10000 var yyLOCAL Statement 10001 //line sql.y:2663 10002 { 10003 yyDollar[1].alterDatabaseUnion().FullyParsed = true 10004 yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent 10005 yyDollar[1].alterDatabaseUnion().UpdateDataDirectory = true 10006 yyLOCAL = yyDollar[1].alterDatabaseUnion() 10007 } 10008 yyVAL.union = yyLOCAL 10009 case 497: 10010 yyDollar = yyS[yypt-8 : yypt+1] 10011 var yyLOCAL Statement 10012 //line sql.y:2670 10013 { 10014 yyLOCAL = &AlterVschema{ 10015 Action: CreateVindexDDLAction, 10016 Table: yyDollar[6].tableName, 10017 VindexSpec: &VindexSpec{ 10018 Name: NewColIdent(yyDollar[6].tableName.Name.String()), 10019 Type: yyDollar[7].colIdent, 10020 Params: yyDollar[8].vindexParamsUnion(), 10021 }, 10022 } 10023 } 10024 yyVAL.union = yyLOCAL 10025 case 498: 10026 yyDollar = yyS[yypt-6 : yypt+1] 10027 var yyLOCAL Statement 10028 //line sql.y:2682 10029 { 10030 yyLOCAL = &AlterVschema{ 10031 Action: DropVindexDDLAction, 10032 Table: yyDollar[6].tableName, 10033 VindexSpec: &VindexSpec{ 10034 Name: NewColIdent(yyDollar[6].tableName.Name.String()), 10035 }, 10036 } 10037 } 10038 yyVAL.union = yyLOCAL 10039 case 499: 10040 yyDollar = yyS[yypt-6 : yypt+1] 10041 var yyLOCAL Statement 10042 //line sql.y:2692 10043 { 10044 yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} 10045 } 10046 yyVAL.union = yyLOCAL 10047 case 500: 10048 yyDollar = yyS[yypt-6 : yypt+1] 10049 var yyLOCAL Statement 10050 //line sql.y:2696 10051 { 10052 yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} 10053 } 10054 yyVAL.union = yyLOCAL 10055 case 501: 10056 yyDollar = yyS[yypt-13 : yypt+1] 10057 var yyLOCAL Statement 10058 //line sql.y:2700 10059 { 10060 yyLOCAL = &AlterVschema{ 10061 Action: AddColVindexDDLAction, 10062 Table: yyDollar[5].tableName, 10063 VindexSpec: &VindexSpec{ 10064 Name: yyDollar[8].colIdent, 10065 Type: yyDollar[12].colIdent, 10066 Params: yyDollar[13].vindexParamsUnion(), 10067 }, 10068 VindexCols: yyDollar[10].columnsUnion(), 10069 } 10070 } 10071 yyVAL.union = yyLOCAL 10072 case 502: 10073 yyDollar = yyS[yypt-8 : yypt+1] 10074 var yyLOCAL Statement 10075 //line sql.y:2713 10076 { 10077 yyLOCAL = &AlterVschema{ 10078 Action: DropColVindexDDLAction, 10079 Table: yyDollar[5].tableName, 10080 VindexSpec: &VindexSpec{ 10081 Name: yyDollar[8].colIdent, 10082 }, 10083 } 10084 } 10085 yyVAL.union = yyLOCAL 10086 case 503: 10087 yyDollar = yyS[yypt-6 : yypt+1] 10088 var yyLOCAL Statement 10089 //line sql.y:2723 10090 { 10091 yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} 10092 } 10093 yyVAL.union = yyLOCAL 10094 case 504: 10095 yyDollar = yyS[yypt-10 : yypt+1] 10096 var yyLOCAL Statement 10097 //line sql.y:2727 10098 { 10099 yyLOCAL = &AlterVschema{ 10100 Action: AddAutoIncDDLAction, 10101 Table: yyDollar[5].tableName, 10102 AutoIncSpec: &AutoIncSpec{ 10103 Column: yyDollar[8].colIdent, 10104 Sequence: yyDollar[10].tableName, 10105 }, 10106 } 10107 } 10108 yyVAL.union = yyLOCAL 10109 case 505: 10110 yyDollar = yyS[yypt-5 : yypt+1] 10111 var yyLOCAL Statement 10112 //line sql.y:2738 10113 { 10114 yyLOCAL = &AlterMigration{ 10115 Type: RetryMigrationType, 10116 UUID: string(yyDollar[4].str), 10117 } 10118 } 10119 yyVAL.union = yyLOCAL 10120 case 506: 10121 yyDollar = yyS[yypt-5 : yypt+1] 10122 var yyLOCAL Statement 10123 //line sql.y:2745 10124 { 10125 yyLOCAL = &AlterMigration{ 10126 Type: CleanupMigrationType, 10127 UUID: string(yyDollar[4].str), 10128 } 10129 } 10130 yyVAL.union = yyLOCAL 10131 case 507: 10132 yyDollar = yyS[yypt-5 : yypt+1] 10133 var yyLOCAL Statement 10134 //line sql.y:2752 10135 { 10136 yyLOCAL = &AlterMigration{ 10137 Type: CompleteMigrationType, 10138 UUID: string(yyDollar[4].str), 10139 } 10140 } 10141 yyVAL.union = yyLOCAL 10142 case 508: 10143 yyDollar = yyS[yypt-5 : yypt+1] 10144 var yyLOCAL Statement 10145 //line sql.y:2759 10146 { 10147 yyLOCAL = &AlterMigration{ 10148 Type: CancelMigrationType, 10149 UUID: string(yyDollar[4].str), 10150 } 10151 } 10152 yyVAL.union = yyLOCAL 10153 case 509: 10154 yyDollar = yyS[yypt-5 : yypt+1] 10155 var yyLOCAL Statement 10156 //line sql.y:2766 10157 { 10158 yyLOCAL = &AlterMigration{ 10159 Type: CancelAllMigrationType, 10160 } 10161 } 10162 yyVAL.union = yyLOCAL 10163 case 510: 10164 yyDollar = yyS[yypt-0 : yypt+1] 10165 var yyLOCAL *PartitionOption 10166 //line sql.y:2773 10167 { 10168 yyLOCAL = nil 10169 } 10170 yyVAL.union = yyLOCAL 10171 case 511: 10172 yyDollar = yyS[yypt-10 : yypt+1] 10173 var yyLOCAL *PartitionOption 10174 //line sql.y:2778 10175 { 10176 yyLOCAL = &PartitionOption{ 10177 Linear: yyDollar[3].str, 10178 isHASH: true, 10179 Expr: yyDollar[6].exprUnion(), 10180 Partitions: yyDollar[8].str, 10181 SubPartition: yyDollar[9].subPartitionUnion(), 10182 Definitions: yyDollar[10].partDefsUnion(), 10183 } 10184 } 10185 yyVAL.union = yyLOCAL 10186 case 512: 10187 yyDollar = yyS[yypt-11 : yypt+1] 10188 var yyLOCAL *PartitionOption 10189 //line sql.y:2790 10190 { 10191 yyLOCAL = &PartitionOption{ 10192 Linear: yyDollar[3].str, 10193 isKEY: true, 10194 KeyAlgorithm: yyDollar[5].str, 10195 KeyColList: yyDollar[7].columnsUnion(), 10196 Partitions: yyDollar[9].str, 10197 SubPartition: yyDollar[10].subPartitionUnion(), 10198 Definitions: yyDollar[11].partDefsUnion(), 10199 } 10200 } 10201 yyVAL.union = yyLOCAL 10202 case 513: 10203 yyDollar = yyS[yypt-7 : yypt+1] 10204 var yyLOCAL *PartitionOption 10205 //line sql.y:2803 10206 { 10207 yyLOCAL = &PartitionOption{ 10208 RangeOrList: yyDollar[3].str, 10209 ExprOrCol: yyDollar[4].exprOrColumnsUnion(), 10210 Partitions: yyDollar[5].str, 10211 SubPartition: yyDollar[6].subPartitionUnion(), 10212 Definitions: yyDollar[7].partDefsUnion(), 10213 } 10214 } 10215 yyVAL.union = yyLOCAL 10216 case 514: 10217 yyDollar = yyS[yypt-0 : yypt+1] 10218 var yyLOCAL *SubPartition 10219 //line sql.y:2814 10220 { 10221 yyLOCAL = nil 10222 } 10223 yyVAL.union = yyLOCAL 10224 case 515: 10225 yyDollar = yyS[yypt-8 : yypt+1] 10226 var yyLOCAL *SubPartition 10227 //line sql.y:2818 10228 { 10229 yyLOCAL = &SubPartition{ 10230 Linear: yyDollar[3].str, 10231 isHASH: true, 10232 Expr: yyDollar[6].exprUnion(), 10233 SubPartitions: yyDollar[8].str, 10234 } 10235 } 10236 yyVAL.union = yyLOCAL 10237 case 516: 10238 yyDollar = yyS[yypt-9 : yypt+1] 10239 var yyLOCAL *SubPartition 10240 //line sql.y:2827 10241 { 10242 yyLOCAL = &SubPartition{ 10243 Linear: yyDollar[3].str, 10244 isKEY: true, 10245 KeyAlgorithm: yyDollar[5].str, 10246 KeyColList: yyDollar[7].columnsUnion(), 10247 SubPartitions: yyDollar[9].str, 10248 } 10249 } 10250 yyVAL.union = yyLOCAL 10251 case 517: 10252 yyDollar = yyS[yypt-0 : yypt+1] 10253 var yyLOCAL []*PartitionDefinition 10254 //line sql.y:2838 10255 { 10256 yyLOCAL = nil 10257 } 10258 yyVAL.union = yyLOCAL 10259 case 518: 10260 yyDollar = yyS[yypt-3 : yypt+1] 10261 var yyLOCAL []*PartitionDefinition 10262 //line sql.y:2842 10263 { 10264 yyLOCAL = yyDollar[2].partDefsUnion() 10265 } 10266 yyVAL.union = yyLOCAL 10267 case 519: 10268 yyDollar = yyS[yypt-0 : yypt+1] 10269 //line sql.y:2847 10270 { 10271 yyVAL.str = "" 10272 } 10273 case 520: 10274 yyDollar = yyS[yypt-1 : yypt+1] 10275 //line sql.y:2851 10276 { 10277 yyVAL.str = string(yyDollar[1].str) 10278 } 10279 case 521: 10280 yyDollar = yyS[yypt-0 : yypt+1] 10281 //line sql.y:2856 10282 { 10283 yyVAL.str = "" 10284 } 10285 case 522: 10286 yyDollar = yyS[yypt-3 : yypt+1] 10287 //line sql.y:2860 10288 { 10289 yyVAL.str = string(yyDollar[3].str) 10290 } 10291 case 523: 10292 yyDollar = yyS[yypt-1 : yypt+1] 10293 //line sql.y:2866 10294 { 10295 yyVAL.str = string(yyDollar[1].str) 10296 } 10297 case 524: 10298 yyDollar = yyS[yypt-1 : yypt+1] 10299 //line sql.y:2870 10300 { 10301 yyVAL.str = string(yyDollar[1].str) 10302 } 10303 case 525: 10304 yyDollar = yyS[yypt-3 : yypt+1] 10305 var yyLOCAL *ExprOrColumns 10306 //line sql.y:2876 10307 { 10308 yyLOCAL = &ExprOrColumns{Expr: yyDollar[2].exprUnion()} 10309 } 10310 yyVAL.union = yyLOCAL 10311 case 526: 10312 yyDollar = yyS[yypt-4 : yypt+1] 10313 var yyLOCAL *ExprOrColumns 10314 //line sql.y:2880 10315 { 10316 yyLOCAL = &ExprOrColumns{ColumnList: yyDollar[3].columnsUnion()} 10317 } 10318 yyVAL.union = yyLOCAL 10319 case 527: 10320 yyDollar = yyS[yypt-0 : yypt+1] 10321 //line sql.y:2885 10322 { 10323 yyVAL.str = "" 10324 } 10325 case 528: 10326 yyDollar = yyS[yypt-2 : yypt+1] 10327 //line sql.y:2889 10328 { 10329 yyVAL.str = string(yyDollar[2].str) 10330 } 10331 case 529: 10332 yyDollar = yyS[yypt-0 : yypt+1] 10333 //line sql.y:2894 10334 { 10335 yyVAL.str = "" 10336 } 10337 case 530: 10338 yyDollar = yyS[yypt-2 : yypt+1] 10339 //line sql.y:2898 10340 { 10341 yyVAL.str = string(yyDollar[2].str) 10342 } 10343 case 531: 10344 yyDollar = yyS[yypt-5 : yypt+1] 10345 var yyLOCAL *PartitionSpec 10346 //line sql.y:2904 10347 { 10348 yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} 10349 } 10350 yyVAL.union = yyLOCAL 10351 case 532: 10352 yyDollar = yyS[yypt-3 : yypt+1] 10353 var yyLOCAL *PartitionSpec 10354 //line sql.y:2908 10355 { 10356 yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} 10357 } 10358 yyVAL.union = yyLOCAL 10359 case 533: 10360 yyDollar = yyS[yypt-7 : yypt+1] 10361 var yyLOCAL *PartitionSpec 10362 //line sql.y:2912 10363 { 10364 yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} 10365 } 10366 yyVAL.union = yyLOCAL 10367 case 534: 10368 yyDollar = yyS[yypt-4 : yypt+1] 10369 var yyLOCAL *PartitionSpec 10370 //line sql.y:2916 10371 { 10372 yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} 10373 } 10374 yyVAL.union = yyLOCAL 10375 case 535: 10376 yyDollar = yyS[yypt-4 : yypt+1] 10377 var yyLOCAL *PartitionSpec 10378 //line sql.y:2920 10379 { 10380 yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} 10381 } 10382 yyVAL.union = yyLOCAL 10383 case 536: 10384 yyDollar = yyS[yypt-4 : yypt+1] 10385 var yyLOCAL *PartitionSpec 10386 //line sql.y:2924 10387 { 10388 yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} 10389 } 10390 yyVAL.union = yyLOCAL 10391 case 537: 10392 yyDollar = yyS[yypt-4 : yypt+1] 10393 var yyLOCAL *PartitionSpec 10394 //line sql.y:2928 10395 { 10396 yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} 10397 } 10398 yyVAL.union = yyLOCAL 10399 case 538: 10400 yyDollar = yyS[yypt-3 : yypt+1] 10401 var yyLOCAL *PartitionSpec 10402 //line sql.y:2932 10403 { 10404 yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} 10405 } 10406 yyVAL.union = yyLOCAL 10407 case 539: 10408 yyDollar = yyS[yypt-3 : yypt+1] 10409 var yyLOCAL *PartitionSpec 10410 //line sql.y:2936 10411 { 10412 yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} 10413 } 10414 yyVAL.union = yyLOCAL 10415 case 540: 10416 yyDollar = yyS[yypt-3 : yypt+1] 10417 var yyLOCAL *PartitionSpec 10418 //line sql.y:2940 10419 { 10420 yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} 10421 } 10422 yyVAL.union = yyLOCAL 10423 case 541: 10424 yyDollar = yyS[yypt-7 : yypt+1] 10425 var yyLOCAL *PartitionSpec 10426 //line sql.y:2944 10427 { 10428 yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} 10429 } 10430 yyVAL.union = yyLOCAL 10431 case 542: 10432 yyDollar = yyS[yypt-3 : yypt+1] 10433 var yyLOCAL *PartitionSpec 10434 //line sql.y:2948 10435 { 10436 yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} 10437 } 10438 yyVAL.union = yyLOCAL 10439 case 543: 10440 yyDollar = yyS[yypt-3 : yypt+1] 10441 var yyLOCAL *PartitionSpec 10442 //line sql.y:2952 10443 { 10444 yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} 10445 } 10446 yyVAL.union = yyLOCAL 10447 case 544: 10448 yyDollar = yyS[yypt-3 : yypt+1] 10449 var yyLOCAL *PartitionSpec 10450 //line sql.y:2956 10451 { 10452 yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} 10453 } 10454 yyVAL.union = yyLOCAL 10455 case 545: 10456 yyDollar = yyS[yypt-3 : yypt+1] 10457 var yyLOCAL *PartitionSpec 10458 //line sql.y:2960 10459 { 10460 yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} 10461 } 10462 yyVAL.union = yyLOCAL 10463 case 546: 10464 yyDollar = yyS[yypt-3 : yypt+1] 10465 var yyLOCAL *PartitionSpec 10466 //line sql.y:2964 10467 { 10468 yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} 10469 } 10470 yyVAL.union = yyLOCAL 10471 case 547: 10472 yyDollar = yyS[yypt-3 : yypt+1] 10473 var yyLOCAL *PartitionSpec 10474 //line sql.y:2968 10475 { 10476 yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} 10477 } 10478 yyVAL.union = yyLOCAL 10479 case 548: 10480 yyDollar = yyS[yypt-3 : yypt+1] 10481 var yyLOCAL *PartitionSpec 10482 //line sql.y:2972 10483 { 10484 yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} 10485 } 10486 yyVAL.union = yyLOCAL 10487 case 549: 10488 yyDollar = yyS[yypt-3 : yypt+1] 10489 var yyLOCAL *PartitionSpec 10490 //line sql.y:2976 10491 { 10492 yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} 10493 } 10494 yyVAL.union = yyLOCAL 10495 case 550: 10496 yyDollar = yyS[yypt-3 : yypt+1] 10497 var yyLOCAL *PartitionSpec 10498 //line sql.y:2980 10499 { 10500 yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} 10501 } 10502 yyVAL.union = yyLOCAL 10503 case 551: 10504 yyDollar = yyS[yypt-3 : yypt+1] 10505 var yyLOCAL *PartitionSpec 10506 //line sql.y:2984 10507 { 10508 yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} 10509 } 10510 yyVAL.union = yyLOCAL 10511 case 552: 10512 yyDollar = yyS[yypt-2 : yypt+1] 10513 var yyLOCAL *PartitionSpec 10514 //line sql.y:2988 10515 { 10516 yyLOCAL = &PartitionSpec{Action: UpgradeAction} 10517 } 10518 yyVAL.union = yyLOCAL 10519 case 553: 10520 yyDollar = yyS[yypt-0 : yypt+1] 10521 var yyLOCAL bool 10522 //line sql.y:2993 10523 { 10524 yyLOCAL = false 10525 } 10526 yyVAL.union = yyLOCAL 10527 case 554: 10528 yyDollar = yyS[yypt-2 : yypt+1] 10529 var yyLOCAL bool 10530 //line sql.y:2997 10531 { 10532 yyLOCAL = false 10533 } 10534 yyVAL.union = yyLOCAL 10535 case 555: 10536 yyDollar = yyS[yypt-2 : yypt+1] 10537 var yyLOCAL bool 10538 //line sql.y:3001 10539 { 10540 yyLOCAL = true 10541 } 10542 yyVAL.union = yyLOCAL 10543 case 556: 10544 yyDollar = yyS[yypt-1 : yypt+1] 10545 var yyLOCAL []*PartitionDefinition 10546 //line sql.y:3008 10547 { 10548 yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} 10549 } 10550 yyVAL.union = yyLOCAL 10551 case 557: 10552 yyDollar = yyS[yypt-3 : yypt+1] 10553 //line sql.y:3012 10554 { 10555 yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) 10556 *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) 10557 } 10558 case 558: 10559 yyDollar = yyS[yypt-8 : yypt+1] 10560 var yyLOCAL *PartitionDefinition 10561 //line sql.y:3018 10562 { 10563 yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].exprUnion()} 10564 } 10565 yyVAL.union = yyLOCAL 10566 case 559: 10567 yyDollar = yyS[yypt-8 : yypt+1] 10568 var yyLOCAL *PartitionDefinition 10569 //line sql.y:3022 10570 { 10571 yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true} 10572 } 10573 yyVAL.union = yyLOCAL 10574 case 560: 10575 yyDollar = yyS[yypt-3 : yypt+1] 10576 var yyLOCAL Statement 10577 //line sql.y:3028 10578 { 10579 yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} 10580 } 10581 yyVAL.union = yyLOCAL 10582 case 561: 10583 yyDollar = yyS[yypt-3 : yypt+1] 10584 var yyLOCAL []*RenameTablePair 10585 //line sql.y:3034 10586 { 10587 yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} 10588 } 10589 yyVAL.union = yyLOCAL 10590 case 562: 10591 yyDollar = yyS[yypt-5 : yypt+1] 10592 //line sql.y:3038 10593 { 10594 yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) 10595 *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) 10596 } 10597 case 563: 10598 yyDollar = yyS[yypt-7 : yypt+1] 10599 var yyLOCAL Statement 10600 //line sql.y:3044 10601 { 10602 yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs), Temp: yyDollar[3].booleanUnion()} 10603 } 10604 yyVAL.union = yyLOCAL 10605 case 564: 10606 yyDollar = yyS[yypt-7 : yypt+1] 10607 var yyLOCAL Statement 10608 //line sql.y:3048 10609 { 10610 // Change this to an alter statement 10611 if yyDollar[4].colIdent.Lowered() == "primary" { 10612 yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[7].alterOptionsUnion()...)} 10613 } else { 10614 yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[4].colIdent}}, yyDollar[7].alterOptionsUnion()...)} 10615 } 10616 } 10617 yyVAL.union = yyLOCAL 10618 case 565: 10619 yyDollar = yyS[yypt-6 : yypt+1] 10620 var yyLOCAL Statement 10621 //line sql.y:3057 10622 { 10623 yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), IfExists: yyDollar[4].booleanUnion()} 10624 } 10625 yyVAL.union = yyLOCAL 10626 case 566: 10627 yyDollar = yyS[yypt-5 : yypt+1] 10628 var yyLOCAL Statement 10629 //line sql.y:3061 10630 { 10631 yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} 10632 } 10633 yyVAL.union = yyLOCAL 10634 case 567: 10635 yyDollar = yyS[yypt-3 : yypt+1] 10636 var yyLOCAL Statement 10637 //line sql.y:3067 10638 { 10639 yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} 10640 } 10641 yyVAL.union = yyLOCAL 10642 case 568: 10643 yyDollar = yyS[yypt-2 : yypt+1] 10644 var yyLOCAL Statement 10645 //line sql.y:3071 10646 { 10647 yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} 10648 } 10649 yyVAL.union = yyLOCAL 10650 case 569: 10651 yyDollar = yyS[yypt-3 : yypt+1] 10652 var yyLOCAL Statement 10653 //line sql.y:3076 10654 { 10655 yyLOCAL = &OtherRead{} 10656 } 10657 yyVAL.union = yyLOCAL 10658 case 570: 10659 yyDollar = yyS[yypt-3 : yypt+1] 10660 var yyLOCAL Statement 10661 //line sql.y:3082 10662 { 10663 yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} 10664 } 10665 yyVAL.union = yyLOCAL 10666 case 571: 10667 yyDollar = yyS[yypt-3 : yypt+1] 10668 var yyLOCAL Statement 10669 //line sql.y:3086 10670 { 10671 yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} 10672 } 10673 yyVAL.union = yyLOCAL 10674 case 572: 10675 yyDollar = yyS[yypt-7 : yypt+1] 10676 var yyLOCAL Statement 10677 //line sql.y:3090 10678 { 10679 yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} 10680 } 10681 yyVAL.union = yyLOCAL 10682 case 573: 10683 yyDollar = yyS[yypt-3 : yypt+1] 10684 var yyLOCAL Statement 10685 //line sql.y:3094 10686 { 10687 yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} 10688 } 10689 yyVAL.union = yyLOCAL 10690 case 574: 10691 yyDollar = yyS[yypt-3 : yypt+1] 10692 var yyLOCAL Statement 10693 //line sql.y:3098 10694 { 10695 yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} 10696 } 10697 yyVAL.union = yyLOCAL 10698 case 575: 10699 yyDollar = yyS[yypt-3 : yypt+1] 10700 var yyLOCAL Statement 10701 //line sql.y:3102 10702 { 10703 yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} 10704 } 10705 yyVAL.union = yyLOCAL 10706 case 576: 10707 yyDollar = yyS[yypt-3 : yypt+1] 10708 var yyLOCAL Statement 10709 //line sql.y:3106 10710 { 10711 yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} 10712 } 10713 yyVAL.union = yyLOCAL 10714 case 577: 10715 yyDollar = yyS[yypt-4 : yypt+1] 10716 var yyLOCAL Statement 10717 //line sql.y:3110 10718 { 10719 yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} 10720 } 10721 yyVAL.union = yyLOCAL 10722 case 578: 10723 yyDollar = yyS[yypt-7 : yypt+1] 10724 var yyLOCAL Statement 10725 //line sql.y:3114 10726 { 10727 yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} 10728 } 10729 yyVAL.union = yyLOCAL 10730 case 579: 10731 yyDollar = yyS[yypt-5 : yypt+1] 10732 var yyLOCAL Statement 10733 //line sql.y:3118 10734 { 10735 yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} 10736 } 10737 yyVAL.union = yyLOCAL 10738 case 580: 10739 yyDollar = yyS[yypt-2 : yypt+1] 10740 var yyLOCAL Statement 10741 //line sql.y:3122 10742 { 10743 yyLOCAL = &Show{&ShowBasic{Command: Privilege}} 10744 } 10745 yyVAL.union = yyLOCAL 10746 case 581: 10747 yyDollar = yyS[yypt-4 : yypt+1] 10748 var yyLOCAL Statement 10749 //line sql.y:3126 10750 { 10751 yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} 10752 } 10753 yyVAL.union = yyLOCAL 10754 case 582: 10755 yyDollar = yyS[yypt-4 : yypt+1] 10756 var yyLOCAL Statement 10757 //line sql.y:3130 10758 { 10759 yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} 10760 } 10761 yyVAL.union = yyLOCAL 10762 case 583: 10763 yyDollar = yyS[yypt-4 : yypt+1] 10764 var yyLOCAL Statement 10765 //line sql.y:3134 10766 { 10767 yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} 10768 } 10769 yyVAL.union = yyLOCAL 10770 case 584: 10771 yyDollar = yyS[yypt-4 : yypt+1] 10772 var yyLOCAL Statement 10773 //line sql.y:3138 10774 { 10775 yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} 10776 } 10777 yyVAL.union = yyLOCAL 10778 case 585: 10779 yyDollar = yyS[yypt-4 : yypt+1] 10780 var yyLOCAL Statement 10781 //line sql.y:3142 10782 { 10783 yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} 10784 } 10785 yyVAL.union = yyLOCAL 10786 case 586: 10787 yyDollar = yyS[yypt-5 : yypt+1] 10788 var yyLOCAL Statement 10789 //line sql.y:3146 10790 { 10791 yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} 10792 } 10793 yyVAL.union = yyLOCAL 10794 case 587: 10795 yyDollar = yyS[yypt-5 : yypt+1] 10796 var yyLOCAL Statement 10797 //line sql.y:3150 10798 { 10799 yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} 10800 } 10801 yyVAL.union = yyLOCAL 10802 case 588: 10803 yyDollar = yyS[yypt-4 : yypt+1] 10804 var yyLOCAL Statement 10805 //line sql.y:3154 10806 { 10807 yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} 10808 } 10809 yyVAL.union = yyLOCAL 10810 case 589: 10811 yyDollar = yyS[yypt-4 : yypt+1] 10812 var yyLOCAL Statement 10813 //line sql.y:3158 10814 { 10815 yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} 10816 } 10817 yyVAL.union = yyLOCAL 10818 case 590: 10819 yyDollar = yyS[yypt-4 : yypt+1] 10820 var yyLOCAL Statement 10821 //line sql.y:3162 10822 { 10823 yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} 10824 } 10825 yyVAL.union = yyLOCAL 10826 case 591: 10827 yyDollar = yyS[yypt-4 : yypt+1] 10828 var yyLOCAL Statement 10829 //line sql.y:3166 10830 { 10831 yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} 10832 } 10833 yyVAL.union = yyLOCAL 10834 case 592: 10835 yyDollar = yyS[yypt-4 : yypt+1] 10836 var yyLOCAL Statement 10837 //line sql.y:3170 10838 { 10839 yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} 10840 } 10841 yyVAL.union = yyLOCAL 10842 case 593: 10843 yyDollar = yyS[yypt-4 : yypt+1] 10844 var yyLOCAL Statement 10845 //line sql.y:3174 10846 { 10847 yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} 10848 } 10849 yyVAL.union = yyLOCAL 10850 case 594: 10851 yyDollar = yyS[yypt-4 : yypt+1] 10852 var yyLOCAL Statement 10853 //line sql.y:3178 10854 { 10855 yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} 10856 } 10857 yyVAL.union = yyLOCAL 10858 case 595: 10859 yyDollar = yyS[yypt-4 : yypt+1] 10860 var yyLOCAL Statement 10861 //line sql.y:3182 10862 { 10863 yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} 10864 } 10865 yyVAL.union = yyLOCAL 10866 case 596: 10867 yyDollar = yyS[yypt-4 : yypt+1] 10868 var yyLOCAL Statement 10869 //line sql.y:3186 10870 { 10871 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} 10872 } 10873 yyVAL.union = yyLOCAL 10874 case 597: 10875 yyDollar = yyS[yypt-4 : yypt+1] 10876 var yyLOCAL Statement 10877 //line sql.y:3190 10878 { 10879 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].colIdent.String()), Scope: ImplicitScope}} 10880 } 10881 yyVAL.union = yyLOCAL 10882 case 598: 10883 yyDollar = yyS[yypt-4 : yypt+1] 10884 var yyLOCAL Statement 10885 //line sql.y:3194 10886 { 10887 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} 10888 } 10889 yyVAL.union = yyLOCAL 10890 case 599: 10891 yyDollar = yyS[yypt-2 : yypt+1] 10892 var yyLOCAL Statement 10893 //line sql.y:3198 10894 { 10895 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} 10896 } 10897 yyVAL.union = yyLOCAL 10898 case 600: 10899 yyDollar = yyS[yypt-4 : yypt+1] 10900 var yyLOCAL Statement 10901 //line sql.y:3202 10902 { 10903 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Table: yyDollar[4].tableName, Scope: ImplicitScope}} 10904 } 10905 yyVAL.union = yyLOCAL 10906 case 601: 10907 yyDollar = yyS[yypt-2 : yypt+1] 10908 var yyLOCAL Statement 10909 //line sql.y:3206 10910 { 10911 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} 10912 } 10913 yyVAL.union = yyLOCAL 10914 case 602: 10915 yyDollar = yyS[yypt-4 : yypt+1] 10916 var yyLOCAL Statement 10917 //line sql.y:3210 10918 { 10919 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Table: yyDollar[4].tableName, Scope: ImplicitScope}} 10920 } 10921 yyVAL.union = yyLOCAL 10922 case 603: 10923 yyDollar = yyS[yypt-5 : yypt+1] 10924 var yyLOCAL Statement 10925 //line sql.y:3214 10926 { 10927 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[3].str), Scope: ImplicitScope}} 10928 } 10929 yyVAL.union = yyLOCAL 10930 case 604: 10931 yyDollar = yyS[yypt-4 : yypt+1] 10932 var yyLOCAL Statement 10933 //line sql.y:3218 10934 { 10935 yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} 10936 } 10937 yyVAL.union = yyLOCAL 10938 case 605: 10939 yyDollar = yyS[yypt-4 : yypt+1] 10940 var yyLOCAL Statement 10941 //line sql.y:3222 10942 { 10943 yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} 10944 } 10945 yyVAL.union = yyLOCAL 10946 case 606: 10947 yyDollar = yyS[yypt-4 : yypt+1] 10948 var yyLOCAL Statement 10949 //line sql.y:3226 10950 { 10951 showTablesOpt := &ShowTablesOpt{Filter: yyDollar[4].showFilterUnion()} 10952 yyLOCAL = &Show{&ShowLegacy{Scope: VitessMetadataScope, Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt}} 10953 } 10954 yyVAL.union = yyLOCAL 10955 case 607: 10956 yyDollar = yyS[yypt-4 : yypt+1] 10957 var yyLOCAL Statement 10958 //line sql.y:3231 10959 { 10960 yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} 10961 } 10962 yyVAL.union = yyLOCAL 10963 case 608: 10964 yyDollar = yyS[yypt-4 : yypt+1] 10965 var yyLOCAL Statement 10966 //line sql.y:3235 10967 { 10968 yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} 10969 } 10970 yyVAL.union = yyLOCAL 10971 case 609: 10972 yyDollar = yyS[yypt-3 : yypt+1] 10973 var yyLOCAL Statement 10974 //line sql.y:3239 10975 { 10976 showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilterUnion()} 10977 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope, ShowTablesOpt: showTablesOpt}} 10978 } 10979 yyVAL.union = yyLOCAL 10980 case 610: 10981 yyDollar = yyS[yypt-3 : yypt+1] 10982 var yyLOCAL Statement 10983 //line sql.y:3244 10984 { 10985 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} 10986 } 10987 yyVAL.union = yyLOCAL 10988 case 611: 10989 yyDollar = yyS[yypt-3 : yypt+1] 10990 var yyLOCAL Statement 10991 //line sql.y:3248 10992 { 10993 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), Scope: ImplicitScope}} 10994 } 10995 yyVAL.union = yyLOCAL 10996 case 612: 10997 yyDollar = yyS[yypt-5 : yypt+1] 10998 var yyLOCAL Statement 10999 //line sql.y:3252 11000 { 11001 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), OnTable: yyDollar[5].tableName, Scope: ImplicitScope}} 11002 } 11003 yyVAL.union = yyLOCAL 11004 case 613: 11005 yyDollar = yyS[yypt-2 : yypt+1] 11006 var yyLOCAL Statement 11007 //line sql.y:3256 11008 { 11009 yyLOCAL = &Show{&ShowBasic{Command: Warnings}} 11010 } 11011 yyVAL.union = yyLOCAL 11012 case 614: 11013 yyDollar = yyS[yypt-3 : yypt+1] 11014 var yyLOCAL Statement 11015 //line sql.y:3261 11016 { 11017 // This should probably be a different type (ShowVitessTopoOpt), but 11018 // just getting the thing working for now 11019 showTablesOpt := &ShowTablesOpt{Filter: yyDollar[3].showFilterUnion()} 11020 yyLOCAL = &Show{&ShowLegacy{Type: yyDollar[2].str, ShowTablesOpt: showTablesOpt}} 11021 } 11022 yyVAL.union = yyLOCAL 11023 case 615: 11024 yyDollar = yyS[yypt-3 : yypt+1] 11025 var yyLOCAL Statement 11026 //line sql.y:3275 11027 { 11028 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].colIdent.String()), Scope: ImplicitScope}} 11029 } 11030 yyVAL.union = yyLOCAL 11031 case 616: 11032 yyDollar = yyS[yypt-3 : yypt+1] 11033 var yyLOCAL Statement 11034 //line sql.y:3279 11035 { 11036 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} 11037 } 11038 yyVAL.union = yyLOCAL 11039 case 617: 11040 yyDollar = yyS[yypt-3 : yypt+1] 11041 var yyLOCAL Statement 11042 //line sql.y:3283 11043 { 11044 yyLOCAL = &Show{&ShowLegacy{Type: string(yyDollar[2].str), Scope: ImplicitScope}} 11045 } 11046 yyVAL.union = yyLOCAL 11047 case 618: 11048 yyDollar = yyS[yypt-1 : yypt+1] 11049 //line sql.y:3289 11050 { 11051 yyVAL.str = string(yyDollar[1].str) 11052 } 11053 case 619: 11054 yyDollar = yyS[yypt-1 : yypt+1] 11055 //line sql.y:3293 11056 { 11057 yyVAL.str = string(yyDollar[1].str) 11058 } 11059 case 620: 11060 yyDollar = yyS[yypt-0 : yypt+1] 11061 //line sql.y:3299 11062 { 11063 yyVAL.str = "" 11064 } 11065 case 621: 11066 yyDollar = yyS[yypt-1 : yypt+1] 11067 //line sql.y:3303 11068 { 11069 yyVAL.str = "extended " 11070 } 11071 case 622: 11072 yyDollar = yyS[yypt-0 : yypt+1] 11073 var yyLOCAL bool 11074 //line sql.y:3309 11075 { 11076 yyLOCAL = false 11077 } 11078 yyVAL.union = yyLOCAL 11079 case 623: 11080 yyDollar = yyS[yypt-1 : yypt+1] 11081 var yyLOCAL bool 11082 //line sql.y:3313 11083 { 11084 yyLOCAL = true 11085 } 11086 yyVAL.union = yyLOCAL 11087 case 624: 11088 yyDollar = yyS[yypt-1 : yypt+1] 11089 //line sql.y:3319 11090 { 11091 yyVAL.str = string(yyDollar[1].str) 11092 } 11093 case 625: 11094 yyDollar = yyS[yypt-1 : yypt+1] 11095 //line sql.y:3323 11096 { 11097 yyVAL.str = string(yyDollar[1].str) 11098 } 11099 case 626: 11100 yyDollar = yyS[yypt-0 : yypt+1] 11101 //line sql.y:3329 11102 { 11103 yyVAL.tableIdent = NewTableIdent("") 11104 } 11105 case 627: 11106 yyDollar = yyS[yypt-2 : yypt+1] 11107 //line sql.y:3333 11108 { 11109 yyVAL.tableIdent = yyDollar[2].tableIdent 11110 } 11111 case 628: 11112 yyDollar = yyS[yypt-2 : yypt+1] 11113 //line sql.y:3337 11114 { 11115 yyVAL.tableIdent = yyDollar[2].tableIdent 11116 } 11117 case 629: 11118 yyDollar = yyS[yypt-0 : yypt+1] 11119 var yyLOCAL *ShowFilter 11120 //line sql.y:3343 11121 { 11122 yyLOCAL = nil 11123 } 11124 yyVAL.union = yyLOCAL 11125 case 630: 11126 yyDollar = yyS[yypt-2 : yypt+1] 11127 var yyLOCAL *ShowFilter 11128 //line sql.y:3347 11129 { 11130 yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} 11131 } 11132 yyVAL.union = yyLOCAL 11133 case 631: 11134 yyDollar = yyS[yypt-2 : yypt+1] 11135 var yyLOCAL *ShowFilter 11136 //line sql.y:3351 11137 { 11138 yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} 11139 } 11140 yyVAL.union = yyLOCAL 11141 case 632: 11142 yyDollar = yyS[yypt-0 : yypt+1] 11143 var yyLOCAL *ShowFilter 11144 //line sql.y:3357 11145 { 11146 yyLOCAL = nil 11147 } 11148 yyVAL.union = yyLOCAL 11149 case 633: 11150 yyDollar = yyS[yypt-2 : yypt+1] 11151 var yyLOCAL *ShowFilter 11152 //line sql.y:3361 11153 { 11154 yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} 11155 } 11156 yyVAL.union = yyLOCAL 11157 case 634: 11158 yyDollar = yyS[yypt-0 : yypt+1] 11159 //line sql.y:3367 11160 { 11161 yyVAL.empty = struct{}{} 11162 } 11163 case 635: 11164 yyDollar = yyS[yypt-1 : yypt+1] 11165 //line sql.y:3371 11166 { 11167 yyVAL.empty = struct{}{} 11168 } 11169 case 636: 11170 yyDollar = yyS[yypt-1 : yypt+1] 11171 //line sql.y:3375 11172 { 11173 yyVAL.empty = struct{}{} 11174 } 11175 case 637: 11176 yyDollar = yyS[yypt-2 : yypt+1] 11177 var yyLOCAL Statement 11178 //line sql.y:3381 11179 { 11180 yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} 11181 } 11182 yyVAL.union = yyLOCAL 11183 case 638: 11184 yyDollar = yyS[yypt-1 : yypt+1] 11185 var yyLOCAL Statement 11186 //line sql.y:3385 11187 { 11188 yyLOCAL = &Use{DBName: TableIdent{v: ""}} 11189 } 11190 yyVAL.union = yyLOCAL 11191 case 639: 11192 yyDollar = yyS[yypt-1 : yypt+1] 11193 var yyLOCAL Statement 11194 //line sql.y:3391 11195 { 11196 yyLOCAL = &Begin{} 11197 } 11198 yyVAL.union = yyLOCAL 11199 case 640: 11200 yyDollar = yyS[yypt-2 : yypt+1] 11201 var yyLOCAL Statement 11202 //line sql.y:3395 11203 { 11204 yyLOCAL = &Begin{} 11205 } 11206 yyVAL.union = yyLOCAL 11207 case 641: 11208 yyDollar = yyS[yypt-1 : yypt+1] 11209 var yyLOCAL Statement 11210 //line sql.y:3401 11211 { 11212 yyLOCAL = &Commit{} 11213 } 11214 yyVAL.union = yyLOCAL 11215 case 642: 11216 yyDollar = yyS[yypt-1 : yypt+1] 11217 var yyLOCAL Statement 11218 //line sql.y:3407 11219 { 11220 yyLOCAL = &Rollback{} 11221 } 11222 yyVAL.union = yyLOCAL 11223 case 643: 11224 yyDollar = yyS[yypt-5 : yypt+1] 11225 var yyLOCAL Statement 11226 //line sql.y:3411 11227 { 11228 yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} 11229 } 11230 yyVAL.union = yyLOCAL 11231 case 644: 11232 yyDollar = yyS[yypt-0 : yypt+1] 11233 //line sql.y:3416 11234 { 11235 yyVAL.empty = struct{}{} 11236 } 11237 case 645: 11238 yyDollar = yyS[yypt-1 : yypt+1] 11239 //line sql.y:3418 11240 { 11241 yyVAL.empty = struct{}{} 11242 } 11243 case 646: 11244 yyDollar = yyS[yypt-0 : yypt+1] 11245 //line sql.y:3421 11246 { 11247 yyVAL.empty = struct{}{} 11248 } 11249 case 647: 11250 yyDollar = yyS[yypt-1 : yypt+1] 11251 //line sql.y:3423 11252 { 11253 yyVAL.empty = struct{}{} 11254 } 11255 case 648: 11256 yyDollar = yyS[yypt-2 : yypt+1] 11257 var yyLOCAL Statement 11258 //line sql.y:3428 11259 { 11260 yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} 11261 } 11262 yyVAL.union = yyLOCAL 11263 case 649: 11264 yyDollar = yyS[yypt-3 : yypt+1] 11265 var yyLOCAL Statement 11266 //line sql.y:3434 11267 { 11268 yyLOCAL = &Release{Name: yyDollar[3].colIdent} 11269 } 11270 yyVAL.union = yyLOCAL 11271 case 650: 11272 yyDollar = yyS[yypt-0 : yypt+1] 11273 var yyLOCAL ExplainType 11274 //line sql.y:3439 11275 { 11276 yyLOCAL = EmptyType 11277 } 11278 yyVAL.union = yyLOCAL 11279 case 651: 11280 yyDollar = yyS[yypt-3 : yypt+1] 11281 var yyLOCAL ExplainType 11282 //line sql.y:3443 11283 { 11284 yyLOCAL = JSONType 11285 } 11286 yyVAL.union = yyLOCAL 11287 case 652: 11288 yyDollar = yyS[yypt-3 : yypt+1] 11289 var yyLOCAL ExplainType 11290 //line sql.y:3447 11291 { 11292 yyLOCAL = TreeType 11293 } 11294 yyVAL.union = yyLOCAL 11295 case 653: 11296 yyDollar = yyS[yypt-3 : yypt+1] 11297 var yyLOCAL ExplainType 11298 //line sql.y:3451 11299 { 11300 yyLOCAL = VitessType 11301 } 11302 yyVAL.union = yyLOCAL 11303 case 654: 11304 yyDollar = yyS[yypt-3 : yypt+1] 11305 var yyLOCAL ExplainType 11306 //line sql.y:3455 11307 { 11308 yyLOCAL = TraditionalType 11309 } 11310 yyVAL.union = yyLOCAL 11311 case 655: 11312 yyDollar = yyS[yypt-1 : yypt+1] 11313 var yyLOCAL ExplainType 11314 //line sql.y:3459 11315 { 11316 yyLOCAL = AnalyzeType 11317 } 11318 yyVAL.union = yyLOCAL 11319 case 656: 11320 yyDollar = yyS[yypt-1 : yypt+1] 11321 //line sql.y:3465 11322 { 11323 yyVAL.str = yyDollar[1].str 11324 } 11325 case 657: 11326 yyDollar = yyS[yypt-1 : yypt+1] 11327 //line sql.y:3469 11328 { 11329 yyVAL.str = yyDollar[1].str 11330 } 11331 case 658: 11332 yyDollar = yyS[yypt-1 : yypt+1] 11333 //line sql.y:3473 11334 { 11335 yyVAL.str = yyDollar[1].str 11336 } 11337 case 659: 11338 yyDollar = yyS[yypt-1 : yypt+1] 11339 var yyLOCAL Statement 11340 //line sql.y:3479 11341 { 11342 yyLOCAL = yyDollar[1].selStmtUnion() 11343 } 11344 yyVAL.union = yyLOCAL 11345 case 660: 11346 yyDollar = yyS[yypt-1 : yypt+1] 11347 var yyLOCAL Statement 11348 //line sql.y:3483 11349 { 11350 yyLOCAL = yyDollar[1].statementUnion() 11351 } 11352 yyVAL.union = yyLOCAL 11353 case 661: 11354 yyDollar = yyS[yypt-1 : yypt+1] 11355 var yyLOCAL Statement 11356 //line sql.y:3487 11357 { 11358 yyLOCAL = yyDollar[1].statementUnion() 11359 } 11360 yyVAL.union = yyLOCAL 11361 case 662: 11362 yyDollar = yyS[yypt-1 : yypt+1] 11363 var yyLOCAL Statement 11364 //line sql.y:3491 11365 { 11366 yyLOCAL = yyDollar[1].statementUnion() 11367 } 11368 yyVAL.union = yyLOCAL 11369 case 663: 11370 yyDollar = yyS[yypt-0 : yypt+1] 11371 //line sql.y:3496 11372 { 11373 yyVAL.str = "" 11374 } 11375 case 664: 11376 yyDollar = yyS[yypt-1 : yypt+1] 11377 //line sql.y:3500 11378 { 11379 yyVAL.str = yyDollar[1].colIdent.val 11380 } 11381 case 665: 11382 yyDollar = yyS[yypt-1 : yypt+1] 11383 //line sql.y:3504 11384 { 11385 yyVAL.str = encodeSQLString(yyDollar[1].str) 11386 } 11387 case 666: 11388 yyDollar = yyS[yypt-3 : yypt+1] 11389 var yyLOCAL Statement 11390 //line sql.y:3510 11391 { 11392 yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} 11393 } 11394 yyVAL.union = yyLOCAL 11395 case 667: 11396 yyDollar = yyS[yypt-3 : yypt+1] 11397 var yyLOCAL Statement 11398 //line sql.y:3514 11399 { 11400 yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} 11401 } 11402 yyVAL.union = yyLOCAL 11403 case 668: 11404 yyDollar = yyS[yypt-2 : yypt+1] 11405 var yyLOCAL Statement 11406 //line sql.y:3520 11407 { 11408 yyLOCAL = &OtherAdmin{} 11409 } 11410 yyVAL.union = yyLOCAL 11411 case 669: 11412 yyDollar = yyS[yypt-2 : yypt+1] 11413 var yyLOCAL Statement 11414 //line sql.y:3524 11415 { 11416 yyLOCAL = &OtherAdmin{} 11417 } 11418 yyVAL.union = yyLOCAL 11419 case 670: 11420 yyDollar = yyS[yypt-3 : yypt+1] 11421 var yyLOCAL Statement 11422 //line sql.y:3530 11423 { 11424 yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} 11425 } 11426 yyVAL.union = yyLOCAL 11427 case 671: 11428 yyDollar = yyS[yypt-1 : yypt+1] 11429 var yyLOCAL TableAndLockTypes 11430 //line sql.y:3536 11431 { 11432 yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} 11433 } 11434 yyVAL.union = yyLOCAL 11435 case 672: 11436 yyDollar = yyS[yypt-3 : yypt+1] 11437 //line sql.y:3540 11438 { 11439 yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) 11440 *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) 11441 } 11442 case 673: 11443 yyDollar = yyS[yypt-2 : yypt+1] 11444 var yyLOCAL *TableAndLockType 11445 //line sql.y:3546 11446 { 11447 yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} 11448 } 11449 yyVAL.union = yyLOCAL 11450 case 674: 11451 yyDollar = yyS[yypt-1 : yypt+1] 11452 var yyLOCAL LockType 11453 //line sql.y:3552 11454 { 11455 yyLOCAL = Read 11456 } 11457 yyVAL.union = yyLOCAL 11458 case 675: 11459 yyDollar = yyS[yypt-2 : yypt+1] 11460 var yyLOCAL LockType 11461 //line sql.y:3556 11462 { 11463 yyLOCAL = ReadLocal 11464 } 11465 yyVAL.union = yyLOCAL 11466 case 676: 11467 yyDollar = yyS[yypt-1 : yypt+1] 11468 var yyLOCAL LockType 11469 //line sql.y:3560 11470 { 11471 yyLOCAL = Write 11472 } 11473 yyVAL.union = yyLOCAL 11474 case 677: 11475 yyDollar = yyS[yypt-2 : yypt+1] 11476 var yyLOCAL LockType 11477 //line sql.y:3564 11478 { 11479 yyLOCAL = LowPriorityWrite 11480 } 11481 yyVAL.union = yyLOCAL 11482 case 678: 11483 yyDollar = yyS[yypt-2 : yypt+1] 11484 var yyLOCAL Statement 11485 //line sql.y:3570 11486 { 11487 yyLOCAL = &UnlockTables{} 11488 } 11489 yyVAL.union = yyLOCAL 11490 case 679: 11491 yyDollar = yyS[yypt-4 : yypt+1] 11492 var yyLOCAL Statement 11493 //line sql.y:3576 11494 { 11495 yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs), UUID: string(yyDollar[4].str)} 11496 } 11497 yyVAL.union = yyLOCAL 11498 case 680: 11499 yyDollar = yyS[yypt-3 : yypt+1] 11500 var yyLOCAL Statement 11501 //line sql.y:3582 11502 { 11503 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} 11504 } 11505 yyVAL.union = yyLOCAL 11506 case 681: 11507 yyDollar = yyS[yypt-3 : yypt+1] 11508 var yyLOCAL Statement 11509 //line sql.y:3586 11510 { 11511 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} 11512 } 11513 yyVAL.union = yyLOCAL 11514 case 682: 11515 yyDollar = yyS[yypt-6 : yypt+1] 11516 var yyLOCAL Statement 11517 //line sql.y:3590 11518 { 11519 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} 11520 } 11521 yyVAL.union = yyLOCAL 11522 case 683: 11523 yyDollar = yyS[yypt-4 : yypt+1] 11524 var yyLOCAL Statement 11525 //line sql.y:3594 11526 { 11527 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} 11528 } 11529 yyVAL.union = yyLOCAL 11530 case 684: 11531 yyDollar = yyS[yypt-7 : yypt+1] 11532 var yyLOCAL Statement 11533 //line sql.y:3598 11534 { 11535 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} 11536 } 11537 yyVAL.union = yyLOCAL 11538 case 685: 11539 yyDollar = yyS[yypt-6 : yypt+1] 11540 var yyLOCAL Statement 11541 //line sql.y:3602 11542 { 11543 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} 11544 } 11545 yyVAL.union = yyLOCAL 11546 case 686: 11547 yyDollar = yyS[yypt-1 : yypt+1] 11548 //line sql.y:3608 11549 { 11550 yyVAL.strs = []string{yyDollar[1].str} 11551 } 11552 case 687: 11553 yyDollar = yyS[yypt-3 : yypt+1] 11554 //line sql.y:3612 11555 { 11556 yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) 11557 } 11558 case 688: 11559 yyDollar = yyS[yypt-2 : yypt+1] 11560 //line sql.y:3618 11561 { 11562 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 11563 } 11564 case 689: 11565 yyDollar = yyS[yypt-2 : yypt+1] 11566 //line sql.y:3622 11567 { 11568 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 11569 } 11570 case 690: 11571 yyDollar = yyS[yypt-2 : yypt+1] 11572 //line sql.y:3626 11573 { 11574 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 11575 } 11576 case 691: 11577 yyDollar = yyS[yypt-2 : yypt+1] 11578 //line sql.y:3630 11579 { 11580 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 11581 } 11582 case 692: 11583 yyDollar = yyS[yypt-1 : yypt+1] 11584 //line sql.y:3634 11585 { 11586 yyVAL.str = string(yyDollar[1].str) 11587 } 11588 case 693: 11589 yyDollar = yyS[yypt-1 : yypt+1] 11590 //line sql.y:3638 11591 { 11592 yyVAL.str = string(yyDollar[1].str) 11593 } 11594 case 694: 11595 yyDollar = yyS[yypt-1 : yypt+1] 11596 //line sql.y:3642 11597 { 11598 yyVAL.str = string(yyDollar[1].str) 11599 } 11600 case 695: 11601 yyDollar = yyS[yypt-3 : yypt+1] 11602 //line sql.y:3646 11603 { 11604 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str 11605 } 11606 case 696: 11607 yyDollar = yyS[yypt-2 : yypt+1] 11608 //line sql.y:3650 11609 { 11610 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 11611 } 11612 case 697: 11613 yyDollar = yyS[yypt-1 : yypt+1] 11614 //line sql.y:3654 11615 { 11616 yyVAL.str = string(yyDollar[1].str) 11617 } 11618 case 698: 11619 yyDollar = yyS[yypt-1 : yypt+1] 11620 //line sql.y:3658 11621 { 11622 yyVAL.str = string(yyDollar[1].str) 11623 } 11624 case 699: 11625 yyDollar = yyS[yypt-1 : yypt+1] 11626 //line sql.y:3662 11627 { 11628 yyVAL.str = string(yyDollar[1].str) 11629 } 11630 case 700: 11631 yyDollar = yyS[yypt-0 : yypt+1] 11632 var yyLOCAL bool 11633 //line sql.y:3667 11634 { 11635 yyLOCAL = false 11636 } 11637 yyVAL.union = yyLOCAL 11638 case 701: 11639 yyDollar = yyS[yypt-1 : yypt+1] 11640 var yyLOCAL bool 11641 //line sql.y:3671 11642 { 11643 yyLOCAL = true 11644 } 11645 yyVAL.union = yyLOCAL 11646 case 702: 11647 yyDollar = yyS[yypt-1 : yypt+1] 11648 var yyLOCAL bool 11649 //line sql.y:3675 11650 { 11651 yyLOCAL = true 11652 } 11653 yyVAL.union = yyLOCAL 11654 case 703: 11655 yyDollar = yyS[yypt-0 : yypt+1] 11656 //line sql.y:3680 11657 { 11658 yyVAL.str = "" 11659 } 11660 case 704: 11661 yyDollar = yyS[yypt-3 : yypt+1] 11662 //line sql.y:3684 11663 { 11664 yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() 11665 } 11666 case 705: 11667 yyDollar = yyS[yypt-0 : yypt+1] 11668 //line sql.y:3689 11669 { 11670 setAllowComments(yylex, true) 11671 } 11672 case 706: 11673 yyDollar = yyS[yypt-2 : yypt+1] 11674 //line sql.y:3693 11675 { 11676 yyVAL.strs = yyDollar[2].strs 11677 setAllowComments(yylex, false) 11678 } 11679 case 707: 11680 yyDollar = yyS[yypt-0 : yypt+1] 11681 //line sql.y:3699 11682 { 11683 yyVAL.strs = nil 11684 } 11685 case 708: 11686 yyDollar = yyS[yypt-2 : yypt+1] 11687 //line sql.y:3703 11688 { 11689 yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) 11690 } 11691 case 709: 11692 yyDollar = yyS[yypt-1 : yypt+1] 11693 var yyLOCAL bool 11694 //line sql.y:3709 11695 { 11696 yyLOCAL = true 11697 } 11698 yyVAL.union = yyLOCAL 11699 case 710: 11700 yyDollar = yyS[yypt-2 : yypt+1] 11701 var yyLOCAL bool 11702 //line sql.y:3713 11703 { 11704 yyLOCAL = false 11705 } 11706 yyVAL.union = yyLOCAL 11707 case 711: 11708 yyDollar = yyS[yypt-2 : yypt+1] 11709 var yyLOCAL bool 11710 //line sql.y:3717 11711 { 11712 yyLOCAL = true 11713 } 11714 yyVAL.union = yyLOCAL 11715 case 712: 11716 yyDollar = yyS[yypt-0 : yypt+1] 11717 //line sql.y:3722 11718 { 11719 yyVAL.str = "" 11720 } 11721 case 713: 11722 yyDollar = yyS[yypt-1 : yypt+1] 11723 //line sql.y:3726 11724 { 11725 yyVAL.str = SQLNoCacheStr 11726 } 11727 case 714: 11728 yyDollar = yyS[yypt-1 : yypt+1] 11729 //line sql.y:3730 11730 { 11731 yyVAL.str = SQLCacheStr 11732 } 11733 case 715: 11734 yyDollar = yyS[yypt-0 : yypt+1] 11735 var yyLOCAL bool 11736 //line sql.y:3735 11737 { 11738 yyLOCAL = false 11739 } 11740 yyVAL.union = yyLOCAL 11741 case 716: 11742 yyDollar = yyS[yypt-1 : yypt+1] 11743 var yyLOCAL bool 11744 //line sql.y:3739 11745 { 11746 yyLOCAL = true 11747 } 11748 yyVAL.union = yyLOCAL 11749 case 717: 11750 yyDollar = yyS[yypt-1 : yypt+1] 11751 var yyLOCAL bool 11752 //line sql.y:3743 11753 { 11754 yyLOCAL = true 11755 } 11756 yyVAL.union = yyLOCAL 11757 case 718: 11758 yyDollar = yyS[yypt-0 : yypt+1] 11759 var yyLOCAL SelectExprs 11760 //line sql.y:3748 11761 { 11762 yyLOCAL = nil 11763 } 11764 yyVAL.union = yyLOCAL 11765 case 719: 11766 yyDollar = yyS[yypt-1 : yypt+1] 11767 var yyLOCAL SelectExprs 11768 //line sql.y:3752 11769 { 11770 yyLOCAL = yyDollar[1].selectExprsUnion() 11771 } 11772 yyVAL.union = yyLOCAL 11773 case 720: 11774 yyDollar = yyS[yypt-0 : yypt+1] 11775 //line sql.y:3757 11776 { 11777 yyVAL.strs = nil 11778 } 11779 case 721: 11780 yyDollar = yyS[yypt-1 : yypt+1] 11781 //line sql.y:3761 11782 { 11783 yyVAL.strs = []string{yyDollar[1].str} 11784 } 11785 case 722: 11786 yyDollar = yyS[yypt-2 : yypt+1] 11787 //line sql.y:3765 11788 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' 11789 yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} 11790 } 11791 case 723: 11792 yyDollar = yyS[yypt-3 : yypt+1] 11793 //line sql.y:3769 11794 { 11795 yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} 11796 } 11797 case 724: 11798 yyDollar = yyS[yypt-4 : yypt+1] 11799 //line sql.y:3773 11800 { 11801 yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} 11802 } 11803 case 725: 11804 yyDollar = yyS[yypt-1 : yypt+1] 11805 //line sql.y:3779 11806 { 11807 yyVAL.str = SQLNoCacheStr 11808 } 11809 case 726: 11810 yyDollar = yyS[yypt-1 : yypt+1] 11811 //line sql.y:3783 11812 { 11813 yyVAL.str = SQLCacheStr 11814 } 11815 case 727: 11816 yyDollar = yyS[yypt-1 : yypt+1] 11817 //line sql.y:3787 11818 { 11819 yyVAL.str = DistinctStr 11820 } 11821 case 728: 11822 yyDollar = yyS[yypt-1 : yypt+1] 11823 //line sql.y:3791 11824 { 11825 yyVAL.str = DistinctStr 11826 } 11827 case 729: 11828 yyDollar = yyS[yypt-1 : yypt+1] 11829 //line sql.y:3795 11830 { 11831 yyVAL.str = StraightJoinHint 11832 } 11833 case 730: 11834 yyDollar = yyS[yypt-1 : yypt+1] 11835 //line sql.y:3799 11836 { 11837 yyVAL.str = SQLCalcFoundRowsStr 11838 } 11839 case 731: 11840 yyDollar = yyS[yypt-1 : yypt+1] 11841 //line sql.y:3803 11842 { 11843 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 11844 } 11845 case 732: 11846 yyDollar = yyS[yypt-1 : yypt+1] 11847 var yyLOCAL SelectExprs 11848 //line sql.y:3809 11849 { 11850 yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} 11851 } 11852 yyVAL.union = yyLOCAL 11853 case 733: 11854 yyDollar = yyS[yypt-3 : yypt+1] 11855 //line sql.y:3813 11856 { 11857 yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) 11858 *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) 11859 } 11860 case 734: 11861 yyDollar = yyS[yypt-1 : yypt+1] 11862 var yyLOCAL SelectExpr 11863 //line sql.y:3819 11864 { 11865 yyLOCAL = &StarExpr{} 11866 } 11867 yyVAL.union = yyLOCAL 11868 case 735: 11869 yyDollar = yyS[yypt-2 : yypt+1] 11870 var yyLOCAL SelectExpr 11871 //line sql.y:3823 11872 { 11873 yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} 11874 } 11875 yyVAL.union = yyLOCAL 11876 case 736: 11877 yyDollar = yyS[yypt-3 : yypt+1] 11878 var yyLOCAL SelectExpr 11879 //line sql.y:3827 11880 { 11881 yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} 11882 } 11883 yyVAL.union = yyLOCAL 11884 case 737: 11885 yyDollar = yyS[yypt-5 : yypt+1] 11886 var yyLOCAL SelectExpr 11887 //line sql.y:3831 11888 { 11889 yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} 11890 } 11891 yyVAL.union = yyLOCAL 11892 case 738: 11893 yyDollar = yyS[yypt-0 : yypt+1] 11894 //line sql.y:3836 11895 { 11896 yyVAL.colIdent = ColIdent{} 11897 } 11898 case 739: 11899 yyDollar = yyS[yypt-1 : yypt+1] 11900 //line sql.y:3840 11901 { 11902 yyVAL.colIdent = yyDollar[1].colIdent 11903 } 11904 case 740: 11905 yyDollar = yyS[yypt-2 : yypt+1] 11906 //line sql.y:3844 11907 { 11908 yyVAL.colIdent = yyDollar[2].colIdent 11909 } 11910 case 742: 11911 yyDollar = yyS[yypt-1 : yypt+1] 11912 //line sql.y:3851 11913 { 11914 yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) 11915 } 11916 case 743: 11917 yyDollar = yyS[yypt-0 : yypt+1] 11918 var yyLOCAL TableExprs 11919 //line sql.y:3856 11920 { 11921 yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} 11922 } 11923 yyVAL.union = yyLOCAL 11924 case 744: 11925 yyDollar = yyS[yypt-1 : yypt+1] 11926 var yyLOCAL TableExprs 11927 //line sql.y:3860 11928 { 11929 yyLOCAL = yyDollar[1].tableExprsUnion() 11930 } 11931 yyVAL.union = yyLOCAL 11932 case 745: 11933 yyDollar = yyS[yypt-2 : yypt+1] 11934 var yyLOCAL TableExprs 11935 //line sql.y:3866 11936 { 11937 yyLOCAL = yyDollar[2].tableExprsUnion() 11938 } 11939 yyVAL.union = yyLOCAL 11940 case 746: 11941 yyDollar = yyS[yypt-1 : yypt+1] 11942 var yyLOCAL TableExprs 11943 //line sql.y:3872 11944 { 11945 yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} 11946 } 11947 yyVAL.union = yyLOCAL 11948 case 747: 11949 yyDollar = yyS[yypt-3 : yypt+1] 11950 //line sql.y:3876 11951 { 11952 yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) 11953 *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) 11954 } 11955 case 750: 11956 yyDollar = yyS[yypt-1 : yypt+1] 11957 var yyLOCAL TableExpr 11958 //line sql.y:3886 11959 { 11960 yyLOCAL = yyDollar[1].aliasedTableNameUnion() 11961 } 11962 yyVAL.union = yyLOCAL 11963 case 751: 11964 yyDollar = yyS[yypt-4 : yypt+1] 11965 var yyLOCAL TableExpr 11966 //line sql.y:3890 11967 { 11968 yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} 11969 } 11970 yyVAL.union = yyLOCAL 11971 case 752: 11972 yyDollar = yyS[yypt-3 : yypt+1] 11973 var yyLOCAL TableExpr 11974 //line sql.y:3894 11975 { 11976 yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} 11977 } 11978 yyVAL.union = yyLOCAL 11979 case 753: 11980 yyDollar = yyS[yypt-3 : yypt+1] 11981 var yyLOCAL *DerivedTable 11982 //line sql.y:3900 11983 { 11984 yyLOCAL = &DerivedTable{yyDollar[2].selStmtUnion()} 11985 } 11986 yyVAL.union = yyLOCAL 11987 case 754: 11988 yyDollar = yyS[yypt-3 : yypt+1] 11989 var yyLOCAL *AliasedTableExpr 11990 //line sql.y:3906 11991 { 11992 yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} 11993 } 11994 yyVAL.union = yyLOCAL 11995 case 755: 11996 yyDollar = yyS[yypt-7 : yypt+1] 11997 var yyLOCAL *AliasedTableExpr 11998 //line sql.y:3910 11999 { 12000 yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} 12001 } 12002 yyVAL.union = yyLOCAL 12003 case 756: 12004 yyDollar = yyS[yypt-0 : yypt+1] 12005 var yyLOCAL Columns 12006 //line sql.y:3915 12007 { 12008 yyLOCAL = nil 12009 } 12010 yyVAL.union = yyLOCAL 12011 case 757: 12012 yyDollar = yyS[yypt-3 : yypt+1] 12013 var yyLOCAL Columns 12014 //line sql.y:3919 12015 { 12016 yyLOCAL = yyDollar[2].columnsUnion() 12017 } 12018 yyVAL.union = yyLOCAL 12019 case 758: 12020 yyDollar = yyS[yypt-1 : yypt+1] 12021 var yyLOCAL Columns 12022 //line sql.y:3925 12023 { 12024 yyLOCAL = Columns{yyDollar[1].colIdent} 12025 } 12026 yyVAL.union = yyLOCAL 12027 case 759: 12028 yyDollar = yyS[yypt-3 : yypt+1] 12029 //line sql.y:3929 12030 { 12031 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 12032 *yySLICE = append(*yySLICE, yyDollar[3].colIdent) 12033 } 12034 case 760: 12035 yyDollar = yyS[yypt-1 : yypt+1] 12036 var yyLOCAL Columns 12037 //line sql.y:3935 12038 { 12039 yyLOCAL = Columns{yyDollar[1].colIdent} 12040 } 12041 yyVAL.union = yyLOCAL 12042 case 761: 12043 yyDollar = yyS[yypt-1 : yypt+1] 12044 var yyLOCAL Columns 12045 //line sql.y:3939 12046 { 12047 yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} 12048 } 12049 yyVAL.union = yyLOCAL 12050 case 762: 12051 yyDollar = yyS[yypt-3 : yypt+1] 12052 //line sql.y:3943 12053 { 12054 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 12055 *yySLICE = append(*yySLICE, yyDollar[3].colIdent) 12056 } 12057 case 763: 12058 yyDollar = yyS[yypt-3 : yypt+1] 12059 //line sql.y:3947 12060 { 12061 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 12062 *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) 12063 } 12064 case 764: 12065 yyDollar = yyS[yypt-1 : yypt+1] 12066 var yyLOCAL Partitions 12067 //line sql.y:3953 12068 { 12069 yyLOCAL = Partitions{yyDollar[1].colIdent} 12070 } 12071 yyVAL.union = yyLOCAL 12072 case 765: 12073 yyDollar = yyS[yypt-3 : yypt+1] 12074 //line sql.y:3957 12075 { 12076 yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) 12077 *yySLICE = append(*yySLICE, yyDollar[3].colIdent) 12078 } 12079 case 766: 12080 yyDollar = yyS[yypt-4 : yypt+1] 12081 var yyLOCAL TableExpr 12082 //line sql.y:3970 12083 { 12084 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} 12085 } 12086 yyVAL.union = yyLOCAL 12087 case 767: 12088 yyDollar = yyS[yypt-4 : yypt+1] 12089 var yyLOCAL TableExpr 12090 //line sql.y:3974 12091 { 12092 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} 12093 } 12094 yyVAL.union = yyLOCAL 12095 case 768: 12096 yyDollar = yyS[yypt-4 : yypt+1] 12097 var yyLOCAL TableExpr 12098 //line sql.y:3978 12099 { 12100 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} 12101 } 12102 yyVAL.union = yyLOCAL 12103 case 769: 12104 yyDollar = yyS[yypt-3 : yypt+1] 12105 var yyLOCAL TableExpr 12106 //line sql.y:3982 12107 { 12108 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} 12109 } 12110 yyVAL.union = yyLOCAL 12111 case 770: 12112 yyDollar = yyS[yypt-2 : yypt+1] 12113 //line sql.y:3988 12114 { 12115 yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} 12116 } 12117 case 771: 12118 yyDollar = yyS[yypt-4 : yypt+1] 12119 //line sql.y:3990 12120 { 12121 yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} 12122 } 12123 case 772: 12124 yyDollar = yyS[yypt-0 : yypt+1] 12125 //line sql.y:3994 12126 { 12127 yyVAL.joinCondition = &JoinCondition{} 12128 } 12129 case 773: 12130 yyDollar = yyS[yypt-1 : yypt+1] 12131 //line sql.y:3996 12132 { 12133 yyVAL.joinCondition = yyDollar[1].joinCondition 12134 } 12135 case 774: 12136 yyDollar = yyS[yypt-0 : yypt+1] 12137 //line sql.y:4000 12138 { 12139 yyVAL.joinCondition = &JoinCondition{} 12140 } 12141 case 775: 12142 yyDollar = yyS[yypt-2 : yypt+1] 12143 //line sql.y:4002 12144 { 12145 yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} 12146 } 12147 case 776: 12148 yyDollar = yyS[yypt-0 : yypt+1] 12149 //line sql.y:4005 12150 { 12151 yyVAL.empty = struct{}{} 12152 } 12153 case 777: 12154 yyDollar = yyS[yypt-1 : yypt+1] 12155 //line sql.y:4007 12156 { 12157 yyVAL.empty = struct{}{} 12158 } 12159 case 778: 12160 yyDollar = yyS[yypt-0 : yypt+1] 12161 //line sql.y:4010 12162 { 12163 yyVAL.tableIdent = NewTableIdent("") 12164 } 12165 case 779: 12166 yyDollar = yyS[yypt-1 : yypt+1] 12167 //line sql.y:4014 12168 { 12169 yyVAL.tableIdent = yyDollar[1].tableIdent 12170 } 12171 case 780: 12172 yyDollar = yyS[yypt-2 : yypt+1] 12173 //line sql.y:4018 12174 { 12175 yyVAL.tableIdent = yyDollar[2].tableIdent 12176 } 12177 case 782: 12178 yyDollar = yyS[yypt-1 : yypt+1] 12179 //line sql.y:4025 12180 { 12181 yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) 12182 } 12183 case 783: 12184 yyDollar = yyS[yypt-1 : yypt+1] 12185 var yyLOCAL JoinType 12186 //line sql.y:4031 12187 { 12188 yyLOCAL = NormalJoinType 12189 } 12190 yyVAL.union = yyLOCAL 12191 case 784: 12192 yyDollar = yyS[yypt-2 : yypt+1] 12193 var yyLOCAL JoinType 12194 //line sql.y:4035 12195 { 12196 yyLOCAL = NormalJoinType 12197 } 12198 yyVAL.union = yyLOCAL 12199 case 785: 12200 yyDollar = yyS[yypt-2 : yypt+1] 12201 var yyLOCAL JoinType 12202 //line sql.y:4039 12203 { 12204 yyLOCAL = NormalJoinType 12205 } 12206 yyVAL.union = yyLOCAL 12207 case 786: 12208 yyDollar = yyS[yypt-1 : yypt+1] 12209 var yyLOCAL JoinType 12210 //line sql.y:4045 12211 { 12212 yyLOCAL = StraightJoinType 12213 } 12214 yyVAL.union = yyLOCAL 12215 case 787: 12216 yyDollar = yyS[yypt-2 : yypt+1] 12217 var yyLOCAL JoinType 12218 //line sql.y:4051 12219 { 12220 yyLOCAL = LeftJoinType 12221 } 12222 yyVAL.union = yyLOCAL 12223 case 788: 12224 yyDollar = yyS[yypt-3 : yypt+1] 12225 var yyLOCAL JoinType 12226 //line sql.y:4055 12227 { 12228 yyLOCAL = LeftJoinType 12229 } 12230 yyVAL.union = yyLOCAL 12231 case 789: 12232 yyDollar = yyS[yypt-2 : yypt+1] 12233 var yyLOCAL JoinType 12234 //line sql.y:4059 12235 { 12236 yyLOCAL = RightJoinType 12237 } 12238 yyVAL.union = yyLOCAL 12239 case 790: 12240 yyDollar = yyS[yypt-3 : yypt+1] 12241 var yyLOCAL JoinType 12242 //line sql.y:4063 12243 { 12244 yyLOCAL = RightJoinType 12245 } 12246 yyVAL.union = yyLOCAL 12247 case 791: 12248 yyDollar = yyS[yypt-2 : yypt+1] 12249 var yyLOCAL JoinType 12250 //line sql.y:4069 12251 { 12252 yyLOCAL = NaturalJoinType 12253 } 12254 yyVAL.union = yyLOCAL 12255 case 792: 12256 yyDollar = yyS[yypt-2 : yypt+1] 12257 var yyLOCAL JoinType 12258 //line sql.y:4073 12259 { 12260 if yyDollar[2].joinTypeUnion() == LeftJoinType { 12261 yyLOCAL = NaturalLeftJoinType 12262 } else { 12263 yyLOCAL = NaturalRightJoinType 12264 } 12265 } 12266 yyVAL.union = yyLOCAL 12267 case 793: 12268 yyDollar = yyS[yypt-2 : yypt+1] 12269 //line sql.y:4083 12270 { 12271 yyVAL.tableName = yyDollar[2].tableName 12272 } 12273 case 794: 12274 yyDollar = yyS[yypt-1 : yypt+1] 12275 //line sql.y:4087 12276 { 12277 yyVAL.tableName = yyDollar[1].tableName 12278 } 12279 case 795: 12280 yyDollar = yyS[yypt-1 : yypt+1] 12281 //line sql.y:4093 12282 { 12283 yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} 12284 } 12285 case 796: 12286 yyDollar = yyS[yypt-3 : yypt+1] 12287 //line sql.y:4097 12288 { 12289 yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} 12290 } 12291 case 797: 12292 yyDollar = yyS[yypt-3 : yypt+1] 12293 //line sql.y:4103 12294 { 12295 yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} 12296 } 12297 case 798: 12298 yyDollar = yyS[yypt-0 : yypt+1] 12299 var yyLOCAL *IndexHints 12300 //line sql.y:4108 12301 { 12302 yyLOCAL = nil 12303 } 12304 yyVAL.union = yyLOCAL 12305 case 799: 12306 yyDollar = yyS[yypt-5 : yypt+1] 12307 var yyLOCAL *IndexHints 12308 //line sql.y:4112 12309 { 12310 yyLOCAL = &IndexHints{Type: UseOp, Indexes: yyDollar[4].columnsUnion()} 12311 } 12312 yyVAL.union = yyLOCAL 12313 case 800: 12314 yyDollar = yyS[yypt-4 : yypt+1] 12315 var yyLOCAL *IndexHints 12316 //line sql.y:4116 12317 { 12318 yyLOCAL = &IndexHints{Type: UseOp} 12319 } 12320 yyVAL.union = yyLOCAL 12321 case 801: 12322 yyDollar = yyS[yypt-5 : yypt+1] 12323 var yyLOCAL *IndexHints 12324 //line sql.y:4120 12325 { 12326 yyLOCAL = &IndexHints{Type: IgnoreOp, Indexes: yyDollar[4].columnsUnion()} 12327 } 12328 yyVAL.union = yyLOCAL 12329 case 802: 12330 yyDollar = yyS[yypt-5 : yypt+1] 12331 var yyLOCAL *IndexHints 12332 //line sql.y:4124 12333 { 12334 yyLOCAL = &IndexHints{Type: ForceOp, Indexes: yyDollar[4].columnsUnion()} 12335 } 12336 yyVAL.union = yyLOCAL 12337 case 803: 12338 yyDollar = yyS[yypt-0 : yypt+1] 12339 var yyLOCAL Expr 12340 //line sql.y:4129 12341 { 12342 yyLOCAL = nil 12343 } 12344 yyVAL.union = yyLOCAL 12345 case 804: 12346 yyDollar = yyS[yypt-2 : yypt+1] 12347 var yyLOCAL Expr 12348 //line sql.y:4133 12349 { 12350 yyLOCAL = yyDollar[2].exprUnion() 12351 } 12352 yyVAL.union = yyLOCAL 12353 case 805: 12354 yyDollar = yyS[yypt-3 : yypt+1] 12355 var yyLOCAL Expr 12356 //line sql.y:4140 12357 { 12358 yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} 12359 } 12360 yyVAL.union = yyLOCAL 12361 case 806: 12362 yyDollar = yyS[yypt-3 : yypt+1] 12363 var yyLOCAL Expr 12364 //line sql.y:4144 12365 { 12366 yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} 12367 } 12368 yyVAL.union = yyLOCAL 12369 case 807: 12370 yyDollar = yyS[yypt-3 : yypt+1] 12371 var yyLOCAL Expr 12372 //line sql.y:4148 12373 { 12374 yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} 12375 } 12376 yyVAL.union = yyLOCAL 12377 case 808: 12378 yyDollar = yyS[yypt-2 : yypt+1] 12379 var yyLOCAL Expr 12380 //line sql.y:4152 12381 { 12382 yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} 12383 } 12384 yyVAL.union = yyLOCAL 12385 case 809: 12386 yyDollar = yyS[yypt-3 : yypt+1] 12387 var yyLOCAL Expr 12388 //line sql.y:4156 12389 { 12390 yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} 12391 } 12392 yyVAL.union = yyLOCAL 12393 case 810: 12394 yyDollar = yyS[yypt-1 : yypt+1] 12395 var yyLOCAL Expr 12396 //line sql.y:4160 12397 { 12398 yyLOCAL = yyDollar[1].exprUnion() 12399 } 12400 yyVAL.union = yyLOCAL 12401 case 811: 12402 yyDollar = yyS[yypt-3 : yypt+1] 12403 var yyLOCAL Expr 12404 //line sql.y:4167 12405 { 12406 yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} 12407 } 12408 yyVAL.union = yyLOCAL 12409 case 812: 12410 yyDollar = yyS[yypt-4 : yypt+1] 12411 var yyLOCAL Expr 12412 //line sql.y:4171 12413 { 12414 yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} 12415 } 12416 yyVAL.union = yyLOCAL 12417 case 813: 12418 yyDollar = yyS[yypt-3 : yypt+1] 12419 var yyLOCAL Expr 12420 //line sql.y:4175 12421 { 12422 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} 12423 } 12424 yyVAL.union = yyLOCAL 12425 case 814: 12426 yyDollar = yyS[yypt-1 : yypt+1] 12427 var yyLOCAL Expr 12428 //line sql.y:4179 12429 { 12430 yyLOCAL = yyDollar[1].exprUnion() 12431 } 12432 yyVAL.union = yyLOCAL 12433 case 815: 12434 yyDollar = yyS[yypt-3 : yypt+1] 12435 var yyLOCAL Expr 12436 //line sql.y:4185 12437 { 12438 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} 12439 } 12440 yyVAL.union = yyLOCAL 12441 case 816: 12442 yyDollar = yyS[yypt-4 : yypt+1] 12443 var yyLOCAL Expr 12444 //line sql.y:4189 12445 { 12446 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} 12447 } 12448 yyVAL.union = yyLOCAL 12449 case 817: 12450 yyDollar = yyS[yypt-5 : yypt+1] 12451 var yyLOCAL Expr 12452 //line sql.y:4193 12453 { 12454 yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} 12455 } 12456 yyVAL.union = yyLOCAL 12457 case 818: 12458 yyDollar = yyS[yypt-6 : yypt+1] 12459 var yyLOCAL Expr 12460 //line sql.y:4197 12461 { 12462 yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} 12463 } 12464 yyVAL.union = yyLOCAL 12465 case 819: 12466 yyDollar = yyS[yypt-3 : yypt+1] 12467 var yyLOCAL Expr 12468 //line sql.y:4201 12469 { 12470 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} 12471 } 12472 yyVAL.union = yyLOCAL 12473 case 820: 12474 yyDollar = yyS[yypt-4 : yypt+1] 12475 var yyLOCAL Expr 12476 //line sql.y:4205 12477 { 12478 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} 12479 } 12480 yyVAL.union = yyLOCAL 12481 case 821: 12482 yyDollar = yyS[yypt-5 : yypt+1] 12483 var yyLOCAL Expr 12484 //line sql.y:4209 12485 { 12486 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} 12487 } 12488 yyVAL.union = yyLOCAL 12489 case 822: 12490 yyDollar = yyS[yypt-6 : yypt+1] 12491 var yyLOCAL Expr 12492 //line sql.y:4213 12493 { 12494 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} 12495 } 12496 yyVAL.union = yyLOCAL 12497 case 823: 12498 yyDollar = yyS[yypt-3 : yypt+1] 12499 var yyLOCAL Expr 12500 //line sql.y:4217 12501 { 12502 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} 12503 } 12504 yyVAL.union = yyLOCAL 12505 case 824: 12506 yyDollar = yyS[yypt-4 : yypt+1] 12507 var yyLOCAL Expr 12508 //line sql.y:4221 12509 { 12510 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} 12511 } 12512 yyVAL.union = yyLOCAL 12513 case 825: 12514 yyDollar = yyS[yypt-1 : yypt+1] 12515 var yyLOCAL Expr 12516 //line sql.y:4225 12517 { 12518 yyLOCAL = yyDollar[1].exprUnion() 12519 } 12520 yyVAL.union = yyLOCAL 12521 case 826: 12522 yyDollar = yyS[yypt-3 : yypt+1] 12523 var yyLOCAL Expr 12524 //line sql.y:4231 12525 { 12526 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} 12527 } 12528 yyVAL.union = yyLOCAL 12529 case 827: 12530 yyDollar = yyS[yypt-3 : yypt+1] 12531 var yyLOCAL Expr 12532 //line sql.y:4235 12533 { 12534 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} 12535 } 12536 yyVAL.union = yyLOCAL 12537 case 828: 12538 yyDollar = yyS[yypt-3 : yypt+1] 12539 var yyLOCAL Expr 12540 //line sql.y:4239 12541 { 12542 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} 12543 } 12544 yyVAL.union = yyLOCAL 12545 case 829: 12546 yyDollar = yyS[yypt-3 : yypt+1] 12547 var yyLOCAL Expr 12548 //line sql.y:4243 12549 { 12550 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} 12551 } 12552 yyVAL.union = yyLOCAL 12553 case 830: 12554 yyDollar = yyS[yypt-3 : yypt+1] 12555 var yyLOCAL Expr 12556 //line sql.y:4247 12557 { 12558 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} 12559 } 12560 yyVAL.union = yyLOCAL 12561 case 831: 12562 yyDollar = yyS[yypt-3 : yypt+1] 12563 var yyLOCAL Expr 12564 //line sql.y:4251 12565 { 12566 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} 12567 } 12568 yyVAL.union = yyLOCAL 12569 case 832: 12570 yyDollar = yyS[yypt-3 : yypt+1] 12571 var yyLOCAL Expr 12572 //line sql.y:4255 12573 { 12574 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} 12575 } 12576 yyVAL.union = yyLOCAL 12577 case 833: 12578 yyDollar = yyS[yypt-3 : yypt+1] 12579 var yyLOCAL Expr 12580 //line sql.y:4259 12581 { 12582 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} 12583 } 12584 yyVAL.union = yyLOCAL 12585 case 834: 12586 yyDollar = yyS[yypt-3 : yypt+1] 12587 var yyLOCAL Expr 12588 //line sql.y:4263 12589 { 12590 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} 12591 } 12592 yyVAL.union = yyLOCAL 12593 case 835: 12594 yyDollar = yyS[yypt-3 : yypt+1] 12595 var yyLOCAL Expr 12596 //line sql.y:4267 12597 { 12598 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} 12599 } 12600 yyVAL.union = yyLOCAL 12601 case 836: 12602 yyDollar = yyS[yypt-3 : yypt+1] 12603 var yyLOCAL Expr 12604 //line sql.y:4271 12605 { 12606 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} 12607 } 12608 yyVAL.union = yyLOCAL 12609 case 837: 12610 yyDollar = yyS[yypt-3 : yypt+1] 12611 var yyLOCAL Expr 12612 //line sql.y:4275 12613 { 12614 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} 12615 } 12616 yyVAL.union = yyLOCAL 12617 case 838: 12618 yyDollar = yyS[yypt-1 : yypt+1] 12619 var yyLOCAL Expr 12620 //line sql.y:4279 12621 { 12622 yyLOCAL = yyDollar[1].exprUnion() 12623 } 12624 yyVAL.union = yyLOCAL 12625 case 839: 12626 yyDollar = yyS[yypt-1 : yypt+1] 12627 var yyLOCAL Expr 12628 //line sql.y:4285 12629 { 12630 yyLOCAL = yyDollar[1].exprUnion() 12631 } 12632 yyVAL.union = yyLOCAL 12633 case 840: 12634 yyDollar = yyS[yypt-1 : yypt+1] 12635 var yyLOCAL Expr 12636 //line sql.y:4289 12637 { 12638 yyLOCAL = yyDollar[1].exprUnion() 12639 } 12640 yyVAL.union = yyLOCAL 12641 case 841: 12642 yyDollar = yyS[yypt-1 : yypt+1] 12643 var yyLOCAL Expr 12644 //line sql.y:4293 12645 { 12646 yyLOCAL = yyDollar[1].exprUnion() 12647 } 12648 yyVAL.union = yyLOCAL 12649 case 842: 12650 yyDollar = yyS[yypt-1 : yypt+1] 12651 var yyLOCAL Expr 12652 //line sql.y:4297 12653 { 12654 yyLOCAL = yyDollar[1].exprUnion() 12655 } 12656 yyVAL.union = yyLOCAL 12657 case 843: 12658 yyDollar = yyS[yypt-3 : yypt+1] 12659 var yyLOCAL Expr 12660 //line sql.y:4301 12661 { 12662 yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} 12663 } 12664 yyVAL.union = yyLOCAL 12665 case 844: 12666 yyDollar = yyS[yypt-1 : yypt+1] 12667 var yyLOCAL Expr 12668 //line sql.y:4305 12669 { 12670 yyLOCAL = yyDollar[1].exprUnion() 12671 } 12672 yyVAL.union = yyLOCAL 12673 case 845: 12674 yyDollar = yyS[yypt-1 : yypt+1] 12675 var yyLOCAL Expr 12676 //line sql.y:4309 12677 { 12678 yyLOCAL = yyDollar[1].colNameUnion() 12679 } 12680 yyVAL.union = yyLOCAL 12681 case 846: 12682 yyDollar = yyS[yypt-2 : yypt+1] 12683 var yyLOCAL Expr 12684 //line sql.y:4313 12685 { 12686 yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? 12687 } 12688 yyVAL.union = yyLOCAL 12689 case 847: 12690 yyDollar = yyS[yypt-2 : yypt+1] 12691 var yyLOCAL Expr 12692 //line sql.y:4317 12693 { 12694 yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} 12695 } 12696 yyVAL.union = yyLOCAL 12697 case 848: 12698 yyDollar = yyS[yypt-2 : yypt+1] 12699 var yyLOCAL Expr 12700 //line sql.y:4321 12701 { 12702 yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} 12703 } 12704 yyVAL.union = yyLOCAL 12705 case 849: 12706 yyDollar = yyS[yypt-2 : yypt+1] 12707 var yyLOCAL Expr 12708 //line sql.y:4325 12709 { 12710 yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} 12711 } 12712 yyVAL.union = yyLOCAL 12713 case 850: 12714 yyDollar = yyS[yypt-1 : yypt+1] 12715 var yyLOCAL Expr 12716 //line sql.y:4329 12717 { 12718 yyLOCAL = yyDollar[1].subqueryUnion() 12719 } 12720 yyVAL.union = yyLOCAL 12721 case 851: 12722 yyDollar = yyS[yypt-1 : yypt+1] 12723 var yyLOCAL Expr 12724 //line sql.y:4333 12725 { 12726 yyLOCAL = yyDollar[1].exprUnion() 12727 } 12728 yyVAL.union = yyLOCAL 12729 case 852: 12730 yyDollar = yyS[yypt-2 : yypt+1] 12731 var yyLOCAL Expr 12732 //line sql.y:4337 12733 { 12734 yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} 12735 } 12736 yyVAL.union = yyLOCAL 12737 case 853: 12738 yyDollar = yyS[yypt-9 : yypt+1] 12739 var yyLOCAL Expr 12740 //line sql.y:4341 12741 { 12742 yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} 12743 } 12744 yyVAL.union = yyLOCAL 12745 case 854: 12746 yyDollar = yyS[yypt-6 : yypt+1] 12747 var yyLOCAL Expr 12748 //line sql.y:4345 12749 { 12750 yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} 12751 } 12752 yyVAL.union = yyLOCAL 12753 case 855: 12754 yyDollar = yyS[yypt-6 : yypt+1] 12755 var yyLOCAL Expr 12756 //line sql.y:4349 12757 { 12758 yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} 12759 } 12760 yyVAL.union = yyLOCAL 12761 case 856: 12762 yyDollar = yyS[yypt-6 : yypt+1] 12763 var yyLOCAL Expr 12764 //line sql.y:4353 12765 { 12766 yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} 12767 } 12768 yyVAL.union = yyLOCAL 12769 case 857: 12770 yyDollar = yyS[yypt-2 : yypt+1] 12771 var yyLOCAL Expr 12772 //line sql.y:4357 12773 { 12774 yyLOCAL = &UnaryExpr{Operator: BinaryOp, Expr: yyDollar[2].exprUnion()} 12775 } 12776 yyVAL.union = yyLOCAL 12777 case 858: 12778 yyDollar = yyS[yypt-2 : yypt+1] 12779 var yyLOCAL Expr 12780 //line sql.y:4361 12781 { 12782 yyLOCAL = &Default{ColName: yyDollar[2].str} 12783 } 12784 yyVAL.union = yyLOCAL 12785 case 859: 12786 yyDollar = yyS[yypt-3 : yypt+1] 12787 var yyLOCAL Expr 12788 //line sql.y:4365 12789 { 12790 // This rule prevents the usage of INTERVAL 12791 // as a function. If support is needed for that, 12792 // we'll need to revisit this. The solution 12793 // will be non-trivial because of grammar conflicts. 12794 yyLOCAL = &IntervalExpr{Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].colIdent.String()} 12795 } 12796 yyVAL.union = yyLOCAL 12797 case 860: 12798 yyDollar = yyS[yypt-3 : yypt+1] 12799 var yyLOCAL Expr 12800 //line sql.y:4373 12801 { 12802 yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} 12803 } 12804 yyVAL.union = yyLOCAL 12805 case 861: 12806 yyDollar = yyS[yypt-3 : yypt+1] 12807 var yyLOCAL Expr 12808 //line sql.y:4377 12809 { 12810 yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} 12811 } 12812 yyVAL.union = yyLOCAL 12813 case 862: 12814 yyDollar = yyS[yypt-0 : yypt+1] 12815 //line sql.y:4384 12816 { 12817 yyVAL.str = "" 12818 } 12819 case 863: 12820 yyDollar = yyS[yypt-3 : yypt+1] 12821 //line sql.y:4388 12822 { 12823 yyVAL.str = string(yyDollar[2].colIdent.String()) 12824 } 12825 case 864: 12826 yyDollar = yyS[yypt-1 : yypt+1] 12827 var yyLOCAL BoolVal 12828 //line sql.y:4394 12829 { 12830 yyLOCAL = BoolVal(true) 12831 } 12832 yyVAL.union = yyLOCAL 12833 case 865: 12834 yyDollar = yyS[yypt-1 : yypt+1] 12835 var yyLOCAL BoolVal 12836 //line sql.y:4398 12837 { 12838 yyLOCAL = BoolVal(false) 12839 } 12840 yyVAL.union = yyLOCAL 12841 case 866: 12842 yyDollar = yyS[yypt-1 : yypt+1] 12843 var yyLOCAL IsExprOperator 12844 //line sql.y:4405 12845 { 12846 yyLOCAL = IsTrueOp 12847 } 12848 yyVAL.union = yyLOCAL 12849 case 867: 12850 yyDollar = yyS[yypt-2 : yypt+1] 12851 var yyLOCAL IsExprOperator 12852 //line sql.y:4409 12853 { 12854 yyLOCAL = IsNotTrueOp 12855 } 12856 yyVAL.union = yyLOCAL 12857 case 868: 12858 yyDollar = yyS[yypt-1 : yypt+1] 12859 var yyLOCAL IsExprOperator 12860 //line sql.y:4413 12861 { 12862 yyLOCAL = IsFalseOp 12863 } 12864 yyVAL.union = yyLOCAL 12865 case 869: 12866 yyDollar = yyS[yypt-2 : yypt+1] 12867 var yyLOCAL IsExprOperator 12868 //line sql.y:4417 12869 { 12870 yyLOCAL = IsNotFalseOp 12871 } 12872 yyVAL.union = yyLOCAL 12873 case 870: 12874 yyDollar = yyS[yypt-1 : yypt+1] 12875 var yyLOCAL ComparisonExprOperator 12876 //line sql.y:4423 12877 { 12878 yyLOCAL = EqualOp 12879 } 12880 yyVAL.union = yyLOCAL 12881 case 871: 12882 yyDollar = yyS[yypt-1 : yypt+1] 12883 var yyLOCAL ComparisonExprOperator 12884 //line sql.y:4427 12885 { 12886 yyLOCAL = LessThanOp 12887 } 12888 yyVAL.union = yyLOCAL 12889 case 872: 12890 yyDollar = yyS[yypt-1 : yypt+1] 12891 var yyLOCAL ComparisonExprOperator 12892 //line sql.y:4431 12893 { 12894 yyLOCAL = GreaterThanOp 12895 } 12896 yyVAL.union = yyLOCAL 12897 case 873: 12898 yyDollar = yyS[yypt-1 : yypt+1] 12899 var yyLOCAL ComparisonExprOperator 12900 //line sql.y:4435 12901 { 12902 yyLOCAL = LessEqualOp 12903 } 12904 yyVAL.union = yyLOCAL 12905 case 874: 12906 yyDollar = yyS[yypt-1 : yypt+1] 12907 var yyLOCAL ComparisonExprOperator 12908 //line sql.y:4439 12909 { 12910 yyLOCAL = GreaterEqualOp 12911 } 12912 yyVAL.union = yyLOCAL 12913 case 875: 12914 yyDollar = yyS[yypt-1 : yypt+1] 12915 var yyLOCAL ComparisonExprOperator 12916 //line sql.y:4443 12917 { 12918 yyLOCAL = NotEqualOp 12919 } 12920 yyVAL.union = yyLOCAL 12921 case 876: 12922 yyDollar = yyS[yypt-1 : yypt+1] 12923 var yyLOCAL ComparisonExprOperator 12924 //line sql.y:4447 12925 { 12926 yyLOCAL = NullSafeEqualOp 12927 } 12928 yyVAL.union = yyLOCAL 12929 case 877: 12930 yyDollar = yyS[yypt-1 : yypt+1] 12931 var yyLOCAL ColTuple 12932 //line sql.y:4453 12933 { 12934 yyLOCAL = yyDollar[1].valTupleUnion() 12935 } 12936 yyVAL.union = yyLOCAL 12937 case 878: 12938 yyDollar = yyS[yypt-1 : yypt+1] 12939 var yyLOCAL ColTuple 12940 //line sql.y:4457 12941 { 12942 yyLOCAL = yyDollar[1].subqueryUnion() 12943 } 12944 yyVAL.union = yyLOCAL 12945 case 879: 12946 yyDollar = yyS[yypt-1 : yypt+1] 12947 var yyLOCAL ColTuple 12948 //line sql.y:4461 12949 { 12950 yyLOCAL = ListArg(yyDollar[1].str[2:]) 12951 bindVariable(yylex, yyDollar[1].str[2:]) 12952 } 12953 yyVAL.union = yyLOCAL 12954 case 880: 12955 yyDollar = yyS[yypt-1 : yypt+1] 12956 var yyLOCAL *Subquery 12957 //line sql.y:4468 12958 { 12959 yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} 12960 } 12961 yyVAL.union = yyLOCAL 12962 case 881: 12963 yyDollar = yyS[yypt-1 : yypt+1] 12964 var yyLOCAL Exprs 12965 //line sql.y:4474 12966 { 12967 yyLOCAL = Exprs{yyDollar[1].exprUnion()} 12968 } 12969 yyVAL.union = yyLOCAL 12970 case 882: 12971 yyDollar = yyS[yypt-3 : yypt+1] 12972 //line sql.y:4478 12973 { 12974 yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) 12975 *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) 12976 } 12977 case 883: 12978 yyDollar = yyS[yypt-4 : yypt+1] 12979 var yyLOCAL Expr 12980 //line sql.y:4488 12981 { 12982 yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} 12983 } 12984 yyVAL.union = yyLOCAL 12985 case 884: 12986 yyDollar = yyS[yypt-5 : yypt+1] 12987 var yyLOCAL Expr 12988 //line sql.y:4492 12989 { 12990 yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} 12991 } 12992 yyVAL.union = yyLOCAL 12993 case 885: 12994 yyDollar = yyS[yypt-5 : yypt+1] 12995 var yyLOCAL Expr 12996 //line sql.y:4496 12997 { 12998 yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} 12999 } 13000 yyVAL.union = yyLOCAL 13001 case 886: 13002 yyDollar = yyS[yypt-6 : yypt+1] 13003 var yyLOCAL Expr 13004 //line sql.y:4500 13005 { 13006 yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} 13007 } 13008 yyVAL.union = yyLOCAL 13009 case 887: 13010 yyDollar = yyS[yypt-4 : yypt+1] 13011 var yyLOCAL Expr 13012 //line sql.y:4510 13013 { 13014 yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} 13015 } 13016 yyVAL.union = yyLOCAL 13017 case 888: 13018 yyDollar = yyS[yypt-4 : yypt+1] 13019 var yyLOCAL Expr 13020 //line sql.y:4514 13021 { 13022 yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} 13023 } 13024 yyVAL.union = yyLOCAL 13025 case 889: 13026 yyDollar = yyS[yypt-8 : yypt+1] 13027 var yyLOCAL Expr 13028 //line sql.y:4518 13029 { 13030 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} 13031 } 13032 yyVAL.union = yyLOCAL 13033 case 890: 13034 yyDollar = yyS[yypt-6 : yypt+1] 13035 var yyLOCAL Expr 13036 //line sql.y:4522 13037 { 13038 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} 13039 } 13040 yyVAL.union = yyLOCAL 13041 case 891: 13042 yyDollar = yyS[yypt-8 : yypt+1] 13043 var yyLOCAL Expr 13044 //line sql.y:4526 13045 { 13046 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} 13047 } 13048 yyVAL.union = yyLOCAL 13049 case 892: 13050 yyDollar = yyS[yypt-6 : yypt+1] 13051 var yyLOCAL Expr 13052 //line sql.y:4530 13053 { 13054 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} 13055 } 13056 yyVAL.union = yyLOCAL 13057 case 893: 13058 yyDollar = yyS[yypt-8 : yypt+1] 13059 var yyLOCAL Expr 13060 //line sql.y:4534 13061 { 13062 yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} 13063 } 13064 yyVAL.union = yyLOCAL 13065 case 894: 13066 yyDollar = yyS[yypt-5 : yypt+1] 13067 var yyLOCAL Expr 13068 //line sql.y:4538 13069 { 13070 yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} 13071 } 13072 yyVAL.union = yyLOCAL 13073 case 895: 13074 yyDollar = yyS[yypt-4 : yypt+1] 13075 var yyLOCAL Expr 13076 //line sql.y:4542 13077 { 13078 yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} 13079 } 13080 yyVAL.union = yyLOCAL 13081 case 896: 13082 yyDollar = yyS[yypt-2 : yypt+1] 13083 var yyLOCAL Expr 13084 //line sql.y:4546 13085 { 13086 yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} 13087 } 13088 yyVAL.union = yyLOCAL 13089 case 897: 13090 yyDollar = yyS[yypt-2 : yypt+1] 13091 var yyLOCAL Expr 13092 //line sql.y:4557 13093 { 13094 yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} 13095 } 13096 yyVAL.union = yyLOCAL 13097 case 898: 13098 yyDollar = yyS[yypt-1 : yypt+1] 13099 var yyLOCAL Expr 13100 //line sql.y:4561 13101 { 13102 yyLOCAL = yyDollar[1].exprUnion() 13103 } 13104 yyVAL.union = yyLOCAL 13105 case 899: 13106 yyDollar = yyS[yypt-2 : yypt+1] 13107 var yyLOCAL Expr 13108 //line sql.y:4567 13109 { 13110 yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} 13111 } 13112 yyVAL.union = yyLOCAL 13113 case 900: 13114 yyDollar = yyS[yypt-2 : yypt+1] 13115 var yyLOCAL Expr 13116 //line sql.y:4571 13117 { 13118 yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} 13119 } 13120 yyVAL.union = yyLOCAL 13121 case 901: 13122 yyDollar = yyS[yypt-2 : yypt+1] 13123 var yyLOCAL Expr 13124 //line sql.y:4576 13125 { 13126 yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} 13127 } 13128 yyVAL.union = yyLOCAL 13129 case 902: 13130 yyDollar = yyS[yypt-8 : yypt+1] 13131 var yyLOCAL Expr 13132 //line sql.y:4580 13133 { 13134 yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} 13135 } 13136 yyVAL.union = yyLOCAL 13137 case 903: 13138 yyDollar = yyS[yypt-8 : yypt+1] 13139 var yyLOCAL Expr 13140 //line sql.y:4584 13141 { 13142 yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} 13143 } 13144 yyVAL.union = yyLOCAL 13145 case 904: 13146 yyDollar = yyS[yypt-6 : yypt+1] 13147 var yyLOCAL Expr 13148 //line sql.y:4588 13149 { 13150 yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} 13151 } 13152 yyVAL.union = yyLOCAL 13153 case 905: 13154 yyDollar = yyS[yypt-1 : yypt+1] 13155 //line sql.y:4594 13156 { 13157 } 13158 case 906: 13159 yyDollar = yyS[yypt-1 : yypt+1] 13160 var yyLOCAL IntervalTypes 13161 //line sql.y:4596 13162 { 13163 yyLOCAL = IntervalDayHour 13164 } 13165 yyVAL.union = yyLOCAL 13166 case 907: 13167 yyDollar = yyS[yypt-1 : yypt+1] 13168 var yyLOCAL IntervalTypes 13169 //line sql.y:4600 13170 { 13171 yyLOCAL = IntervalDayMicrosecond 13172 } 13173 yyVAL.union = yyLOCAL 13174 case 908: 13175 yyDollar = yyS[yypt-1 : yypt+1] 13176 var yyLOCAL IntervalTypes 13177 //line sql.y:4604 13178 { 13179 yyLOCAL = IntervalDayMinute 13180 } 13181 yyVAL.union = yyLOCAL 13182 case 909: 13183 yyDollar = yyS[yypt-1 : yypt+1] 13184 var yyLOCAL IntervalTypes 13185 //line sql.y:4608 13186 { 13187 yyLOCAL = IntervalDaySecond 13188 } 13189 yyVAL.union = yyLOCAL 13190 case 910: 13191 yyDollar = yyS[yypt-1 : yypt+1] 13192 var yyLOCAL IntervalTypes 13193 //line sql.y:4612 13194 { 13195 yyLOCAL = IntervalHourMicrosecond 13196 } 13197 yyVAL.union = yyLOCAL 13198 case 911: 13199 yyDollar = yyS[yypt-1 : yypt+1] 13200 var yyLOCAL IntervalTypes 13201 //line sql.y:4616 13202 { 13203 yyLOCAL = IntervalHourMinute 13204 } 13205 yyVAL.union = yyLOCAL 13206 case 912: 13207 yyDollar = yyS[yypt-1 : yypt+1] 13208 var yyLOCAL IntervalTypes 13209 //line sql.y:4620 13210 { 13211 yyLOCAL = IntervalHourSecond 13212 } 13213 yyVAL.union = yyLOCAL 13214 case 913: 13215 yyDollar = yyS[yypt-1 : yypt+1] 13216 var yyLOCAL IntervalTypes 13217 //line sql.y:4624 13218 { 13219 yyLOCAL = IntervalMinuteMicrosecond 13220 } 13221 yyVAL.union = yyLOCAL 13222 case 914: 13223 yyDollar = yyS[yypt-1 : yypt+1] 13224 var yyLOCAL IntervalTypes 13225 //line sql.y:4628 13226 { 13227 yyLOCAL = IntervalMinuteSecond 13228 } 13229 yyVAL.union = yyLOCAL 13230 case 915: 13231 yyDollar = yyS[yypt-1 : yypt+1] 13232 var yyLOCAL IntervalTypes 13233 //line sql.y:4632 13234 { 13235 yyLOCAL = IntervalSecondMicrosecond 13236 } 13237 yyVAL.union = yyLOCAL 13238 case 916: 13239 yyDollar = yyS[yypt-1 : yypt+1] 13240 var yyLOCAL IntervalTypes 13241 //line sql.y:4636 13242 { 13243 yyLOCAL = IntervalYearMonth 13244 } 13245 yyVAL.union = yyLOCAL 13246 case 917: 13247 yyDollar = yyS[yypt-1 : yypt+1] 13248 var yyLOCAL IntervalTypes 13249 //line sql.y:4642 13250 { 13251 yyLOCAL = IntervalDay 13252 } 13253 yyVAL.union = yyLOCAL 13254 case 918: 13255 yyDollar = yyS[yypt-1 : yypt+1] 13256 var yyLOCAL IntervalTypes 13257 //line sql.y:4646 13258 { 13259 yyLOCAL = IntervalWeek 13260 } 13261 yyVAL.union = yyLOCAL 13262 case 919: 13263 yyDollar = yyS[yypt-1 : yypt+1] 13264 var yyLOCAL IntervalTypes 13265 //line sql.y:4650 13266 { 13267 yyLOCAL = IntervalHour 13268 } 13269 yyVAL.union = yyLOCAL 13270 case 920: 13271 yyDollar = yyS[yypt-1 : yypt+1] 13272 var yyLOCAL IntervalTypes 13273 //line sql.y:4654 13274 { 13275 yyLOCAL = IntervalMinute 13276 } 13277 yyVAL.union = yyLOCAL 13278 case 921: 13279 yyDollar = yyS[yypt-1 : yypt+1] 13280 var yyLOCAL IntervalTypes 13281 //line sql.y:4658 13282 { 13283 yyLOCAL = IntervalMonth 13284 } 13285 yyVAL.union = yyLOCAL 13286 case 922: 13287 yyDollar = yyS[yypt-1 : yypt+1] 13288 var yyLOCAL IntervalTypes 13289 //line sql.y:4662 13290 { 13291 yyLOCAL = IntervalQuarter 13292 } 13293 yyVAL.union = yyLOCAL 13294 case 923: 13295 yyDollar = yyS[yypt-1 : yypt+1] 13296 var yyLOCAL IntervalTypes 13297 //line sql.y:4666 13298 { 13299 yyLOCAL = IntervalSecond 13300 } 13301 yyVAL.union = yyLOCAL 13302 case 924: 13303 yyDollar = yyS[yypt-1 : yypt+1] 13304 var yyLOCAL IntervalTypes 13305 //line sql.y:4670 13306 { 13307 yyLOCAL = IntervalMicrosecond 13308 } 13309 yyVAL.union = yyLOCAL 13310 case 925: 13311 yyDollar = yyS[yypt-1 : yypt+1] 13312 var yyLOCAL IntervalTypes 13313 //line sql.y:4674 13314 { 13315 yyLOCAL = IntervalYear 13316 } 13317 yyVAL.union = yyLOCAL 13318 case 928: 13319 yyDollar = yyS[yypt-0 : yypt+1] 13320 var yyLOCAL Expr 13321 //line sql.y:4684 13322 { 13323 yyLOCAL = nil 13324 } 13325 yyVAL.union = yyLOCAL 13326 case 929: 13327 yyDollar = yyS[yypt-2 : yypt+1] 13328 var yyLOCAL Expr 13329 //line sql.y:4688 13330 { 13331 yyLOCAL = nil 13332 } 13333 yyVAL.union = yyLOCAL 13334 case 930: 13335 yyDollar = yyS[yypt-3 : yypt+1] 13336 var yyLOCAL Expr 13337 //line sql.y:4692 13338 { 13339 yyLOCAL = NewIntLiteral(yyDollar[2].str) 13340 } 13341 yyVAL.union = yyLOCAL 13342 case 931: 13343 yyDollar = yyS[yypt-3 : yypt+1] 13344 var yyLOCAL Expr 13345 //line sql.y:4696 13346 { 13347 yyLOCAL = NewArgument(yyDollar[2].str[1:]) 13348 bindVariable(yylex, yyDollar[2].str[1:]) 13349 } 13350 yyVAL.union = yyLOCAL 13351 case 932: 13352 yyDollar = yyS[yypt-4 : yypt+1] 13353 var yyLOCAL Expr 13354 //line sql.y:4707 13355 { 13356 yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} 13357 } 13358 yyVAL.union = yyLOCAL 13359 case 933: 13360 yyDollar = yyS[yypt-4 : yypt+1] 13361 var yyLOCAL Expr 13362 //line sql.y:4711 13363 { 13364 yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} 13365 } 13366 yyVAL.union = yyLOCAL 13367 case 934: 13368 yyDollar = yyS[yypt-4 : yypt+1] 13369 var yyLOCAL Expr 13370 //line sql.y:4715 13371 { 13372 yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} 13373 } 13374 yyVAL.union = yyLOCAL 13375 case 935: 13376 yyDollar = yyS[yypt-4 : yypt+1] 13377 var yyLOCAL Expr 13378 //line sql.y:4719 13379 { 13380 yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} 13381 } 13382 yyVAL.union = yyLOCAL 13383 case 936: 13384 yyDollar = yyS[yypt-4 : yypt+1] 13385 var yyLOCAL Expr 13386 //line sql.y:4723 13387 { 13388 yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} 13389 } 13390 yyVAL.union = yyLOCAL 13391 case 937: 13392 yyDollar = yyS[yypt-0 : yypt+1] 13393 var yyLOCAL MatchExprOption 13394 //line sql.y:4729 13395 { 13396 yyLOCAL = NoOption 13397 } 13398 yyVAL.union = yyLOCAL 13399 case 938: 13400 yyDollar = yyS[yypt-3 : yypt+1] 13401 var yyLOCAL MatchExprOption 13402 //line sql.y:4733 13403 { 13404 yyLOCAL = BooleanModeOpt 13405 } 13406 yyVAL.union = yyLOCAL 13407 case 939: 13408 yyDollar = yyS[yypt-4 : yypt+1] 13409 var yyLOCAL MatchExprOption 13410 //line sql.y:4737 13411 { 13412 yyLOCAL = NaturalLanguageModeOpt 13413 } 13414 yyVAL.union = yyLOCAL 13415 case 940: 13416 yyDollar = yyS[yypt-7 : yypt+1] 13417 var yyLOCAL MatchExprOption 13418 //line sql.y:4741 13419 { 13420 yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt 13421 } 13422 yyVAL.union = yyLOCAL 13423 case 941: 13424 yyDollar = yyS[yypt-3 : yypt+1] 13425 var yyLOCAL MatchExprOption 13426 //line sql.y:4745 13427 { 13428 yyLOCAL = QueryExpansionOpt 13429 } 13430 yyVAL.union = yyLOCAL 13431 case 942: 13432 yyDollar = yyS[yypt-1 : yypt+1] 13433 //line sql.y:4751 13434 { 13435 yyVAL.str = string(yyDollar[1].colIdent.String()) 13436 } 13437 case 943: 13438 yyDollar = yyS[yypt-1 : yypt+1] 13439 //line sql.y:4755 13440 { 13441 yyVAL.str = string(yyDollar[1].str) 13442 } 13443 case 944: 13444 yyDollar = yyS[yypt-1 : yypt+1] 13445 //line sql.y:4759 13446 { 13447 yyVAL.str = string(yyDollar[1].str) 13448 } 13449 case 945: 13450 yyDollar = yyS[yypt-2 : yypt+1] 13451 var yyLOCAL *ConvertType 13452 //line sql.y:4765 13453 { 13454 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 13455 } 13456 yyVAL.union = yyLOCAL 13457 case 946: 13458 yyDollar = yyS[yypt-3 : yypt+1] 13459 var yyLOCAL *ConvertType 13460 //line sql.y:4769 13461 { 13462 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].str, Operator: CharacterSetOp} 13463 } 13464 yyVAL.union = yyLOCAL 13465 case 947: 13466 yyDollar = yyS[yypt-3 : yypt+1] 13467 var yyLOCAL *ConvertType 13468 //line sql.y:4773 13469 { 13470 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: string(yyDollar[3].colIdent.String())} 13471 } 13472 yyVAL.union = yyLOCAL 13473 case 948: 13474 yyDollar = yyS[yypt-1 : yypt+1] 13475 var yyLOCAL *ConvertType 13476 //line sql.y:4777 13477 { 13478 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 13479 } 13480 yyVAL.union = yyLOCAL 13481 case 949: 13482 yyDollar = yyS[yypt-2 : yypt+1] 13483 var yyLOCAL *ConvertType 13484 //line sql.y:4781 13485 { 13486 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 13487 } 13488 yyVAL.union = yyLOCAL 13489 case 950: 13490 yyDollar = yyS[yypt-2 : yypt+1] 13491 var yyLOCAL *ConvertType 13492 //line sql.y:4785 13493 { 13494 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 13495 yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length 13496 yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale 13497 } 13498 yyVAL.union = yyLOCAL 13499 case 951: 13500 yyDollar = yyS[yypt-1 : yypt+1] 13501 var yyLOCAL *ConvertType 13502 //line sql.y:4791 13503 { 13504 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 13505 } 13506 yyVAL.union = yyLOCAL 13507 case 952: 13508 yyDollar = yyS[yypt-2 : yypt+1] 13509 var yyLOCAL *ConvertType 13510 //line sql.y:4795 13511 { 13512 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 13513 } 13514 yyVAL.union = yyLOCAL 13515 case 953: 13516 yyDollar = yyS[yypt-1 : yypt+1] 13517 var yyLOCAL *ConvertType 13518 //line sql.y:4799 13519 { 13520 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 13521 } 13522 yyVAL.union = yyLOCAL 13523 case 954: 13524 yyDollar = yyS[yypt-2 : yypt+1] 13525 var yyLOCAL *ConvertType 13526 //line sql.y:4803 13527 { 13528 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 13529 } 13530 yyVAL.union = yyLOCAL 13531 case 955: 13532 yyDollar = yyS[yypt-2 : yypt+1] 13533 var yyLOCAL *ConvertType 13534 //line sql.y:4807 13535 { 13536 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 13537 } 13538 yyVAL.union = yyLOCAL 13539 case 956: 13540 yyDollar = yyS[yypt-1 : yypt+1] 13541 var yyLOCAL *ConvertType 13542 //line sql.y:4811 13543 { 13544 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 13545 } 13546 yyVAL.union = yyLOCAL 13547 case 957: 13548 yyDollar = yyS[yypt-2 : yypt+1] 13549 var yyLOCAL *ConvertType 13550 //line sql.y:4815 13551 { 13552 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 13553 } 13554 yyVAL.union = yyLOCAL 13555 case 958: 13556 yyDollar = yyS[yypt-0 : yypt+1] 13557 var yyLOCAL Expr 13558 //line sql.y:4820 13559 { 13560 yyLOCAL = nil 13561 } 13562 yyVAL.union = yyLOCAL 13563 case 959: 13564 yyDollar = yyS[yypt-1 : yypt+1] 13565 var yyLOCAL Expr 13566 //line sql.y:4824 13567 { 13568 yyLOCAL = yyDollar[1].exprUnion() 13569 } 13570 yyVAL.union = yyLOCAL 13571 case 960: 13572 yyDollar = yyS[yypt-0 : yypt+1] 13573 //line sql.y:4829 13574 { 13575 yyVAL.str = string("") 13576 } 13577 case 961: 13578 yyDollar = yyS[yypt-2 : yypt+1] 13579 //line sql.y:4833 13580 { 13581 yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) 13582 } 13583 case 962: 13584 yyDollar = yyS[yypt-1 : yypt+1] 13585 var yyLOCAL []*When 13586 //line sql.y:4839 13587 { 13588 yyLOCAL = []*When{yyDollar[1].whenUnion()} 13589 } 13590 yyVAL.union = yyLOCAL 13591 case 963: 13592 yyDollar = yyS[yypt-2 : yypt+1] 13593 //line sql.y:4843 13594 { 13595 yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) 13596 *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) 13597 } 13598 case 964: 13599 yyDollar = yyS[yypt-4 : yypt+1] 13600 var yyLOCAL *When 13601 //line sql.y:4849 13602 { 13603 yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} 13604 } 13605 yyVAL.union = yyLOCAL 13606 case 965: 13607 yyDollar = yyS[yypt-0 : yypt+1] 13608 var yyLOCAL Expr 13609 //line sql.y:4854 13610 { 13611 yyLOCAL = nil 13612 } 13613 yyVAL.union = yyLOCAL 13614 case 966: 13615 yyDollar = yyS[yypt-2 : yypt+1] 13616 var yyLOCAL Expr 13617 //line sql.y:4858 13618 { 13619 yyLOCAL = yyDollar[2].exprUnion() 13620 } 13621 yyVAL.union = yyLOCAL 13622 case 967: 13623 yyDollar = yyS[yypt-1 : yypt+1] 13624 var yyLOCAL *ColName 13625 //line sql.y:4864 13626 { 13627 yyLOCAL = &ColName{Name: yyDollar[1].colIdent} 13628 } 13629 yyVAL.union = yyLOCAL 13630 case 968: 13631 yyDollar = yyS[yypt-3 : yypt+1] 13632 var yyLOCAL *ColName 13633 //line sql.y:4868 13634 { 13635 yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} 13636 } 13637 yyVAL.union = yyLOCAL 13638 case 969: 13639 yyDollar = yyS[yypt-5 : yypt+1] 13640 var yyLOCAL *ColName 13641 //line sql.y:4872 13642 { 13643 yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} 13644 } 13645 yyVAL.union = yyLOCAL 13646 case 970: 13647 yyDollar = yyS[yypt-1 : yypt+1] 13648 var yyLOCAL Expr 13649 //line sql.y:4878 13650 { 13651 // TODO(sougou): Deprecate this construct. 13652 if yyDollar[1].colIdent.Lowered() != "value" { 13653 yylex.Error("expecting value after next") 13654 return 1 13655 } 13656 yyLOCAL = NewIntLiteral("1") 13657 } 13658 yyVAL.union = yyLOCAL 13659 case 971: 13660 yyDollar = yyS[yypt-2 : yypt+1] 13661 var yyLOCAL Expr 13662 //line sql.y:4887 13663 { 13664 yyLOCAL = NewIntLiteral(yyDollar[1].str) 13665 } 13666 yyVAL.union = yyLOCAL 13667 case 972: 13668 yyDollar = yyS[yypt-2 : yypt+1] 13669 var yyLOCAL Expr 13670 //line sql.y:4891 13671 { 13672 yyLOCAL = NewArgument(yyDollar[1].str[1:]) 13673 bindVariable(yylex, yyDollar[1].str[1:]) 13674 } 13675 yyVAL.union = yyLOCAL 13676 case 973: 13677 yyDollar = yyS[yypt-0 : yypt+1] 13678 var yyLOCAL Exprs 13679 //line sql.y:4897 13680 { 13681 yyLOCAL = nil 13682 } 13683 yyVAL.union = yyLOCAL 13684 case 974: 13685 yyDollar = yyS[yypt-3 : yypt+1] 13686 var yyLOCAL Exprs 13687 //line sql.y:4901 13688 { 13689 yyLOCAL = yyDollar[3].exprsUnion() 13690 } 13691 yyVAL.union = yyLOCAL 13692 case 975: 13693 yyDollar = yyS[yypt-0 : yypt+1] 13694 var yyLOCAL Expr 13695 //line sql.y:4906 13696 { 13697 yyLOCAL = nil 13698 } 13699 yyVAL.union = yyLOCAL 13700 case 976: 13701 yyDollar = yyS[yypt-2 : yypt+1] 13702 var yyLOCAL Expr 13703 //line sql.y:4910 13704 { 13705 yyLOCAL = yyDollar[2].exprUnion() 13706 } 13707 yyVAL.union = yyLOCAL 13708 case 977: 13709 yyDollar = yyS[yypt-0 : yypt+1] 13710 var yyLOCAL OrderBy 13711 //line sql.y:4915 13712 { 13713 yyLOCAL = nil 13714 } 13715 yyVAL.union = yyLOCAL 13716 case 978: 13717 yyDollar = yyS[yypt-1 : yypt+1] 13718 var yyLOCAL OrderBy 13719 //line sql.y:4919 13720 { 13721 yyLOCAL = yyDollar[1].orderByUnion() 13722 } 13723 yyVAL.union = yyLOCAL 13724 case 979: 13725 yyDollar = yyS[yypt-3 : yypt+1] 13726 var yyLOCAL OrderBy 13727 //line sql.y:4925 13728 { 13729 yyLOCAL = yyDollar[3].orderByUnion() 13730 } 13731 yyVAL.union = yyLOCAL 13732 case 980: 13733 yyDollar = yyS[yypt-1 : yypt+1] 13734 var yyLOCAL OrderBy 13735 //line sql.y:4931 13736 { 13737 yyLOCAL = OrderBy{yyDollar[1].orderUnion()} 13738 } 13739 yyVAL.union = yyLOCAL 13740 case 981: 13741 yyDollar = yyS[yypt-3 : yypt+1] 13742 //line sql.y:4935 13743 { 13744 yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) 13745 *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) 13746 } 13747 case 982: 13748 yyDollar = yyS[yypt-2 : yypt+1] 13749 var yyLOCAL *Order 13750 //line sql.y:4941 13751 { 13752 yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} 13753 } 13754 yyVAL.union = yyLOCAL 13755 case 983: 13756 yyDollar = yyS[yypt-0 : yypt+1] 13757 var yyLOCAL OrderDirection 13758 //line sql.y:4946 13759 { 13760 yyLOCAL = AscOrder 13761 } 13762 yyVAL.union = yyLOCAL 13763 case 984: 13764 yyDollar = yyS[yypt-1 : yypt+1] 13765 var yyLOCAL OrderDirection 13766 //line sql.y:4950 13767 { 13768 yyLOCAL = AscOrder 13769 } 13770 yyVAL.union = yyLOCAL 13771 case 985: 13772 yyDollar = yyS[yypt-1 : yypt+1] 13773 var yyLOCAL OrderDirection 13774 //line sql.y:4954 13775 { 13776 yyLOCAL = DescOrder 13777 } 13778 yyVAL.union = yyLOCAL 13779 case 986: 13780 yyDollar = yyS[yypt-0 : yypt+1] 13781 var yyLOCAL *Limit 13782 //line sql.y:4959 13783 { 13784 yyLOCAL = nil 13785 } 13786 yyVAL.union = yyLOCAL 13787 case 987: 13788 yyDollar = yyS[yypt-1 : yypt+1] 13789 var yyLOCAL *Limit 13790 //line sql.y:4963 13791 { 13792 yyLOCAL = yyDollar[1].limitUnion() 13793 } 13794 yyVAL.union = yyLOCAL 13795 case 988: 13796 yyDollar = yyS[yypt-2 : yypt+1] 13797 var yyLOCAL *Limit 13798 //line sql.y:4969 13799 { 13800 yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} 13801 } 13802 yyVAL.union = yyLOCAL 13803 case 989: 13804 yyDollar = yyS[yypt-4 : yypt+1] 13805 var yyLOCAL *Limit 13806 //line sql.y:4973 13807 { 13808 yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} 13809 } 13810 yyVAL.union = yyLOCAL 13811 case 990: 13812 yyDollar = yyS[yypt-4 : yypt+1] 13813 var yyLOCAL *Limit 13814 //line sql.y:4977 13815 { 13816 yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} 13817 } 13818 yyVAL.union = yyLOCAL 13819 case 991: 13820 yyDollar = yyS[yypt-0 : yypt+1] 13821 var yyLOCAL []AlterOption 13822 //line sql.y:4982 13823 { 13824 yyLOCAL = nil 13825 } 13826 yyVAL.union = yyLOCAL 13827 case 992: 13828 yyDollar = yyS[yypt-2 : yypt+1] 13829 var yyLOCAL []AlterOption 13830 //line sql.y:4986 13831 { 13832 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} 13833 } 13834 yyVAL.union = yyLOCAL 13835 case 993: 13836 yyDollar = yyS[yypt-2 : yypt+1] 13837 var yyLOCAL []AlterOption 13838 //line sql.y:4990 13839 { 13840 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} 13841 } 13842 yyVAL.union = yyLOCAL 13843 case 994: 13844 yyDollar = yyS[yypt-1 : yypt+1] 13845 var yyLOCAL []AlterOption 13846 //line sql.y:4994 13847 { 13848 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 13849 } 13850 yyVAL.union = yyLOCAL 13851 case 995: 13852 yyDollar = yyS[yypt-1 : yypt+1] 13853 var yyLOCAL []AlterOption 13854 //line sql.y:4998 13855 { 13856 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 13857 } 13858 yyVAL.union = yyLOCAL 13859 case 996: 13860 yyDollar = yyS[yypt-3 : yypt+1] 13861 var yyLOCAL AlterOption 13862 //line sql.y:5005 13863 { 13864 yyLOCAL = &LockOption{Type: DefaultType} 13865 } 13866 yyVAL.union = yyLOCAL 13867 case 997: 13868 yyDollar = yyS[yypt-3 : yypt+1] 13869 var yyLOCAL AlterOption 13870 //line sql.y:5009 13871 { 13872 yyLOCAL = &LockOption{Type: NoneType} 13873 } 13874 yyVAL.union = yyLOCAL 13875 case 998: 13876 yyDollar = yyS[yypt-3 : yypt+1] 13877 var yyLOCAL AlterOption 13878 //line sql.y:5013 13879 { 13880 yyLOCAL = &LockOption{Type: SharedType} 13881 } 13882 yyVAL.union = yyLOCAL 13883 case 999: 13884 yyDollar = yyS[yypt-3 : yypt+1] 13885 var yyLOCAL AlterOption 13886 //line sql.y:5017 13887 { 13888 yyLOCAL = &LockOption{Type: ExclusiveType} 13889 } 13890 yyVAL.union = yyLOCAL 13891 case 1000: 13892 yyDollar = yyS[yypt-3 : yypt+1] 13893 var yyLOCAL AlterOption 13894 //line sql.y:5023 13895 { 13896 yyLOCAL = AlgorithmValue(yyDollar[3].str) 13897 } 13898 yyVAL.union = yyLOCAL 13899 case 1001: 13900 yyDollar = yyS[yypt-3 : yypt+1] 13901 var yyLOCAL AlterOption 13902 //line sql.y:5027 13903 { 13904 yyLOCAL = AlgorithmValue(yyDollar[3].str) 13905 } 13906 yyVAL.union = yyLOCAL 13907 case 1002: 13908 yyDollar = yyS[yypt-3 : yypt+1] 13909 var yyLOCAL AlterOption 13910 //line sql.y:5031 13911 { 13912 yyLOCAL = AlgorithmValue(yyDollar[3].str) 13913 } 13914 yyVAL.union = yyLOCAL 13915 case 1003: 13916 yyDollar = yyS[yypt-0 : yypt+1] 13917 //line sql.y:5036 13918 { 13919 yyVAL.str = "" 13920 } 13921 case 1004: 13922 yyDollar = yyS[yypt-3 : yypt+1] 13923 //line sql.y:5040 13924 { 13925 yyVAL.str = string(yyDollar[3].str) 13926 } 13927 case 1005: 13928 yyDollar = yyS[yypt-3 : yypt+1] 13929 //line sql.y:5044 13930 { 13931 yyVAL.str = string(yyDollar[3].str) 13932 } 13933 case 1006: 13934 yyDollar = yyS[yypt-3 : yypt+1] 13935 //line sql.y:5048 13936 { 13937 yyVAL.str = string(yyDollar[3].str) 13938 } 13939 case 1007: 13940 yyDollar = yyS[yypt-0 : yypt+1] 13941 //line sql.y:5053 13942 { 13943 yyVAL.str = "" 13944 } 13945 case 1008: 13946 yyDollar = yyS[yypt-3 : yypt+1] 13947 //line sql.y:5057 13948 { 13949 yyVAL.str = yyDollar[3].str 13950 } 13951 case 1009: 13952 yyDollar = yyS[yypt-1 : yypt+1] 13953 //line sql.y:5063 13954 { 13955 yyVAL.str = string(yyDollar[1].str) 13956 } 13957 case 1010: 13958 yyDollar = yyS[yypt-1 : yypt+1] 13959 //line sql.y:5067 13960 { 13961 yyVAL.str = string(yyDollar[1].str) 13962 } 13963 case 1011: 13964 yyDollar = yyS[yypt-0 : yypt+1] 13965 //line sql.y:5072 13966 { 13967 yyVAL.str = "" 13968 } 13969 case 1012: 13970 yyDollar = yyS[yypt-4 : yypt+1] 13971 //line sql.y:5076 13972 { 13973 yyVAL.str = yyDollar[2].str 13974 } 13975 case 1013: 13976 yyDollar = yyS[yypt-0 : yypt+1] 13977 //line sql.y:5081 13978 { 13979 yyVAL.str = "cascaded" 13980 } 13981 case 1014: 13982 yyDollar = yyS[yypt-1 : yypt+1] 13983 //line sql.y:5085 13984 { 13985 yyVAL.str = string(yyDollar[1].str) 13986 } 13987 case 1015: 13988 yyDollar = yyS[yypt-1 : yypt+1] 13989 //line sql.y:5089 13990 { 13991 yyVAL.str = string(yyDollar[1].str) 13992 } 13993 case 1016: 13994 yyDollar = yyS[yypt-0 : yypt+1] 13995 //line sql.y:5094 13996 { 13997 yyVAL.str = "" 13998 } 13999 case 1017: 14000 yyDollar = yyS[yypt-3 : yypt+1] 14001 //line sql.y:5098 14002 { 14003 yyVAL.str = yyDollar[3].str 14004 } 14005 case 1018: 14006 yyDollar = yyS[yypt-1 : yypt+1] 14007 //line sql.y:5104 14008 { 14009 yyVAL.str = string(yyDollar[1].str) 14010 } 14011 case 1019: 14012 yyDollar = yyS[yypt-3 : yypt+1] 14013 //line sql.y:5108 14014 { 14015 yyVAL.str = string(yyDollar[1].str) 14016 } 14017 case 1020: 14018 yyDollar = yyS[yypt-2 : yypt+1] 14019 //line sql.y:5112 14020 { 14021 yyVAL.str = encodeSQLString(yyDollar[1].str) + "@" + string(yyDollar[2].str) 14022 } 14023 case 1021: 14024 yyDollar = yyS[yypt-1 : yypt+1] 14025 //line sql.y:5116 14026 { 14027 yyVAL.str = string(yyDollar[1].str) 14028 } 14029 case 1022: 14030 yyDollar = yyS[yypt-2 : yypt+1] 14031 var yyLOCAL Lock 14032 //line sql.y:5122 14033 { 14034 yyLOCAL = ForUpdateLock 14035 } 14036 yyVAL.union = yyLOCAL 14037 case 1023: 14038 yyDollar = yyS[yypt-4 : yypt+1] 14039 var yyLOCAL Lock 14040 //line sql.y:5126 14041 { 14042 yyLOCAL = ShareModeLock 14043 } 14044 yyVAL.union = yyLOCAL 14045 case 1024: 14046 yyDollar = yyS[yypt-9 : yypt+1] 14047 var yyLOCAL *SelectInto 14048 //line sql.y:5132 14049 { 14050 yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].str, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} 14051 } 14052 yyVAL.union = yyLOCAL 14053 case 1025: 14054 yyDollar = yyS[yypt-3 : yypt+1] 14055 var yyLOCAL *SelectInto 14056 //line sql.y:5136 14057 { 14058 yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: "", FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} 14059 } 14060 yyVAL.union = yyLOCAL 14061 case 1026: 14062 yyDollar = yyS[yypt-5 : yypt+1] 14063 var yyLOCAL *SelectInto 14064 //line sql.y:5140 14065 { 14066 yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].str, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} 14067 } 14068 yyVAL.union = yyLOCAL 14069 case 1027: 14070 yyDollar = yyS[yypt-0 : yypt+1] 14071 //line sql.y:5145 14072 { 14073 yyVAL.str = "" 14074 } 14075 case 1028: 14076 yyDollar = yyS[yypt-3 : yypt+1] 14077 //line sql.y:5149 14078 { 14079 yyVAL.str = " format csv" + yyDollar[3].str 14080 } 14081 case 1029: 14082 yyDollar = yyS[yypt-3 : yypt+1] 14083 //line sql.y:5153 14084 { 14085 yyVAL.str = " format text" + yyDollar[3].str 14086 } 14087 case 1030: 14088 yyDollar = yyS[yypt-0 : yypt+1] 14089 //line sql.y:5158 14090 { 14091 yyVAL.str = "" 14092 } 14093 case 1031: 14094 yyDollar = yyS[yypt-1 : yypt+1] 14095 //line sql.y:5162 14096 { 14097 yyVAL.str = " header" 14098 } 14099 case 1032: 14100 yyDollar = yyS[yypt-0 : yypt+1] 14101 //line sql.y:5167 14102 { 14103 yyVAL.str = "" 14104 } 14105 case 1033: 14106 yyDollar = yyS[yypt-2 : yypt+1] 14107 //line sql.y:5171 14108 { 14109 yyVAL.str = " manifest on" 14110 } 14111 case 1034: 14112 yyDollar = yyS[yypt-2 : yypt+1] 14113 //line sql.y:5175 14114 { 14115 yyVAL.str = " manifest off" 14116 } 14117 case 1035: 14118 yyDollar = yyS[yypt-0 : yypt+1] 14119 //line sql.y:5180 14120 { 14121 yyVAL.str = "" 14122 } 14123 case 1036: 14124 yyDollar = yyS[yypt-2 : yypt+1] 14125 //line sql.y:5184 14126 { 14127 yyVAL.str = " overwrite on" 14128 } 14129 case 1037: 14130 yyDollar = yyS[yypt-2 : yypt+1] 14131 //line sql.y:5188 14132 { 14133 yyVAL.str = " overwrite off" 14134 } 14135 case 1038: 14136 yyDollar = yyS[yypt-2 : yypt+1] 14137 //line sql.y:5194 14138 { 14139 yyVAL.str = yyDollar[1].str + yyDollar[2].str 14140 } 14141 case 1039: 14142 yyDollar = yyS[yypt-0 : yypt+1] 14143 //line sql.y:5199 14144 { 14145 yyVAL.str = "" 14146 } 14147 case 1040: 14148 yyDollar = yyS[yypt-2 : yypt+1] 14149 //line sql.y:5203 14150 { 14151 yyVAL.str = " lines" + yyDollar[2].str 14152 } 14153 case 1041: 14154 yyDollar = yyS[yypt-1 : yypt+1] 14155 //line sql.y:5209 14156 { 14157 yyVAL.str = yyDollar[1].str 14158 } 14159 case 1042: 14160 yyDollar = yyS[yypt-2 : yypt+1] 14161 //line sql.y:5213 14162 { 14163 yyVAL.str = yyDollar[1].str + yyDollar[2].str 14164 } 14165 case 1043: 14166 yyDollar = yyS[yypt-3 : yypt+1] 14167 //line sql.y:5219 14168 { 14169 yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) 14170 } 14171 case 1044: 14172 yyDollar = yyS[yypt-3 : yypt+1] 14173 //line sql.y:5223 14174 { 14175 yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) 14176 } 14177 case 1045: 14178 yyDollar = yyS[yypt-0 : yypt+1] 14179 //line sql.y:5228 14180 { 14181 yyVAL.str = "" 14182 } 14183 case 1046: 14184 yyDollar = yyS[yypt-2 : yypt+1] 14185 //line sql.y:5232 14186 { 14187 yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str 14188 } 14189 case 1047: 14190 yyDollar = yyS[yypt-1 : yypt+1] 14191 //line sql.y:5238 14192 { 14193 yyVAL.str = yyDollar[1].str 14194 } 14195 case 1048: 14196 yyDollar = yyS[yypt-2 : yypt+1] 14197 //line sql.y:5242 14198 { 14199 yyVAL.str = yyDollar[1].str + yyDollar[2].str 14200 } 14201 case 1049: 14202 yyDollar = yyS[yypt-3 : yypt+1] 14203 //line sql.y:5248 14204 { 14205 yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) 14206 } 14207 case 1050: 14208 yyDollar = yyS[yypt-4 : yypt+1] 14209 //line sql.y:5252 14210 { 14211 yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) 14212 } 14213 case 1051: 14214 yyDollar = yyS[yypt-3 : yypt+1] 14215 //line sql.y:5256 14216 { 14217 yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) 14218 } 14219 case 1052: 14220 yyDollar = yyS[yypt-0 : yypt+1] 14221 //line sql.y:5261 14222 { 14223 yyVAL.str = "" 14224 } 14225 case 1053: 14226 yyDollar = yyS[yypt-1 : yypt+1] 14227 //line sql.y:5265 14228 { 14229 yyVAL.str = " optionally" 14230 } 14231 case 1054: 14232 yyDollar = yyS[yypt-2 : yypt+1] 14233 var yyLOCAL *Insert 14234 //line sql.y:5278 14235 { 14236 yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} 14237 } 14238 yyVAL.union = yyLOCAL 14239 case 1055: 14240 yyDollar = yyS[yypt-1 : yypt+1] 14241 var yyLOCAL *Insert 14242 //line sql.y:5282 14243 { 14244 yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} 14245 } 14246 yyVAL.union = yyLOCAL 14247 case 1056: 14248 yyDollar = yyS[yypt-5 : yypt+1] 14249 var yyLOCAL *Insert 14250 //line sql.y:5286 14251 { 14252 yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} 14253 } 14254 yyVAL.union = yyLOCAL 14255 case 1057: 14256 yyDollar = yyS[yypt-4 : yypt+1] 14257 var yyLOCAL *Insert 14258 //line sql.y:5290 14259 { 14260 yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} 14261 } 14262 yyVAL.union = yyLOCAL 14263 case 1058: 14264 yyDollar = yyS[yypt-4 : yypt+1] 14265 var yyLOCAL *Insert 14266 //line sql.y:5294 14267 { 14268 yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} 14269 } 14270 yyVAL.union = yyLOCAL 14271 case 1059: 14272 yyDollar = yyS[yypt-1 : yypt+1] 14273 var yyLOCAL Columns 14274 //line sql.y:5300 14275 { 14276 yyLOCAL = Columns{yyDollar[1].colIdent} 14277 } 14278 yyVAL.union = yyLOCAL 14279 case 1060: 14280 yyDollar = yyS[yypt-3 : yypt+1] 14281 var yyLOCAL Columns 14282 //line sql.y:5304 14283 { 14284 yyLOCAL = Columns{yyDollar[3].colIdent} 14285 } 14286 yyVAL.union = yyLOCAL 14287 case 1061: 14288 yyDollar = yyS[yypt-3 : yypt+1] 14289 //line sql.y:5308 14290 { 14291 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 14292 *yySLICE = append(*yySLICE, yyDollar[3].colIdent) 14293 } 14294 case 1062: 14295 yyDollar = yyS[yypt-5 : yypt+1] 14296 //line sql.y:5312 14297 { 14298 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 14299 *yySLICE = append(*yySLICE, yyDollar[5].colIdent) 14300 } 14301 case 1063: 14302 yyDollar = yyS[yypt-0 : yypt+1] 14303 var yyLOCAL UpdateExprs 14304 //line sql.y:5317 14305 { 14306 yyLOCAL = nil 14307 } 14308 yyVAL.union = yyLOCAL 14309 case 1064: 14310 yyDollar = yyS[yypt-5 : yypt+1] 14311 var yyLOCAL UpdateExprs 14312 //line sql.y:5321 14313 { 14314 yyLOCAL = yyDollar[5].updateExprsUnion() 14315 } 14316 yyVAL.union = yyLOCAL 14317 case 1065: 14318 yyDollar = yyS[yypt-1 : yypt+1] 14319 var yyLOCAL Values 14320 //line sql.y:5327 14321 { 14322 yyLOCAL = Values{yyDollar[1].valTupleUnion()} 14323 } 14324 yyVAL.union = yyLOCAL 14325 case 1066: 14326 yyDollar = yyS[yypt-3 : yypt+1] 14327 //line sql.y:5331 14328 { 14329 yySLICE := (*Values)(yyIaddr(yyVAL.union)) 14330 *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) 14331 } 14332 case 1067: 14333 yyDollar = yyS[yypt-1 : yypt+1] 14334 var yyLOCAL ValTuple 14335 //line sql.y:5337 14336 { 14337 yyLOCAL = yyDollar[1].valTupleUnion() 14338 } 14339 yyVAL.union = yyLOCAL 14340 case 1068: 14341 yyDollar = yyS[yypt-2 : yypt+1] 14342 var yyLOCAL ValTuple 14343 //line sql.y:5341 14344 { 14345 yyLOCAL = ValTuple{} 14346 } 14347 yyVAL.union = yyLOCAL 14348 case 1069: 14349 yyDollar = yyS[yypt-3 : yypt+1] 14350 var yyLOCAL ValTuple 14351 //line sql.y:5347 14352 { 14353 yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) 14354 } 14355 yyVAL.union = yyLOCAL 14356 case 1070: 14357 yyDollar = yyS[yypt-1 : yypt+1] 14358 var yyLOCAL Expr 14359 //line sql.y:5352 14360 { 14361 if len(yyDollar[1].valTupleUnion()) == 1 { 14362 yyLOCAL = yyDollar[1].valTupleUnion()[0] 14363 } else { 14364 yyLOCAL = yyDollar[1].valTupleUnion() 14365 } 14366 } 14367 yyVAL.union = yyLOCAL 14368 case 1071: 14369 yyDollar = yyS[yypt-1 : yypt+1] 14370 var yyLOCAL UpdateExprs 14371 //line sql.y:5362 14372 { 14373 yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} 14374 } 14375 yyVAL.union = yyLOCAL 14376 case 1072: 14377 yyDollar = yyS[yypt-3 : yypt+1] 14378 //line sql.y:5366 14379 { 14380 yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) 14381 *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) 14382 } 14383 case 1073: 14384 yyDollar = yyS[yypt-3 : yypt+1] 14385 var yyLOCAL *UpdateExpr 14386 //line sql.y:5372 14387 { 14388 yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} 14389 } 14390 yyVAL.union = yyLOCAL 14391 case 1074: 14392 yyDollar = yyS[yypt-1 : yypt+1] 14393 var yyLOCAL SetExprs 14394 //line sql.y:5378 14395 { 14396 yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} 14397 } 14398 yyVAL.union = yyLOCAL 14399 case 1075: 14400 yyDollar = yyS[yypt-3 : yypt+1] 14401 //line sql.y:5382 14402 { 14403 yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) 14404 *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) 14405 } 14406 case 1076: 14407 yyDollar = yyS[yypt-3 : yypt+1] 14408 var yyLOCAL *SetExpr 14409 //line sql.y:5388 14410 { 14411 yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} 14412 } 14413 yyVAL.union = yyLOCAL 14414 case 1077: 14415 yyDollar = yyS[yypt-3 : yypt+1] 14416 var yyLOCAL *SetExpr 14417 //line sql.y:5392 14418 { 14419 yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} 14420 } 14421 yyVAL.union = yyLOCAL 14422 case 1078: 14423 yyDollar = yyS[yypt-3 : yypt+1] 14424 var yyLOCAL *SetExpr 14425 //line sql.y:5396 14426 { 14427 yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} 14428 } 14429 yyVAL.union = yyLOCAL 14430 case 1079: 14431 yyDollar = yyS[yypt-3 : yypt+1] 14432 var yyLOCAL *SetExpr 14433 //line sql.y:5400 14434 { 14435 yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} 14436 } 14437 yyVAL.union = yyLOCAL 14438 case 1080: 14439 yyDollar = yyS[yypt-2 : yypt+1] 14440 var yyLOCAL *SetExpr 14441 //line sql.y:5404 14442 { 14443 yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() 14444 yyLOCAL = yyDollar[2].setExprUnion() 14445 } 14446 yyVAL.union = yyLOCAL 14447 case 1082: 14448 yyDollar = yyS[yypt-2 : yypt+1] 14449 //line sql.y:5412 14450 { 14451 yyVAL.str = "charset" 14452 } 14453 case 1085: 14454 yyDollar = yyS[yypt-1 : yypt+1] 14455 var yyLOCAL Expr 14456 //line sql.y:5422 14457 { 14458 yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) 14459 } 14460 yyVAL.union = yyLOCAL 14461 case 1086: 14462 yyDollar = yyS[yypt-1 : yypt+1] 14463 var yyLOCAL Expr 14464 //line sql.y:5426 14465 { 14466 yyLOCAL = NewStrLiteral(yyDollar[1].str) 14467 } 14468 yyVAL.union = yyLOCAL 14469 case 1087: 14470 yyDollar = yyS[yypt-1 : yypt+1] 14471 var yyLOCAL Expr 14472 //line sql.y:5430 14473 { 14474 yyLOCAL = &Default{} 14475 } 14476 yyVAL.union = yyLOCAL 14477 case 1090: 14478 yyDollar = yyS[yypt-0 : yypt+1] 14479 var yyLOCAL bool 14480 //line sql.y:5439 14481 { 14482 yyLOCAL = false 14483 } 14484 yyVAL.union = yyLOCAL 14485 case 1091: 14486 yyDollar = yyS[yypt-1 : yypt+1] 14487 var yyLOCAL bool 14488 //line sql.y:5441 14489 { 14490 yyLOCAL = true 14491 } 14492 yyVAL.union = yyLOCAL 14493 case 1092: 14494 yyDollar = yyS[yypt-0 : yypt+1] 14495 var yyLOCAL bool 14496 //line sql.y:5444 14497 { 14498 yyLOCAL = false 14499 } 14500 yyVAL.union = yyLOCAL 14501 case 1093: 14502 yyDollar = yyS[yypt-2 : yypt+1] 14503 var yyLOCAL bool 14504 //line sql.y:5446 14505 { 14506 yyLOCAL = true 14507 } 14508 yyVAL.union = yyLOCAL 14509 case 1094: 14510 yyDollar = yyS[yypt-0 : yypt+1] 14511 var yyLOCAL bool 14512 //line sql.y:5449 14513 { 14514 yyLOCAL = false 14515 } 14516 yyVAL.union = yyLOCAL 14517 case 1095: 14518 yyDollar = yyS[yypt-3 : yypt+1] 14519 var yyLOCAL bool 14520 //line sql.y:5451 14521 { 14522 yyLOCAL = true 14523 } 14524 yyVAL.union = yyLOCAL 14525 case 1096: 14526 yyDollar = yyS[yypt-0 : yypt+1] 14527 var yyLOCAL Ignore 14528 //line sql.y:5454 14529 { 14530 yyLOCAL = false 14531 } 14532 yyVAL.union = yyLOCAL 14533 case 1097: 14534 yyDollar = yyS[yypt-1 : yypt+1] 14535 var yyLOCAL Ignore 14536 //line sql.y:5456 14537 { 14538 yyLOCAL = true 14539 } 14540 yyVAL.union = yyLOCAL 14541 case 1098: 14542 yyDollar = yyS[yypt-0 : yypt+1] 14543 //line sql.y:5459 14544 { 14545 yyVAL.empty = struct{}{} 14546 } 14547 case 1099: 14548 yyDollar = yyS[yypt-1 : yypt+1] 14549 //line sql.y:5461 14550 { 14551 yyVAL.empty = struct{}{} 14552 } 14553 case 1100: 14554 yyDollar = yyS[yypt-1 : yypt+1] 14555 //line sql.y:5463 14556 { 14557 yyVAL.empty = struct{}{} 14558 } 14559 case 1101: 14560 yyDollar = yyS[yypt-5 : yypt+1] 14561 var yyLOCAL Statement 14562 //line sql.y:5467 14563 { 14564 yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} 14565 } 14566 yyVAL.union = yyLOCAL 14567 case 1102: 14568 yyDollar = yyS[yypt-0 : yypt+1] 14569 var yyLOCAL Exprs 14570 //line sql.y:5472 14571 { 14572 yyLOCAL = nil 14573 } 14574 yyVAL.union = yyLOCAL 14575 case 1103: 14576 yyDollar = yyS[yypt-1 : yypt+1] 14577 var yyLOCAL Exprs 14578 //line sql.y:5476 14579 { 14580 yyLOCAL = yyDollar[1].exprsUnion() 14581 } 14582 yyVAL.union = yyLOCAL 14583 case 1104: 14584 yyDollar = yyS[yypt-0 : yypt+1] 14585 var yyLOCAL []*IndexOption 14586 //line sql.y:5481 14587 { 14588 yyLOCAL = nil 14589 } 14590 yyVAL.union = yyLOCAL 14591 case 1105: 14592 yyDollar = yyS[yypt-1 : yypt+1] 14593 var yyLOCAL []*IndexOption 14594 //line sql.y:5483 14595 { 14596 yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} 14597 } 14598 yyVAL.union = yyLOCAL 14599 case 1106: 14600 yyDollar = yyS[yypt-2 : yypt+1] 14601 var yyLOCAL *IndexOption 14602 //line sql.y:5487 14603 { 14604 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} 14605 } 14606 yyVAL.union = yyLOCAL 14607 case 1107: 14608 yyDollar = yyS[yypt-1 : yypt+1] 14609 //line sql.y:5493 14610 { 14611 yyVAL.colIdent = yyDollar[1].colIdent 14612 } 14613 case 1108: 14614 yyDollar = yyS[yypt-1 : yypt+1] 14615 //line sql.y:5497 14616 { 14617 yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) 14618 } 14619 case 1110: 14620 yyDollar = yyS[yypt-1 : yypt+1] 14621 //line sql.y:5504 14622 { 14623 yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) 14624 } 14625 case 1111: 14626 yyDollar = yyS[yypt-1 : yypt+1] 14627 //line sql.y:5510 14628 { 14629 yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) 14630 } 14631 case 1112: 14632 yyDollar = yyS[yypt-1 : yypt+1] 14633 //line sql.y:5514 14634 { 14635 yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) 14636 } 14637 case 1113: 14638 yyDollar = yyS[yypt-0 : yypt+1] 14639 //line sql.y:5520 14640 { 14641 yyVAL.tableIdent = NewTableIdent("") 14642 } 14643 case 1114: 14644 yyDollar = yyS[yypt-1 : yypt+1] 14645 //line sql.y:5524 14646 { 14647 yyVAL.tableIdent = yyDollar[1].tableIdent 14648 } 14649 case 1116: 14650 yyDollar = yyS[yypt-1 : yypt+1] 14651 //line sql.y:5531 14652 { 14653 yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) 14654 } 14655 case 1559: 14656 yyDollar = yyS[yypt-1 : yypt+1] 14657 //line sql.y:5998 14658 { 14659 if incNesting(yylex) { 14660 yylex.Error("max nesting level reached") 14661 return 1 14662 } 14663 } 14664 case 1560: 14665 yyDollar = yyS[yypt-1 : yypt+1] 14666 //line sql.y:6007 14667 { 14668 decNesting(yylex) 14669 } 14670 case 1561: 14671 yyDollar = yyS[yypt-0 : yypt+1] 14672 //line sql.y:6012 14673 { 14674 skipToEnd(yylex) 14675 } 14676 case 1562: 14677 yyDollar = yyS[yypt-0 : yypt+1] 14678 //line sql.y:6017 14679 { 14680 skipToEnd(yylex) 14681 } 14682 case 1563: 14683 yyDollar = yyS[yypt-1 : yypt+1] 14684 //line sql.y:6021 14685 { 14686 skipToEnd(yylex) 14687 } 14688 case 1564: 14689 yyDollar = yyS[yypt-1 : yypt+1] 14690 //line sql.y:6025 14691 { 14692 skipToEnd(yylex) 14693 } 14694 } 14695 goto yystack /* stack new state and value */ 14696 }