github.com/matrixorigin/matrixone@v0.7.0/pkg/sql/parsers/dialect/mysql/mysql_sql.go (about) 1 // Code generated by goyacc -o mysql_sql.go mysql_sql.y. DO NOT EDIT. 2 3 //line mysql_sql.y:16 4 package mysql 5 6 import ( 7 __yyfmt__ "fmt" 8 __yyunsafe__ "unsafe" 9 ) 10 11 //line mysql_sql.y:16 12 13 import ( 14 "fmt" 15 "go/constant" 16 "strings" 17 18 "github.com/matrixorigin/matrixone/pkg/defines" 19 "github.com/matrixorigin/matrixone/pkg/sql/parsers/tree" 20 "github.com/matrixorigin/matrixone/pkg/sql/parsers/util" 21 ) 22 23 const LEX_ERROR = 57346 24 const EMPTY = 57347 25 const UNION = 57348 26 const EXCEPT = 57349 27 const INTERSECT = 57350 28 const MINUS = 57351 29 const SELECT = 57352 30 const STREAM = 57353 31 const INSERT = 57354 32 const UPDATE = 57355 33 const DELETE = 57356 34 const FROM = 57357 35 const WHERE = 57358 36 const GROUP = 57359 37 const HAVING = 57360 38 const ORDER = 57361 39 const BY = 57362 40 const LIMIT = 57363 41 const OFFSET = 57364 42 const FOR = 57365 43 const CONNECT = 57366 44 const MANAGE = 57367 45 const GRANTS = 57368 46 const OWNERSHIP = 57369 47 const REFERENCE = 57370 48 const LOWER_THAN_SET = 57371 49 const SET = 57372 50 const ALL = 57373 51 const DISTINCT = 57374 52 const DISTINCTROW = 57375 53 const AS = 57376 54 const EXISTS = 57377 55 const ASC = 57378 56 const DESC = 57379 57 const INTO = 57380 58 const DUPLICATE = 57381 59 const DEFAULT = 57382 60 const LOCK = 57383 61 const KEYS = 57384 62 const NULLS = 57385 63 const FIRST = 57386 64 const LAST = 57387 65 const VALUES = 57388 66 const NEXT = 57389 67 const VALUE = 57390 68 const SHARE = 57391 69 const MODE = 57392 70 const SQL_NO_CACHE = 57393 71 const SQL_CACHE = 57394 72 const JOIN = 57395 73 const STRAIGHT_JOIN = 57396 74 const LEFT = 57397 75 const RIGHT = 57398 76 const INNER = 57399 77 const OUTER = 57400 78 const CROSS = 57401 79 const NATURAL = 57402 80 const USE = 57403 81 const FORCE = 57404 82 const LOWER_THAN_ON = 57405 83 const ON = 57406 84 const USING = 57407 85 const SUBQUERY_AS_EXPR = 57408 86 const LOWER_THAN_STRING = 57409 87 const ID = 57410 88 const AT_ID = 57411 89 const AT_AT_ID = 57412 90 const STRING = 57413 91 const VALUE_ARG = 57414 92 const LIST_ARG = 57415 93 const COMMENT = 57416 94 const COMMENT_KEYWORD = 57417 95 const INTEGRAL = 57418 96 const HEX = 57419 97 const BIT_LITERAL = 57420 98 const FLOAT = 57421 99 const HEXNUM = 57422 100 const NULL = 57423 101 const TRUE = 57424 102 const FALSE = 57425 103 const LOWER_THAN_CHARSET = 57426 104 const CHARSET = 57427 105 const UNIQUE = 57428 106 const KEY = 57429 107 const OR = 57430 108 const PIPE_CONCAT = 57431 109 const XOR = 57432 110 const AND = 57433 111 const NOT = 57434 112 const BETWEEN = 57435 113 const CASE = 57436 114 const WHEN = 57437 115 const THEN = 57438 116 const ELSE = 57439 117 const END = 57440 118 const LOWER_THAN_EQ = 57441 119 const LE = 57442 120 const GE = 57443 121 const NE = 57444 122 const NULL_SAFE_EQUAL = 57445 123 const IS = 57446 124 const LIKE = 57447 125 const REGEXP = 57448 126 const IN = 57449 127 const ASSIGNMENT = 57450 128 const ILIKE = 57451 129 const SHIFT_LEFT = 57452 130 const SHIFT_RIGHT = 57453 131 const DIV = 57454 132 const MOD = 57455 133 const UNARY = 57456 134 const COLLATE = 57457 135 const BINARY = 57458 136 const UNDERSCORE_BINARY = 57459 137 const INTERVAL = 57460 138 const BEGIN = 57461 139 const START = 57462 140 const TRANSACTION = 57463 141 const COMMIT = 57464 142 const ROLLBACK = 57465 143 const WORK = 57466 144 const CONSISTENT = 57467 145 const SNAPSHOT = 57468 146 const CHAIN = 57469 147 const NO = 57470 148 const RELEASE = 57471 149 const PRIORITY = 57472 150 const QUICK = 57473 151 const BIT = 57474 152 const TINYINT = 57475 153 const SMALLINT = 57476 154 const MEDIUMINT = 57477 155 const INT = 57478 156 const INTEGER = 57479 157 const BIGINT = 57480 158 const INTNUM = 57481 159 const REAL = 57482 160 const DOUBLE = 57483 161 const FLOAT_TYPE = 57484 162 const DECIMAL = 57485 163 const NUMERIC = 57486 164 const DECIMAL_VALUE = 57487 165 const TIME = 57488 166 const TIMESTAMP = 57489 167 const DATETIME = 57490 168 const YEAR = 57491 169 const CHAR = 57492 170 const VARCHAR = 57493 171 const BOOL = 57494 172 const CHARACTER = 57495 173 const VARBINARY = 57496 174 const NCHAR = 57497 175 const TEXT = 57498 176 const TINYTEXT = 57499 177 const MEDIUMTEXT = 57500 178 const LONGTEXT = 57501 179 const BLOB = 57502 180 const TINYBLOB = 57503 181 const MEDIUMBLOB = 57504 182 const LONGBLOB = 57505 183 const JSON = 57506 184 const ENUM = 57507 185 const UUID = 57508 186 const GEOMETRY = 57509 187 const POINT = 57510 188 const LINESTRING = 57511 189 const POLYGON = 57512 190 const GEOMETRYCOLLECTION = 57513 191 const MULTIPOINT = 57514 192 const MULTILINESTRING = 57515 193 const MULTIPOLYGON = 57516 194 const INT1 = 57517 195 const INT2 = 57518 196 const INT3 = 57519 197 const INT4 = 57520 198 const INT8 = 57521 199 const S3OPTION = 57522 200 const SQL_SMALL_RESULT = 57523 201 const SQL_BIG_RESULT = 57524 202 const SQL_BUFFER_RESULT = 57525 203 const LOW_PRIORITY = 57526 204 const HIGH_PRIORITY = 57527 205 const DELAYED = 57528 206 const CREATE = 57529 207 const ALTER = 57530 208 const DROP = 57531 209 const RENAME = 57532 210 const ANALYZE = 57533 211 const ADD = 57534 212 const RETURNS = 57535 213 const SCHEMA = 57536 214 const TABLE = 57537 215 const INDEX = 57538 216 const VIEW = 57539 217 const TO = 57540 218 const IGNORE = 57541 219 const IF = 57542 220 const PRIMARY = 57543 221 const COLUMN = 57544 222 const CONSTRAINT = 57545 223 const SPATIAL = 57546 224 const FULLTEXT = 57547 225 const FOREIGN = 57548 226 const KEY_BLOCK_SIZE = 57549 227 const SHOW = 57550 228 const DESCRIBE = 57551 229 const EXPLAIN = 57552 230 const DATE = 57553 231 const ESCAPE = 57554 232 const REPAIR = 57555 233 const OPTIMIZE = 57556 234 const TRUNCATE = 57557 235 const MAXVALUE = 57558 236 const PARTITION = 57559 237 const REORGANIZE = 57560 238 const LESS = 57561 239 const THAN = 57562 240 const PROCEDURE = 57563 241 const TRIGGER = 57564 242 const STATUS = 57565 243 const VARIABLES = 57566 244 const ROLE = 57567 245 const PROXY = 57568 246 const AVG_ROW_LENGTH = 57569 247 const STORAGE = 57570 248 const DISK = 57571 249 const MEMORY = 57572 250 const CHECKSUM = 57573 251 const COMPRESSION = 57574 252 const DATA = 57575 253 const DIRECTORY = 57576 254 const DELAY_KEY_WRITE = 57577 255 const ENCRYPTION = 57578 256 const ENGINE = 57579 257 const MAX_ROWS = 57580 258 const MIN_ROWS = 57581 259 const PACK_KEYS = 57582 260 const ROW_FORMAT = 57583 261 const STATS_AUTO_RECALC = 57584 262 const STATS_PERSISTENT = 57585 263 const STATS_SAMPLE_PAGES = 57586 264 const DYNAMIC = 57587 265 const COMPRESSED = 57588 266 const REDUNDANT = 57589 267 const COMPACT = 57590 268 const FIXED = 57591 269 const COLUMN_FORMAT = 57592 270 const AUTO_RANDOM = 57593 271 const RESTRICT = 57594 272 const CASCADE = 57595 273 const ACTION = 57596 274 const PARTIAL = 57597 275 const SIMPLE = 57598 276 const CHECK = 57599 277 const ENFORCED = 57600 278 const RANGE = 57601 279 const LIST = 57602 280 const ALGORITHM = 57603 281 const LINEAR = 57604 282 const PARTITIONS = 57605 283 const SUBPARTITION = 57606 284 const SUBPARTITIONS = 57607 285 const CLUSTER = 57608 286 const TYPE = 57609 287 const ANY = 57610 288 const SOME = 57611 289 const EXTERNAL = 57612 290 const LOCALFILE = 57613 291 const URL = 57614 292 const PREPARE = 57615 293 const DEALLOCATE = 57616 294 const RESET = 57617 295 const EXTENSION = 57618 296 const PROPERTIES = 57619 297 const PARSER = 57620 298 const VISIBLE = 57621 299 const INVISIBLE = 57622 300 const BTREE = 57623 301 const HASH = 57624 302 const RTREE = 57625 303 const BSI = 57626 304 const ZONEMAP = 57627 305 const LEADING = 57628 306 const BOTH = 57629 307 const TRAILING = 57630 308 const UNKNOWN = 57631 309 const EXPIRE = 57632 310 const ACCOUNT = 57633 311 const ACCOUNTS = 57634 312 const UNLOCK = 57635 313 const DAY = 57636 314 const NEVER = 57637 315 const PUMP = 57638 316 const MYSQL_COMPATBILITY_MODE = 57639 317 const SECOND = 57640 318 const ASCII = 57641 319 const COALESCE = 57642 320 const COLLATION = 57643 321 const HOUR = 57644 322 const MICROSECOND = 57645 323 const MINUTE = 57646 324 const MONTH = 57647 325 const QUARTER = 57648 326 const REPEAT = 57649 327 const REVERSE = 57650 328 const ROW_COUNT = 57651 329 const WEEK = 57652 330 const REVOKE = 57653 331 const FUNCTION = 57654 332 const PRIVILEGES = 57655 333 const TABLESPACE = 57656 334 const EXECUTE = 57657 335 const SUPER = 57658 336 const GRANT = 57659 337 const OPTION = 57660 338 const REFERENCES = 57661 339 const REPLICATION = 57662 340 const SLAVE = 57663 341 const CLIENT = 57664 342 const USAGE = 57665 343 const RELOAD = 57666 344 const FILE = 57667 345 const TEMPORARY = 57668 346 const ROUTINE = 57669 347 const EVENT = 57670 348 const SHUTDOWN = 57671 349 const NULLX = 57672 350 const AUTO_INCREMENT = 57673 351 const APPROXNUM = 57674 352 const SIGNED = 57675 353 const UNSIGNED = 57676 354 const ZEROFILL = 57677 355 const ENGINES = 57678 356 const LOW_CARDINALITY = 57679 357 const ADMIN_NAME = 57680 358 const RANDOM = 57681 359 const SUSPEND = 57682 360 const ATTRIBUTE = 57683 361 const HISTORY = 57684 362 const REUSE = 57685 363 const CURRENT = 57686 364 const OPTIONAL = 57687 365 const FAILED_LOGIN_ATTEMPTS = 57688 366 const PASSWORD_LOCK_TIME = 57689 367 const UNBOUNDED = 57690 368 const SECONDARY = 57691 369 const USER = 57692 370 const IDENTIFIED = 57693 371 const CIPHER = 57694 372 const ISSUER = 57695 373 const X509 = 57696 374 const SUBJECT = 57697 375 const SAN = 57698 376 const REQUIRE = 57699 377 const SSL = 57700 378 const NONE = 57701 379 const PASSWORD = 57702 380 const MAX_QUERIES_PER_HOUR = 57703 381 const MAX_UPDATES_PER_HOUR = 57704 382 const MAX_CONNECTIONS_PER_HOUR = 57705 383 const MAX_USER_CONNECTIONS = 57706 384 const FORMAT = 57707 385 const VERBOSE = 57708 386 const CONNECTION = 57709 387 const TRIGGERS = 57710 388 const PROFILES = 57711 389 const LOAD = 57712 390 const INFILE = 57713 391 const TERMINATED = 57714 392 const OPTIONALLY = 57715 393 const ENCLOSED = 57716 394 const ESCAPED = 57717 395 const STARTING = 57718 396 const LINES = 57719 397 const ROWS = 57720 398 const IMPORT = 57721 399 const MODUMP = 57722 400 const OVER = 57723 401 const PRECEDING = 57724 402 const FOLLOWING = 57725 403 const GROUPS = 57726 404 const DATABASES = 57727 405 const TABLES = 57728 406 const EXTENDED = 57729 407 const FULL = 57730 408 const PROCESSLIST = 57731 409 const FIELDS = 57732 410 const COLUMNS = 57733 411 const OPEN = 57734 412 const ERRORS = 57735 413 const WARNINGS = 57736 414 const INDEXES = 57737 415 const SCHEMAS = 57738 416 const NODE = 57739 417 const LOCKS = 57740 418 const TABLE_NUMBER = 57741 419 const COLUMN_NUMBER = 57742 420 const TABLE_VALUES = 57743 421 const NAMES = 57744 422 const GLOBAL = 57745 423 const SESSION = 57746 424 const ISOLATION = 57747 425 const LEVEL = 57748 426 const READ = 57749 427 const WRITE = 57750 428 const ONLY = 57751 429 const REPEATABLE = 57752 430 const COMMITTED = 57753 431 const UNCOMMITTED = 57754 432 const SERIALIZABLE = 57755 433 const LOCAL = 57756 434 const EVENTS = 57757 435 const PLUGINS = 57758 436 const CURRENT_TIMESTAMP = 57759 437 const DATABASE = 57760 438 const CURRENT_TIME = 57761 439 const LOCALTIME = 57762 440 const LOCALTIMESTAMP = 57763 441 const UTC_DATE = 57764 442 const UTC_TIME = 57765 443 const UTC_TIMESTAMP = 57766 444 const REPLACE = 57767 445 const CONVERT = 57768 446 const SEPARATOR = 57769 447 const TIMESTAMPDIFF = 57770 448 const CURRENT_DATE = 57771 449 const CURRENT_USER = 57772 450 const CURRENT_ROLE = 57773 451 const SECOND_MICROSECOND = 57774 452 const MINUTE_MICROSECOND = 57775 453 const MINUTE_SECOND = 57776 454 const HOUR_MICROSECOND = 57777 455 const HOUR_SECOND = 57778 456 const HOUR_MINUTE = 57779 457 const DAY_MICROSECOND = 57780 458 const DAY_SECOND = 57781 459 const DAY_MINUTE = 57782 460 const DAY_HOUR = 57783 461 const YEAR_MONTH = 57784 462 const SQL_TSI_HOUR = 57785 463 const SQL_TSI_DAY = 57786 464 const SQL_TSI_WEEK = 57787 465 const SQL_TSI_MONTH = 57788 466 const SQL_TSI_QUARTER = 57789 467 const SQL_TSI_YEAR = 57790 468 const SQL_TSI_SECOND = 57791 469 const SQL_TSI_MINUTE = 57792 470 const RECURSIVE = 57793 471 const CONFIG = 57794 472 const DRAINER = 57795 473 const MATCH = 57796 474 const AGAINST = 57797 475 const BOOLEAN = 57798 476 const LANGUAGE = 57799 477 const WITH = 57800 478 const QUERY = 57801 479 const EXPANSION = 57802 480 const ADDDATE = 57803 481 const BIT_AND = 57804 482 const BIT_OR = 57805 483 const BIT_XOR = 57806 484 const CAST = 57807 485 const COUNT = 57808 486 const APPROX_COUNT_DISTINCT = 57809 487 const APPROX_PERCENTILE = 57810 488 const CURDATE = 57811 489 const CURTIME = 57812 490 const DATE_ADD = 57813 491 const DATE_SUB = 57814 492 const EXTRACT = 57815 493 const GROUP_CONCAT = 57816 494 const MAX = 57817 495 const MID = 57818 496 const MIN = 57819 497 const NOW = 57820 498 const POSITION = 57821 499 const SESSION_USER = 57822 500 const STD = 57823 501 const STDDEV = 57824 502 const MEDIAN = 57825 503 const STDDEV_POP = 57826 504 const STDDEV_SAMP = 57827 505 const SUBDATE = 57828 506 const SUBSTR = 57829 507 const SUBSTRING = 57830 508 const SUM = 57831 509 const SYSDATE = 57832 510 const SYSTEM_USER = 57833 511 const TRANSLATE = 57834 512 const TRIM = 57835 513 const VARIANCE = 57836 514 const VAR_POP = 57837 515 const VAR_SAMP = 57838 516 const AVG = 57839 517 const ARROW = 57840 518 const ROW = 57841 519 const OUTFILE = 57842 520 const HEADER = 57843 521 const MAX_FILE_SIZE = 57844 522 const FORCE_QUOTE = 57845 523 const PARALLEL = 57846 524 const UNUSED = 57847 525 const BINDINGS = 57848 526 const DO = 57849 527 const DECLARE = 57850 528 const KILL = 57851 529 const QUERY_RESULT = 57852 530 531 var yyToknames = [...]string{ 532 "$end", 533 "error", 534 "$unk", 535 "LEX_ERROR", 536 "EMPTY", 537 "UNION", 538 "EXCEPT", 539 "INTERSECT", 540 "MINUS", 541 "SELECT", 542 "STREAM", 543 "INSERT", 544 "UPDATE", 545 "DELETE", 546 "FROM", 547 "WHERE", 548 "GROUP", 549 "HAVING", 550 "ORDER", 551 "BY", 552 "LIMIT", 553 "OFFSET", 554 "FOR", 555 "CONNECT", 556 "MANAGE", 557 "GRANTS", 558 "OWNERSHIP", 559 "REFERENCE", 560 "LOWER_THAN_SET", 561 "SET", 562 "ALL", 563 "DISTINCT", 564 "DISTINCTROW", 565 "AS", 566 "EXISTS", 567 "ASC", 568 "DESC", 569 "INTO", 570 "DUPLICATE", 571 "DEFAULT", 572 "LOCK", 573 "KEYS", 574 "NULLS", 575 "FIRST", 576 "LAST", 577 "VALUES", 578 "NEXT", 579 "VALUE", 580 "SHARE", 581 "MODE", 582 "SQL_NO_CACHE", 583 "SQL_CACHE", 584 "JOIN", 585 "STRAIGHT_JOIN", 586 "LEFT", 587 "RIGHT", 588 "INNER", 589 "OUTER", 590 "CROSS", 591 "NATURAL", 592 "USE", 593 "FORCE", 594 "LOWER_THAN_ON", 595 "ON", 596 "USING", 597 "SUBQUERY_AS_EXPR", 598 "'('", 599 "')'", 600 "LOWER_THAN_STRING", 601 "ID", 602 "AT_ID", 603 "AT_AT_ID", 604 "STRING", 605 "VALUE_ARG", 606 "LIST_ARG", 607 "COMMENT", 608 "COMMENT_KEYWORD", 609 "INTEGRAL", 610 "HEX", 611 "BIT_LITERAL", 612 "FLOAT", 613 "HEXNUM", 614 "NULL", 615 "TRUE", 616 "FALSE", 617 "LOWER_THAN_CHARSET", 618 "CHARSET", 619 "UNIQUE", 620 "KEY", 621 "OR", 622 "PIPE_CONCAT", 623 "XOR", 624 "AND", 625 "NOT", 626 "'!'", 627 "BETWEEN", 628 "CASE", 629 "WHEN", 630 "THEN", 631 "ELSE", 632 "END", 633 "LOWER_THAN_EQ", 634 "'='", 635 "'<'", 636 "'>'", 637 "LE", 638 "GE", 639 "NE", 640 "NULL_SAFE_EQUAL", 641 "IS", 642 "LIKE", 643 "REGEXP", 644 "IN", 645 "ASSIGNMENT", 646 "ILIKE", 647 "'|'", 648 "'&'", 649 "SHIFT_LEFT", 650 "SHIFT_RIGHT", 651 "'+'", 652 "'-'", 653 "'*'", 654 "'/'", 655 "DIV", 656 "'%'", 657 "MOD", 658 "'^'", 659 "'~'", 660 "UNARY", 661 "COLLATE", 662 "BINARY", 663 "UNDERSCORE_BINARY", 664 "INTERVAL", 665 "'.'", 666 "','", 667 "BEGIN", 668 "START", 669 "TRANSACTION", 670 "COMMIT", 671 "ROLLBACK", 672 "WORK", 673 "CONSISTENT", 674 "SNAPSHOT", 675 "CHAIN", 676 "NO", 677 "RELEASE", 678 "PRIORITY", 679 "QUICK", 680 "BIT", 681 "TINYINT", 682 "SMALLINT", 683 "MEDIUMINT", 684 "INT", 685 "INTEGER", 686 "BIGINT", 687 "INTNUM", 688 "REAL", 689 "DOUBLE", 690 "FLOAT_TYPE", 691 "DECIMAL", 692 "NUMERIC", 693 "DECIMAL_VALUE", 694 "TIME", 695 "TIMESTAMP", 696 "DATETIME", 697 "YEAR", 698 "CHAR", 699 "VARCHAR", 700 "BOOL", 701 "CHARACTER", 702 "VARBINARY", 703 "NCHAR", 704 "TEXT", 705 "TINYTEXT", 706 "MEDIUMTEXT", 707 "LONGTEXT", 708 "BLOB", 709 "TINYBLOB", 710 "MEDIUMBLOB", 711 "LONGBLOB", 712 "JSON", 713 "ENUM", 714 "UUID", 715 "GEOMETRY", 716 "POINT", 717 "LINESTRING", 718 "POLYGON", 719 "GEOMETRYCOLLECTION", 720 "MULTIPOINT", 721 "MULTILINESTRING", 722 "MULTIPOLYGON", 723 "INT1", 724 "INT2", 725 "INT3", 726 "INT4", 727 "INT8", 728 "S3OPTION", 729 "SQL_SMALL_RESULT", 730 "SQL_BIG_RESULT", 731 "SQL_BUFFER_RESULT", 732 "LOW_PRIORITY", 733 "HIGH_PRIORITY", 734 "DELAYED", 735 "CREATE", 736 "ALTER", 737 "DROP", 738 "RENAME", 739 "ANALYZE", 740 "ADD", 741 "RETURNS", 742 "SCHEMA", 743 "TABLE", 744 "INDEX", 745 "VIEW", 746 "TO", 747 "IGNORE", 748 "IF", 749 "PRIMARY", 750 "COLUMN", 751 "CONSTRAINT", 752 "SPATIAL", 753 "FULLTEXT", 754 "FOREIGN", 755 "KEY_BLOCK_SIZE", 756 "SHOW", 757 "DESCRIBE", 758 "EXPLAIN", 759 "DATE", 760 "ESCAPE", 761 "REPAIR", 762 "OPTIMIZE", 763 "TRUNCATE", 764 "MAXVALUE", 765 "PARTITION", 766 "REORGANIZE", 767 "LESS", 768 "THAN", 769 "PROCEDURE", 770 "TRIGGER", 771 "STATUS", 772 "VARIABLES", 773 "ROLE", 774 "PROXY", 775 "AVG_ROW_LENGTH", 776 "STORAGE", 777 "DISK", 778 "MEMORY", 779 "CHECKSUM", 780 "COMPRESSION", 781 "DATA", 782 "DIRECTORY", 783 "DELAY_KEY_WRITE", 784 "ENCRYPTION", 785 "ENGINE", 786 "MAX_ROWS", 787 "MIN_ROWS", 788 "PACK_KEYS", 789 "ROW_FORMAT", 790 "STATS_AUTO_RECALC", 791 "STATS_PERSISTENT", 792 "STATS_SAMPLE_PAGES", 793 "DYNAMIC", 794 "COMPRESSED", 795 "REDUNDANT", 796 "COMPACT", 797 "FIXED", 798 "COLUMN_FORMAT", 799 "AUTO_RANDOM", 800 "RESTRICT", 801 "CASCADE", 802 "ACTION", 803 "PARTIAL", 804 "SIMPLE", 805 "CHECK", 806 "ENFORCED", 807 "RANGE", 808 "LIST", 809 "ALGORITHM", 810 "LINEAR", 811 "PARTITIONS", 812 "SUBPARTITION", 813 "SUBPARTITIONS", 814 "CLUSTER", 815 "TYPE", 816 "ANY", 817 "SOME", 818 "EXTERNAL", 819 "LOCALFILE", 820 "URL", 821 "PREPARE", 822 "DEALLOCATE", 823 "RESET", 824 "EXTENSION", 825 "PROPERTIES", 826 "PARSER", 827 "VISIBLE", 828 "INVISIBLE", 829 "BTREE", 830 "HASH", 831 "RTREE", 832 "BSI", 833 "ZONEMAP", 834 "LEADING", 835 "BOTH", 836 "TRAILING", 837 "UNKNOWN", 838 "EXPIRE", 839 "ACCOUNT", 840 "ACCOUNTS", 841 "UNLOCK", 842 "DAY", 843 "NEVER", 844 "PUMP", 845 "MYSQL_COMPATBILITY_MODE", 846 "SECOND", 847 "ASCII", 848 "COALESCE", 849 "COLLATION", 850 "HOUR", 851 "MICROSECOND", 852 "MINUTE", 853 "MONTH", 854 "QUARTER", 855 "REPEAT", 856 "REVERSE", 857 "ROW_COUNT", 858 "WEEK", 859 "REVOKE", 860 "FUNCTION", 861 "PRIVILEGES", 862 "TABLESPACE", 863 "EXECUTE", 864 "SUPER", 865 "GRANT", 866 "OPTION", 867 "REFERENCES", 868 "REPLICATION", 869 "SLAVE", 870 "CLIENT", 871 "USAGE", 872 "RELOAD", 873 "FILE", 874 "TEMPORARY", 875 "ROUTINE", 876 "EVENT", 877 "SHUTDOWN", 878 "NULLX", 879 "AUTO_INCREMENT", 880 "APPROXNUM", 881 "SIGNED", 882 "UNSIGNED", 883 "ZEROFILL", 884 "ENGINES", 885 "LOW_CARDINALITY", 886 "ADMIN_NAME", 887 "RANDOM", 888 "SUSPEND", 889 "ATTRIBUTE", 890 "HISTORY", 891 "REUSE", 892 "CURRENT", 893 "OPTIONAL", 894 "FAILED_LOGIN_ATTEMPTS", 895 "PASSWORD_LOCK_TIME", 896 "UNBOUNDED", 897 "SECONDARY", 898 "USER", 899 "IDENTIFIED", 900 "CIPHER", 901 "ISSUER", 902 "X509", 903 "SUBJECT", 904 "SAN", 905 "REQUIRE", 906 "SSL", 907 "NONE", 908 "PASSWORD", 909 "MAX_QUERIES_PER_HOUR", 910 "MAX_UPDATES_PER_HOUR", 911 "MAX_CONNECTIONS_PER_HOUR", 912 "MAX_USER_CONNECTIONS", 913 "FORMAT", 914 "VERBOSE", 915 "CONNECTION", 916 "TRIGGERS", 917 "PROFILES", 918 "LOAD", 919 "INFILE", 920 "TERMINATED", 921 "OPTIONALLY", 922 "ENCLOSED", 923 "ESCAPED", 924 "STARTING", 925 "LINES", 926 "ROWS", 927 "IMPORT", 928 "MODUMP", 929 "OVER", 930 "PRECEDING", 931 "FOLLOWING", 932 "GROUPS", 933 "DATABASES", 934 "TABLES", 935 "EXTENDED", 936 "FULL", 937 "PROCESSLIST", 938 "FIELDS", 939 "COLUMNS", 940 "OPEN", 941 "ERRORS", 942 "WARNINGS", 943 "INDEXES", 944 "SCHEMAS", 945 "NODE", 946 "LOCKS", 947 "TABLE_NUMBER", 948 "COLUMN_NUMBER", 949 "TABLE_VALUES", 950 "NAMES", 951 "GLOBAL", 952 "SESSION", 953 "ISOLATION", 954 "LEVEL", 955 "READ", 956 "WRITE", 957 "ONLY", 958 "REPEATABLE", 959 "COMMITTED", 960 "UNCOMMITTED", 961 "SERIALIZABLE", 962 "LOCAL", 963 "EVENTS", 964 "PLUGINS", 965 "CURRENT_TIMESTAMP", 966 "DATABASE", 967 "CURRENT_TIME", 968 "LOCALTIME", 969 "LOCALTIMESTAMP", 970 "UTC_DATE", 971 "UTC_TIME", 972 "UTC_TIMESTAMP", 973 "REPLACE", 974 "CONVERT", 975 "SEPARATOR", 976 "TIMESTAMPDIFF", 977 "CURRENT_DATE", 978 "CURRENT_USER", 979 "CURRENT_ROLE", 980 "SECOND_MICROSECOND", 981 "MINUTE_MICROSECOND", 982 "MINUTE_SECOND", 983 "HOUR_MICROSECOND", 984 "HOUR_SECOND", 985 "HOUR_MINUTE", 986 "DAY_MICROSECOND", 987 "DAY_SECOND", 988 "DAY_MINUTE", 989 "DAY_HOUR", 990 "YEAR_MONTH", 991 "SQL_TSI_HOUR", 992 "SQL_TSI_DAY", 993 "SQL_TSI_WEEK", 994 "SQL_TSI_MONTH", 995 "SQL_TSI_QUARTER", 996 "SQL_TSI_YEAR", 997 "SQL_TSI_SECOND", 998 "SQL_TSI_MINUTE", 999 "RECURSIVE", 1000 "CONFIG", 1001 "DRAINER", 1002 "MATCH", 1003 "AGAINST", 1004 "BOOLEAN", 1005 "LANGUAGE", 1006 "WITH", 1007 "QUERY", 1008 "EXPANSION", 1009 "ADDDATE", 1010 "BIT_AND", 1011 "BIT_OR", 1012 "BIT_XOR", 1013 "CAST", 1014 "COUNT", 1015 "APPROX_COUNT_DISTINCT", 1016 "APPROX_PERCENTILE", 1017 "CURDATE", 1018 "CURTIME", 1019 "DATE_ADD", 1020 "DATE_SUB", 1021 "EXTRACT", 1022 "GROUP_CONCAT", 1023 "MAX", 1024 "MID", 1025 "MIN", 1026 "NOW", 1027 "POSITION", 1028 "SESSION_USER", 1029 "STD", 1030 "STDDEV", 1031 "MEDIAN", 1032 "STDDEV_POP", 1033 "STDDEV_SAMP", 1034 "SUBDATE", 1035 "SUBSTR", 1036 "SUBSTRING", 1037 "SUM", 1038 "SYSDATE", 1039 "SYSTEM_USER", 1040 "TRANSLATE", 1041 "TRIM", 1042 "VARIANCE", 1043 "VAR_POP", 1044 "VAR_SAMP", 1045 "AVG", 1046 "ARROW", 1047 "ROW", 1048 "OUTFILE", 1049 "HEADER", 1050 "MAX_FILE_SIZE", 1051 "FORCE_QUOTE", 1052 "PARALLEL", 1053 "UNUSED", 1054 "BINDINGS", 1055 "DO", 1056 "DECLARE", 1057 "KILL", 1058 "QUERY_RESULT", 1059 "';'", 1060 "'@'", 1061 "'{'", 1062 "'}'", 1063 } 1064 1065 var yyStatenames = [...]string{} 1066 1067 const yyEofCode = 1 1068 const yyErrCode = 2 1069 const yyInitialStackSize = 16 1070 1071 //line mysql_sql.y:8499 1072 1073 //line yacctab:1 1074 var yyExca = [...]int{ 1075 -1, 1, 1076 1, -1, 1077 -2, 0, 1078 -1, 96, 1079 21, 555, 1080 -2, 536, 1081 -1, 104, 1082 213, 752, 1083 -2, 799, 1084 -1, 123, 1085 42, 386, 1086 213, 386, 1087 240, 393, 1088 241, 393, 1089 412, 386, 1090 -2, 416, 1091 -1, 436, 1092 289, 95, 1093 388, 95, 1094 -2, 1543, 1095 -1, 495, 1096 67, 1167, 1097 -2, 1683, 1098 -1, 496, 1099 67, 1185, 1100 -2, 1654, 1101 -1, 500, 1102 67, 1186, 1103 -2, 1682, 1104 -1, 522, 1105 67, 1100, 1106 -2, 1734, 1107 -1, 523, 1108 67, 1101, 1109 -2, 1733, 1110 -1, 524, 1111 67, 1102, 1112 -2, 1723, 1113 -1, 525, 1114 67, 1698, 1115 -2, 1718, 1116 -1, 526, 1117 67, 1699, 1118 -2, 1719, 1119 -1, 527, 1120 67, 1700, 1121 -2, 1725, 1122 -1, 528, 1123 67, 1701, 1124 -2, 1708, 1125 -1, 529, 1126 67, 1702, 1127 -2, 1716, 1128 -1, 530, 1129 67, 1703, 1130 -2, 1726, 1131 -1, 531, 1132 67, 1704, 1133 -2, 1727, 1134 -1, 532, 1135 67, 1705, 1136 -2, 1732, 1137 -1, 533, 1138 67, 1706, 1139 -2, 1737, 1140 -1, 534, 1141 67, 1707, 1142 -2, 1738, 1143 -1, 536, 1144 67, 1164, 1145 -2, 1535, 1146 -1, 543, 1147 67, 1173, 1148 -2, 1561, 1149 -1, 547, 1150 67, 1177, 1151 -2, 1600, 1152 -1, 548, 1153 67, 1178, 1154 -2, 1678, 1155 -1, 556, 1156 67, 1188, 1157 -2, 1663, 1158 -1, 558, 1159 67, 1190, 1160 -2, 1673, 1161 -1, 559, 1162 67, 1191, 1163 -2, 1696, 1164 -1, 570, 1165 67, 1082, 1166 -2, 1728, 1167 -1, 571, 1168 67, 1083, 1169 -2, 1729, 1170 -1, 572, 1171 67, 1084, 1172 -2, 1730, 1173 -1, 579, 1174 21, 556, 1175 -2, 519, 1176 -1, 634, 1177 407, 416, 1178 408, 416, 1179 -2, 387, 1180 -1, 679, 1181 103, 1535, 1182 114, 1535, 1183 134, 1535, 1184 -2, 1328, 1185 -1, 721, 1186 21, 556, 1187 -2, 519, 1188 -1, 821, 1189 21, 555, 1190 -2, 989, 1191 -1, 1149, 1192 67, 1235, 1193 -2, 1680, 1194 -1, 1150, 1195 67, 1236, 1196 -2, 1681, 1197 -1, 1311, 1198 1, 778, 1199 68, 778, 1200 528, 778, 1201 -2, 785, 1202 -1, 1445, 1203 134, 1338, 1204 -2, 1336, 1205 -1, 1447, 1206 134, 680, 1207 -2, 1333, 1208 -1, 1448, 1209 134, 681, 1210 -2, 1334, 1211 -1, 1744, 1212 68, 1314, 1213 135, 1314, 1214 -2, 1665, 1215 -1, 1745, 1216 68, 1310, 1217 135, 1310, 1218 -2, 1664, 1219 -1, 1746, 1220 68, 1292, 1221 135, 1292, 1222 -2, 1651, 1223 -1, 1747, 1224 68, 1293, 1225 135, 1293, 1226 -2, 1656, 1227 -1, 1748, 1228 68, 1294, 1229 135, 1294, 1230 -2, 1588, 1231 -1, 1749, 1232 68, 1295, 1233 135, 1295, 1234 -2, 1582, 1235 -1, 1750, 1236 68, 1296, 1237 135, 1296, 1238 -2, 1526, 1239 -1, 1751, 1240 68, 1297, 1241 135, 1297, 1242 -2, 1653, 1243 -1, 1752, 1244 68, 1298, 1245 135, 1298, 1246 -2, 1586, 1247 -1, 1753, 1248 68, 1299, 1249 135, 1299, 1250 -2, 1581, 1251 -1, 1754, 1252 68, 1300, 1253 135, 1300, 1254 -2, 1574, 1255 -1, 1756, 1256 68, 1303, 1257 135, 1303, 1258 -2, 1696, 1259 -1, 1757, 1260 68, 1283, 1261 135, 1283, 1262 -2, 1683, 1263 -1, 1758, 1264 68, 1312, 1265 135, 1312, 1266 -2, 1654, 1267 -1, 1759, 1268 68, 1312, 1269 135, 1312, 1270 -2, 1682, 1271 -1, 1760, 1272 68, 1312, 1273 135, 1312, 1274 -2, 1544, 1275 -1, 1761, 1276 68, 1310, 1277 135, 1310, 1278 -2, 1673, 1279 -1, 1762, 1280 68, 1307, 1281 135, 1307, 1282 -2, 1566, 1283 -1, 1763, 1284 67, 1265, 1285 68, 1265, 1286 135, 1265, 1287 350, 1265, 1288 351, 1265, 1289 352, 1265, 1290 -2, 1525, 1291 -1, 1764, 1292 67, 1266, 1293 68, 1266, 1294 135, 1266, 1295 350, 1266, 1296 351, 1266, 1297 352, 1266, 1298 -2, 1527, 1299 -1, 1765, 1300 67, 1269, 1301 68, 1269, 1302 135, 1269, 1303 350, 1269, 1304 351, 1269, 1305 352, 1269, 1306 -2, 1655, 1307 -1, 1766, 1308 67, 1271, 1309 68, 1271, 1310 135, 1271, 1311 350, 1271, 1312 351, 1271, 1313 352, 1271, 1314 -2, 1638, 1315 -1, 1767, 1316 67, 1273, 1317 68, 1273, 1318 135, 1273, 1319 350, 1273, 1320 351, 1273, 1321 352, 1273, 1322 -2, 1587, 1323 -1, 1768, 1324 67, 1275, 1325 68, 1275, 1326 135, 1275, 1327 350, 1275, 1328 351, 1275, 1329 352, 1275, 1330 -2, 1570, 1331 -1, 1769, 1332 67, 1276, 1333 68, 1276, 1334 135, 1276, 1335 350, 1276, 1336 351, 1276, 1337 352, 1276, 1338 -2, 1571, 1339 -1, 1770, 1340 67, 1278, 1341 68, 1278, 1342 135, 1278, 1343 350, 1278, 1344 351, 1278, 1345 352, 1278, 1346 -2, 1524, 1347 -1, 1771, 1348 68, 1317, 1349 135, 1317, 1350 350, 1317, 1351 351, 1317, 1352 352, 1317, 1353 -2, 1549, 1354 -1, 1772, 1355 68, 1317, 1356 135, 1317, 1357 350, 1317, 1358 351, 1317, 1359 352, 1317, 1360 -2, 1562, 1361 -1, 1773, 1362 68, 1320, 1363 135, 1320, 1364 350, 1320, 1365 351, 1320, 1366 352, 1320, 1367 -2, 1545, 1368 -1, 1774, 1369 68, 1317, 1370 135, 1317, 1371 350, 1317, 1372 351, 1317, 1373 352, 1317, 1374 -2, 1623, 1375 -1, 1787, 1376 1, 779, 1377 68, 779, 1378 528, 779, 1379 -2, 785, 1380 -1, 1846, 1381 21, 555, 1382 -2, 647, 1383 -1, 2027, 1384 65, 462, 1385 135, 462, 1386 -2, 894, 1387 -1, 2329, 1388 87, 785, 1389 130, 785, 1390 167, 785, 1391 170, 785, 1392 -2, 842, 1393 -1, 2331, 1394 274, 957, 1395 -2, 936, 1396 -1, 2342, 1397 87, 785, 1398 130, 785, 1399 167, 785, 1400 170, 785, 1401 -2, 842, 1402 -1, 2345, 1403 65, 462, 1404 135, 462, 1405 -2, 895, 1406 -1, 2397, 1407 87, 785, 1408 130, 785, 1409 167, 785, 1410 170, 785, 1411 -2, 843, 1412 -1, 2425, 1413 274, 957, 1414 -2, 937, 1415 -1, 2834, 1416 68, 814, 1417 135, 814, 1418 -2, 785, 1419 -1, 2838, 1420 68, 814, 1421 135, 814, 1422 -2, 785, 1423 -1, 2852, 1424 68, 818, 1425 135, 818, 1426 -2, 785, 1427 -1, 2857, 1428 68, 819, 1429 135, 819, 1430 -2, 785, 1431 } 1432 1433 const yyPrivate = 57344 1434 1435 const yyLast = 30528 1436 1437 var yyAct = [...]int{ 1438 467, 2398, 2838, 1216, 2846, 2837, 2814, 1129, 2686, 448, 1439 2761, 469, 2437, 2803, 2718, 2747, 2646, 446, 2626, 2748, 1440 1843, 2576, 2377, 849, 1734, 1403, 2583, 2392, 1125, 2567, 1441 2369, 2587, 1035, 2276, 2634, 1839, 2393, 493, 2475, 2498, 1442 144, 144, 147, 2277, 580, 2447, 144, 383, 390, 2375, 1443 987, 390, 2325, 678, 2467, 1318, 2030, 2215, 2396, 2426, 1444 2001, 1270, 2394, 1132, 2211, 1877, 1431, 1071, 2446, 1386, 1445 2313, 2049, 2050, 2220, 1356, 2335, 1838, 1364, 2216, 395, 1446 450, 2274, 1918, 2268, 401, 1637, 1742, 2071, 950, 1886, 1447 2187, 438, 1885, 2190, 575, 1796, 440, 2251, 966, 2185, 1448 715, 1740, 2091, 2136, 1268, 2209, 1917, 615, 445, 1633, 1449 1442, 1445, 1432, 1273, 1320, 1438, 2085, 143, 143, 1439, 1450 1379, 1632, 684, 374, 1287, 1215, 964, 2003, 1359, 1998, 1451 1357, 575, 387, 19, 1827, 3, 688, 43, 1330, 1307, 1452 1960, 388, 32, 144, 384, 8, 1795, 385, 6, 687, 1453 31, 386, 7, 1880, 885, 1123, 1295, 1666, 1634, 1788, 1454 709, 1062, 449, 1278, 2401, 1738, 1044, 1437, 1383, 1780, 1455 708, 977, 95, 406, 1328, 1644, 1722, 638, 682, 1128, 1456 1329, 437, 710, 43, 1648, 1163, 1179, 457, 379, 447, 1457 1114, 732, 1426, 1408, 930, 1841, 1122, 670, 1848, 614, 1458 1306, 973, 1344, 376, 1186, 403, 1027, 16, 1014, 577, 1459 1185, 988, 9, 389, 1061, 4, 136, 671, 133, 579, 1460 717, 2129, 404, 948, 2129, 612, 1920, 630, 1651, 1641, 1461 1331, 139, 138, 2564, 2468, 1878, 2275, 1291, 2669, 844, 1462 1434, 578, 850, 137, 137, 398, 39, 125, 105, 137, 1463 588, 2677, 137, 137, 752, 137, 1905, 137, 137, 39, 1464 125, 105, 372, 1081, 393, 1016, 2385, 1638, 2384, 2704, 1465 1913, 19, 2159, 1649, 707, 43, 785, 652, 1864, 1078, 1466 32, 786, 1865, 8, 137, 2284, 6, 2736, 31, 2106, 1467 7, 94, 137, 2000, 39, 125, 105, 1367, 1368, 2734, 1468 1080, 134, 984, 1000, 399, 1001, 134, 685, 1397, 134, 1469 134, 574, 134, 900, 134, 1074, 1017, 993, 994, 1881, 1470 94, 648, 565, 140, 564, 566, 567, 991, 568, 569, 1471 990, 993, 994, 441, 1340, 767, 1067, 768, 1131, 400, 1472 784, 134, 589, 681, 680, 1999, 1961, 2751, 2752, 134, 1473 2670, 2671, 2722, 2723, 2473, 1099, 790, 791, 792, 789, 1474 2476, 2477, 2478, 2479, 2278, 770, 2484, 2092, 2569, 2569, 1475 2093, 653, 2094, 2572, 2470, 2278, 144, 725, 1900, 779, 1476 726, 2582, 2292, 1376, 2314, 1115, 735, 1119, 1134, 1645, 1477 1380, 1372, 390, 390, 2321, 144, 1110, 1820, 2676, 1779, 1478 900, 1719, 1262, 1261, 1993, 2201, 581, 2122, 2390, 782, 1479 783, 1118, 2490, 2444, 888, 2191, 781, 720, 722, 1910, 1480 1221, 2124, 434, 755, 2006, 435, 2046, 1822, 2493, 2387, 1481 655, 765, 908, 912, 914, 916, 918, 919, 921, 724, 1482 925, 922, 923, 924, 1890, 2729, 903, 904, 905, 906, 1483 886, 887, 909, 723, 889, 823, 890, 891, 892, 893, 1484 894, 895, 896, 897, 898, 899, 901, 907, 2588, 719, 1485 2679, 2680, 743, 982, 392, 911, 913, 915, 917, 920, 1486 2750, 1120, 735, 747, 391, 2483, 104, 1133, 135, 2195, 1487 766, 2485, 1141, 1144, 1145, 2738, 721, 2549, 654, 1650, 1488 2831, 888, 1117, 1142, 2847, 878, 2771, 123, 2733, 2688, 1489 2711, 902, 1655, 1657, 1658, 2778, 2694, 43, 43, 908, 1490 912, 914, 916, 918, 919, 921, 1002, 925, 922, 923, 1491 924, 1395, 1396, 903, 904, 905, 906, 886, 887, 909, 1492 683, 889, 972, 890, 891, 892, 893, 894, 895, 896, 1493 897, 898, 899, 901, 907, 685, 1010, 1073, 769, 2199, 1494 737, 736, 911, 913, 915, 917, 920, 777, 778, 728, 1495 729, 760, 2648, 762, 693, 692, 694, 2635, 2636, 2637, 1496 2639, 2638, 2193, 2014, 2015, 2016, 2017, 2684, 2685, 2542, 1497 2688, 947, 949, 2825, 1639, 2511, 1639, 2510, 902, 439, 1498 2012, 763, 2740, 2741, 691, 740, 741, 1639, 1116, 1023, 1499 2815, 2196, 2197, 2537, 615, 1022, 745, 2296, 1004, 744, 1500 2128, 927, 986, 985, 685, 2806, 2198, 993, 994, 971, 1501 730, 970, 2848, 1934, 1935, 2854, 2842, 2499, 2305, 993, 1502 994, 716, 825, 826, 827, 828, 829, 1667, 951, 2678, 1503 399, 2566, 696, 992, 1015, 1012, 737, 736, 1906, 1855, 1504 879, 2073, 2075, 2533, 2224, 2672, 2673, 756, 752, 1642, 1505 689, 2611, 983, 575, 575, 575, 40, 955, 1039, 1039, 1506 989, 144, 952, 953, 954, 1652, 956, 1640, 578, 40, 1507 758, 697, 2202, 2005, 1381, 2491, 2192, 390, 949, 1065, 1508 1065, 1068, 761, 764, 2125, 2739, 1037, 1037, 106, 106, 1509 2132, 1041, 2127, 959, 106, 1143, 787, 106, 106, 1076, 1510 106, 2386, 106, 106, 980, 1914, 757, 958, 1375, 690, 1511 2391, 996, 997, 1046, 999, 1656, 1373, 957, 746, 1097, 1512 2807, 1111, 394, 1653, 859, 860, 2009, 2010, 751, 106, 1513 2181, 961, 1039, 2647, 1039, 725, 910, 106, 1045, 2841, 1514 2008, 2194, 609, 610, 611, 2138, 2137, 1854, 1853, 1370, 1515 772, 1082, 773, 2077, 1852, 1020, 793, 1371, 1938, 683, 1516 1851, 1092, 1093, 2221, 2224, 822, 1018, 1019, 2225, 658, 1517 1369, 657, 932, 831, 759, 582, 979, 695, 934, 2788, 1518 775, 2853, 788, 1893, 925, 922, 923, 924, 582, 579, 1519 1943, 1321, 1942, 1941, 1939, 837, 2074, 1130, 2248, 2538, 1520 2539, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1521 1160, 1161, 1162, 2229, 752, 1011, 1184, 1174, 1175, 963, 1522 2330, 1321, 1003, 910, 1005, 1230, 1879, 1782, 1728, 1905, 1523 1897, 1135, 2028, 974, 978, 978, 1236, 1072, 1837, 995, 1524 1995, 1079, 998, 1127, 2804, 2805, 771, 43, 1243, 1244, 1525 1096, 974, 1105, 974, 1238, 1940, 43, 1867, 1095, 575, 1526 661, 1106, 1033, 1034, 1102, 2535, 975, 1101, 1021, 2534, 1527 1030, 1031, 1032, 2612, 2614, 2615, 2616, 2613, 1008, 1009, 1528 1047, 1013, 776, 2029, 1146, 1108, 649, 372, 2225, 1638, 1529 1059, 788, 1695, 2218, 1066, 1694, 1083, 2219, 2222, 1088, 1530 2860, 1060, 2812, 2859, 928, 774, 1733, 1284, 660, 2850, 1531 1837, 1124, 663, 662, 1084, 1052, 1053, 1054, 1055, 1056, 1532 1057, 1058, 1781, 1867, 579, 2832, 1263, 1104, 1411, 2020, 1533 1269, 144, 1103, 1305, 1039, 1100, 1121, 1311, 1699, 2827, 1534 2248, 1629, 2818, 615, 1229, 1217, 1319, 1220, 1277, 2223, 1535 1039, 1231, 2029, 2817, 1012, 1126, 1310, 2792, 1285, 383, 1536 649, 1237, 788, 1239, 976, 2763, 651, 788, 2758, 650, 1537 788, 1266, 700, 705, 706, 2753, 2851, 1944, 1945, 1288, 1538 2742, 1345, 1345, 1165, 1012, 718, 1012, 1172, 1173, 144, 1539 1305, 1305, 1647, 1393, 1039, 1366, 1836, 1113, 1275, 1276, 1540 962, 1343, 1112, 2505, 1177, 575, 2828, 1039, 1302, 1647, 1541 2712, 2709, 1064, 1064, 1732, 790, 791, 792, 789, 1309, 1542 1647, 1024, 1304, 2320, 1647, 2765, 1312, 1313, 1314, 2708, 1543 2707, 1219, 2764, 1305, 1039, 2495, 1402, 144, 144, 2348, 1544 651, 1392, 2495, 650, 2706, 1413, 1240, 1867, 1409, 144, 1545 1327, 2230, 2021, 2696, 2559, 1230, 1430, 2558, 2494, 709, 1546 2157, 1230, 1230, 1405, 1336, 1337, 1350, 1280, 2373, 1283, 1547 2087, 1347, 805, 750, 1419, 1334, 1258, 2713, 2495, 1351, 1548 1352, 710, 790, 791, 792, 789, 1447, 2096, 1377, 2068, 1549 1319, 1341, 1342, 749, 1039, 2234, 2495, 2495, 1333, 1984, 1550 1982, 1837, 1136, 1137, 1138, 1139, 1140, 1292, 1448, 1980, 1551 1338, 2495, 1978, 1308, 1404, 1404, 1382, 752, 1286, 1401, 1552 2697, 2560, 1399, 1966, 1800, 2495, 1404, 1731, 1922, 1324, 1553 1903, 1895, 1891, 1887, 1799, 2097, 2031, 1322, 1323, 702, 1554 703, 704, 1316, 1729, 1339, 1630, 1181, 1182, 1183, 1315, 1555 1660, 1908, 1326, 1218, 2097, 1703, 1837, 1224, 1348, 1702, 1556 1349, 1678, 1332, 1303, 750, 1180, 1985, 1983, 1664, 1665, 1557 1646, 1089, 1850, 1308, 1428, 659, 1979, 1907, 607, 1979, 1558 1428, 974, 1390, 1391, 1346, 1899, 790, 791, 792, 789, 1559 788, 1816, 1335, 1355, 1354, 788, 2121, 1800, 1888, 1892, 1560 1888, 1800, 1378, 978, 1691, 1679, 43, 1628, 1416, 1406, 1561 1728, 1301, 1085, 1124, 926, 835, 738, 1387, 1388, 1389, 1562 718, 1398, 788, 1223, 1222, 1700, 788, 685, 2119, 1026, 1563 1400, 1677, 1707, 685, 1929, 2801, 975, 1647, 1090, 718, 1564 1417, 1028, 967, 1289, 2789, 1636, 968, 1293, 2120, 2002, 1565 1296, 2698, 1029, 1435, 2249, 2244, 2130, 1440, 1626, 1441, 1566 2047, 1446, 1627, 1241, 1242, 2726, 1898, 1245, 1246, 1247, 1567 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1857, 1568 438, 725, 1775, 1631, 808, 809, 810, 811, 812, 805, 1569 727, 1206, 789, 144, 144, 144, 1797, 1635, 2545, 1180, 1570 1654, 1673, 792, 789, 656, 664, 2544, 1012, 2339, 1025, 1571 2528, 1668, 2334, 2095, 1249, 1659, 1809, 2622, 2620, 685, 1572 806, 807, 808, 809, 810, 811, 812, 805, 1012, 2836, 1573 2821, 2772, 709, 1661, 976, 1165, 2767, 2659, 1662, 1663, 1574 2824, 1289, 2628, 1743, 1366, 1672, 2150, 1289, 1289, 2606, 1575 1171, 2618, 470, 479, 710, 2621, 2619, 471, 2605, 478, 1576 472, 476, 475, 473, 474, 1168, 1170, 1167, 1206, 1169, 1577 1791, 1792, 1793, 1039, 144, 796, 797, 798, 799, 800, 1578 801, 802, 794, 2823, 1844, 1844, 2604, 1844, 725, 2617, 1579 1065, 2149, 1366, 1808, 2601, 1872, 1687, 1874, 1234, 2608, 1580 2388, 1862, 2595, 2592, 2318, 1230, 1305, 2591, 1235, 1776, 1581 2317, 480, 2186, 790, 791, 792, 789, 1812, 1847, 1845, 1582 2200, 1849, 1806, 2176, 790, 791, 792, 789, 2175, 1724, 1583 2115, 1810, 1811, 1931, 2089, 1727, 1202, 2607, 2389, 1726, 1584 1199, 477, 2319, 1725, 1201, 1198, 1200, 1204, 1205, 1686, 1585 1743, 1045, 1203, 2429, 1721, 1720, 1789, 1818, 1813, 1814, 1586 1086, 1737, 2745, 945, 1783, 2744, 1871, 711, 712, 713, 1587 1883, 790, 791, 792, 789, 1889, 2627, 2439, 603, 1804, 1588 434, 1805, 1807, 435, 790, 791, 792, 789, 2728, 2370, 1589 2432, 1670, 1735, 1736, 1674, 1815, 2427, 790, 791, 792, 1590 789, 2442, 2443, 1869, 1823, 2724, 2692, 2428, 1817, 2586, 1591 2691, 2674, 1876, 1202, 2852, 2656, 685, 1199, 2609, 1953, 1592 2602, 1201, 1198, 1200, 1204, 1205, 2598, 2597, 2596, 1203, 1593 1682, 790, 791, 792, 789, 1685, 1858, 1859, 1860, 1689, 1594 1863, 2530, 2492, 2433, 2469, 2368, 790, 791, 792, 789, 1595 2366, 1870, 2352, 1868, 978, 2328, 1701, 2316, 2315, 1704, 1596 1705, 1706, 2312, 2302, 1709, 1710, 1711, 1712, 1713, 1714, 1597 1715, 1716, 1884, 1717, 1187, 1188, 1189, 1190, 1191, 1192, 1598 1193, 1194, 1195, 1196, 1197, 1209, 1210, 1211, 1212, 1213, 1599 1214, 1207, 1208, 2554, 790, 791, 792, 789, 2829, 2295, 1600 1919, 605, 2379, 2245, 592, 790, 791, 792, 789, 1901, 1601 2180, 602, 601, 2174, 2126, 790, 791, 792, 789, 1039, 1602 2090, 1039, 2080, 1039, 790, 791, 792, 789, 725, 2378, 1603 1730, 2441, 595, 2217, 2204, 1801, 804, 803, 813, 814, 1604 806, 807, 808, 809, 810, 811, 812, 805, 1723, 1911, 1605 1420, 790, 791, 792, 789, 1697, 521, 520, 2435, 1039, 1606 1947, 1418, 1209, 1210, 1211, 1212, 1213, 1214, 1207, 1208, 1607 1298, 1087, 1954, 600, 858, 854, 1039, 599, 853, 1675, 1608 2434, 2436, 836, 590, 714, 2699, 2575, 1037, 2342, 137, 1609 1915, 1946, 125, 105, 2341, 1956, 2329, 2307, 593, 2306, 1610 2301, 1289, 1289, 1289, 1037, 2299, 2288, 2267, 1955, 813, 1611 814, 806, 807, 808, 809, 810, 811, 812, 805, 591, 1612 2266, 2235, 2155, 1064, 2148, 1958, 2140, 790, 791, 792, 1613 789, 2153, 2135, 606, 2822, 790, 791, 792, 789, 2084, 1614 1994, 2152, 1933, 1981, 1912, 1977, 134, 137, 1976, 2444, 1615 1708, 1698, 1696, 790, 791, 792, 789, 594, 1927, 1693, 1616 1692, 2430, 1039, 790, 791, 792, 789, 2440, 1690, 1684, 1617 1904, 1681, 1902, 1680, 1909, 2027, 1233, 1232, 1986, 1051, 1618 1049, 2033, 804, 803, 813, 814, 806, 807, 808, 809, 1619 810, 811, 812, 805, 2849, 2800, 2794, 2042, 1124, 2779, 1620 1923, 1924, 2776, 1277, 134, 725, 1366, 1366, 1366, 1366, 1621 1996, 2774, 1937, 851, 2658, 2548, 2151, 725, 1366, 2835, 1622 1975, 2644, 2632, 2019, 1962, 604, 2629, 2624, 2561, 1967, 1623 2552, 2551, 2550, 2547, 1803, 1974, 1039, 1926, 790, 791, 1624 792, 789, 790, 791, 792, 789, 2541, 144, 144, 2526, 1625 1265, 2359, 2025, 1275, 1276, 2357, 2067, 790, 791, 792, 1626 789, 2045, 2340, 1844, 1987, 2323, 2161, 2051, 2034, 1230, 1627 1990, 1785, 1973, 2102, 1274, 1267, 2101, 965, 1230, 2051, 1628 2024, 2023, 2022, 1279, 2035, 1282, 1039, 1271, 2064, 1894, 1629 833, 1856, 2039, 2040, 790, 791, 792, 789, 1798, 1166, 1630 2113, 2011, 134, 2036, 1425, 1407, 1300, 2038, 1272, 1109, 1631 2258, 19, 1075, 929, 2032, 43, 1280, 877, 1283, 876, 1632 32, 2026, 2114, 8, 2082, 2083, 6, 2018, 31, 2044, 1633 7, 2048, 1789, 875, 2041, 2098, 2052, 2053, 2054, 2055, 1634 874, 1308, 873, 2108, 1288, 2066, 2065, 872, 2110, 579, 1635 2063, 871, 870, 869, 868, 867, 2076, 2078, 2081, 804, 1636 803, 813, 814, 806, 807, 808, 809, 810, 811, 812, 1637 805, 2118, 866, 2088, 865, 864, 725, 863, 2123, 862, 1638 2141, 861, 2189, 2143, 857, 2145, 2103, 1930, 2099, 856, 1639 2111, 2112, 855, 2109, 144, 2117, 1948, 1949, 852, 2105, 1640 2798, 1951, 1952, 725, 725, 725, 848, 2131, 1972, 1366, 1641 1797, 847, 2233, 1957, 2133, 845, 844, 2107, 2237, 2139, 1642 2037, 843, 842, 841, 2142, 840, 2189, 839, 2146, 2147, 1643 790, 791, 792, 789, 838, 834, 2144, 832, 1743, 754, 1644 2252, 2253, 1289, 742, 2784, 1988, 1989, 1296, 804, 803, 1645 813, 814, 806, 807, 808, 809, 810, 811, 812, 805, 1646 2206, 2207, 2208, 2782, 2749, 2214, 2214, 2214, 1947, 2255, 1647 2177, 2205, 2013, 1866, 1422, 1971, 753, 2182, 1305, 1970, 1648 2160, 2257, 1305, 2231, 2162, 2163, 2164, 2165, 2057, 2166, 1649 2167, 2168, 2169, 2170, 2171, 2172, 2173, 790, 791, 792, 1650 789, 790, 791, 792, 789, 2232, 2228, 2060, 144, 2226, 1651 2227, 2056, 2061, 144, 2100, 1424, 2243, 1969, 1896, 2184, 1652 2240, 1992, 2246, 2183, 2242, 482, 96, 2263, 2264, 2265, 1653 2236, 1423, 2256, 1968, 2238, 2239, 2273, 1790, 2260, 790, 1654 791, 792, 789, 2058, 2247, 2178, 2179, 2286, 2059, 1259, 1655 141, 1921, 2272, 2289, 1965, 790, 791, 792, 789, 2259, 1656 2062, 1882, 1833, 1834, 2362, 2241, 2361, 2283, 1916, 373, 1657 77, 1964, 96, 42, 2287, 931, 790, 791, 792, 789, 1658 1963, 2290, 41, 2581, 2291, 2293, 1069, 1039, 1039, 1777, 1659 2297, 368, 2294, 790, 791, 792, 789, 748, 2333, 1959, 1660 2360, 2043, 790, 791, 792, 789, 1735, 1736, 1289, 1950, 1661 1366, 2345, 1289, 1928, 369, 1037, 2326, 370, 2282, 2324, 1662 2285, 790, 791, 792, 789, 1997, 371, 1317, 1299, 725, 1663 2715, 790, 791, 792, 789, 790, 791, 792, 789, 2308, 1664 583, 584, 585, 586, 2311, 2134, 1821, 1353, 2310, 1223, 1665 1222, 1844, 1007, 582, 2364, 943, 944, 941, 942, 1006, 1666 686, 780, 725, 2262, 96, 1625, 969, 2154, 939, 940, 1667 2347, 933, 2353, 2336, 2332, 2336, 2795, 2338, 937, 938, 1668 2682, 2331, 2665, 1676, 2344, 2343, 2086, 2663, 2589, 2337, 1669 2574, 2051, 2573, 2571, 2351, 2562, 2466, 2465, 2382, 2355, 1670 2367, 2354, 1050, 2280, 725, 790, 791, 792, 789, 2279, 1671 2270, 725, 936, 582, 2269, 2448, 2450, 1321, 2448, 2448, 1672 2365, 2786, 2785, 2785, 2051, 2116, 2346, 1683, 2381, 739, 1673 2786, 2372, 2349, 2371, 1176, 2350, 2543, 2281, 1319, 981, 1674 2463, 2374, 803, 813, 814, 806, 807, 808, 809, 810, 1675 811, 812, 805, 50, 2383, 1394, 790, 791, 792, 789, 1676 1043, 2449, 1, 1297, 587, 2489, 2486, 2069, 2070, 2445, 1677 2261, 1824, 2072, 2214, 1643, 2423, 1819, 1778, 2203, 2501, 1678 960, 2457, 2347, 608, 2460, 2456, 2451, 2452, 1225, 583, 1679 584, 585, 586, 2461, 1829, 1832, 1833, 1834, 1830, 1094, 1680 1831, 1835, 582, 699, 2471, 734, 1091, 733, 2453, 1829, 1681 1832, 1833, 1834, 1830, 1039, 1831, 1835, 731, 2487, 1178, 1682 484, 1433, 2380, 2625, 2462, 144, 2714, 2529, 2760, 2657, 1683 2717, 1107, 468, 2565, 2450, 2504, 2496, 2472, 2458, 2459, 1684 2502, 2503, 2326, 2506, 2507, 2508, 2509, 2661, 2474, 2512, 1685 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 1686 2523, 2524, 2525, 2445, 2298, 2527, 2531, 2376, 2104, 626, 1687 515, 2300, 491, 846, 1077, 1070, 725, 2556, 2158, 2553, 1688 701, 490, 2590, 2557, 2322, 2007, 2555, 598, 698, 627, 1689 1718, 2563, 816, 2570, 820, 1260, 1281, 2568, 1264, 2845, 1690 2834, 2585, 2546, 2813, 2793, 2623, 96, 96, 686, 817, 1691 819, 815, 2584, 818, 804, 803, 813, 814, 806, 807, 1692 808, 809, 810, 811, 812, 805, 2687, 2830, 725, 2732, 1693 2603, 725, 725, 725, 2777, 2482, 2480, 1844, 2481, 2770, 1694 2683, 2651, 2654, 405, 1374, 2593, 2594, 573, 668, 2645, 1695 1421, 2599, 2600, 1802, 2675, 2633, 2631, 596, 2641, 2642, 1696 2643, 2630, 1784, 1289, 2640, 597, 2356, 1787, 2649, 2358, 1697 1786, 1147, 795, 2655, 1039, 1039, 1164, 821, 2662, 2668, 1698 2303, 2660, 2664, 2363, 2666, 2667, 2304, 830, 2650, 444, 1699 1671, 2681, 456, 2004, 2438, 2079, 49, 48, 47, 46, 1700 1412, 1443, 1037, 1037, 486, 144, 2689, 2690, 146, 1444, 1701 2653, 2719, 466, 725, 465, 464, 2796, 463, 1828, 1826, 1702 1825, 1361, 1360, 1410, 2746, 725, 2702, 2703, 2540, 2610, 1703 2695, 2536, 2532, 2693, 2701, 2397, 2424, 2425, 2431, 2721, 1704 2705, 884, 880, 882, 883, 881, 1936, 1932, 2212, 2213, 1705 2720, 2210, 2710, 946, 2454, 2488, 2309, 1741, 1739, 2254, 1706 2250, 1429, 1294, 725, 804, 803, 813, 814, 806, 807, 1707 808, 809, 810, 811, 812, 805, 2725, 1991, 1362, 1358, 1708 2455, 576, 1404, 33, 28, 5, 30, 2735, 2737, 29, 1709 14, 15, 13, 1098, 2759, 12, 2743, 18, 27, 26, 1710 25, 24, 2421, 87, 86, 2762, 23, 935, 85, 2497, 1711 84, 83, 725, 2754, 2755, 2756, 2757, 2727, 82, 2769, 1712 22, 11, 81, 80, 79, 2730, 21, 74, 2766, 20, 1713 2768, 75, 2773, 72, 2775, 73, 1790, 60, 59, 58, 1714 70, 69, 2780, 68, 2783, 2721, 2791, 2781, 67, 900, 1715 66, 2787, 65, 625, 57, 725, 2720, 725, 56, 2790, 1716 55, 54, 2797, 2839, 2799, 71, 64, 63, 62, 61, 1717 53, 52, 51, 2403, 1130, 103, 102, 2802, 2762, 2809, 1718 2808, 725, 101, 100, 2816, 99, 98, 34, 2820, 35, 1719 36, 37, 113, 2826, 112, 114, 2580, 115, 110, 108, 1720 111, 137, 109, 39, 125, 105, 107, 44, 10, 1048, 1721 17, 2, 0, 0, 373, 2833, 2840, 1130, 0, 1130, 1722 2844, 130, 0, 0, 2843, 0, 0, 0, 118, 0, 1723 0, 0, 131, 2855, 2840, 2857, 2856, 94, 2858, 2844, 1724 0, 96, 0, 1130, 0, 96, 0, 0, 0, 0, 1725 888, 0, 78, 0, 0, 0, 96, 0, 134, 0, 1726 0, 0, 0, 617, 0, 96, 0, 0, 908, 912, 1727 914, 916, 918, 919, 921, 0, 925, 922, 923, 924, 1728 0, 0, 903, 904, 905, 906, 886, 887, 909, 0, 1729 889, 2580, 890, 891, 892, 893, 894, 895, 896, 897, 1730 898, 899, 901, 907, 0, 0, 0, 0, 0, 2407, 1731 0, 911, 913, 915, 917, 920, 0, 0, 0, 0, 1732 2411, 0, 0, 0, 649, 0, 0, 126, 127, 0, 1733 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 1734 2400, 0, 0, 2700, 2402, 2404, 2406, 902, 2408, 2409, 1735 2410, 2412, 2413, 2414, 2416, 2417, 2418, 2419, 0, 0, 1736 0, 0, 0, 0, 0, 0, 0, 416, 0, 415, 1737 422, 412, 790, 791, 792, 789, 0, 0, 0, 0, 1738 2156, 419, 420, 0, 421, 425, 0, 0, 407, 0, 1739 2422, 0, 0, 0, 0, 104, 124, 135, 430, 76, 1740 0, 0, 0, 0, 651, 0, 0, 650, 0, 0, 1741 0, 0, 0, 0, 0, 0, 123, 117, 116, 0, 1742 0, 0, 0, 45, 0, 0, 0, 2420, 804, 803, 1743 813, 814, 806, 807, 808, 809, 810, 811, 812, 805, 1744 2580, 636, 0, 0, 2399, 0, 0, 0, 1206, 618, 1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1746 0, 1925, 0, 0, 0, 0, 0, 0, 0, 0, 1747 0, 0, 0, 2415, 0, 641, 0, 0, 0, 0, 1748 2405, 119, 120, 121, 804, 803, 813, 814, 806, 807, 1749 808, 809, 810, 811, 812, 805, 0, 0, 0, 0, 1750 0, 132, 0, 2811, 1669, 0, 0, 0, 0, 0, 1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 1752 0, 0, 0, 122, 0, 89, 0, 804, 803, 813, 1753 814, 806, 807, 808, 809, 810, 811, 812, 805, 0, 1754 1365, 0, 0, 0, 0, 0, 635, 0, 0, 0, 1755 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 1756 0, 408, 410, 409, 0, 0, 619, 644, 0, 0, 1757 414, 0, 0, 0, 0, 0, 0, 0, 90, 0, 1758 0, 0, 418, 0, 0, 0, 0, 91, 38, 433, 1759 639, 0, 910, 1202, 0, 0, 411, 1199, 0, 0, 1760 686, 1201, 1198, 1200, 1204, 1205, 686, 0, 0, 1203, 1761 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 1762 0, 0, 640, 645, 0, 0, 0, 0, 0, 0, 1763 0, 0, 0, 40, 0, 0, 0, 0, 0, 632, 1764 0, 634, 648, 0, 0, 0, 631, 629, 628, 0, 1765 633, 620, 621, 622, 623, 624, 0, 646, 647, 0, 1766 0, 0, 0, 0, 0, 0, 106, 0, 0, 642, 1767 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 1769 417, 423, 821, 424, 426, 0, 0, 427, 428, 429, 1770 0, 0, 431, 432, 0, 0, 637, 0, 0, 0, 1771 0, 0, 0, 0, 0, 92, 93, 97, 0, 0, 1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1773 0, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1774 1196, 1197, 1209, 1210, 1211, 1212, 1213, 1214, 1207, 1208, 1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1778 0, 1560, 1602, 0, 0, 1549, 314, 1506, 1562, 1479, 1779 1495, 1570, 1496, 1497, 1535, 1458, 1517, 276, 1493, 0, 1780 0, 0, 0, 0, 0, 1552, 1450, 1482, 1483, 1452, 1781 1489, 1453, 1480, 1508, 221, 1478, 1520, 246, 1532, 1492, 1782 1513, 1568, 0, 0, 306, 260, 0, 0, 1511, 1554, 1783 1514, 1540, 1505, 1536, 1466, 1528, 1563, 1494, 0, 1533, 1784 1564, 0, 0, 0, 0, 711, 712, 713, 0, 0, 1785 0, 0, 202, 0, 0, 0, 0, 0, 1531, 1558, 1786 1491, 0, 205, 1561, 1512, 1534, 0, 0, 1451, 1529, 1787 0, 1456, 1459, 1569, 1556, 1486, 1487, 0, 0, 0, 1788 0, 0, 0, 0, 0, 1509, 1515, 1537, 1502, 1846, 1789 1516, 0, 0, 0, 0, 0, 0, 0, 0, 1484, 1790 0, 1525, 0, 0, 0, 1461, 1457, 0, 1507, 0, 1791 0, 193, 311, 327, 203, 302, 340, 208, 309, 198, 1792 275, 298, 0, 1601, 195, 325, 308, 257, 240, 241, 1793 194, 0, 293, 219, 232, 215, 273, 1365, 324, 352, 1794 214, 343, 1460, 335, 197, 1596, 334, 272, 321, 326, 1795 258, 252, 196, 323, 256, 251, 244, 223, 366, 236, 1796 284, 250, 285, 237, 262, 261, 263, 1580, 1581, 1582, 1797 1583, 1584, 363, 1592, 1593, 0, 1597, 1598, 1599, 1465, 1798 0, 1485, 1538, 0, 1449, 1623, 1547, 1555, 1504, 337, 1799 1557, 1501, 1500, 1587, 0, 1586, 310, 1588, 1589, 245, 1800 1553, 1481, 1490, 353, 1488, 296, 278, 1559, 1524, 1600, 1801 294, 248, 322, 286, 328, 312, 336, 290, 287, 188, 1802 313, 217, 259, 199, 201, 213, 220, 222, 224, 225, 1803 268, 269, 281, 301, 315, 316, 317, 216, 209, 295, 1804 210, 234, 211, 189, 303, 212, 191, 282, 320, 1585, 1805 230, 291, 255, 192, 254, 283, 319, 318, 200, 344, 1806 350, 351, 355, 0, 356, 0, 0, 0, 364, 0, 1807 0, 0, 0, 0, 358, 0, 0, 0, 1594, 0, 1808 1595, 349, 228, 185, 186, 332, 0, 274, 0, 1624, 1809 1550, 1454, 1464, 1462, 1498, 1526, 1527, 270, 348, 1542, 1810 1546, 1543, 1571, 299, 0, 0, 0, 0, 0, 239, 1811 280, 1544, 300, 0, 0, 0, 0, 0, 0, 0, 1812 0, 0, 0, 1455, 0, 307, 330, 342, 359, 362, 1813 1603, 1604, 1605, 190, 361, 1606, 1607, 1608, 1609, 1610, 1814 1611, 1612, 333, 1499, 1472, 1510, 341, 1475, 1473, 1541, 1815 1474, 1530, 357, 264, 265, 266, 267, 231, 0, 207, 1816 360, 289, 1521, 1503, 1573, 1574, 1575, 1576, 1577, 1578, 1817 1579, 1522, 1614, 1615, 1616, 1617, 1618, 1477, 354, 227, 1818 233, 0, 235, 206, 279, 229, 339, 242, 1548, 365, 1819 1619, 1620, 1621, 1622, 271, 238, 304, 243, 249, 292, 1820 338, 277, 297, 204, 329, 305, 253, 0, 0, 1471, 1821 1476, 1470, 1518, 1519, 1565, 1566, 1567, 1539, 1463, 1551, 1822 0, 1467, 1469, 1468, 0, 0, 0, 0, 0, 0, 1823 0, 0, 0, 0, 0, 0, 2421, 0, 0, 0, 1824 0, 0, 0, 1545, 0, 0, 1523, 187, 0, 247, 1825 1572, 288, 226, 0, 2421, 0, 0, 0, 0, 0, 1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1827 1790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1828 0, 0, 0, 0, 0, 0, 0, 0, 1790, 0, 1829 0, 1590, 1591, 345, 346, 347, 367, 331, 0, 218, 1830 1613, 0, 0, 0, 0, 0, 0, 2403, 0, 0, 1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832 0, 0, 0, 0, 96, 2403, 0, 0, 0, 0, 1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1835 0, 1365, 1365, 1365, 1365, 0, 0, 0, 0, 0, 1836 0, 0, 0, 1365, 0, 2500, 0, 0, 0, 0, 1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1842 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1844 0, 0, 0, 2407, 0, 0, 0, 0, 0, 0, 1845 0, 0, 0, 0, 2411, 0, 0, 0, 0, 0, 1846 0, 2407, 0, 0, 0, 0, 0, 0, 0, 0, 1847 0, 0, 2411, 0, 2400, 0, 0, 0, 2402, 2404, 1848 2406, 0, 2408, 2409, 2410, 2412, 2413, 2414, 2416, 2417, 1849 2418, 2419, 2400, 0, 0, 0, 2402, 2404, 2406, 0, 1850 2408, 2409, 2410, 2412, 2413, 2414, 2416, 2417, 2418, 2419, 1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1852 0, 0, 0, 96, 2422, 0, 0, 0, 0, 0, 1853 0, 0, 314, 497, 0, 0, 0, 0, 0, 0, 1854 0, 0, 2422, 276, 0, 0, 0, 0, 0, 0, 1855 0, 0, 0, 0, 1365, 0, 458, 0, 0, 0, 1856 221, 2420, 0, 246, 0, 0, 0, 489, 0, 96, 1857 306, 260, 0, 0, 0, 0, 544, 552, 2399, 2420, 1858 0, 0, 0, 0, 0, 0, 0, 0, 451, 0, 1859 0, 483, 521, 520, 470, 479, 2399, 0, 202, 471, 1860 0, 478, 472, 476, 475, 473, 474, 2415, 536, 0, 1861 0, 0, 0, 0, 2405, 442, 455, 2577, 459, 0, 1862 0, 0, 96, 0, 96, 2415, 0, 0, 0, 0, 1863 0, 0, 2405, 0, 0, 0, 0, 0, 0, 0, 1864 0, 452, 453, 0, 0, 0, 0, 498, 0, 454, 1865 0, 0, 461, 480, 481, 0, 0, 193, 311, 327, 1866 203, 302, 340, 208, 309, 198, 275, 298, 0, 0, 1867 195, 325, 308, 257, 240, 241, 194, 0, 293, 219, 1868 232, 215, 273, 477, 496, 500, 214, 558, 494, 335, 1869 197, 0, 334, 272, 321, 326, 258, 252, 196, 323, 1870 256, 251, 244, 223, 559, 236, 284, 250, 285, 237, 1871 262, 261, 263, 0, 0, 0, 0, 0, 363, 0, 1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1873 0, 0, 492, 0, 0, 337, 0, 0, 542, 0, 1874 0, 0, 310, 0, 0, 245, 0, 0, 0, 495, 1875 0, 296, 278, 555, 443, 1365, 294, 248, 322, 286, 1876 328, 312, 336, 290, 287, 188, 313, 217, 259, 199, 1877 201, 213, 220, 222, 224, 225, 268, 269, 281, 301, 1878 315, 316, 317, 216, 209, 295, 210, 234, 211, 189, 1879 303, 212, 191, 282, 320, 0, 230, 291, 255, 192, 1880 254, 283, 319, 318, 200, 344, 350, 351, 355, 0, 1881 356, 0, 0, 0, 364, 0, 0, 0, 0, 0, 1882 358, 0, 0, 0, 0, 0, 0, 349, 228, 185, 1883 186, 332, 540, 274, 0, 0, 554, 535, 537, 538, 1884 541, 545, 546, 547, 548, 549, 551, 553, 557, 299, 1885 0, 0, 0, 0, 0, 239, 280, 0, 300, 0, 1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1887 0, 307, 330, 342, 359, 362, 0, 0, 0, 190, 1888 361, 0, 2578, 0, 0, 0, 2579, 0, 556, 0, 1889 0, 0, 341, 0, 0, 0, 0, 0, 499, 264, 1890 265, 266, 267, 543, 0, 207, 360, 289, 0, 0, 1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1892 0, 0, 0, 0, 354, 227, 233, 0, 235, 206, 1893 279, 229, 339, 242, 0, 365, 0, 0, 0, 0, 1894 271, 238, 304, 243, 249, 292, 338, 277, 297, 204, 1895 329, 305, 253, 0, 0, 565, 539, 564, 566, 567, 1896 563, 568, 569, 550, 462, 0, 503, 561, 560, 562, 1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899 0, 0, 0, 187, 0, 247, 0, 288, 226, 528, 1900 508, 509, 510, 460, 511, 506, 507, 529, 501, 525, 1901 526, 485, 504, 512, 524, 513, 527, 530, 531, 570, 1902 571, 519, 572, 516, 532, 523, 522, 514, 502, 533, 1903 534, 488, 487, 517, 518, 505, 314, 497, 0, 345, 1904 346, 347, 367, 331, 0, 218, 0, 276, 0, 0, 1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1906 458, 0, 0, 0, 221, 0, 0, 246, 0, 0, 1907 0, 489, 0, 0, 306, 260, 0, 0, 0, 0, 1908 544, 552, 0, 0, 0, 0, 0, 0, 0, 0, 1909 0, 0, 451, 0, 0, 483, 521, 520, 470, 479, 1910 0, 0, 202, 471, 0, 478, 472, 476, 475, 473, 1911 474, 0, 536, 0, 0, 0, 0, 0, 0, 442, 1912 455, 0, 459, 0, 0, 0, 0, 0, 0, 0, 1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1914 0, 0, 0, 0, 0, 452, 453, 0, 0, 0, 1915 0, 498, 0, 454, 0, 0, 461, 480, 481, 0, 1916 0, 193, 311, 327, 203, 302, 340, 208, 309, 198, 1917 275, 298, 0, 0, 195, 325, 308, 257, 240, 241, 1918 194, 0, 293, 219, 232, 215, 273, 477, 496, 500, 1919 214, 558, 494, 335, 197, 0, 334, 272, 321, 326, 1920 258, 252, 196, 323, 256, 251, 244, 223, 559, 236, 1921 284, 250, 285, 237, 262, 261, 263, 0, 0, 0, 1922 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 1923 0, 0, 0, 0, 0, 0, 492, 0, 0, 337, 1924 0, 0, 542, 0, 0, 0, 310, 0, 0, 245, 1925 0, 0, 0, 495, 0, 296, 278, 555, 443, 0, 1926 294, 248, 322, 286, 328, 312, 336, 290, 287, 188, 1927 313, 217, 259, 199, 201, 213, 220, 222, 224, 225, 1928 268, 269, 281, 301, 315, 316, 317, 216, 209, 295, 1929 210, 234, 211, 189, 303, 212, 191, 282, 320, 0, 1930 230, 291, 255, 192, 254, 283, 319, 318, 200, 344, 1931 350, 351, 355, 0, 356, 0, 0, 0, 364, 0, 1932 0, 0, 0, 0, 358, 0, 0, 0, 1227, 1226, 1933 1228, 349, 228, 185, 186, 332, 540, 274, 0, 0, 1934 554, 535, 537, 538, 541, 545, 546, 547, 548, 549, 1935 551, 553, 557, 299, 0, 0, 0, 0, 0, 239, 1936 280, 0, 300, 0, 0, 0, 0, 0, 0, 0, 1937 0, 0, 0, 0, 0, 307, 330, 342, 359, 362, 1938 0, 0, 0, 190, 361, 0, 0, 0, 0, 0, 1939 0, 0, 556, 0, 0, 0, 341, 0, 0, 0, 1940 0, 0, 499, 264, 265, 266, 267, 543, 0, 207, 1941 360, 289, 0, 0, 0, 0, 0, 0, 0, 0, 1942 0, 0, 0, 0, 0, 0, 0, 0, 354, 227, 1943 233, 0, 235, 206, 279, 229, 339, 242, 0, 365, 1944 0, 0, 0, 0, 271, 238, 304, 243, 249, 292, 1945 338, 277, 297, 204, 329, 305, 253, 0, 0, 565, 1946 539, 564, 566, 567, 563, 568, 569, 550, 462, 0, 1947 503, 561, 560, 562, 0, 0, 0, 0, 0, 0, 1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1949 0, 0, 0, 0, 0, 0, 0, 187, 0, 247, 1950 0, 288, 226, 528, 508, 509, 510, 460, 511, 506, 1951 507, 529, 501, 525, 526, 485, 504, 512, 524, 513, 1952 527, 530, 531, 570, 571, 519, 572, 516, 532, 523, 1953 522, 514, 502, 533, 534, 488, 487, 517, 518, 505, 1954 314, 497, 0, 345, 346, 347, 367, 331, 0, 218, 1955 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 1956 0, 0, 0, 0, 458, 0, 0, 0, 221, 0, 1957 0, 246, 0, 0, 0, 489, 0, 0, 306, 260, 1958 0, 0, 0, 0, 544, 552, 0, 0, 0, 0, 1959 0, 0, 0, 0, 0, 0, 451, 0, 0, 483, 1960 521, 520, 470, 479, 0, 0, 202, 471, 0, 478, 1961 472, 476, 475, 473, 474, 0, 536, 0, 0, 0, 1962 0, 0, 0, 442, 455, 0, 459, 0, 0, 0, 1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 1965 453, 0, 0, 0, 0, 498, 0, 454, 0, 0, 1966 461, 480, 481, 0, 0, 193, 311, 327, 203, 302, 1967 340, 208, 309, 198, 275, 298, 0, 0, 195, 325, 1968 308, 257, 240, 241, 194, 0, 293, 219, 232, 215, 1969 273, 477, 496, 500, 214, 558, 494, 335, 197, 0, 1970 334, 272, 321, 326, 258, 252, 196, 323, 256, 251, 1971 244, 223, 559, 236, 284, 250, 285, 237, 262, 261, 1972 263, 0, 0, 0, 0, 0, 363, 0, 0, 0, 1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1974 492, 0, 0, 337, 0, 0, 542, 0, 0, 0, 1975 310, 0, 0, 245, 0, 0, 0, 495, 0, 296, 1976 278, 555, 443, 0, 294, 248, 322, 286, 328, 312, 1977 336, 290, 287, 188, 313, 217, 259, 199, 201, 213, 1978 220, 222, 224, 225, 268, 269, 281, 301, 315, 316, 1979 317, 216, 209, 295, 210, 234, 211, 189, 303, 212, 1980 191, 282, 320, 0, 230, 291, 255, 192, 254, 283, 1981 319, 318, 200, 344, 350, 351, 355, 0, 356, 0, 1982 0, 0, 364, 0, 0, 0, 0, 0, 358, 0, 1983 0, 0, 0, 0, 0, 349, 228, 185, 186, 332, 1984 540, 274, 0, 0, 554, 535, 537, 538, 541, 545, 1985 546, 547, 548, 549, 551, 553, 557, 299, 0, 0, 1986 0, 0, 0, 239, 280, 0, 300, 0, 0, 0, 1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 1988 330, 342, 359, 362, 0, 0, 0, 190, 361, 0, 1989 2578, 0, 0, 0, 2579, 0, 556, 0, 0, 0, 1990 341, 0, 0, 0, 0, 0, 499, 264, 265, 266, 1991 267, 543, 0, 207, 360, 289, 0, 0, 0, 0, 1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1993 0, 0, 354, 227, 233, 0, 235, 206, 279, 229, 1994 339, 242, 0, 365, 0, 0, 0, 0, 271, 238, 1995 304, 243, 249, 292, 338, 277, 297, 204, 329, 305, 1996 253, 0, 0, 565, 539, 564, 566, 567, 563, 568, 1997 569, 550, 462, 0, 503, 561, 560, 562, 0, 0, 1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2000 0, 187, 0, 247, 0, 288, 226, 528, 508, 509, 2001 510, 460, 511, 506, 507, 529, 501, 525, 526, 485, 2002 504, 512, 524, 513, 527, 530, 531, 570, 571, 519, 2003 572, 516, 532, 523, 522, 514, 502, 533, 534, 488, 2004 487, 517, 518, 505, 314, 497, 0, 345, 346, 347, 2005 367, 331, 0, 218, 0, 276, 0, 0, 0, 0, 2006 0, 0, 0, 0, 0, 0, 0, 0, 458, 0, 2007 0, 0, 221, 1290, 0, 246, 0, 0, 0, 489, 2008 0, 0, 306, 260, 0, 0, 0, 0, 544, 552, 2009 0, 0, 0, 0, 0, 0, 0, 1384, 0, 0, 2010 451, 0, 0, 483, 521, 520, 470, 479, 0, 0, 2011 202, 471, 0, 478, 472, 476, 475, 473, 474, 0, 2012 536, 0, 0, 0, 0, 0, 0, 442, 455, 0, 2013 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2015 0, 0, 0, 452, 453, 0, 0, 0, 0, 498, 2016 0, 454, 0, 0, 1385, 480, 481, 0, 0, 193, 2017 311, 327, 203, 302, 340, 208, 309, 198, 275, 298, 2018 0, 0, 195, 325, 308, 257, 240, 241, 194, 0, 2019 293, 219, 232, 215, 273, 477, 496, 500, 214, 558, 2020 494, 335, 197, 0, 334, 272, 321, 326, 258, 252, 2021 196, 323, 256, 251, 244, 223, 559, 236, 284, 250, 2022 285, 237, 262, 261, 263, 0, 0, 0, 0, 0, 2023 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2024 0, 0, 0, 0, 492, 0, 0, 337, 0, 0, 2025 542, 0, 0, 0, 310, 0, 0, 245, 0, 0, 2026 0, 495, 0, 296, 278, 555, 443, 0, 294, 248, 2027 322, 286, 328, 312, 336, 290, 287, 188, 313, 217, 2028 259, 199, 201, 213, 220, 222, 224, 225, 268, 269, 2029 281, 301, 315, 316, 317, 216, 209, 295, 210, 234, 2030 211, 189, 303, 212, 191, 282, 320, 0, 230, 291, 2031 255, 192, 254, 283, 319, 318, 200, 344, 350, 351, 2032 355, 0, 356, 0, 0, 0, 364, 0, 0, 0, 2033 0, 0, 358, 0, 0, 0, 0, 0, 0, 349, 2034 228, 185, 186, 332, 540, 274, 0, 0, 554, 535, 2035 537, 538, 541, 545, 546, 547, 548, 549, 551, 553, 2036 557, 299, 0, 0, 0, 0, 0, 239, 280, 0, 2037 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2038 0, 0, 0, 307, 330, 342, 359, 362, 0, 0, 2039 0, 190, 361, 0, 0, 0, 0, 0, 0, 0, 2040 556, 0, 0, 0, 341, 0, 0, 0, 0, 0, 2041 499, 264, 265, 266, 267, 543, 0, 207, 360, 289, 2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2043 0, 0, 0, 0, 0, 0, 354, 227, 233, 0, 2044 235, 206, 279, 229, 339, 242, 0, 365, 0, 0, 2045 0, 0, 271, 238, 304, 243, 249, 292, 338, 277, 2046 297, 204, 329, 305, 253, 0, 0, 565, 539, 564, 2047 566, 567, 563, 568, 569, 550, 462, 0, 503, 561, 2048 560, 562, 0, 0, 0, 0, 0, 0, 0, 0, 2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2050 0, 0, 0, 0, 0, 187, 0, 247, 0, 288, 2051 226, 528, 508, 509, 510, 460, 511, 506, 507, 529, 2052 501, 525, 526, 485, 504, 512, 524, 513, 527, 530, 2053 531, 570, 571, 519, 572, 516, 532, 523, 522, 514, 2054 502, 533, 534, 488, 487, 517, 518, 505, 137, 314, 2055 497, 345, 346, 347, 367, 331, 0, 218, 0, 0, 2056 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2057 0, 0, 0, 458, 0, 0, 0, 221, 0, 0, 2058 246, 0, 0, 0, 824, 0, 0, 306, 260, 0, 2059 0, 0, 0, 544, 552, 0, 0, 0, 0, 0, 2060 0, 0, 0, 0, 0, 451, 0, 0, 483, 521, 2061 520, 470, 479, 0, 0, 202, 471, 0, 478, 472, 2062 476, 475, 473, 474, 0, 536, 0, 0, 0, 0, 2063 0, 0, 442, 455, 0, 459, 0, 0, 0, 0, 2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065 0, 0, 0, 0, 0, 0, 0, 0, 452, 453, 2066 0, 0, 0, 0, 498, 0, 454, 0, 0, 461, 2067 480, 481, 0, 0, 193, 311, 327, 203, 302, 340, 2068 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 2069 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 2070 477, 496, 500, 214, 558, 494, 335, 197, 0, 334, 2071 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 2072 223, 559, 236, 284, 250, 285, 237, 262, 261, 263, 2073 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, 2075 0, 0, 337, 0, 0, 542, 0, 0, 0, 310, 2076 0, 0, 245, 0, 0, 0, 495, 0, 296, 278, 2077 555, 443, 0, 294, 248, 322, 286, 328, 312, 336, 2078 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 2079 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 2080 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 2081 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 2082 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 2083 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 2084 0, 0, 0, 0, 349, 228, 185, 186, 332, 540, 2085 274, 0, 0, 554, 535, 537, 538, 541, 545, 546, 2086 547, 548, 549, 551, 553, 557, 299, 0, 0, 0, 2087 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 2088 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 2089 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 2090 0, 0, 0, 0, 0, 556, 0, 0, 0, 341, 2091 0, 0, 0, 0, 0, 499, 264, 265, 266, 267, 2092 543, 0, 207, 360, 289, 0, 0, 0, 0, 0, 2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2094 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 2095 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 2096 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 2097 0, 0, 565, 539, 564, 566, 567, 563, 568, 569, 2098 550, 462, 0, 503, 561, 560, 562, 0, 0, 0, 2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2101 187, 0, 247, 106, 288, 226, 528, 508, 509, 510, 2102 460, 511, 506, 507, 529, 501, 525, 526, 485, 504, 2103 512, 524, 513, 527, 530, 531, 570, 571, 519, 572, 2104 516, 532, 523, 522, 514, 502, 533, 534, 488, 487, 2105 517, 518, 505, 314, 497, 0, 345, 346, 347, 367, 2106 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 2107 0, 0, 0, 0, 0, 0, 0, 458, 0, 0, 2108 0, 221, 2810, 0, 246, 0, 0, 0, 489, 0, 2109 0, 306, 260, 0, 0, 0, 0, 544, 552, 0, 2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 2111 0, 0, 483, 521, 520, 470, 479, 0, 0, 202, 2112 471, 0, 478, 472, 476, 475, 473, 474, 0, 536, 2113 0, 0, 0, 0, 0, 0, 442, 455, 0, 459, 2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2116 0, 0, 452, 453, 0, 0, 0, 0, 498, 0, 2117 454, 0, 0, 461, 480, 481, 0, 0, 193, 311, 2118 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 2119 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 2120 219, 232, 215, 273, 477, 496, 500, 214, 558, 494, 2121 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 2122 323, 256, 251, 244, 223, 559, 236, 284, 250, 285, 2123 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2125 0, 0, 0, 492, 0, 0, 337, 0, 0, 542, 2126 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 2127 495, 0, 296, 278, 555, 443, 0, 294, 248, 322, 2128 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 2129 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 2130 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 2131 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 2132 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 2133 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 2134 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 2135 185, 186, 332, 540, 274, 0, 0, 554, 535, 537, 2136 538, 541, 545, 546, 547, 548, 549, 551, 553, 557, 2137 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2139 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 2140 190, 361, 0, 0, 0, 0, 0, 0, 0, 556, 2141 0, 0, 0, 341, 0, 0, 0, 0, 0, 499, 2142 264, 265, 266, 267, 543, 0, 207, 360, 289, 0, 2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2144 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 2145 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 2146 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 2147 204, 329, 305, 253, 0, 0, 565, 539, 564, 566, 2148 567, 563, 568, 569, 550, 462, 0, 503, 561, 560, 2149 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2151 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 2152 528, 508, 509, 510, 460, 511, 506, 507, 529, 501, 2153 525, 526, 485, 504, 512, 524, 513, 527, 530, 531, 2154 570, 571, 519, 572, 516, 532, 523, 522, 514, 502, 2155 533, 534, 488, 487, 517, 518, 505, 314, 497, 0, 2156 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2158 0, 458, 0, 0, 0, 221, 1290, 0, 246, 0, 2159 0, 0, 489, 0, 0, 306, 260, 0, 0, 0, 2160 0, 544, 552, 0, 0, 0, 0, 0, 0, 0, 2161 0, 0, 0, 451, 0, 0, 483, 521, 520, 470, 2162 479, 0, 0, 202, 471, 0, 478, 472, 476, 475, 2163 473, 474, 0, 536, 0, 0, 0, 0, 0, 0, 2164 442, 455, 0, 459, 0, 0, 0, 0, 0, 0, 2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2166 0, 0, 0, 0, 0, 0, 452, 453, 0, 0, 2167 0, 0, 498, 0, 454, 0, 0, 461, 480, 481, 2168 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 2169 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 2170 241, 194, 0, 293, 219, 232, 215, 273, 477, 496, 2171 500, 214, 558, 494, 335, 197, 0, 334, 272, 321, 2172 326, 258, 252, 196, 323, 256, 251, 244, 223, 559, 2173 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 2174 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2175 0, 0, 0, 0, 0, 0, 0, 492, 0, 0, 2176 337, 0, 0, 542, 0, 0, 0, 310, 0, 0, 2177 245, 0, 0, 0, 495, 0, 296, 278, 555, 443, 2178 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 2179 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 2180 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 2181 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 2182 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 2183 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 2184 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 2185 0, 0, 349, 228, 185, 186, 332, 540, 274, 0, 2186 0, 554, 535, 537, 538, 541, 545, 546, 547, 548, 2187 549, 551, 553, 557, 299, 0, 0, 0, 0, 0, 2188 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 2189 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 2190 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 2191 0, 0, 0, 556, 0, 0, 0, 341, 0, 0, 2192 0, 0, 0, 499, 264, 265, 266, 267, 543, 0, 2193 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 2195 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 2196 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 2197 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 2198 565, 539, 564, 566, 567, 563, 568, 569, 550, 462, 2199 0, 503, 561, 560, 562, 0, 0, 0, 0, 0, 2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2201 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 2202 247, 0, 288, 226, 528, 508, 509, 510, 460, 511, 2203 506, 507, 529, 501, 525, 526, 485, 504, 512, 524, 2204 513, 527, 530, 531, 570, 571, 519, 572, 516, 532, 2205 523, 522, 514, 502, 533, 534, 488, 487, 517, 518, 2206 505, 314, 497, 0, 345, 346, 347, 367, 331, 0, 2207 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 2208 0, 0, 0, 0, 0, 458, 0, 0, 0, 221, 2209 0, 0, 246, 0, 0, 0, 489, 0, 0, 306, 2210 260, 0, 0, 0, 0, 544, 552, 0, 0, 0, 2211 0, 0, 0, 0, 0, 0, 0, 451, 0, 0, 2212 483, 521, 520, 470, 479, 0, 0, 202, 471, 0, 2213 478, 472, 476, 475, 473, 474, 0, 536, 0, 0, 2214 0, 0, 0, 0, 442, 455, 0, 459, 0, 0, 2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2217 452, 453, 1063, 0, 0, 0, 498, 0, 454, 0, 2218 0, 461, 480, 481, 0, 0, 193, 311, 327, 203, 2219 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 2220 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 2221 215, 273, 477, 496, 500, 214, 558, 494, 335, 197, 2222 0, 334, 272, 321, 326, 258, 252, 196, 323, 256, 2223 251, 244, 223, 559, 236, 284, 250, 285, 237, 262, 2224 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2226 0, 492, 0, 0, 337, 0, 0, 542, 0, 0, 2227 0, 310, 0, 0, 245, 0, 0, 0, 495, 0, 2228 296, 278, 555, 443, 0, 294, 248, 322, 286, 328, 2229 312, 336, 290, 287, 188, 313, 217, 259, 199, 201, 2230 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 2231 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 2232 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 2233 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 2234 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 2235 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 2236 332, 540, 274, 0, 0, 554, 535, 537, 538, 541, 2237 545, 546, 547, 548, 549, 551, 553, 557, 299, 0, 2238 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2240 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 2241 0, 0, 0, 0, 0, 0, 0, 556, 0, 0, 2242 0, 341, 0, 0, 0, 0, 0, 499, 264, 265, 2243 266, 267, 543, 0, 207, 360, 289, 0, 0, 0, 2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2245 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 2246 229, 339, 242, 0, 365, 0, 0, 0, 0, 271, 2247 238, 304, 243, 249, 292, 338, 277, 297, 204, 329, 2248 305, 253, 0, 0, 565, 539, 564, 566, 567, 563, 2249 568, 569, 550, 462, 0, 503, 561, 560, 562, 0, 2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2252 0, 0, 187, 0, 247, 0, 288, 226, 528, 508, 2253 509, 510, 460, 511, 506, 507, 529, 501, 525, 526, 2254 485, 504, 512, 524, 513, 527, 530, 531, 570, 571, 2255 519, 572, 516, 532, 523, 522, 514, 502, 533, 534, 2256 488, 487, 517, 518, 505, 0, 0, 0, 345, 346, 2257 347, 367, 331, 0, 218, 314, 497, 0, 0, 1688, 2258 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 2260 0, 0, 0, 221, 0, 0, 246, 0, 0, 0, 2261 489, 0, 0, 306, 260, 0, 0, 0, 0, 544, 2262 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2263 0, 451, 0, 0, 483, 521, 520, 470, 479, 0, 2264 0, 202, 471, 0, 478, 472, 476, 475, 473, 474, 2265 0, 536, 0, 0, 0, 0, 0, 0, 442, 455, 2266 0, 459, 0, 0, 0, 0, 0, 0, 0, 0, 2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2268 0, 0, 0, 0, 452, 453, 0, 0, 0, 0, 2269 498, 0, 454, 0, 0, 461, 480, 481, 0, 0, 2270 193, 311, 327, 203, 302, 340, 208, 309, 198, 275, 2271 298, 0, 0, 195, 325, 308, 257, 240, 241, 194, 2272 0, 293, 219, 232, 215, 273, 477, 496, 500, 214, 2273 558, 494, 335, 197, 0, 334, 272, 321, 326, 258, 2274 252, 196, 323, 256, 251, 244, 223, 559, 236, 284, 2275 250, 285, 237, 262, 261, 263, 0, 0, 0, 0, 2276 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 2277 0, 0, 0, 0, 0, 492, 0, 0, 337, 0, 2278 0, 542, 0, 0, 0, 310, 0, 0, 245, 0, 2279 0, 0, 495, 0, 296, 278, 555, 443, 0, 294, 2280 248, 322, 286, 328, 312, 336, 290, 287, 188, 313, 2281 217, 259, 199, 201, 213, 220, 222, 224, 225, 268, 2282 269, 281, 301, 315, 316, 317, 216, 209, 295, 210, 2283 234, 211, 189, 303, 212, 191, 282, 320, 0, 230, 2284 291, 255, 192, 254, 283, 319, 318, 200, 344, 350, 2285 351, 355, 0, 356, 0, 0, 0, 364, 0, 0, 2286 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 2287 349, 228, 185, 186, 332, 540, 274, 0, 0, 554, 2288 535, 537, 538, 541, 545, 546, 547, 548, 549, 551, 2289 553, 557, 299, 0, 0, 0, 0, 0, 239, 280, 2290 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 2291 0, 0, 0, 0, 307, 330, 342, 359, 362, 0, 2292 0, 0, 190, 361, 0, 0, 0, 0, 0, 0, 2293 0, 556, 0, 0, 0, 341, 0, 0, 0, 0, 2294 0, 499, 264, 265, 266, 267, 543, 0, 207, 360, 2295 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2296 0, 0, 0, 0, 0, 0, 0, 354, 227, 233, 2297 0, 235, 206, 279, 229, 339, 242, 0, 365, 0, 2298 0, 0, 0, 271, 238, 304, 243, 249, 292, 338, 2299 277, 297, 204, 329, 305, 253, 0, 0, 565, 539, 2300 564, 566, 567, 563, 568, 569, 550, 462, 0, 503, 2301 561, 560, 562, 0, 0, 0, 0, 0, 0, 0, 2302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2303 0, 0, 0, 0, 0, 0, 187, 0, 247, 0, 2304 288, 226, 528, 508, 509, 510, 460, 511, 506, 507, 2305 529, 501, 525, 526, 485, 504, 512, 524, 513, 527, 2306 530, 531, 570, 571, 519, 572, 516, 532, 523, 522, 2307 514, 502, 533, 534, 488, 487, 517, 518, 505, 314, 2308 497, 0, 345, 346, 347, 367, 331, 0, 218, 0, 2309 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310 0, 0, 0, 458, 0, 0, 0, 221, 0, 0, 2311 246, 0, 0, 0, 489, 0, 0, 306, 260, 0, 2312 0, 0, 0, 544, 552, 0, 0, 0, 0, 0, 2313 0, 0, 0, 0, 0, 451, 0, 0, 483, 521, 2314 520, 470, 479, 0, 0, 202, 471, 0, 478, 472, 2315 476, 475, 473, 474, 0, 536, 0, 0, 0, 0, 2316 0, 0, 442, 455, 0, 459, 0, 0, 0, 0, 2317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2318 0, 0, 0, 0, 0, 0, 0, 0, 452, 453, 2319 0, 0, 0, 0, 498, 0, 454, 0, 0, 461, 2320 480, 481, 0, 0, 193, 311, 327, 203, 302, 340, 2321 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 2322 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 2323 477, 496, 500, 214, 558, 494, 335, 197, 0, 334, 2324 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 2325 223, 559, 236, 284, 250, 285, 237, 262, 261, 263, 2326 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 2327 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, 2328 0, 0, 337, 0, 0, 542, 0, 0, 0, 310, 2329 0, 0, 245, 0, 0, 0, 495, 0, 296, 278, 2330 555, 443, 0, 294, 248, 322, 286, 328, 312, 336, 2331 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 2332 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 2333 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 2334 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 2335 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 2336 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 2337 0, 0, 0, 0, 349, 228, 185, 186, 332, 540, 2338 274, 0, 0, 554, 535, 537, 538, 541, 545, 546, 2339 547, 548, 549, 551, 553, 557, 299, 0, 0, 0, 2340 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 2341 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 2342 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 2343 0, 0, 0, 0, 0, 556, 0, 0, 0, 341, 2344 0, 0, 0, 0, 0, 499, 264, 265, 266, 267, 2345 543, 0, 207, 360, 289, 0, 0, 0, 0, 0, 2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2347 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 2348 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 2349 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 2350 0, 0, 565, 539, 564, 566, 567, 563, 568, 569, 2351 550, 462, 0, 503, 561, 560, 562, 0, 0, 0, 2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2354 187, 0, 247, 0, 288, 226, 528, 508, 509, 510, 2355 460, 511, 506, 507, 529, 501, 525, 526, 485, 504, 2356 512, 524, 513, 527, 530, 531, 570, 571, 519, 572, 2357 516, 532, 523, 522, 514, 502, 533, 534, 488, 487, 2358 517, 518, 505, 314, 497, 0, 345, 346, 347, 367, 2359 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 2360 0, 0, 0, 1148, 0, 0, 0, 458, 0, 0, 2361 0, 221, 0, 0, 246, 0, 0, 0, 489, 0, 2362 0, 306, 260, 0, 0, 0, 0, 544, 552, 0, 2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 2364 0, 0, 483, 521, 520, 470, 479, 0, 0, 202, 2365 471, 0, 478, 472, 476, 475, 473, 474, 0, 536, 2366 0, 0, 0, 0, 0, 0, 0, 455, 0, 459, 2367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2369 0, 0, 452, 453, 0, 0, 0, 0, 498, 0, 2370 454, 0, 0, 461, 480, 481, 0, 0, 193, 311, 2371 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 2372 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 2373 219, 232, 215, 273, 477, 496, 500, 214, 558, 494, 2374 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 2375 323, 256, 251, 244, 223, 559, 236, 284, 250, 285, 2376 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 2377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2378 0, 0, 0, 492, 0, 0, 337, 0, 0, 542, 2379 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 2380 495, 0, 296, 278, 555, 0, 0, 294, 248, 322, 2381 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 2382 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 2383 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 2384 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 2385 192, 254, 283, 319, 318, 200, 344, 1149, 1150, 355, 2386 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 2387 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 2388 185, 186, 332, 540, 274, 0, 0, 554, 535, 537, 2389 538, 541, 545, 546, 547, 548, 549, 551, 553, 557, 2390 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2392 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 2393 190, 361, 0, 0, 0, 0, 0, 0, 0, 556, 2394 0, 0, 0, 341, 0, 0, 0, 0, 0, 499, 2395 264, 265, 266, 267, 543, 0, 207, 360, 289, 0, 2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2397 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 2398 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 2399 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 2400 204, 329, 305, 253, 0, 0, 565, 539, 564, 566, 2401 567, 563, 568, 569, 550, 462, 0, 503, 561, 560, 2402 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2404 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 2405 528, 508, 509, 510, 460, 511, 506, 507, 529, 501, 2406 525, 526, 485, 504, 512, 524, 513, 527, 530, 531, 2407 570, 571, 519, 572, 516, 532, 523, 522, 514, 502, 2408 533, 534, 488, 487, 517, 518, 505, 314, 497, 0, 2409 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2411 0, 458, 0, 0, 0, 221, 0, 0, 246, 0, 2412 0, 0, 489, 0, 0, 306, 260, 0, 0, 0, 2413 0, 544, 552, 0, 0, 0, 0, 0, 0, 0, 2414 0, 0, 0, 0, 0, 0, 483, 521, 520, 470, 2415 479, 0, 0, 202, 471, 0, 478, 472, 476, 475, 2416 473, 474, 0, 536, 0, 0, 0, 0, 0, 0, 2417 442, 455, 0, 459, 0, 0, 0, 0, 0, 0, 2418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2419 0, 0, 0, 0, 0, 0, 452, 453, 0, 0, 2420 0, 0, 498, 0, 454, 0, 0, 461, 480, 481, 2421 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 2422 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 2423 241, 194, 0, 293, 219, 232, 215, 273, 477, 496, 2424 500, 214, 558, 494, 335, 197, 0, 334, 272, 321, 2425 326, 258, 252, 196, 323, 256, 251, 244, 223, 559, 2426 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 2427 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2428 0, 0, 0, 0, 0, 0, 0, 492, 0, 0, 2429 337, 0, 0, 542, 0, 0, 0, 310, 0, 0, 2430 245, 0, 0, 0, 495, 0, 296, 278, 555, 443, 2431 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 2432 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 2433 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 2434 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 2435 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 2436 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 2437 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 2438 0, 0, 349, 228, 185, 186, 332, 540, 274, 0, 2439 0, 554, 535, 537, 538, 541, 545, 546, 547, 548, 2440 549, 551, 553, 557, 299, 0, 0, 0, 0, 0, 2441 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 2442 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 2443 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 2444 0, 0, 0, 556, 0, 0, 0, 341, 0, 0, 2445 0, 0, 0, 499, 264, 265, 266, 267, 543, 0, 2446 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 2448 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 2449 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 2450 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 2451 565, 539, 564, 566, 567, 563, 568, 569, 550, 462, 2452 0, 503, 561, 560, 562, 0, 0, 0, 0, 0, 2453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2454 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 2455 247, 0, 288, 226, 528, 508, 509, 510, 460, 511, 2456 506, 507, 529, 501, 525, 526, 485, 504, 512, 524, 2457 513, 527, 530, 531, 570, 571, 519, 572, 516, 532, 2458 523, 522, 514, 502, 533, 534, 488, 487, 517, 518, 2459 505, 314, 497, 0, 345, 346, 347, 367, 331, 0, 2460 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 2461 0, 0, 0, 0, 0, 458, 0, 0, 0, 221, 2462 0, 0, 246, 0, 0, 0, 489, 0, 0, 306, 2463 260, 0, 0, 0, 0, 544, 552, 0, 0, 0, 2464 0, 0, 0, 0, 0, 0, 0, 451, 0, 0, 2465 483, 521, 520, 470, 479, 0, 0, 202, 471, 0, 2466 478, 472, 476, 475, 473, 474, 0, 536, 0, 0, 2467 0, 0, 0, 0, 0, 455, 0, 459, 0, 0, 2468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470 452, 453, 0, 0, 0, 0, 498, 0, 454, 0, 2471 0, 461, 480, 481, 0, 0, 193, 311, 327, 203, 2472 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 2473 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 2474 215, 273, 477, 496, 500, 214, 558, 494, 335, 197, 2475 0, 334, 272, 321, 326, 258, 252, 196, 323, 256, 2476 251, 244, 223, 559, 236, 284, 250, 285, 237, 262, 2477 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2479 0, 492, 0, 0, 337, 0, 0, 542, 0, 0, 2480 0, 310, 0, 0, 245, 0, 0, 0, 495, 0, 2481 296, 278, 555, 0, 0, 294, 248, 322, 286, 328, 2482 312, 336, 290, 287, 188, 313, 217, 259, 199, 201, 2483 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 2484 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 2485 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 2486 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 2487 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 2488 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 2489 332, 540, 274, 0, 0, 554, 535, 537, 538, 541, 2490 545, 546, 547, 548, 549, 551, 553, 557, 299, 0, 2491 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 2492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2493 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 2494 0, 0, 0, 0, 0, 0, 0, 556, 0, 0, 2495 0, 341, 0, 0, 0, 0, 0, 499, 264, 265, 2496 266, 267, 543, 0, 207, 360, 289, 0, 0, 0, 2497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 2499 229, 339, 242, 0, 365, 0, 0, 0, 0, 271, 2500 238, 304, 243, 249, 292, 338, 277, 297, 204, 329, 2501 305, 253, 0, 0, 565, 539, 564, 566, 567, 563, 2502 568, 569, 550, 462, 0, 503, 561, 560, 562, 0, 2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2505 0, 0, 187, 0, 247, 0, 288, 226, 528, 508, 2506 509, 510, 460, 511, 506, 507, 529, 501, 525, 526, 2507 485, 504, 512, 524, 513, 527, 530, 531, 570, 571, 2508 519, 572, 516, 532, 523, 522, 514, 502, 533, 534, 2509 488, 487, 517, 518, 505, 0, 0, 0, 345, 346, 2510 347, 367, 331, 0, 218, 137, 314, 39, 125, 105, 2511 0, 0, 0, 0, 0, 0, 0, 276, 377, 0, 2512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2513 0, 0, 0, 0, 221, 0, 0, 246, 0, 0, 2514 0, 0, 0, 0, 306, 260, 0, 0, 0, 0, 2515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 0, 0, 382, 0, 0, 145, 0, 0, 0, 0, 2517 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 2518 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 2519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523 0, 193, 311, 327, 203, 302, 340, 208, 309, 198, 2524 275, 298, 0, 0, 195, 325, 308, 257, 240, 241, 2525 194, 0, 293, 219, 232, 215, 273, 0, 324, 352, 2526 214, 343, 0, 335, 197, 0, 334, 272, 321, 326, 2527 258, 252, 196, 323, 256, 251, 244, 223, 366, 236, 2528 284, 250, 285, 237, 262, 261, 263, 0, 0, 0, 2529 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 2530 0, 0, 0, 381, 0, 0, 0, 0, 0, 337, 2531 0, 0, 0, 0, 0, 0, 310, 0, 0, 245, 2532 0, 0, 0, 353, 0, 296, 278, 0, 0, 0, 2533 294, 248, 322, 286, 328, 312, 336, 290, 287, 188, 2534 313, 217, 259, 199, 201, 213, 220, 222, 224, 225, 2535 268, 269, 281, 301, 315, 316, 317, 216, 209, 295, 2536 210, 234, 211, 189, 303, 212, 191, 282, 320, 0, 2537 230, 291, 255, 192, 254, 283, 319, 318, 200, 344, 2538 350, 351, 355, 0, 356, 0, 0, 0, 364, 0, 2539 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 2540 0, 349, 228, 185, 186, 332, 0, 274, 0, 0, 2541 0, 0, 0, 0, 0, 0, 0, 270, 348, 0, 2542 0, 0, 0, 299, 0, 0, 0, 0, 0, 239, 2543 280, 0, 300, 0, 0, 0, 0, 0, 0, 0, 2544 0, 0, 0, 0, 0, 307, 330, 342, 359, 362, 2545 0, 0, 0, 190, 361, 0, 0, 0, 0, 0, 2546 0, 0, 333, 0, 0, 0, 341, 0, 0, 0, 2547 0, 0, 357, 264, 265, 266, 267, 378, 380, 207, 2548 360, 289, 0, 0, 0, 0, 0, 0, 0, 0, 2549 0, 0, 0, 0, 0, 0, 0, 0, 354, 227, 2550 233, 0, 235, 206, 279, 229, 339, 242, 0, 365, 2551 0, 0, 0, 0, 271, 238, 304, 243, 249, 292, 2552 338, 277, 297, 204, 329, 305, 253, 0, 0, 0, 2553 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 2554 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2556 0, 0, 0, 0, 0, 0, 0, 187, 0, 247, 2557 106, 288, 226, 148, 149, 150, 151, 152, 153, 154, 2558 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 2559 165, 166, 167, 168, 169, 0, 170, 171, 172, 173, 2560 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 2561 314, 0, 0, 345, 346, 347, 367, 331, 0, 218, 2562 0, 276, 0, 0, 0, 0, 0, 0, 0, 900, 2563 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, 2564 0, 246, 0, 0, 0, 0, 0, 0, 306, 260, 2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 2567 0, 0, 0, 0, 0, 0, 202, 0, 0, 0, 2568 0, 0, 0, 0, 0, 0, 205, 0, 0, 0, 2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2573 888, 0, 0, 0, 0, 193, 311, 327, 203, 302, 2574 340, 208, 309, 198, 275, 298, 0, 0, 1763, 1765, 2575 1766, 1767, 1768, 1769, 1770, 0, 1774, 1771, 1772, 1773, 2576 273, 0, 1758, 1759, 1760, 1761, 886, 1744, 1764, 0, 2577 1745, 272, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 2578 1754, 1755, 1756, 1762, 284, 250, 285, 237, 262, 261, 2579 263, 911, 913, 915, 917, 920, 363, 0, 0, 0, 2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2581 0, 0, 0, 337, 0, 0, 0, 0, 0, 0, 2582 310, 0, 0, 245, 0, 0, 0, 1757, 0, 296, 2583 278, 0, 0, 0, 294, 248, 322, 286, 328, 312, 2584 336, 290, 287, 188, 313, 217, 259, 199, 201, 213, 2585 220, 222, 224, 225, 268, 269, 281, 301, 315, 316, 2586 317, 216, 209, 295, 210, 234, 211, 189, 303, 212, 2587 191, 282, 320, 0, 230, 291, 255, 192, 254, 283, 2588 319, 318, 200, 344, 350, 351, 355, 0, 356, 0, 2589 0, 0, 364, 0, 0, 0, 0, 0, 358, 0, 2590 0, 0, 0, 0, 0, 349, 228, 185, 186, 332, 2591 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 2592 0, 270, 348, 0, 0, 0, 0, 299, 0, 0, 2593 0, 0, 0, 239, 280, 0, 300, 0, 0, 0, 2594 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 2595 330, 342, 359, 362, 0, 0, 0, 190, 361, 0, 2596 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 2597 341, 0, 0, 0, 0, 0, 357, 264, 265, 266, 2598 267, 231, 0, 207, 360, 289, 0, 0, 0, 0, 2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600 0, 0, 354, 227, 233, 0, 235, 206, 279, 229, 2601 339, 242, 0, 365, 0, 0, 0, 0, 271, 238, 2602 304, 243, 249, 292, 338, 277, 297, 204, 329, 305, 2603 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2604 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2607 0, 187, 910, 247, 0, 288, 226, 148, 149, 150, 2608 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 2609 161, 162, 163, 164, 165, 166, 167, 168, 169, 0, 2610 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 2611 180, 181, 182, 183, 314, 0, 0, 345, 346, 347, 2612 367, 331, 0, 218, 0, 276, 0, 0, 0, 0, 2613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2614 0, 0, 221, 0, 0, 246, 0, 0, 0, 0, 2615 0, 0, 306, 260, 0, 0, 0, 0, 0, 0, 2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2617 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 2618 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2619 205, 2221, 2224, 0, 0, 0, 0, 0, 0, 0, 2620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 2624 311, 327, 203, 302, 340, 208, 309, 198, 275, 298, 2625 0, 0, 195, 325, 308, 257, 240, 241, 194, 0, 2626 293, 219, 232, 215, 273, 0, 324, 352, 214, 343, 2627 0, 335, 197, 0, 334, 272, 321, 326, 258, 252, 2628 196, 323, 256, 251, 244, 223, 366, 236, 284, 250, 2629 285, 237, 262, 261, 263, 0, 0, 0, 0, 0, 2630 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2631 0, 0, 0, 0, 0, 0, 2225, 337, 0, 0, 2632 0, 2218, 0, 2217, 310, 2219, 2222, 245, 0, 0, 2633 0, 353, 0, 296, 278, 0, 0, 0, 294, 248, 2634 322, 286, 328, 312, 336, 290, 287, 188, 313, 217, 2635 259, 199, 201, 213, 220, 222, 224, 225, 268, 269, 2636 281, 301, 315, 316, 317, 216, 209, 295, 210, 234, 2637 211, 189, 303, 212, 191, 282, 320, 2223, 230, 291, 2638 255, 192, 254, 283, 319, 318, 200, 344, 350, 351, 2639 355, 0, 356, 0, 0, 0, 364, 0, 0, 0, 2640 0, 0, 358, 0, 0, 0, 0, 0, 0, 349, 2641 228, 185, 186, 332, 0, 274, 0, 0, 0, 0, 2642 0, 0, 0, 0, 0, 270, 348, 0, 0, 0, 2643 0, 299, 0, 0, 0, 0, 0, 239, 280, 0, 2644 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645 0, 0, 0, 307, 330, 342, 359, 362, 0, 0, 2646 0, 190, 361, 0, 0, 0, 0, 0, 0, 0, 2647 333, 0, 0, 0, 341, 0, 0, 0, 0, 0, 2648 357, 264, 265, 266, 267, 231, 0, 207, 360, 289, 2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2650 0, 0, 0, 0, 0, 0, 354, 227, 233, 0, 2651 235, 206, 279, 229, 339, 242, 0, 365, 0, 0, 2652 0, 0, 271, 238, 304, 243, 249, 292, 338, 277, 2653 297, 204, 329, 305, 253, 0, 0, 0, 0, 0, 2654 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2657 0, 0, 0, 0, 0, 187, 0, 247, 0, 288, 2658 226, 148, 149, 150, 151, 152, 153, 154, 155, 156, 2659 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 2660 167, 168, 169, 0, 170, 171, 172, 173, 174, 175, 2661 176, 177, 178, 179, 180, 181, 182, 183, 314, 0, 2662 0, 345, 346, 347, 367, 331, 0, 218, 0, 276, 2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2664 0, 1414, 0, 0, 0, 0, 221, 0, 0, 246, 2665 0, 0, 0, 0, 0, 0, 306, 260, 0, 0, 2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 2668 1415, 0, 0, 0, 202, 0, 0, 0, 0, 0, 2669 0, 0, 0, 0, 205, 0, 0, 790, 791, 792, 2670 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2674 0, 0, 0, 193, 311, 327, 203, 302, 340, 208, 2675 309, 198, 275, 298, 0, 0, 195, 325, 308, 257, 2676 240, 241, 194, 0, 293, 219, 232, 215, 273, 0, 2677 324, 352, 214, 343, 0, 335, 197, 0, 334, 272, 2678 321, 326, 258, 252, 196, 323, 256, 251, 244, 223, 2679 366, 236, 284, 250, 285, 237, 262, 261, 263, 0, 2680 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682 0, 337, 0, 0, 0, 0, 0, 0, 310, 0, 2683 0, 245, 0, 0, 0, 353, 0, 296, 278, 0, 2684 0, 0, 294, 248, 322, 286, 328, 312, 336, 290, 2685 287, 188, 313, 217, 259, 199, 201, 213, 220, 222, 2686 224, 225, 268, 269, 281, 301, 315, 316, 317, 216, 2687 209, 295, 210, 234, 211, 189, 303, 212, 191, 282, 2688 320, 0, 230, 291, 255, 192, 254, 283, 319, 318, 2689 200, 344, 350, 351, 355, 0, 356, 0, 0, 0, 2690 364, 0, 0, 0, 0, 0, 358, 0, 0, 0, 2691 0, 0, 0, 349, 228, 185, 186, 332, 0, 274, 2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 2693 348, 0, 0, 0, 0, 299, 0, 0, 0, 0, 2694 0, 239, 280, 0, 300, 0, 0, 0, 0, 0, 2695 0, 0, 0, 0, 0, 0, 0, 307, 330, 342, 2696 359, 362, 0, 0, 0, 190, 361, 0, 0, 0, 2697 0, 0, 0, 0, 333, 0, 0, 0, 341, 0, 2698 0, 0, 0, 0, 357, 264, 265, 266, 267, 231, 2699 0, 207, 360, 289, 0, 0, 0, 0, 0, 0, 2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2701 354, 227, 233, 0, 235, 206, 279, 229, 339, 242, 2702 0, 365, 0, 0, 0, 0, 271, 238, 304, 243, 2703 249, 292, 338, 277, 297, 204, 329, 305, 253, 0, 2704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2705 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 2708 0, 247, 0, 288, 226, 148, 149, 150, 151, 152, 2709 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 2710 163, 164, 165, 166, 167, 168, 169, 0, 170, 171, 2711 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 2712 182, 183, 314, 0, 0, 345, 346, 347, 367, 331, 2713 0, 218, 0, 276, 0, 0, 0, 0, 0, 0, 2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2715 221, 667, 0, 246, 0, 0, 0, 0, 0, 0, 2716 306, 260, 0, 0, 0, 0, 0, 0, 0, 0, 2717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2718 0, 145, 675, 676, 0, 0, 0, 0, 202, 0, 2719 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2724 0, 0, 0, 0, 0, 0, 0, 193, 311, 327, 2725 203, 302, 340, 208, 309, 198, 275, 298, 0, 0, 2726 195, 325, 308, 257, 240, 241, 194, 0, 293, 219, 2727 232, 215, 273, 0, 324, 352, 214, 343, 651, 335, 2728 197, 650, 334, 272, 321, 326, 258, 252, 196, 323, 2729 256, 251, 244, 223, 366, 236, 284, 250, 285, 237, 2730 262, 261, 263, 0, 0, 0, 0, 0, 363, 0, 2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 2733 0, 0, 310, 0, 0, 245, 0, 0, 0, 353, 2734 0, 296, 278, 0, 0, 0, 294, 248, 322, 286, 2735 328, 312, 336, 665, 287, 188, 313, 217, 259, 199, 2736 201, 213, 220, 222, 224, 225, 268, 269, 281, 301, 2737 315, 316, 317, 216, 209, 295, 210, 234, 211, 189, 2738 303, 212, 191, 282, 320, 0, 230, 291, 255, 192, 2739 254, 283, 319, 318, 200, 344, 350, 351, 355, 0, 2740 356, 0, 0, 0, 364, 0, 0, 0, 0, 0, 2741 358, 0, 0, 0, 0, 0, 0, 349, 228, 185, 2742 186, 332, 0, 274, 0, 0, 0, 0, 0, 0, 2743 0, 0, 0, 270, 348, 0, 0, 0, 0, 299, 2744 0, 0, 0, 0, 0, 239, 280, 0, 300, 0, 2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2746 0, 307, 330, 342, 359, 362, 0, 0, 0, 190, 2747 361, 0, 0, 0, 0, 0, 0, 666, 333, 0, 2748 0, 0, 341, 0, 0, 0, 0, 0, 669, 264, 2749 265, 266, 267, 231, 0, 207, 360, 289, 0, 0, 2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2751 0, 0, 0, 0, 354, 227, 233, 0, 235, 206, 2752 279, 229, 339, 242, 0, 365, 0, 0, 0, 0, 2753 677, 672, 673, 243, 249, 292, 338, 277, 297, 204, 2754 329, 305, 674, 0, 0, 0, 0, 0, 0, 0, 2755 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 2756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2758 0, 0, 0, 187, 0, 247, 0, 288, 226, 148, 2759 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 2760 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 2761 169, 0, 170, 171, 172, 173, 174, 175, 176, 177, 2762 178, 179, 180, 181, 182, 183, 137, 314, 0, 345, 2763 346, 347, 367, 331, 0, 218, 0, 0, 276, 0, 2764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2765 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 2766 0, 0, 94, 0, 0, 306, 260, 0, 0, 0, 2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2768 0, 0, 0, 134, 1436, 0, 145, 0, 0, 0, 2769 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 2770 0, 0, 0, 205, 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, 193, 311, 327, 203, 302, 340, 208, 309, 2776 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 2777 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 2778 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 2779 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 2780 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 2781 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2783 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 2784 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 2785 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 2786 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 2787 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 2788 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 2789 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 2790 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 2791 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 2792 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 2793 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 2794 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 2795 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 2796 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 2797 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 2798 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 2799 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 2800 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 2801 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 2802 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 2803 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 2804 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2806 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 2809 247, 106, 288, 226, 148, 149, 150, 151, 152, 153, 2810 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 2811 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 2812 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 2813 183, 137, 314, 0, 345, 346, 347, 367, 331, 0, 2814 218, 0, 0, 276, 0, 0, 0, 0, 0, 0, 2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2816 221, 0, 0, 246, 0, 0, 0, 94, 0, 0, 2817 306, 260, 0, 0, 0, 0, 0, 0, 0, 0, 2818 0, 0, 0, 0, 0, 0, 0, 0, 134, 1427, 2819 0, 145, 0, 0, 0, 0, 0, 0, 202, 0, 2820 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, 2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2825 0, 0, 0, 0, 0, 0, 0, 193, 311, 327, 2826 203, 302, 340, 208, 309, 198, 275, 298, 0, 0, 2827 195, 325, 308, 257, 240, 241, 194, 0, 293, 219, 2828 232, 215, 273, 0, 324, 352, 214, 343, 0, 335, 2829 197, 0, 334, 272, 321, 326, 258, 252, 196, 323, 2830 256, 251, 244, 223, 366, 236, 284, 250, 285, 237, 2831 262, 261, 263, 0, 0, 0, 0, 0, 363, 0, 2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2833 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 2834 0, 0, 310, 0, 0, 245, 0, 0, 0, 353, 2835 0, 296, 278, 0, 0, 0, 294, 248, 322, 286, 2836 328, 312, 336, 290, 287, 188, 313, 217, 259, 199, 2837 201, 213, 220, 222, 224, 225, 268, 269, 281, 301, 2838 315, 316, 317, 216, 209, 295, 210, 234, 211, 189, 2839 303, 212, 191, 282, 320, 0, 230, 291, 255, 192, 2840 254, 283, 319, 318, 200, 344, 350, 351, 355, 0, 2841 356, 0, 0, 0, 364, 0, 0, 0, 0, 0, 2842 358, 0, 0, 0, 0, 0, 0, 349, 228, 185, 2843 186, 332, 0, 274, 0, 0, 0, 0, 0, 0, 2844 0, 0, 0, 270, 348, 0, 0, 0, 0, 299, 2845 0, 0, 0, 0, 0, 239, 280, 0, 300, 0, 2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2847 0, 307, 330, 342, 359, 362, 0, 0, 0, 190, 2848 361, 0, 0, 0, 0, 0, 0, 0, 333, 0, 2849 0, 0, 341, 0, 0, 0, 0, 0, 357, 264, 2850 265, 266, 267, 231, 0, 207, 360, 289, 0, 0, 2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2852 0, 0, 0, 0, 354, 227, 233, 0, 235, 206, 2853 279, 229, 339, 242, 0, 365, 0, 0, 0, 0, 2854 271, 238, 304, 243, 249, 292, 338, 277, 297, 204, 2855 329, 305, 253, 0, 0, 0, 0, 0, 0, 0, 2856 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2859 0, 0, 0, 187, 0, 247, 106, 288, 226, 148, 2860 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 2861 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 2862 169, 0, 170, 171, 172, 173, 174, 175, 176, 177, 2863 178, 179, 180, 181, 182, 183, 137, 314, 0, 345, 2864 346, 347, 367, 331, 0, 218, 0, 0, 276, 0, 2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2866 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 2867 0, 0, 94, 0, 0, 306, 260, 0, 0, 0, 2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2869 0, 0, 0, 1363, 0, 0, 145, 0, 0, 0, 2870 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 2871 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2876 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 2877 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 2878 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 2879 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 2880 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 2881 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 2882 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2884 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 2885 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 2886 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 2887 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 2888 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 2889 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 2890 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 2891 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 2892 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 2893 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 2894 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 2895 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 2896 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 2897 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 2898 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 2899 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 2900 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 2901 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 2903 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 2904 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 2905 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2907 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 2908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2909 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 2910 247, 106, 288, 226, 148, 149, 150, 151, 152, 153, 2911 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 2912 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 2913 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 2914 183, 314, 0, 0, 345, 346, 347, 367, 331, 0, 2915 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 2917 0, 0, 246, 0, 0, 0, 0, 0, 0, 306, 2918 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2920 145, 675, 676, 0, 0, 0, 0, 202, 0, 0, 2921 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 2922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926 0, 0, 0, 0, 0, 0, 193, 311, 327, 203, 2927 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 2928 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 2929 215, 273, 0, 324, 352, 214, 343, 651, 335, 197, 2930 650, 334, 272, 321, 326, 258, 252, 196, 323, 256, 2931 251, 244, 223, 366, 236, 284, 250, 285, 237, 262, 2932 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 2933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2934 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 2935 0, 310, 0, 0, 245, 0, 0, 0, 353, 0, 2936 296, 278, 0, 0, 0, 294, 248, 322, 286, 328, 2937 312, 336, 290, 287, 188, 313, 217, 259, 199, 201, 2938 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 2939 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 2940 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 2941 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 2942 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 2943 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 2944 332, 0, 274, 0, 0, 0, 0, 0, 0, 0, 2945 0, 0, 270, 348, 0, 0, 0, 0, 299, 0, 2946 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 2947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2948 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 2949 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 2950 0, 341, 0, 0, 0, 0, 0, 357, 264, 265, 2951 266, 267, 231, 0, 207, 360, 289, 0, 0, 0, 2952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2953 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 2954 229, 339, 242, 0, 365, 0, 0, 0, 0, 677, 2955 672, 673, 243, 249, 292, 338, 277, 297, 204, 329, 2956 305, 674, 0, 0, 0, 0, 0, 0, 0, 0, 2957 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 2958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2960 0, 0, 187, 0, 247, 0, 288, 226, 148, 149, 2961 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 2962 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 2963 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 2964 179, 180, 181, 182, 183, 314, 0, 0, 345, 346, 2965 347, 367, 331, 0, 218, 0, 276, 0, 0, 0, 2966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2967 0, 0, 0, 221, 1042, 0, 246, 0, 0, 0, 2968 0, 0, 0, 306, 260, 0, 0, 0, 0, 0, 2969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2970 0, 0, 0, 0, 145, 0, 0, 1040, 0, 0, 2971 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 2972 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 2973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2976 0, 0, 0, 0, 0, 1038, 0, 0, 0, 0, 2977 193, 311, 327, 203, 302, 340, 208, 309, 198, 275, 2978 298, 0, 0, 195, 325, 308, 257, 240, 241, 194, 2979 0, 293, 219, 232, 215, 273, 0, 324, 352, 214, 2980 343, 0, 335, 197, 0, 334, 272, 321, 326, 258, 2981 252, 196, 323, 256, 251, 244, 223, 366, 236, 284, 2982 250, 285, 237, 262, 261, 263, 0, 0, 0, 0, 2983 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 2984 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 2985 0, 0, 0, 0, 0, 310, 0, 0, 245, 0, 2986 0, 0, 353, 0, 296, 278, 0, 0, 0, 294, 2987 248, 322, 286, 328, 312, 336, 290, 287, 188, 313, 2988 217, 259, 199, 201, 213, 220, 222, 224, 225, 268, 2989 269, 281, 301, 315, 316, 317, 216, 209, 295, 210, 2990 234, 211, 189, 303, 212, 191, 282, 320, 0, 230, 2991 291, 255, 192, 254, 283, 319, 318, 200, 344, 350, 2992 351, 355, 0, 356, 0, 0, 0, 364, 0, 0, 2993 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 2994 349, 228, 185, 186, 332, 0, 274, 0, 0, 0, 2995 0, 0, 0, 0, 0, 0, 270, 348, 0, 0, 2996 0, 0, 299, 0, 0, 0, 0, 0, 239, 280, 2997 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 2998 0, 0, 0, 0, 307, 330, 342, 359, 362, 0, 2999 0, 0, 190, 361, 0, 0, 0, 0, 0, 0, 3000 0, 333, 0, 0, 0, 341, 0, 0, 0, 0, 3001 0, 357, 264, 265, 266, 267, 231, 0, 207, 360, 3002 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3003 0, 0, 0, 0, 0, 0, 0, 354, 227, 233, 3004 0, 235, 206, 279, 229, 339, 242, 0, 365, 0, 3005 0, 0, 0, 271, 238, 304, 243, 249, 292, 338, 3006 277, 297, 204, 329, 305, 253, 0, 0, 0, 0, 3007 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 3008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3010 0, 0, 0, 0, 0, 0, 187, 0, 247, 0, 3011 288, 226, 148, 149, 150, 151, 152, 153, 154, 155, 3012 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 3013 166, 167, 168, 169, 0, 170, 171, 172, 173, 174, 3014 175, 176, 177, 178, 179, 180, 181, 182, 183, 314, 3015 0, 0, 345, 346, 347, 367, 331, 0, 218, 0, 3016 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3017 0, 0, 0, 0, 0, 0, 0, 221, 1036, 0, 3018 246, 0, 0, 0, 0, 0, 0, 306, 260, 0, 3019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 3021 0, 1040, 0, 0, 0, 202, 0, 0, 0, 0, 3022 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 3023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3026 0, 0, 0, 0, 0, 0, 0, 0, 0, 1038, 3027 0, 0, 0, 0, 193, 311, 327, 203, 302, 340, 3028 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 3029 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 3030 0, 324, 352, 214, 343, 0, 335, 197, 0, 334, 3031 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 3032 223, 366, 236, 284, 250, 285, 237, 262, 261, 263, 3033 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 3034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3035 0, 0, 337, 0, 0, 0, 0, 0, 0, 310, 3036 0, 0, 245, 0, 0, 0, 353, 0, 296, 278, 3037 0, 0, 0, 294, 248, 322, 286, 328, 312, 336, 3038 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 3039 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 3040 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 3041 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 3042 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 3043 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 3044 0, 0, 0, 0, 349, 228, 185, 186, 332, 0, 3045 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3046 270, 348, 0, 0, 0, 0, 299, 0, 0, 0, 3047 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 3048 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 3049 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 3050 0, 0, 0, 0, 0, 333, 0, 0, 0, 341, 3051 0, 0, 0, 0, 0, 357, 264, 265, 266, 267, 3052 231, 0, 207, 360, 289, 0, 0, 0, 0, 0, 3053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3054 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 3055 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 3056 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 3057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3058 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 3059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3061 187, 0, 247, 0, 288, 226, 148, 149, 150, 151, 3062 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 3063 162, 163, 164, 165, 166, 167, 168, 169, 0, 170, 3064 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 3065 181, 182, 183, 314, 0, 0, 345, 346, 347, 367, 3066 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 3067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068 0, 221, 0, 0, 246, 0, 0, 0, 0, 0, 3069 0, 306, 260, 0, 0, 0, 0, 0, 0, 0, 3070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3071 2716, 0, 145, 521, 0, 0, 0, 0, 0, 202, 3072 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 3073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3077 0, 0, 0, 0, 0, 0, 0, 0, 193, 311, 3078 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 3079 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 3080 219, 232, 215, 273, 0, 324, 352, 214, 343, 0, 3081 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 3082 323, 256, 251, 244, 223, 366, 236, 284, 250, 285, 3083 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 3084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3085 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 3086 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 3087 353, 0, 296, 278, 0, 0, 0, 294, 248, 322, 3088 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 3089 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 3090 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 3091 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 3092 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 3093 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 3094 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 3095 185, 186, 332, 0, 274, 0, 0, 0, 0, 0, 3096 0, 0, 0, 0, 270, 348, 0, 0, 0, 0, 3097 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 3098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3099 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 3100 190, 361, 0, 0, 0, 0, 0, 0, 0, 333, 3101 0, 0, 0, 341, 0, 0, 0, 0, 0, 357, 3102 264, 265, 266, 267, 231, 0, 207, 360, 289, 0, 3103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3104 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 3105 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 3106 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 3107 204, 329, 305, 253, 0, 0, 0, 0, 0, 0, 3108 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 3109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3111 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 3112 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 3113 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 3114 168, 169, 0, 170, 171, 172, 173, 174, 175, 176, 3115 177, 178, 179, 180, 181, 182, 183, 314, 0, 0, 3116 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 3117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3118 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 3119 0, 0, 0, 0, 0, 306, 260, 0, 0, 0, 3120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3121 0, 0, 0, 0, 0, 0, 145, 0, 0, 1040, 3122 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 3123 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 3124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3127 0, 0, 0, 0, 0, 0, 0, 1038, 0, 0, 3128 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 3129 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 3130 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 3131 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 3132 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 3133 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 3134 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 3135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3136 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 3137 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 3138 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 3139 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 3140 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 3141 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 3142 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 3143 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 3144 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 3145 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 3146 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 3147 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 3148 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 3149 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 3150 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 3151 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 3152 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 3153 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 3154 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 3155 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 3156 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 3157 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 3158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3159 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 3160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3161 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 3162 247, 0, 288, 226, 148, 149, 150, 151, 152, 153, 3163 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 3164 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 3165 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 3166 183, 314, 0, 0, 345, 346, 347, 367, 331, 0, 3167 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 3168 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 3169 0, 0, 246, 0, 0, 0, 0, 0, 0, 306, 3170 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3172 145, 0, 0, 1040, 0, 0, 0, 202, 0, 0, 3173 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 3174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3178 0, 2327, 0, 0, 0, 0, 193, 311, 327, 203, 3179 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 3180 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 3181 215, 273, 0, 324, 352, 214, 343, 0, 335, 197, 3182 0, 334, 272, 321, 326, 258, 252, 196, 323, 256, 3183 251, 244, 223, 366, 236, 284, 250, 285, 237, 262, 3184 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 3185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3186 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 3187 0, 310, 0, 0, 245, 0, 0, 0, 353, 0, 3188 296, 278, 0, 0, 0, 294, 248, 322, 286, 328, 3189 312, 336, 290, 287, 188, 313, 217, 259, 199, 201, 3190 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 3191 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 3192 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 3193 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 3194 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 3195 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 3196 332, 0, 274, 0, 0, 0, 0, 0, 0, 0, 3197 0, 0, 270, 348, 0, 0, 0, 0, 299, 0, 3198 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 3199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3200 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 3201 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 3202 0, 341, 0, 0, 0, 0, 0, 357, 264, 265, 3203 266, 267, 231, 0, 207, 360, 289, 0, 0, 0, 3204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3205 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 3206 229, 339, 242, 0, 365, 0, 0, 0, 0, 271, 3207 238, 304, 243, 249, 292, 338, 277, 297, 204, 329, 3208 305, 253, 0, 0, 0, 0, 0, 0, 0, 0, 3209 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 3210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3212 0, 0, 187, 0, 247, 0, 288, 226, 148, 149, 3213 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 3214 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 3215 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 3216 179, 180, 181, 182, 183, 314, 0, 0, 345, 346, 3217 347, 367, 331, 0, 218, 0, 276, 0, 0, 0, 3218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3219 0, 0, 0, 221, 1861, 0, 246, 0, 0, 0, 3220 0, 0, 0, 306, 260, 0, 0, 0, 0, 0, 3221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3222 0, 0, 0, 0, 145, 0, 0, 1040, 0, 0, 3223 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 3224 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 3225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3229 193, 311, 327, 203, 302, 340, 208, 309, 198, 275, 3230 298, 0, 0, 195, 325, 308, 257, 240, 241, 194, 3231 0, 293, 219, 232, 215, 273, 0, 324, 352, 214, 3232 343, 0, 335, 197, 0, 334, 272, 321, 326, 258, 3233 252, 196, 323, 256, 251, 244, 223, 366, 236, 284, 3234 250, 285, 237, 262, 261, 263, 0, 0, 0, 0, 3235 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 3236 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 3237 0, 0, 0, 0, 0, 310, 0, 0, 245, 0, 3238 0, 0, 353, 0, 296, 278, 0, 0, 0, 294, 3239 248, 322, 286, 328, 312, 336, 290, 287, 188, 313, 3240 217, 259, 199, 201, 213, 220, 222, 224, 225, 268, 3241 269, 281, 301, 315, 316, 317, 216, 209, 295, 210, 3242 234, 211, 189, 303, 212, 191, 282, 320, 0, 230, 3243 291, 255, 192, 254, 283, 319, 318, 200, 344, 350, 3244 351, 355, 0, 356, 0, 0, 0, 364, 0, 0, 3245 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 3246 349, 228, 185, 186, 332, 0, 274, 0, 0, 0, 3247 0, 0, 0, 0, 0, 0, 270, 348, 0, 0, 3248 0, 0, 299, 0, 0, 0, 0, 0, 239, 280, 3249 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 3250 0, 0, 0, 0, 307, 330, 342, 359, 362, 0, 3251 0, 0, 190, 361, 0, 0, 0, 0, 0, 0, 3252 0, 333, 0, 0, 0, 341, 0, 0, 0, 0, 3253 0, 357, 264, 265, 266, 267, 231, 0, 207, 360, 3254 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3255 0, 0, 0, 0, 0, 0, 0, 354, 227, 233, 3256 0, 235, 206, 279, 229, 339, 242, 0, 365, 0, 3257 0, 0, 0, 271, 238, 304, 243, 249, 292, 338, 3258 277, 297, 204, 329, 305, 253, 0, 0, 0, 0, 3259 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 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, 187, 0, 247, 0, 3263 288, 226, 148, 149, 150, 151, 152, 153, 154, 155, 3264 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 3265 166, 167, 168, 169, 0, 170, 171, 172, 173, 174, 3266 175, 176, 177, 178, 179, 180, 181, 182, 183, 314, 3267 0, 0, 345, 346, 347, 367, 331, 0, 218, 0, 3268 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3269 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 3270 246, 0, 0, 0, 0, 0, 0, 306, 260, 0, 3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3272 0, 0, 0, 0, 0, 0, 2819, 0, 145, 0, 3273 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 3274 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 3275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3279 0, 0, 0, 0, 193, 311, 327, 203, 302, 340, 3280 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 3281 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 3282 0, 324, 352, 214, 343, 0, 335, 197, 0, 334, 3283 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 3284 223, 366, 236, 284, 250, 285, 237, 262, 261, 263, 3285 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 3286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3287 0, 0, 337, 0, 0, 0, 0, 0, 0, 310, 3288 0, 0, 245, 0, 0, 0, 353, 0, 296, 278, 3289 0, 0, 0, 294, 248, 322, 286, 328, 312, 336, 3290 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 3291 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 3292 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 3293 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 3294 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 3295 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 3296 0, 0, 0, 0, 349, 228, 185, 186, 332, 0, 3297 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3298 270, 348, 0, 0, 0, 0, 299, 0, 0, 0, 3299 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 3300 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 3301 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 3302 0, 0, 0, 0, 0, 333, 0, 0, 0, 341, 3303 0, 0, 0, 0, 0, 357, 264, 265, 266, 267, 3304 231, 0, 207, 360, 289, 0, 0, 0, 0, 0, 3305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3306 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 3307 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 3308 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 3309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3310 0, 0, 0, 184, 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 187, 0, 247, 0, 288, 226, 148, 149, 150, 151, 3314 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 3315 162, 163, 164, 165, 166, 167, 168, 169, 0, 170, 3316 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 3317 181, 182, 183, 314, 0, 0, 345, 346, 347, 367, 3318 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 3319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3320 0, 221, 0, 0, 246, 0, 0, 0, 0, 0, 3321 0, 306, 260, 0, 0, 0, 0, 0, 0, 0, 3322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3323 0, 0, 145, 521, 0, 0, 0, 0, 0, 202, 3324 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3329 0, 0, 0, 0, 0, 0, 0, 0, 193, 311, 3330 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 3331 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 3332 219, 232, 215, 273, 0, 324, 352, 214, 343, 0, 3333 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 3334 323, 256, 251, 244, 223, 366, 236, 284, 250, 285, 3335 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 3336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3337 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 3338 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 3339 353, 0, 296, 278, 0, 0, 0, 294, 248, 322, 3340 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 3341 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 3342 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 3343 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 3344 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 3345 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 3346 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 3347 185, 186, 332, 0, 274, 0, 0, 0, 0, 0, 3348 0, 0, 0, 0, 270, 348, 0, 0, 0, 0, 3349 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 3350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3351 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 3352 190, 361, 0, 0, 0, 0, 0, 0, 0, 333, 3353 0, 0, 0, 341, 0, 0, 0, 0, 0, 357, 3354 264, 265, 266, 267, 231, 0, 207, 360, 289, 0, 3355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3356 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 3357 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 3358 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 3359 204, 329, 305, 253, 0, 0, 0, 0, 0, 0, 3360 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3363 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 3364 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 3365 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 3366 168, 169, 0, 170, 171, 172, 173, 174, 175, 176, 3367 177, 178, 179, 180, 181, 182, 183, 314, 0, 0, 3368 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3370 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 3371 0, 0, 0, 0, 0, 306, 260, 0, 0, 0, 3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3373 0, 0, 0, 2731, 0, 0, 145, 0, 0, 0, 3374 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 3375 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 3376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3380 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 3381 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 3382 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 3383 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 3384 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 3385 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 3386 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 3387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3388 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 3389 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 3390 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 3391 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 3392 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 3393 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 3394 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 3395 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 3396 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 3397 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 3398 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 3399 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 3400 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 3401 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 3402 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 3403 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 3404 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 3405 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 3406 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 3407 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 3408 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 3409 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 3410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3411 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 3412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3413 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 3414 247, 0, 288, 226, 148, 149, 150, 151, 152, 153, 3415 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 3416 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 3417 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 3418 183, 314, 0, 0, 345, 346, 347, 367, 331, 0, 3419 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 3421 0, 0, 246, 0, 0, 0, 0, 0, 0, 306, 3422 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3423 0, 0, 0, 0, 0, 0, 0, 2395, 0, 0, 3424 145, 0, 0, 0, 0, 0, 0, 202, 0, 0, 3425 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 3426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3430 0, 0, 0, 0, 0, 0, 193, 311, 327, 203, 3431 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 3432 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 3433 215, 273, 0, 324, 352, 214, 343, 0, 335, 197, 3434 0, 334, 272, 321, 326, 258, 252, 196, 323, 256, 3435 251, 244, 223, 366, 236, 284, 250, 285, 237, 262, 3436 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 3437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3438 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 3439 0, 310, 0, 0, 245, 0, 0, 0, 353, 0, 3440 296, 278, 0, 0, 0, 294, 248, 322, 286, 328, 3441 312, 336, 290, 287, 188, 313, 217, 259, 199, 201, 3442 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 3443 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 3444 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 3445 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 3446 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 3447 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 3448 332, 0, 274, 0, 0, 0, 0, 0, 0, 0, 3449 0, 0, 270, 348, 0, 0, 0, 0, 299, 0, 3450 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 3451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3452 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 3453 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 3454 0, 341, 0, 0, 0, 0, 0, 357, 264, 265, 3455 266, 267, 231, 0, 207, 360, 289, 0, 0, 0, 3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3457 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 3458 229, 339, 242, 0, 365, 0, 0, 0, 0, 271, 3459 238, 304, 243, 249, 292, 338, 277, 297, 204, 329, 3460 305, 253, 0, 0, 0, 0, 0, 0, 0, 0, 3461 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3464 0, 0, 187, 0, 247, 0, 288, 226, 148, 149, 3465 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 3466 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 3467 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 3468 179, 180, 181, 182, 183, 314, 0, 0, 345, 346, 3469 347, 367, 331, 0, 218, 0, 276, 0, 0, 0, 3470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3471 0, 0, 0, 221, 0, 0, 246, 0, 0, 0, 3472 0, 0, 0, 306, 260, 0, 0, 0, 0, 0, 3473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3474 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 3475 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 3476 0, 205, 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 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3481 193, 311, 327, 203, 302, 340, 208, 309, 198, 275, 3482 298, 0, 0, 195, 325, 308, 257, 240, 241, 194, 3483 0, 293, 219, 232, 215, 273, 0, 324, 352, 214, 3484 343, 0, 335, 197, 0, 334, 272, 321, 326, 258, 3485 252, 196, 323, 256, 251, 244, 223, 366, 236, 284, 3486 250, 285, 237, 262, 261, 263, 0, 0, 0, 0, 3487 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 3488 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 3489 0, 0, 2652, 0, 0, 310, 0, 0, 245, 0, 3490 0, 0, 353, 0, 296, 278, 0, 0, 0, 294, 3491 248, 322, 286, 328, 312, 336, 290, 287, 188, 313, 3492 217, 259, 199, 201, 213, 220, 222, 224, 225, 268, 3493 269, 281, 301, 315, 316, 317, 216, 209, 295, 210, 3494 234, 211, 189, 303, 212, 191, 282, 320, 0, 230, 3495 291, 255, 192, 254, 283, 319, 318, 200, 344, 350, 3496 351, 355, 0, 356, 0, 0, 0, 364, 0, 0, 3497 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 3498 349, 228, 185, 186, 332, 0, 274, 0, 0, 0, 3499 0, 0, 0, 0, 0, 0, 270, 348, 0, 0, 3500 0, 0, 299, 0, 0, 0, 0, 0, 239, 280, 3501 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 3502 0, 0, 0, 0, 307, 330, 342, 359, 362, 0, 3503 0, 0, 190, 361, 0, 0, 0, 0, 0, 0, 3504 0, 333, 0, 0, 0, 341, 0, 0, 0, 0, 3505 0, 357, 264, 265, 266, 267, 231, 0, 207, 360, 3506 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3507 0, 0, 0, 0, 0, 0, 0, 354, 227, 233, 3508 0, 235, 206, 279, 229, 339, 242, 0, 365, 0, 3509 0, 0, 0, 271, 238, 304, 243, 249, 292, 338, 3510 277, 297, 204, 329, 305, 253, 0, 0, 0, 0, 3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3514 0, 0, 0, 0, 0, 0, 187, 0, 247, 0, 3515 288, 226, 148, 149, 150, 151, 152, 153, 154, 155, 3516 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 3517 166, 167, 168, 169, 0, 170, 171, 172, 173, 174, 3518 175, 176, 177, 178, 179, 180, 181, 182, 183, 314, 3519 0, 0, 345, 346, 347, 367, 331, 0, 218, 0, 3520 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3521 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 3522 246, 0, 0, 0, 0, 0, 0, 306, 260, 0, 3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3524 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 3525 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 3526 0, 0, 0, 0, 0, 205, 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, 193, 311, 327, 203, 302, 340, 3532 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 3533 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 3534 0, 324, 352, 214, 343, 0, 335, 197, 0, 334, 3535 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 3536 223, 366, 236, 284, 250, 285, 237, 262, 261, 263, 3537 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 3538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3539 0, 0, 337, 0, 0, 0, 2464, 0, 0, 310, 3540 0, 0, 245, 0, 0, 0, 353, 0, 296, 278, 3541 0, 0, 0, 294, 248, 322, 286, 328, 312, 336, 3542 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 3543 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 3544 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 3545 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 3546 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 3547 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 3548 0, 0, 0, 0, 349, 228, 185, 186, 332, 0, 3549 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3550 270, 348, 0, 0, 0, 0, 299, 0, 0, 0, 3551 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 3552 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 3553 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 3554 0, 0, 0, 0, 0, 333, 0, 0, 0, 341, 3555 0, 0, 0, 0, 0, 357, 264, 265, 266, 267, 3556 231, 0, 207, 360, 289, 0, 0, 0, 0, 0, 3557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3558 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 3559 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 3560 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 3561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3562 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 3563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3565 187, 0, 247, 0, 288, 226, 148, 149, 150, 151, 3566 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 3567 162, 163, 164, 165, 166, 167, 168, 169, 0, 170, 3568 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 3569 181, 182, 183, 314, 0, 0, 345, 346, 347, 367, 3570 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 3571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3572 0, 221, 0, 0, 246, 0, 0, 0, 0, 0, 3573 0, 306, 260, 0, 0, 0, 0, 0, 0, 0, 3574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3575 0, 0, 145, 0, 0, 0, 0, 0, 0, 202, 3576 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 3577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3580 0, 0, 0, 0, 2234, 0, 0, 0, 0, 0, 3581 0, 0, 0, 0, 0, 0, 0, 0, 193, 311, 3582 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 3583 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 3584 219, 232, 215, 273, 0, 324, 352, 214, 343, 0, 3585 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 3586 323, 256, 251, 244, 223, 366, 236, 284, 250, 285, 3587 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 3588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3589 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 3590 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 3591 353, 0, 296, 278, 0, 0, 0, 294, 248, 322, 3592 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 3593 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 3594 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 3595 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 3596 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 3597 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 3598 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 3599 185, 186, 332, 0, 274, 0, 0, 0, 0, 0, 3600 0, 0, 0, 0, 270, 348, 0, 0, 0, 0, 3601 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 3602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3603 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 3604 190, 361, 0, 0, 0, 0, 0, 0, 0, 333, 3605 0, 0, 0, 341, 0, 0, 0, 0, 0, 357, 3606 264, 265, 266, 267, 231, 0, 207, 360, 289, 0, 3607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3608 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 3609 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 3610 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 3611 204, 329, 305, 253, 0, 0, 0, 0, 0, 0, 3612 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 3613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3615 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 3616 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 3617 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 3618 168, 169, 0, 170, 171, 172, 173, 174, 175, 176, 3619 177, 178, 179, 180, 181, 182, 183, 314, 0, 0, 3620 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 3621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3622 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 3623 0, 0, 0, 0, 0, 306, 260, 0, 0, 0, 3624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3625 0, 0, 0, 1363, 0, 0, 145, 0, 0, 0, 3626 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 3627 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 3628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3632 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 3633 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 3634 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 3635 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 3636 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 3637 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 3638 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 3639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3640 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 3641 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 3642 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 3643 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 3644 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 3645 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 3646 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 3647 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 3648 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 3649 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 3650 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 3651 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 3652 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 3653 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 3654 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 3655 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 3656 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 3657 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 3658 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 3659 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 3660 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 3661 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 3662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3663 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 3664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3665 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 3666 247, 0, 288, 226, 148, 149, 150, 151, 152, 153, 3667 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 3668 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 3669 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 3670 183, 314, 0, 0, 345, 346, 347, 367, 331, 0, 3671 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 3672 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 3673 0, 0, 246, 0, 0, 0, 0, 0, 0, 306, 3674 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3676 145, 0, 0, 0, 0, 0, 0, 202, 0, 0, 3677 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 3678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3681 0, 0, 2271, 0, 0, 0, 0, 0, 0, 0, 3682 0, 0, 0, 0, 0, 0, 193, 311, 327, 203, 3683 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 3684 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 3685 215, 273, 0, 324, 352, 214, 343, 0, 335, 197, 3686 0, 334, 272, 321, 326, 258, 252, 196, 323, 256, 3687 251, 244, 223, 366, 236, 284, 250, 285, 237, 262, 3688 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 3689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3690 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 3691 0, 310, 0, 0, 245, 0, 0, 0, 353, 0, 3692 296, 278, 0, 0, 0, 294, 248, 322, 286, 328, 3693 312, 336, 290, 287, 188, 313, 217, 259, 199, 201, 3694 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 3695 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 3696 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 3697 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 3698 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 3699 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 3700 332, 0, 274, 0, 0, 0, 0, 0, 0, 0, 3701 0, 0, 270, 348, 0, 0, 0, 0, 299, 0, 3702 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 3703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3704 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 3705 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 3706 0, 341, 0, 0, 0, 0, 0, 357, 264, 265, 3707 266, 267, 231, 0, 207, 360, 289, 0, 0, 0, 3708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3709 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 3710 229, 339, 242, 0, 365, 0, 0, 0, 0, 271, 3711 238, 304, 243, 249, 292, 338, 277, 297, 204, 329, 3712 305, 253, 0, 0, 0, 0, 0, 0, 0, 0, 3713 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 3714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3716 0, 0, 187, 0, 247, 0, 288, 226, 148, 149, 3717 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 3718 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 3719 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 3720 179, 180, 181, 182, 183, 314, 0, 0, 345, 346, 3721 347, 367, 331, 0, 218, 0, 276, 0, 0, 0, 3722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3723 0, 0, 0, 221, 0, 0, 246, 0, 0, 0, 3724 0, 0, 0, 306, 260, 0, 0, 0, 0, 0, 3725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3726 0, 0, 0, 0, 145, 0, 0, 2188, 0, 0, 3727 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 3728 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 3729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3733 193, 311, 327, 203, 302, 340, 208, 309, 198, 275, 3734 298, 0, 0, 195, 325, 308, 257, 240, 241, 194, 3735 0, 293, 219, 232, 215, 273, 0, 324, 352, 214, 3736 343, 0, 335, 197, 0, 334, 272, 321, 326, 258, 3737 252, 196, 323, 256, 251, 244, 223, 366, 236, 284, 3738 250, 285, 237, 262, 261, 263, 0, 0, 0, 0, 3739 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 3740 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 3741 0, 0, 0, 0, 0, 310, 0, 0, 245, 0, 3742 0, 0, 353, 0, 296, 278, 0, 0, 0, 294, 3743 248, 322, 286, 328, 312, 336, 290, 287, 188, 313, 3744 217, 259, 199, 201, 213, 220, 222, 224, 225, 268, 3745 269, 281, 301, 315, 316, 317, 216, 209, 295, 210, 3746 234, 211, 189, 303, 212, 191, 282, 320, 0, 230, 3747 291, 255, 192, 254, 283, 319, 318, 200, 344, 350, 3748 351, 355, 0, 356, 0, 0, 0, 364, 0, 0, 3749 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 3750 349, 228, 185, 186, 332, 0, 274, 0, 0, 0, 3751 0, 0, 0, 0, 0, 0, 270, 348, 0, 0, 3752 0, 0, 299, 0, 0, 0, 0, 0, 239, 280, 3753 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 3754 0, 0, 0, 0, 307, 330, 342, 359, 362, 0, 3755 0, 0, 190, 361, 0, 0, 0, 0, 0, 0, 3756 0, 333, 0, 0, 0, 341, 0, 0, 0, 0, 3757 0, 357, 264, 265, 266, 267, 231, 0, 207, 360, 3758 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3759 0, 0, 0, 0, 0, 0, 0, 354, 227, 233, 3760 0, 235, 206, 279, 229, 339, 242, 0, 365, 0, 3761 0, 0, 0, 271, 238, 304, 243, 249, 292, 338, 3762 277, 297, 204, 329, 305, 253, 0, 0, 0, 0, 3763 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 3764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3766 0, 0, 0, 0, 0, 0, 187, 0, 247, 0, 3767 288, 226, 148, 149, 150, 151, 152, 153, 154, 155, 3768 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 3769 166, 167, 168, 169, 0, 170, 171, 172, 173, 174, 3770 175, 176, 177, 178, 179, 180, 181, 182, 183, 314, 3771 0, 0, 345, 346, 347, 367, 331, 0, 218, 0, 3772 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3773 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 3774 246, 0, 0, 0, 0, 0, 0, 306, 260, 0, 3775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3776 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 3777 0, 1040, 0, 0, 0, 202, 0, 0, 0, 0, 3778 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 3779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3783 0, 0, 0, 0, 193, 311, 327, 203, 302, 340, 3784 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 3785 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 3786 0, 324, 352, 214, 343, 0, 335, 197, 0, 334, 3787 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 3788 223, 366, 236, 284, 250, 285, 237, 262, 261, 263, 3789 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 3790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3791 0, 0, 337, 0, 0, 0, 0, 0, 0, 310, 3792 0, 0, 245, 0, 0, 0, 353, 0, 296, 278, 3793 0, 0, 0, 294, 248, 322, 286, 328, 312, 336, 3794 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 3795 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 3796 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 3797 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 3798 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 3799 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 3800 0, 0, 0, 0, 349, 228, 185, 186, 332, 0, 3801 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3802 270, 348, 0, 0, 0, 0, 299, 0, 0, 0, 3803 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 3804 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 3805 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 3806 0, 0, 0, 0, 0, 333, 0, 0, 0, 341, 3807 0, 0, 0, 0, 0, 357, 264, 265, 266, 267, 3808 231, 0, 207, 360, 289, 0, 0, 0, 0, 0, 3809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3810 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 3811 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 3812 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 3813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3814 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 3815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3817 187, 0, 247, 0, 288, 226, 148, 149, 150, 151, 3818 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 3819 162, 163, 164, 165, 166, 167, 168, 169, 0, 170, 3820 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 3821 181, 182, 183, 314, 0, 0, 345, 346, 347, 367, 3822 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 3823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3824 0, 221, 0, 0, 246, 0, 0, 0, 0, 0, 3825 0, 306, 260, 0, 0, 0, 0, 0, 0, 0, 3826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3827 0, 0, 145, 0, 0, 0, 0, 0, 0, 202, 3828 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 3829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3832 0, 0, 0, 0, 1875, 0, 0, 0, 0, 0, 3833 0, 0, 0, 0, 0, 0, 0, 0, 193, 311, 3834 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 3835 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 3836 219, 232, 215, 273, 0, 324, 352, 214, 343, 0, 3837 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 3838 323, 256, 251, 244, 223, 366, 236, 284, 250, 285, 3839 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 3840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3841 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 3842 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 3843 353, 0, 296, 278, 0, 0, 0, 294, 248, 322, 3844 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 3845 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 3846 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 3847 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 3848 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 3849 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 3850 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 3851 185, 186, 332, 0, 274, 0, 0, 0, 0, 0, 3852 0, 0, 0, 0, 270, 348, 0, 0, 0, 0, 3853 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 3854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3855 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 3856 190, 361, 0, 0, 0, 0, 0, 0, 0, 333, 3857 0, 0, 0, 341, 0, 0, 0, 0, 0, 357, 3858 264, 265, 266, 267, 231, 0, 207, 360, 289, 0, 3859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3860 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 3861 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 3862 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 3863 204, 329, 305, 253, 0, 0, 0, 0, 0, 0, 3864 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 3865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3867 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 3868 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 3869 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 3870 168, 169, 0, 170, 171, 172, 173, 174, 175, 176, 3871 177, 178, 179, 180, 181, 182, 183, 314, 0, 0, 3872 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 3873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3874 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 3875 0, 0, 0, 0, 0, 306, 260, 0, 0, 0, 3876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3877 0, 0, 0, 0, 0, 0, 145, 0, 0, 1873, 3878 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 3879 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 3880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3884 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 3885 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 3886 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 3887 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 3888 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 3889 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 3890 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 3891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3892 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 3893 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 3894 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 3895 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 3896 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 3897 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 3898 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 3899 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 3900 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 3901 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 3902 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 3903 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 3904 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 3905 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 3906 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 3907 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 3908 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 3909 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 3910 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 3911 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 3912 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 3913 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 3914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3915 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 3916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3917 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 3918 247, 0, 288, 226, 148, 149, 150, 151, 152, 153, 3919 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 3920 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 3921 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 3922 183, 0, 0, 0, 345, 346, 347, 367, 331, 314, 3923 218, 0, 0, 1794, 0, 0, 0, 0, 0, 0, 3924 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3925 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 3926 246, 0, 0, 0, 0, 0, 0, 306, 260, 0, 3927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3928 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 3929 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 3930 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 3931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3935 0, 0, 0, 0, 193, 311, 327, 203, 302, 340, 3936 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 3937 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 3938 0, 324, 352, 214, 343, 0, 335, 197, 0, 334, 3939 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 3940 223, 366, 236, 284, 250, 285, 237, 262, 261, 263, 3941 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 3942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3943 0, 0, 337, 0, 0, 0, 0, 0, 0, 310, 3944 0, 0, 245, 0, 0, 0, 353, 0, 296, 278, 3945 0, 0, 0, 294, 248, 322, 286, 328, 312, 336, 3946 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 3947 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 3948 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 3949 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 3950 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 3951 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 3952 0, 0, 0, 0, 349, 228, 185, 186, 332, 0, 3953 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3954 270, 348, 0, 0, 0, 0, 299, 0, 0, 0, 3955 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 3956 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 3957 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 3958 0, 0, 0, 0, 0, 333, 0, 0, 0, 341, 3959 0, 0, 0, 0, 0, 357, 264, 265, 266, 267, 3960 231, 0, 207, 360, 289, 0, 0, 0, 0, 0, 3961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3962 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 3963 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 3964 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 3965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3966 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 3967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3969 187, 0, 247, 0, 288, 226, 148, 149, 150, 151, 3970 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 3971 162, 163, 164, 165, 166, 167, 168, 169, 0, 170, 3972 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 3973 181, 182, 183, 314, 0, 0, 345, 346, 347, 367, 3974 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 3975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3976 0, 221, 0, 0, 246, 0, 0, 0, 0, 0, 3977 0, 306, 260, 0, 0, 0, 0, 0, 0, 0, 3978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3979 0, 0, 145, 0, 0, 1040, 0, 0, 0, 202, 3980 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 3981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3985 0, 0, 0, 0, 0, 0, 0, 0, 193, 311, 3986 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 3987 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 3988 219, 232, 215, 273, 0, 324, 352, 214, 343, 0, 3989 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 3990 323, 256, 251, 244, 223, 366, 236, 284, 250, 285, 3991 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 3992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3993 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 3994 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 3995 353, 0, 296, 278, 0, 0, 0, 294, 248, 322, 3996 286, 328, 312, 336, 1325, 287, 188, 313, 217, 259, 3997 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 3998 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 3999 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 4000 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 4001 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 4002 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 4003 185, 186, 332, 0, 274, 0, 0, 0, 0, 0, 4004 0, 0, 0, 0, 270, 348, 0, 0, 0, 0, 4005 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 4006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4007 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 4008 190, 361, 0, 0, 0, 0, 0, 0, 0, 333, 4009 0, 0, 0, 341, 0, 0, 0, 0, 0, 357, 4010 264, 265, 266, 267, 231, 0, 207, 360, 289, 0, 4011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4012 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 4013 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 4014 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 4015 204, 329, 305, 253, 0, 0, 0, 0, 0, 0, 4016 0, 0, 0, 0, 0, 0, 0, 184, 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, 187, 0, 247, 0, 288, 226, 4020 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 4021 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 4022 168, 169, 0, 170, 171, 172, 173, 174, 175, 176, 4023 177, 178, 179, 180, 181, 182, 183, 314, 0, 0, 4024 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 4025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4026 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 4027 0, 0, 0, 0, 0, 306, 260, 0, 0, 0, 4028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4029 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 4030 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 4031 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 4032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4036 0, 0, 193, 311, 327, 203, 302, 340, 208, 309, 4037 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 4038 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 4039 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 4040 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 4041 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 4042 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 4043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4044 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 4045 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 4046 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 4047 188, 313, 217, 259, 199, 201, 213, 220, 222, 224, 4048 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 4049 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 4050 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 4051 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 4052 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 4053 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 4054 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 4055 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 4056 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 4057 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 4058 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 4059 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 4060 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 4061 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 4062 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 4063 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 4064 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 4065 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 4066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4067 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 4068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4069 0, 0, 0, 0, 613, 0, 0, 0, 187, 0, 4070 247, 0, 288, 226, 148, 149, 150, 151, 152, 153, 4071 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 4072 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 4073 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 4074 183, 314, 0, 0, 345, 346, 347, 367, 331, 0, 4075 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 4076 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 4077 0, 0, 246, 0, 0, 0, 0, 0, 0, 306, 4078 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4080 145, 0, 0, 0, 0, 0, 0, 202, 0, 0, 4081 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 4082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4086 0, 0, 0, 0, 0, 0, 193, 311, 327, 203, 4087 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 4088 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 4089 215, 273, 0, 324, 352, 214, 343, 0, 335, 197, 4090 0, 334, 272, 321, 326, 258, 252, 196, 323, 256, 4091 251, 244, 223, 366, 236, 284, 250, 285, 237, 262, 4092 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 4093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4094 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 4095 0, 310, 0, 0, 245, 0, 0, 0, 353, 0, 4096 296, 278, 0, 0, 0, 294, 248, 322, 286, 328, 4097 312, 336, 396, 287, 188, 313, 217, 259, 199, 201, 4098 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 4099 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 4100 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 4101 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 4102 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 4103 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 4104 332, 0, 274, 0, 0, 0, 0, 0, 0, 0, 4105 0, 0, 270, 348, 0, 0, 0, 0, 299, 0, 4106 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 4107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4108 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 4109 0, 0, 0, 0, 0, 0, 397, 333, 0, 0, 4110 0, 341, 0, 0, 0, 0, 0, 357, 264, 265, 4111 266, 267, 231, 0, 207, 360, 289, 0, 0, 0, 4112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4113 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 4114 229, 339, 242, 0, 365, 0, 0, 0, 0, 271, 4115 238, 304, 243, 249, 292, 338, 277, 297, 204, 329, 4116 305, 253, 0, 0, 0, 0, 0, 0, 0, 0, 4117 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 4118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4120 0, 0, 187, 0, 247, 0, 288, 226, 148, 149, 4121 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 4122 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 4123 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 4124 179, 180, 181, 182, 183, 314, 0, 0, 345, 346, 4125 347, 367, 331, 0, 218, 0, 276, 0, 0, 0, 4126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4127 0, 0, 0, 221, 0, 0, 246, 0, 0, 0, 4128 0, 0, 0, 306, 260, 0, 0, 0, 0, 0, 4129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4130 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 4131 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 4132 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 4133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4137 193, 311, 327, 203, 302, 340, 208, 309, 198, 275, 4138 298, 0, 0, 195, 325, 308, 257, 240, 241, 194, 4139 0, 293, 219, 232, 215, 273, 0, 324, 352, 214, 4140 343, 0, 335, 197, 0, 334, 272, 321, 326, 258, 4141 252, 196, 323, 256, 251, 244, 223, 366, 236, 284, 4142 250, 285, 237, 262, 261, 263, 0, 0, 0, 0, 4143 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 4144 0, 0, 0, 0, 0, 0, 375, 0, 337, 0, 4145 0, 0, 0, 0, 0, 310, 0, 0, 245, 0, 4146 0, 0, 353, 0, 296, 278, 0, 0, 0, 294, 4147 248, 322, 286, 328, 312, 336, 290, 287, 188, 313, 4148 217, 259, 199, 201, 213, 220, 222, 224, 225, 268, 4149 269, 281, 301, 315, 316, 317, 216, 209, 295, 210, 4150 234, 211, 189, 303, 212, 191, 282, 320, 0, 230, 4151 291, 255, 192, 254, 283, 319, 318, 200, 344, 350, 4152 351, 355, 0, 356, 0, 0, 0, 364, 0, 0, 4153 0, 0, 0, 358, 0, 0, 0, 0, 0, 0, 4154 349, 228, 185, 186, 332, 0, 274, 0, 0, 0, 4155 0, 0, 0, 0, 0, 0, 270, 348, 0, 0, 4156 0, 0, 299, 0, 0, 0, 0, 0, 239, 280, 4157 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 4158 0, 0, 0, 0, 307, 330, 342, 359, 362, 0, 4159 0, 0, 190, 361, 0, 0, 0, 0, 0, 0, 4160 0, 333, 0, 0, 0, 341, 0, 0, 0, 0, 4161 0, 357, 264, 265, 266, 267, 231, 0, 207, 360, 4162 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4163 0, 0, 0, 0, 0, 0, 0, 354, 227, 233, 4164 0, 235, 206, 279, 229, 339, 242, 0, 365, 0, 4165 0, 0, 0, 271, 238, 304, 243, 249, 292, 338, 4166 277, 297, 204, 329, 305, 253, 0, 0, 0, 0, 4167 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 4168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4170 0, 0, 0, 0, 0, 0, 187, 0, 247, 0, 4171 288, 226, 148, 149, 150, 151, 152, 153, 154, 155, 4172 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 4173 166, 167, 168, 169, 0, 170, 171, 172, 173, 174, 4174 175, 176, 177, 178, 179, 180, 181, 182, 183, 314, 4175 0, 0, 345, 346, 347, 367, 331, 0, 218, 0, 4176 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4177 0, 0, 0, 0, 0, 0, 142, 221, 0, 0, 4178 246, 0, 0, 0, 0, 0, 0, 306, 260, 0, 4179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4180 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 4181 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 4182 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, 4183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4187 0, 0, 0, 0, 193, 311, 327, 203, 302, 340, 4188 208, 309, 198, 275, 298, 0, 0, 195, 325, 308, 4189 257, 240, 241, 194, 0, 293, 219, 232, 215, 273, 4190 0, 324, 352, 214, 343, 0, 335, 197, 0, 334, 4191 272, 321, 326, 258, 252, 196, 323, 256, 251, 244, 4192 223, 366, 236, 284, 250, 285, 237, 262, 261, 263, 4193 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 4194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4195 0, 0, 337, 0, 0, 0, 0, 0, 0, 310, 4196 0, 0, 245, 0, 0, 0, 353, 0, 296, 278, 4197 0, 0, 0, 294, 248, 322, 286, 328, 312, 336, 4198 290, 287, 188, 313, 217, 259, 199, 201, 213, 220, 4199 222, 224, 225, 268, 269, 281, 301, 315, 316, 317, 4200 216, 209, 295, 210, 234, 211, 189, 303, 212, 191, 4201 282, 320, 0, 230, 291, 255, 192, 254, 283, 319, 4202 318, 200, 344, 350, 351, 355, 0, 356, 0, 0, 4203 0, 364, 0, 0, 0, 0, 0, 358, 0, 0, 4204 0, 0, 0, 0, 349, 228, 185, 186, 332, 0, 4205 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206 270, 348, 0, 0, 0, 0, 299, 0, 0, 0, 4207 0, 0, 239, 280, 0, 300, 0, 0, 0, 0, 4208 0, 0, 0, 0, 0, 0, 0, 0, 307, 330, 4209 342, 359, 362, 0, 0, 0, 190, 361, 0, 0, 4210 0, 0, 0, 0, 0, 333, 0, 0, 0, 341, 4211 0, 0, 0, 0, 0, 357, 264, 265, 266, 267, 4212 231, 0, 207, 360, 289, 0, 0, 0, 0, 0, 4213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4214 0, 354, 227, 233, 0, 235, 206, 279, 229, 339, 4215 242, 0, 365, 0, 0, 0, 0, 271, 238, 304, 4216 243, 249, 292, 338, 277, 297, 204, 329, 305, 253, 4217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4218 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 4219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4221 187, 0, 247, 0, 288, 226, 148, 149, 150, 151, 4222 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 4223 162, 163, 164, 165, 166, 167, 168, 169, 0, 170, 4224 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 4225 181, 182, 183, 314, 0, 0, 345, 346, 347, 367, 4226 331, 0, 218, 0, 276, 0, 0, 0, 0, 0, 4227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4228 0, 221, 0, 0, 246, 0, 0, 0, 0, 0, 4229 0, 306, 260, 0, 0, 0, 0, 0, 0, 0, 4230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4231 0, 0, 145, 0, 0, 0, 0, 0, 0, 202, 4232 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4237 0, 0, 0, 0, 0, 0, 0, 0, 193, 311, 4238 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 4239 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 4240 219, 232, 215, 273, 0, 324, 352, 214, 343, 0, 4241 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 4242 323, 256, 251, 244, 223, 366, 236, 284, 250, 285, 4243 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 4244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4245 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 4246 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 4247 353, 0, 296, 278, 0, 0, 0, 294, 248, 322, 4248 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 4249 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 4250 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 4251 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 4252 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 4253 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 4254 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 4255 185, 186, 332, 0, 274, 0, 0, 0, 0, 0, 4256 0, 0, 0, 0, 270, 348, 0, 0, 0, 0, 4257 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 4258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4259 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 4260 190, 361, 0, 0, 0, 0, 0, 0, 0, 333, 4261 0, 0, 0, 341, 0, 0, 0, 0, 0, 357, 4262 264, 265, 266, 267, 231, 0, 207, 360, 289, 0, 4263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4264 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 4265 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 4266 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 4267 204, 329, 305, 253, 0, 0, 0, 0, 0, 0, 4268 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 4269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4271 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 4272 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 4273 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 4274 168, 169, 0, 170, 171, 172, 173, 174, 175, 176, 4275 177, 178, 179, 180, 181, 182, 183, 314, 0, 0, 4276 345, 346, 347, 367, 331, 0, 218, 0, 276, 0, 4277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4278 0, 0, 0, 0, 0, 221, 0, 0, 246, 0, 4279 0, 0, 0, 0, 0, 306, 260, 0, 0, 0, 4280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4281 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 4282 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 4283 0, 0, 0, 205, 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, 193, 311, 327, 203, 302, 340, 208, 309, 4289 198, 275, 298, 0, 0, 195, 325, 308, 257, 240, 4290 241, 194, 0, 293, 219, 232, 215, 273, 0, 324, 4291 352, 214, 343, 0, 335, 197, 0, 334, 272, 321, 4292 326, 258, 252, 196, 323, 256, 251, 244, 223, 366, 4293 236, 284, 250, 285, 237, 262, 261, 263, 0, 0, 4294 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 4295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4296 337, 0, 0, 0, 0, 0, 0, 310, 0, 0, 4297 245, 0, 0, 0, 353, 0, 296, 278, 0, 0, 4298 0, 294, 248, 322, 286, 328, 312, 336, 290, 287, 4299 188, 313, 217, 259, 199, 201, 436, 220, 222, 224, 4300 225, 268, 269, 281, 301, 315, 316, 317, 216, 209, 4301 295, 210, 234, 211, 189, 303, 212, 191, 282, 320, 4302 0, 230, 291, 255, 192, 254, 283, 319, 318, 200, 4303 344, 350, 351, 355, 0, 356, 0, 0, 0, 364, 4304 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 4305 0, 0, 349, 228, 185, 186, 332, 0, 274, 0, 4306 0, 0, 0, 0, 0, 0, 0, 0, 270, 348, 4307 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 4308 239, 280, 0, 300, 0, 0, 0, 0, 0, 0, 4309 0, 0, 0, 0, 0, 0, 307, 330, 342, 359, 4310 362, 0, 0, 0, 190, 361, 0, 0, 0, 0, 4311 0, 0, 0, 333, 0, 0, 0, 341, 0, 0, 4312 0, 0, 0, 357, 264, 265, 266, 267, 231, 0, 4313 207, 360, 289, 0, 0, 0, 0, 0, 0, 0, 4314 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 4315 227, 233, 0, 235, 206, 279, 229, 339, 242, 0, 4316 365, 0, 0, 0, 0, 271, 238, 304, 243, 249, 4317 292, 338, 277, 297, 204, 329, 305, 253, 0, 0, 4318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4319 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 4320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4321 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 4322 247, 0, 288, 226, 148, 149, 150, 151, 152, 153, 4323 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 4324 164, 165, 166, 167, 168, 169, 0, 170, 171, 172, 4325 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 4326 183, 314, 0, 0, 345, 346, 347, 367, 331, 0, 4327 218, 0, 276, 0, 0, 0, 0, 0, 0, 0, 4328 0, 0, 0, 0, 1840, 0, 0, 0, 0, 221, 4329 0, 0, 246, 0, 0, 0, 0, 0, 0, 306, 4330 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4332 711, 712, 713, 1842, 0, 0, 0, 202, 0, 0, 4333 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, 4334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4338 0, 0, 0, 0, 0, 0, 193, 311, 327, 203, 4339 302, 340, 208, 309, 198, 275, 298, 0, 0, 195, 4340 325, 308, 257, 240, 241, 194, 0, 293, 219, 232, 4341 215, 273, 0, 324, 352, 214, 343, 0, 335, 197, 4342 0, 334, 272, 321, 326, 258, 252, 196, 323, 256, 4343 251, 244, 223, 366, 236, 284, 250, 285, 237, 262, 4344 261, 263, 0, 0, 0, 0, 0, 363, 0, 0, 4345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4346 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 4347 0, 310, 0, 0, 245, 0, 0, 0, 353, 0, 4348 296, 278, 0, 0, 0, 294, 248, 322, 286, 328, 4349 312, 336, 290, 287, 188, 313, 217, 259, 199, 201, 4350 213, 220, 222, 224, 225, 268, 269, 281, 301, 315, 4351 316, 317, 216, 209, 295, 210, 234, 211, 189, 303, 4352 212, 191, 282, 320, 0, 230, 291, 255, 192, 254, 4353 283, 319, 318, 200, 344, 350, 351, 355, 0, 356, 4354 0, 0, 0, 364, 0, 0, 0, 0, 0, 358, 4355 0, 0, 0, 0, 0, 0, 349, 228, 185, 186, 4356 332, 0, 274, 0, 0, 0, 0, 0, 0, 0, 4357 0, 0, 270, 348, 0, 0, 0, 0, 299, 0, 4358 0, 0, 0, 0, 239, 280, 0, 300, 0, 0, 4359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4360 307, 330, 342, 359, 362, 0, 0, 0, 190, 361, 4361 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 4362 0, 341, 0, 0, 0, 0, 0, 357, 264, 265, 4363 266, 267, 231, 0, 207, 360, 289, 0, 0, 0, 4364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4365 0, 0, 0, 354, 227, 233, 0, 235, 206, 279, 4366 229, 339, 242, 0, 365, 0, 0, 0, 0, 271, 4367 238, 304, 243, 249, 292, 338, 277, 297, 204, 329, 4368 305, 253, 314, 0, 0, 0, 0, 0, 0, 0, 4369 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 4370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4371 221, 0, 0, 246, 0, 0, 0, 0, 0, 0, 4372 306, 260, 187, 0, 247, 0, 288, 226, 0, 0, 4373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4374 0, 711, 712, 713, 1842, 0, 0, 0, 202, 0, 4375 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, 4376 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 4377 347, 367, 331, 0, 218, 0, 0, 0, 0, 0, 4378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4380 0, 0, 0, 0, 0, 0, 0, 193, 311, 327, 4381 203, 302, 340, 208, 309, 198, 275, 298, 0, 0, 4382 195, 325, 308, 257, 240, 241, 194, 0, 293, 219, 4383 232, 215, 273, 0, 324, 352, 214, 343, 0, 335, 4384 197, 0, 334, 272, 321, 326, 258, 252, 196, 323, 4385 256, 251, 244, 223, 366, 236, 284, 250, 285, 237, 4386 262, 261, 263, 0, 0, 0, 0, 0, 363, 0, 4387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4388 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 4389 0, 0, 310, 0, 0, 245, 0, 0, 0, 353, 4390 0, 296, 278, 0, 0, 0, 294, 248, 322, 286, 4391 328, 312, 336, 290, 287, 188, 313, 217, 259, 199, 4392 201, 213, 220, 222, 224, 225, 268, 269, 281, 301, 4393 315, 316, 317, 216, 209, 295, 210, 234, 211, 189, 4394 303, 212, 191, 282, 320, 0, 230, 291, 255, 192, 4395 254, 283, 319, 318, 200, 344, 350, 351, 355, 0, 4396 356, 0, 0, 0, 364, 0, 0, 0, 0, 0, 4397 358, 0, 0, 0, 0, 0, 0, 349, 228, 185, 4398 186, 332, 0, 274, 0, 0, 0, 0, 0, 0, 4399 0, 0, 0, 270, 348, 0, 0, 0, 0, 299, 4400 0, 0, 0, 0, 0, 239, 280, 0, 300, 0, 4401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4402 0, 307, 330, 342, 359, 362, 0, 0, 0, 190, 4403 361, 0, 0, 0, 0, 0, 0, 0, 333, 0, 4404 0, 0, 341, 0, 0, 0, 0, 0, 357, 264, 4405 265, 266, 267, 231, 0, 207, 360, 289, 0, 0, 4406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4407 0, 0, 0, 0, 354, 227, 233, 0, 235, 206, 4408 279, 229, 339, 242, 0, 365, 0, 0, 0, 0, 4409 271, 238, 304, 243, 249, 292, 338, 277, 297, 204, 4410 329, 305, 253, 314, 0, 0, 0, 0, 0, 0, 4411 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 4412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4413 0, 221, 0, 0, 246, 0, 0, 0, 0, 0, 4414 0, 306, 260, 187, 0, 247, 0, 288, 226, 0, 4415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4416 0, 0, 711, 712, 713, 0, 0, 0, 0, 202, 4417 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 4418 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 4419 346, 347, 367, 331, 0, 218, 0, 0, 0, 0, 4420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4422 0, 0, 0, 0, 0, 0, 0, 0, 193, 311, 4423 327, 203, 302, 340, 208, 309, 198, 275, 298, 0, 4424 0, 195, 325, 308, 257, 240, 241, 194, 0, 293, 4425 219, 232, 215, 273, 0, 324, 352, 214, 343, 0, 4426 335, 197, 0, 334, 272, 321, 326, 258, 252, 196, 4427 323, 256, 251, 244, 223, 366, 236, 284, 250, 285, 4428 237, 262, 261, 263, 0, 0, 0, 0, 0, 363, 4429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4430 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 4431 0, 0, 0, 310, 0, 0, 245, 0, 0, 0, 4432 353, 0, 296, 278, 0, 0, 0, 294, 248, 322, 4433 286, 328, 312, 336, 290, 287, 188, 313, 217, 259, 4434 199, 201, 213, 220, 222, 224, 225, 268, 269, 281, 4435 301, 315, 316, 317, 216, 209, 295, 210, 234, 211, 4436 189, 303, 212, 191, 282, 320, 0, 230, 291, 255, 4437 192, 254, 283, 319, 318, 200, 344, 350, 351, 355, 4438 0, 356, 0, 0, 0, 364, 0, 0, 0, 0, 4439 0, 358, 0, 0, 0, 0, 0, 0, 349, 228, 4440 185, 186, 332, 0, 274, 0, 0, 0, 0, 0, 4441 0, 0, 0, 0, 270, 348, 0, 0, 0, 0, 4442 299, 0, 0, 0, 0, 0, 239, 280, 0, 300, 4443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4444 0, 0, 307, 330, 342, 359, 362, 0, 0, 0, 4445 190, 361, 0, 0, 0, 0, 0, 0, 0, 333, 4446 0, 0, 0, 341, 0, 0, 0, 0, 0, 357, 4447 264, 265, 266, 267, 231, 0, 207, 360, 289, 0, 4448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4449 0, 0, 0, 0, 0, 354, 227, 233, 0, 235, 4450 206, 279, 229, 339, 242, 0, 365, 0, 0, 0, 4451 0, 271, 238, 304, 243, 249, 292, 338, 277, 297, 4452 204, 329, 305, 253, 416, 0, 415, 422, 412, 0, 4453 0, 0, 0, 0, 0, 0, 0, 0, 419, 420, 4454 0, 421, 425, 0, 0, 407, 0, 0, 0, 0, 4455 0, 0, 0, 0, 0, 430, 0, 0, 0, 0, 4456 0, 0, 0, 0, 187, 0, 247, 0, 288, 226, 4457 0, 416, 0, 415, 422, 412, 0, 0, 0, 0, 4458 0, 0, 0, 0, 434, 419, 420, 435, 421, 425, 4459 0, 0, 407, 0, 0, 0, 0, 0, 0, 0, 4460 0, 0, 430, 0, 0, 0, 0, 0, 0, 0, 4461 345, 346, 347, 367, 331, 0, 218, 0, 0, 0, 4462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4463 0, 434, 0, 0, 435, 0, 0, 0, 0, 0, 4464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4471 0, 0, 0, 0, 0, 0, 0, 0, 408, 410, 4472 409, 0, 0, 0, 0, 0, 0, 414, 0, 0, 4473 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 4474 0, 0, 0, 0, 0, 0, 433, 0, 0, 0, 4475 0, 0, 0, 411, 0, 0, 0, 402, 0, 0, 4476 0, 0, 0, 0, 0, 408, 410, 409, 0, 0, 4477 0, 0, 0, 0, 414, 0, 0, 0, 0, 0, 4478 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 4479 0, 0, 0, 433, 0, 0, 0, 0, 0, 0, 4480 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4484 0, 0, 0, 0, 0, 0, 413, 417, 423, 0, 4485 424, 426, 0, 0, 427, 428, 429, 0, 0, 431, 4486 432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489 0, 0, 0, 413, 417, 423, 0, 424, 426, 0, 4490 0, 427, 428, 429, 0, 0, 431, 432, 4491 } 4492 4493 var yyPact = [...]int{ 4494 2811, -1000, -296, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4495 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4496 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4497 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -204, 27358, 4498 27358, -1000, -1000, 1699, -1000, 26854, 10715, 27862, 194, 184, 4499 27862, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4500 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4501 -1000, -1000, -1000, -1000, -1000, -1000, 530, -1000, 26350, -1000, 4502 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 433, 30134, 4503 28366, 349, 8688, 27862, -275, -1000, 2403, -134, -1000, -1000, 4504 -1000, -1000, -1000, -1000, 1410, 561, 25846, -1000, -1000, -1000, 4505 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4506 -1000, -1000, -1000, 2857, 63, 561, 650, 651, 787, 787, 4507 12731, -59, -60, 2403, 245, 362, -1000, 961, 2811, 29712, 4508 1631, 407, 27862, -1000, 1106, -1000, -1000, -1000, -1000, -1000, 4509 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4510 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4511 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4512 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4513 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4514 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4515 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4516 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4517 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4518 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4519 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4520 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4521 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4522 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4523 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4524 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4525 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4526 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4527 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4528 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4529 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4530 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 407, -1000, 4531 -1000, -1000, 2403, 2403, -1000, 27862, 27862, -4, 1207, -1000, 4532 234, 247, 274, 1102, -1000, -1000, -1000, -1000, -1000, 2334, 4533 -1000, 27862, 27862, 1998, 27862, -1000, 1430, 374, 30181, 2182, 4534 1049, 533, 2032, -1000, -1000, 1992, -1000, 93, 359, 123, 4535 558, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 165, -1000, 4536 2255, -1000, -1000, 81, -1000, -1000, 71, -1000, -1000, -1000, 4537 -63, -1000, -1000, -1000, -1000, -1000, -150, -1000, -1000, -150, 4538 667, 1427, 8688, -1000, 1292, -1000, 2418, -1000, -1000, -1000, 4539 -1000, 6158, 10200, 10200, 10200, 10200, -1000, -1000, 1855, 8688, 4540 1990, 1843, 1988, -1000, -1000, -1000, -1000, 1101, -1000, -1000, 4541 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4542 1629, 9696, -1000, 1987, 1980, 1978, 1976, 1975, 1974, 1969, 4543 1968, 1964, 1959, 1766, 1951, 1625, 1622, 1945, 1942, 1937, 4544 1621, 1766, 1766, 1934, 1932, 1930, 1928, 1927, 1925, 1908, 4545 1907, 1906, 1905, 1904, 1900, 1895, 1893, 1886, 1872, 1870, 4546 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4547 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4548 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4549 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4550 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4551 -1000, -1000, -1000, 370, -1000, 1100, 789, -1000, 1866, 2157, 4552 2270, 1757, 2312, 2267, 2257, 2246, 2244, 1405, -1000, -1000, 4553 27862, 27862, 431, 431, 431, 431, 464, 431, 525, 515, 4554 501, -1000, -1000, -1000, -1000, -1000, -1000, 603, -1000, -1000, 4555 -1000, -1000, 885, 27862, -1000, 1830, 1151, 2263, 391, 389, 4556 265, -1000, 1241, 1241, 1241, 1151, 260, 382, 2270, 2270, 4557 -76, -84, 1151, 1151, -84, 1151, 91, -1000, -1000, -1000, 4558 1241, 378, 1241, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4559 2249, 2242, 433, 87, 27862, 433, 438, -1000, -159, -1000, 4560 -1000, 642, -1000, 629, -1000, 1430, 373, 367, 906, 1226, 4561 -1000, 1158, 27862, 27862, 27862, 1158, 1158, 15758, 15254, -1000, 4562 27862, -1000, 2270, 1757, -1000, 1732, 2254, 1731, 1757, 433, 4563 433, 433, 433, 433, 433, 433, 27862, 27862, 7670, 7670, 4564 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 298, -1000, 4565 -1000, -1000, -1000, -1000, 2168, 248, 1865, -1000, 27862, 233, 4566 2270, 2157, 2270, -1000, -1000, 1098, 1402, 1618, -1000, -1000, 4567 234, 1123, -1000, 697, -1000, -1000, -1000, -1000, 27862, 282, 4568 -1000, -1000, 1605, 1862, -1000, 365, 958, 1002, -1000, 173, 4569 2977, 23318, 1430, 23318, 27862, -1000, -1000, -1000, -1000, -1000, 4570 -1000, -65, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4571 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4572 -1000, -1000, -1000, -1000, -1000, 99, -1000, 99, 8688, 8688, 4573 8688, 8688, 8688, -1000, 409, 9192, -1000, -1000, -1000, -1000, 4574 -1000, -1000, -1000, 10200, 10200, 10200, 10200, 10200, 10200, 10200, 4575 10200, 10200, 10200, 10200, 10200, 1852, 1274, 10200, 10200, 10200, 4576 10200, 2254, 2286, 889, 172, -1000, -1000, -1000, -1000, -1000, 4577 1087, 1427, 8688, 8688, 8688, 27862, -1000, 2902, 8688, 8688, 4578 1145, 8688, 2238, 4645, 27862, 8688, -1000, 1729, 1728, -1000, 4579 -1000, 1350, 8688, -1000, -1000, 8688, 10200, 8688, -1000, -1000, 4580 -1000, 1222, 2238, 2238, 8688, 8688, 2238, 2238, 2238, 1212, 4581 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 27862, 2129, 4582 52, -1000, -1000, -1000, 1803, -1000, 1828, 1828, 1803, 1803, 4583 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1840, 4584 1861, -1000, -1000, 1827, 1827, 1827, 1803, -1000, -1000, -1000, 4585 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4586 -1000, -1000, 1836, 1836, 1838, 1836, 27862, 2270, -275, 7166, 4587 -1000, -280, 2157, 8688, -1000, -1000, 8688, -1000, -1000, -1000, 4588 -1000, -1000, -1000, -1000, -1000, 1617, 2214, -1000, 1859, 1097, 4589 27862, 1089, 27862, 23318, 1430, 1417, 27862, 431, 431, 431, 4590 438, -1000, 27862, 885, 2213, 27862, 2321, 10200, 10200, 25342, 4591 1241, 1151, -1000, 27862, -1000, -1000, -1000, 1241, 27862, 1241, 4592 2321, 1241, -1000, -1000, -1000, 1151, 1151, -1000, -1000, -1000, 4593 -1000, 1241, 1241, -1000, -1000, -69, 2321, 2321, -90, -1000, 4594 27862, 27862, 431, 27862, -1000, 27862, -1000, -1000, 27862, 27862, 4595 27862, 2237, -1000, 23318, 21806, -1000, -128, 648, 624, 633, 4596 -1000, -1000, 360, 352, 14750, 317, 23318, 5653, -1000, -1000, 4597 1158, 1158, 1158, 5653, 5653, 931, -1000, -1000, -1000, -1000, 4598 -1000, -1000, -1000, 878, -1000, 107, 2157, -1000, -1000, -1000, 4599 -1000, -1000, 27862, 23318, 1430, 27862, 27862, 27862, 29712, -1000, 4600 1858, 933, -1000, -1000, 12227, 1094, 933, 1608, 27862, 1597, 4601 2030, 2105, -1000, 1857, 13741, 27862, -1000, -1000, -276, -1000, 4602 13236, 27862, 2157, -1000, 2157, 3395, -1000, 2262, -1000, 234, 4603 178, -1000, -1000, -1000, -1000, -1000, -1000, 1093, -1000, -1000, 4604 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 826, -1000, 27862, 4605 -1000, -1000, 173, 23318, 1195, -1000, -1000, -1000, -1000, -1000, 4606 -1000, -1000, 132, -1000, -1000, 158, -1000, 454, 21, 1122, 4607 -1000, -1000, 57, 155, 546, 57, 1427, -1000, 1230, 1230, 4608 1219, -1000, 429, -1000, -1000, -1000, -1000, 1855, -1000, -1000, 4609 -1000, 1611, 2245, -1000, 1182, 1182, 965, 965, 965, 965, 4610 965, 1220, 1220, -1000, -1000, -1000, 6158, 1852, 10200, 10200, 4611 10200, 10200, 418, 418, 1863, 3031, -1000, 8688, 1221, -1000, 4612 8688, 1665, 2235, 1116, 1091, -1000, -1000, -1000, -1000, -1000, 4613 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4614 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4615 -1000, -1000, -1000, -1000, -1000, 1725, 667, 1723, 1535, 2332, 4616 1721, 8688, -1000, -1000, 1401, 8184, -1000, -1000, -1000, 1720, 4617 1090, 1712, -1000, -1000, -1000, 1711, 847, 1704, 1540, 1703, 4618 823, 8688, 8688, 1111, 1107, 8688, 8688, 8688, 8688, 1702, 4619 8688, 8688, 8688, 8688, 8688, 8688, 8688, 8688, -1000, 8688, 4620 49, -1000, -1000, -1000, -1000, 1397, -1000, 1396, -1000, -1000, 4621 -1000, 1595, 1595, -1000, 1385, -1000, -1000, -1000, -1000, 1381, 4622 -1000, -1000, 1377, -1000, -1000, -1000, -1000, 1095, -1000, 1427, 4623 -1000, 1577, -1000, 1012, 791, -1000, 1476, -1000, -1000, 27862, 4624 11219, 27862, 1830, 2174, 44, -1000, 807, -1000, 21, 699, 4625 1826, 2117, 27862, 27862, 27862, 24838, -1000, 1851, 1086, -1000, 4626 -1000, 8688, -1000, -1000, 1789, 1430, 27862, 2321, -1000, -1000, 4627 -1000, 29712, -1000, -1000, -1000, 27862, 2321, 2321, 1151, 1241, 4628 1241, -1000, -1000, 1241, -1000, 1077, -1000, 27862, -1000, -1000, 4629 1830, 42, 2236, 113, 807, 2361, 986, -1000, -1000, -1000, 4630 -1000, 28870, 28870, 14246, 28870, -1000, 1125, -1000, -1000, 637, 4631 628, 622, -1000, -1000, 444, -1000, -1000, 699, -1000, -1000, 4632 -1000, 1844, 1196, -1000, -1000, 1843, -1000, 5653, 5653, 5653, 4633 -1000, -1000, 17774, 27862, -1000, -153, -1000, -143, -1000, -1000, 4634 774, 699, 2029, 742, -1000, 742, -1000, 11219, 2321, 7670, 4635 -1000, 21806, -1000, -1000, 24326, -1000, 23822, 2321, -284, 808, 4636 -88, -1000, 2142, -276, 27862, 27862, 1085, 135, -1000, 1084, 4637 -1000, 668, -1000, 1842, -1000, 1083, 2092, 715, -1000, 1183, 4638 -1000, -1000, -1000, 1071, -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, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4647 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4648 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4649 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4650 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4651 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4652 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4653 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4654 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4655 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4656 -1000, -1000, -1000, -1000, -1000, -6, -1000, -1000, 27862, 1605, 4657 1082, 1195, 714, -1000, 443, 1063, 1037, -1000, 23318, 85, 4658 23318, -1000, 23318, -1000, -1000, 250, -1000, 27862, 2150, -1000, 4659 -1000, -1000, 1547, -304, 2133, -1000, -1000, -1000, -1000, -1000, 4660 1080, -1000, 418, 418, 1863, 2988, -1000, 10200, -1000, 10200, 4661 2165, 1153, -1000, 8688, 1354, 283, -1000, 647, 16766, 27862, 4662 -1000, -1000, 8688, 8688, -1000, 2161, -1000, 8688, 8688, 1524, 4663 -1000, 27862, -1000, -1000, -1000, 16766, -1000, 10200, -1000, 8688, 4664 776, 2151, -52, -52, 2132, 2123, 2106, 1075, -52, 2085, 4665 2069, 2031, 2027, 1960, 1824, 1787, 1772, 1427, -1000, -1000, 4666 1700, 1697, 1064, -1000, 1061, 1695, 1052, 1051, 7166, -1000, 4667 -88, 8688, 8688, 8688, 2098, -1000, -1000, 62, 1692, 725, 4668 -1000, -1000, -1000, 2739, 1828, 1803, -1000, -1000, -1000, -1000, 4669 -1000, -1000, -1000, -1000, -1000, 1840, -1000, -1000, 1827, 1827, 4670 1827, 1803, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4671 -1000, 1836, 1836, 1838, 1836, -1000, 2211, -1000, -64, 1166, 4672 383, 23318, 358, -1000, 2028, 285, -1000, 2117, -1000, 819, 4673 -1000, 1835, 1834, 1833, 27862, 837, -1000, 1022, 2811, -1000, 4674 27862, 1427, -1000, 1430, -1000, 1151, -1000, -1000, 2321, 871, 4675 -1000, -1000, 2321, 1151, 1151, 1241, 27862, -1000, 2187, -64, 4676 1166, 112, 1177, 383, 27862, 21806, 21806, 21806, 21806, -1000, 4677 2078, 2055, -1000, 2110, 2074, 2127, 27862, 21806, 1830, -1000, 4678 29291, -1000, -1000, -1000, -1000, -1000, 2254, 1041, 2376, 600, 4679 8688, -1000, -1000, -1000, 627, 23318, 1569, 317, -1000, -1000, 4680 -1000, -1000, -1000, -1000, -1000, -1000, 27862, 27862, 1691, 2289, 4681 -1000, 723, -1000, -1000, 956, -1000, 2289, -1000, 1376, 1567, 4682 -27, -19, 1244, 668, 715, 1039, -1000, 135, 27862, 2088, 4683 1829, -1000, 27862, -276, 7166, 243, -276, 27862, 7166, 3395, 4684 1372, -1000, -1000, -1000, 2330, 23318, 1430, 1126, 1146, -1000, 4685 72, -1000, 121, 348, 1561, -1000, 500, 89, -1000, 1173, 4686 1547, 498, -1000, -1000, -1000, 10200, -1000, -1000, -1000, -1000, 4687 1427, 8688, 1684, -1000, 612, 612, 1678, -1000, 1803, 1828, 4688 -1000, 1803, 1827, 1803, 612, 612, 1676, -1000, 1343, 1768, 4689 -1000, 1693, 1683, 8688, -1000, 1674, 2932, 945, -172, -52, 4690 -1000, 1819, -1000, -52, -52, -52, -52, -1000, -52, -52, 4691 -52, -52, -52, -52, -52, -52, -1000, -1000, -1000, 1560, 4692 -1000, -1000, -1000, 1370, -1000, 1365, -1000, -27, 1427, 1427, 4693 -1000, -1000, 2121, 1557, 540, 11219, 2103, 242, 1355, -1000, 4694 -1000, 22814, -1000, 338, -1000, -1000, -1000, 449, 252, 1362, 4695 327, -1000, 1584, 27862, -1000, -1000, -1000, -1000, -1000, 1166, 4696 1166, 1166, 11723, 11723, 11723, 407, 768, 937, 21806, 27862, 4697 -1000, 21302, 1673, -1000, 699, 2321, -1000, 27862, -1000, 2321, 4698 2321, 1151, -1000, 242, 1355, 22814, 1172, 1550, 338, 825, 4699 -1000, 1171, 1996, 2025, 1996, -1000, -1000, -1000, -1000, 2048, 4700 -1000, 1877, -1000, -1000, 825, -1000, -1000, -1000, -1000, -1000, 4701 600, -1000, 2260, 575, 575, 575, 1672, -1000, 714, 1659, 4702 -1000, -1000, -1000, -1000, -1000, 2316, 2310, 22310, 2316, -1000, 4703 -284, -282, -14, 2309, 2303, 2344, 242, 27862, 239, -1000, 4704 -276, 27862, -1000, -1000, 1658, 713, -276, -1000, 668, -1000, 4705 -1000, -1000, -1000, -1000, -1000, -1000, 1430, -1000, 119, -1000, 4706 -1000, -1000, -1000, -1000, -1000, 5, -1000, 27862, -1000, 1547, 4707 1546, 86, 27862, -1000, 1427, -1000, -1000, -1000, -1000, -1000, 4708 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4709 8688, -1000, -1000, -1000, 1657, -1000, -1000, 8688, 1652, 1510, 4710 -1000, 404, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4711 -1000, -1000, -1000, -1000, -1000, 1651, 1649, -282, -1000, -1000, 4712 -1000, 2739, -1000, 1299, -1000, -1000, 1509, 16, -1000, -1000, 4713 -1000, 1505, 1504, 1352, -1000, -1000, 1384, 910, 33, -1000, 4714 -1000, -1000, -1000, -1000, -1000, 1818, 16766, 17270, 1502, 1648, 4715 705, -1000, -1000, -1000, 2739, 695, -1000, 27862, 1243, 575, 4716 431, 575, 1239, 1815, -1000, -1000, 1646, 1640, 28870, 21806, 4717 21302, 795, -1000, 925, -1000, -1000, -1000, 2321, -1000, -1000, 4718 2321, -1000, -1000, 16, 1499, -1000, -1000, 2314, 27862, 7166, 4719 -1000, -1000, 8688, 1808, -1000, 8688, -1000, -1000, -1000, -1000, 4720 -1000, 1804, 2167, -1000, -1000, -1000, -1000, -1000, -1000, 8688, 4721 8688, -1000, -1000, -1000, -284, 1497, -1000, -1000, 2300, 1492, 4722 1436, 27862, -1000, -1000, -276, -1000, 668, 1020, -1000, 668, 4723 699, -1000, -1000, 135, -1000, -1000, -1000, -90, 1581, -1000, 4724 1554, -52, -1000, 2314, -1000, 2298, -1000, -1000, -284, -206, 4725 -1000, -1000, -1000, -1000, 246, -1000, -1000, 118, -1000, -1000, 4726 1380, 368, -1000, 19790, -1000, -1000, -1000, -1000, -1000, 3868, 4727 11723, 1433, -1000, -1000, 27862, 27862, -1000, 27862, 27862, 431, 4728 8688, 99, 3868, 2321, 795, 925, -1000, -1000, 993, -1000, 4729 -1000, -1000, -1000, 2270, -1000, -1000, 1427, 27862, 1427, 20798, 4730 -1000, 2297, 2296, 1427, 667, -286, -1000, 1491, -17, -1000, 4731 -1000, 683, 668, -1000, -90, -1000, -40, -29, -1000, -1000, 4732 -1000, 90, 8688, -286, 27862, 339, 1489, -1000, -1000, 117, 4733 -1000, -1000, 1010, -1000, 1803, 8688, 403, 3850, -1000, 1166, 4734 1166, 893, 1166, 1166, 1166, 1166, 346, 344, 1166, 1166, 4735 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 4736 1166, 1166, 1802, -1000, -1000, 1433, -1000, -1000, 1247, 10200, 4737 -1000, -1000, 1488, 17270, 623, 573, 1799, -1000, 315, 2343, 4738 -1000, 1237, 1229, -1000, 27862, -1000, 1786, 1770, 213, 1785, 4739 -1000, 1784, 1783, 27862, 1545, -1000, -90, 403, 2314, -1000, 4740 -1000, 1009, 1006, -1000, -1000, -1000, -1000, -1000, 1781, -1000, 4741 2295, -288, 435, -25, -29, -1000, 2293, -18, 2292, 2290, 4742 1638, -1000, 4141, -1000, -1000, -1000, 667, -1000, 2169, -1000, 4743 -1000, 4, -1000, -1000, -1000, 19790, 2190, 1461, 185, 2288, 4744 3868, -1000, 1349, 1345, 1166, 1166, 1344, 1475, 1474, 1473, 4745 1166, 1166, 1336, 1467, 29291, 1328, 1300, 1291, 1379, 1465, 4746 631, 1331, 1298, 1297, 27862, 1780, 1423, -1000, -1000, 1863, 4747 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4748 -1000, 1284, 1779, -112, -1000, -1000, 1775, 19790, 279, 279, 4749 19790, 19790, 19790, 1774, 478, -1000, 185, 2270, -1000, -1000, 4750 20294, 27862, 1436, -1000, 1462, 1767, 1279, -14, -24, 2287, 4751 -1000, 1436, 2282, 1436, 1436, -1000, -1000, 5149, -278, -49, 4752 266, 1458, -1000, 174, -1000, -1000, 2190, -1000, 2280, 311, 4753 -1000, -1000, -1000, 16766, 16766, -1000, -1000, -1000, -1000, 1457, 4754 1453, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4755 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4756 -1000, -1000, -1000, 271, 27862, 1005, -1000, 1168, 1637, 8688, 4757 1766, -202, 19790, 996, -1000, -1000, -1000, -1000, -1000, -1000, 4758 -1000, 982, 981, 963, 19790, -1000, -1000, -1000, 235, -1000, 4759 -1000, -1000, -1000, 962, -1000, -1000, -1000, 2220, 16262, -42, 4760 -1000, -1000, -1000, 1452, -1000, 1436, -1000, -1000, 1192, -1000, 4761 -1000, -1000, -1000, -1000, -1000, -1000, 1166, 1435, 150, -1000, 4762 -1000, -1000, 19286, 228, 232, 220, -1000, 406, -1000, -1000, 4763 -1000, -1000, -1000, -1000, 356, 932, -1000, 1423, 1412, -1000, 4764 1414, -1000, 2020, -1000, 75, 927, -1000, -1000, -1000, -1000, 4765 920, -1000, -1000, 27862, -1000, 27862, -1000, 917, -1000, -1000, 4766 -1000, 911, -1000, -1000, -1000, -1000, 5149, 1278, -1000, 1417, 4767 -1000, 27862, 225, 1273, 10200, 1764, 10200, 1755, 237, 1752, 4768 -1000, -1000, -1000, -1000, -1000, 478, -1000, 2019, 2000, 2328, 4769 -1000, -1000, -1000, -1000, 174, 174, 174, 174, 77, -1000, 4770 664, -1000, 1161, -1000, 18782, 27862, -1000, -1000, -1000, 909, 4771 1749, 2276, -1000, 2568, 27862, 1952, 27862, 1748, 1152, 10200, 4772 -1000, -1000, 2337, -1000, 2329, 595, 595, -1000, 27862, 6662, 4773 -1000, 788, -1000, -1000, 376, 230, -1000, 905, -1000, 894, 4774 18278, 1272, 1686, -1000, -1000, -1000, 1320, 322, -1000, -1000, 4775 -1000, 1427, 27862, 891, -1000, 1548, 218, -1000, -1000, -1000, 4776 877, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 376, 1793, 4777 -1000, 1271, -1000, -1000, 2716, 523, -1000, -1000, 2716, 223, 4778 -1000, 395, 1747, -1000, -1000, 861, -1000, 1464, 568, 8688, 4779 -1000, 223, 3868, -1000, 8688, 855, -1000, 3868, 852, -1000, 4780 -1000, 4781 } 4782 4783 var yyPgo = [...]int{ 4784 0, 135, 2831, 215, 147, 144, 212, 2830, 2828, 2202, 4785 2193, 2827, 2826, 2822, 2820, 2819, 2818, 2817, 2815, 2814, 4786 2812, 2811, 2810, 2809, 2807, 2806, 2805, 2803, 2802, 2796, 4787 2795, 207, 2792, 2791, 2790, 2789, 2788, 2787, 2786, 2785, 4788 2781, 2780, 2778, 2774, 2773, 2772, 2770, 2768, 2763, 2761, 4789 2760, 2759, 2758, 2757, 2755, 2753, 2751, 132, 2749, 2190, 4790 2747, 2746, 2744, 2743, 2742, 2741, 188, 2740, 2738, 2731, 4791 2730, 2728, 2726, 2724, 2723, 2721, 2720, 2719, 2718, 2717, 4792 2715, 2713, 2712, 2711, 2710, 151, 2709, 2706, 149, 2705, 4793 2704, 2703, 2701, 209, 194, 63, 2700, 49, 141, 172, 4794 218, 2145, 216, 214, 161, 146, 74, 2699, 2170, 2698, 4795 130, 198, 128, 24, 2697, 156, 2682, 122, 44, 50, 4796 211, 119, 55, 126, 100, 2681, 192, 67, 92, 97, 4797 2680, 2679, 223, 165, 2678, 101, 2677, 2676, 2675, 2673, 4798 181, 105, 2671, 64, 2669, 78, 77, 95, 25, 2668, 4799 2667, 2666, 86, 2665, 2664, 2663, 2662, 154, 2661, 103, 4800 59, 2658, 2657, 2656, 58, 2655, 32, 2653, 52, 2652, 4801 2651, 2649, 2648, 65, 2647, 2646, 13, 15, 19, 2644, 4802 12, 1, 2643, 193, 114, 83, 116, 2642, 406, 2641, 4803 2640, 2639, 134, 2638, 420, 2637, 2635, 2634, 2632, 62, 4804 2631, 176, 54, 2630, 82, 106, 2629, 53, 180, 174, 4805 2628, 2624, 111, 42, 60, 110, 2621, 2620, 76, 195, 4806 20, 28, 0, 170, 35, 2619, 2618, 2617, 213, 2616, 4807 203, 171, 202, 98, 227, 138, 2615, 2614, 57, 2613, 4808 127, 80, 108, 17, 2612, 189, 2610, 333, 157, 2609, 4809 185, 2607, 125, 3, 112, 2606, 2600, 23, 242, 2596, 4810 2592, 2591, 159, 2590, 2587, 88, 164, 2585, 2582, 2577, 4811 27, 2576, 36, 26, 2574, 84, 2573, 222, 173, 179, 4812 109, 155, 139, 121, 196, 200, 72, 71, 2570, 1195, 4813 120, 85, 16, 2569, 197, 2568, 217, 206, 2567, 168, 4814 2564, 205, 339, 190, 2563, 158, 7, 39, 31, 2560, 4815 8, 2559, 140, 2558, 2556, 21, 2555, 22, 2554, 2549, 4816 2547, 2546, 6, 2524, 2523, 2520, 2, 4, 2519, 5, 4817 187, 61, 104, 2518, 113, 163, 2516, 2515, 81, 2511, 4818 2510, 2509, 245, 2508, 2507, 2505, 2504, 2501, 2500, 2498, 4819 2495, 2494, 66, 37, 2493, 2492, 2490, 2489, 69, 124, 4820 2488, 276, 184, 2487, 38, 153, 2468, 30, 2467, 33, 4821 29, 43, 2457, 102, 2453, 11, 162, 2452, 2451, 14, 4822 2450, 2449, 9, 10, 2448, 2446, 68, 2444, 45, 34, 4823 75, 73, 2443, 18, 167, 115, 2441, 2440, 210, 204, 4824 186, 2439, 136, 199, 225, 2437, 191, 2427, 2426, 2425, 4825 2423, 2419, 2408, 1198, 2403, 2400, 208, 56, 89, 90, 4826 2398, 2397, 2396, 70, 129, 99, 93, 175, 2394, 169, 4827 2392, 2390, 87, 2388, 2387, 2384, 2383, 2382, 166, 2380, 4828 2375, 2373, 201, 230, 2359, 4829 } 4830 4831 //line mysql_sql.y:8499 4832 type yySymType struct { 4833 union interface{} 4834 id int 4835 str string 4836 item interface{} 4837 yys int 4838 } 4839 4840 func (st *yySymType) accountAuthOptionUnion() tree.AccountAuthOption { 4841 v, _ := st.union.(tree.AccountAuthOption) 4842 return v 4843 } 4844 4845 func (st *yySymType) accountCommentUnion() tree.AccountComment { 4846 v, _ := st.union.(tree.AccountComment) 4847 return v 4848 } 4849 4850 func (st *yySymType) accountCommentOrAttributeUnion() tree.AccountCommentOrAttribute { 4851 v, _ := st.union.(tree.AccountCommentOrAttribute) 4852 return v 4853 } 4854 4855 func (st *yySymType) accountIdentifiedUnion() tree.AccountIdentified { 4856 v, _ := st.union.(tree.AccountIdentified) 4857 return v 4858 } 4859 4860 func (st *yySymType) accountRoleUnion() *tree.Role { 4861 v, _ := st.union.(*tree.Role) 4862 return v 4863 } 4864 4865 func (st *yySymType) accountStatusUnion() tree.AccountStatus { 4866 v, _ := st.union.(tree.AccountStatus) 4867 return v 4868 } 4869 4870 func (st *yySymType) aliasedTableExprUnion() *tree.AliasedTableExpr { 4871 v, _ := st.union.(*tree.AliasedTableExpr) 4872 return v 4873 } 4874 4875 func (st *yySymType) alterAccountAuthOptionUnion() tree.AlterAccountAuthOption { 4876 v, _ := st.union.(tree.AlterAccountAuthOption) 4877 return v 4878 } 4879 4880 func (st *yySymType) assignmentUnion() *tree.Assignment { 4881 v, _ := st.union.(*tree.Assignment) 4882 return v 4883 } 4884 4885 func (st *yySymType) assignmentsUnion() []*tree.Assignment { 4886 v, _ := st.union.([]*tree.Assignment) 4887 return v 4888 } 4889 4890 func (st *yySymType) attributeNullUnion() tree.AttributeNull { 4891 v, _ := st.union.(tree.AttributeNull) 4892 return v 4893 } 4894 4895 func (st *yySymType) attributeReferenceUnion() *tree.AttributeReference { 4896 v, _ := st.union.(*tree.AttributeReference) 4897 return v 4898 } 4899 4900 func (st *yySymType) authRecordUnion() *tree.AuthRecord { 4901 v, _ := st.union.(*tree.AuthRecord) 4902 return v 4903 } 4904 4905 func (st *yySymType) boolValUnion() bool { 4906 v, _ := st.union.(bool) 4907 return v 4908 } 4909 4910 func (st *yySymType) clusterByOptionUnion() *tree.ClusterByOption { 4911 v, _ := st.union.(*tree.ClusterByOption) 4912 return v 4913 } 4914 4915 func (st *yySymType) columnAttributeUnion() tree.ColumnAttribute { 4916 v, _ := st.union.(tree.ColumnAttribute) 4917 return v 4918 } 4919 4920 func (st *yySymType) columnAttributesUnion() []tree.ColumnAttribute { 4921 v, _ := st.union.([]tree.ColumnAttribute) 4922 return v 4923 } 4924 4925 func (st *yySymType) columnTableDefUnion() *tree.ColumnTableDef { 4926 v, _ := st.union.(*tree.ColumnTableDef) 4927 return v 4928 } 4929 4930 func (st *yySymType) columnTypeUnion() *tree.T { 4931 v, _ := st.union.(*tree.T) 4932 return v 4933 } 4934 4935 func (st *yySymType) comparisionExprUnion() *tree.ComparisonExpr { 4936 v, _ := st.union.(*tree.ComparisonExpr) 4937 return v 4938 } 4939 4940 func (st *yySymType) comparisonOpUnion() tree.ComparisonOp { 4941 v, _ := st.union.(tree.ComparisonOp) 4942 return v 4943 } 4944 4945 func (st *yySymType) completionTypeUnion() tree.CompletionType { 4946 v, _ := st.union.(tree.CompletionType) 4947 return v 4948 } 4949 4950 func (st *yySymType) createOptionUnion() tree.CreateOption { 4951 v, _ := st.union.(tree.CreateOption) 4952 return v 4953 } 4954 4955 func (st *yySymType) createOptionsUnion() []tree.CreateOption { 4956 v, _ := st.union.([]tree.CreateOption) 4957 return v 4958 } 4959 4960 func (st *yySymType) cteUnion() *tree.CTE { 4961 v, _ := st.union.(*tree.CTE) 4962 return v 4963 } 4964 4965 func (st *yySymType) cteListUnion() []*tree.CTE { 4966 v, _ := st.union.([]*tree.CTE) 4967 return v 4968 } 4969 4970 func (st *yySymType) defaultOptionalUnion() bool { 4971 v, _ := st.union.(bool) 4972 return v 4973 } 4974 4975 func (st *yySymType) directionUnion() tree.Direction { 4976 v, _ := st.union.(tree.Direction) 4977 return v 4978 } 4979 4980 func (st *yySymType) duplicateKeyUnion() tree.DuplicateKey { 4981 v, _ := st.union.(tree.DuplicateKey) 4982 return v 4983 } 4984 4985 func (st *yySymType) epxlainOptionUnion() tree.OptionElem { 4986 v, _ := st.union.(tree.OptionElem) 4987 return v 4988 } 4989 4990 func (st *yySymType) epxlainOptionsUnion() []tree.OptionElem { 4991 v, _ := st.union.([]tree.OptionElem) 4992 return v 4993 } 4994 4995 func (st *yySymType) exportParmUnion() *tree.ExportParam { 4996 v, _ := st.union.(*tree.ExportParam) 4997 return v 4998 } 4999 5000 func (st *yySymType) exprUnion() tree.Expr { 5001 v, _ := st.union.(tree.Expr) 5002 return v 5003 } 5004 5005 func (st *yySymType) exprsUnion() tree.Exprs { 5006 v, _ := st.union.(tree.Exprs) 5007 return v 5008 } 5009 5010 func (st *yySymType) fieldsUnion() *tree.Fields { 5011 v, _ := st.union.(*tree.Fields) 5012 return v 5013 } 5014 5015 func (st *yySymType) fieldsListUnion() []*tree.Fields { 5016 v, _ := st.union.([]*tree.Fields) 5017 return v 5018 } 5019 5020 func (st *yySymType) fromUnion() *tree.From { 5021 v, _ := st.union.(*tree.From) 5022 return v 5023 } 5024 5025 func (st *yySymType) fullOptUnion() bool { 5026 v, _ := st.union.(bool) 5027 return v 5028 } 5029 5030 func (st *yySymType) funcArgUnion() tree.FunctionArg { 5031 v, _ := st.union.(tree.FunctionArg) 5032 return v 5033 } 5034 5035 func (st *yySymType) funcArgDeclUnion() *tree.FunctionArgDecl { 5036 v, _ := st.union.(*tree.FunctionArgDecl) 5037 return v 5038 } 5039 5040 func (st *yySymType) funcArgsUnion() tree.FunctionArgs { 5041 v, _ := st.union.(tree.FunctionArgs) 5042 return v 5043 } 5044 5045 func (st *yySymType) funcExprUnion() *tree.FuncExpr { 5046 v, _ := st.union.(*tree.FuncExpr) 5047 return v 5048 } 5049 5050 func (st *yySymType) funcReturnUnion() *tree.ReturnType { 5051 v, _ := st.union.(*tree.ReturnType) 5052 return v 5053 } 5054 5055 func (st *yySymType) funcTypeUnion() tree.FuncType { 5056 v, _ := st.union.(tree.FuncType) 5057 return v 5058 } 5059 5060 func (st *yySymType) functionNameUnion() *tree.FunctionName { 5061 v, _ := st.union.(*tree.FunctionName) 5062 return v 5063 } 5064 5065 func (st *yySymType) groupByUnion() tree.GroupBy { 5066 v, _ := st.union.(tree.GroupBy) 5067 return v 5068 } 5069 5070 func (st *yySymType) identifierListUnion() tree.IdentifierList { 5071 v, _ := st.union.(tree.IdentifierList) 5072 return v 5073 } 5074 5075 func (st *yySymType) ifNotExistsUnion() bool { 5076 v, _ := st.union.(bool) 5077 return v 5078 } 5079 5080 func (st *yySymType) indexCategoryUnion() tree.IndexCategory { 5081 v, _ := st.union.(tree.IndexCategory) 5082 return v 5083 } 5084 5085 func (st *yySymType) indexHintUnion() *tree.IndexHint { 5086 v, _ := st.union.(*tree.IndexHint) 5087 return v 5088 } 5089 5090 func (st *yySymType) indexHintListUnion() []*tree.IndexHint { 5091 v, _ := st.union.([]*tree.IndexHint) 5092 return v 5093 } 5094 5095 func (st *yySymType) indexHintScopeUnion() tree.IndexHintScope { 5096 v, _ := st.union.(tree.IndexHintScope) 5097 return v 5098 } 5099 5100 func (st *yySymType) indexHintTypeUnion() tree.IndexHintType { 5101 v, _ := st.union.(tree.IndexHintType) 5102 return v 5103 } 5104 5105 func (st *yySymType) indexOptionUnion() *tree.IndexOption { 5106 v, _ := st.union.(*tree.IndexOption) 5107 return v 5108 } 5109 5110 func (st *yySymType) indexTypeUnion() tree.IndexType { 5111 v, _ := st.union.(tree.IndexType) 5112 return v 5113 } 5114 5115 func (st *yySymType) insertUnion() *tree.Insert { 5116 v, _ := st.union.(*tree.Insert) 5117 return v 5118 } 5119 5120 func (st *yySymType) int64ValUnion() int64 { 5121 v, _ := st.union.(int64) 5122 return v 5123 } 5124 5125 func (st *yySymType) joinCondUnion() tree.JoinCond { 5126 v, _ := st.union.(tree.JoinCond) 5127 return v 5128 } 5129 5130 func (st *yySymType) joinTableExprUnion() *tree.JoinTableExpr { 5131 v, _ := st.union.(*tree.JoinTableExpr) 5132 return v 5133 } 5134 5135 func (st *yySymType) keyPartUnion() *tree.KeyPart { 5136 v, _ := st.union.(*tree.KeyPart) 5137 return v 5138 } 5139 5140 func (st *yySymType) keyPartsUnion() []*tree.KeyPart { 5141 v, _ := st.union.([]*tree.KeyPart) 5142 return v 5143 } 5144 5145 func (st *yySymType) killOptionUnion() tree.KillOption { 5146 v, _ := st.union.(tree.KillOption) 5147 return v 5148 } 5149 5150 func (st *yySymType) lengthOptUnion() int32 { 5151 v, _ := st.union.(int32) 5152 return v 5153 } 5154 5155 func (st *yySymType) lengthScaleOptUnion() tree.LengthScaleOpt { 5156 v, _ := st.union.(tree.LengthScaleOpt) 5157 return v 5158 } 5159 5160 func (st *yySymType) limitUnion() *tree.Limit { 5161 v, _ := st.union.(*tree.Limit) 5162 return v 5163 } 5164 5165 func (st *yySymType) linesUnion() *tree.Lines { 5166 v, _ := st.union.(*tree.Lines) 5167 return v 5168 } 5169 5170 func (st *yySymType) loadColumnUnion() tree.LoadColumn { 5171 v, _ := st.union.(tree.LoadColumn) 5172 return v 5173 } 5174 5175 func (st *yySymType) loadColumnsUnion() []tree.LoadColumn { 5176 v, _ := st.union.([]tree.LoadColumn) 5177 return v 5178 } 5179 5180 func (st *yySymType) loadParamUnion() *tree.ExternParam { 5181 v, _ := st.union.(*tree.ExternParam) 5182 return v 5183 } 5184 5185 func (st *yySymType) matchTypeUnion() tree.MatchType { 5186 v, _ := st.union.(tree.MatchType) 5187 return v 5188 } 5189 5190 func (st *yySymType) nullsPositionUnion() tree.NullsPosition { 5191 v, _ := st.union.(tree.NullsPosition) 5192 return v 5193 } 5194 5195 func (st *yySymType) numValUnion() *tree.NumVal { 5196 v, _ := st.union.(*tree.NumVal) 5197 return v 5198 } 5199 5200 func (st *yySymType) objectTypeUnion() tree.ObjectType { 5201 v, _ := st.union.(tree.ObjectType) 5202 return v 5203 } 5204 5205 func (st *yySymType) orderUnion() *tree.Order { 5206 v, _ := st.union.(*tree.Order) 5207 return v 5208 } 5209 5210 func (st *yySymType) orderByUnion() tree.OrderBy { 5211 v, _ := st.union.(tree.OrderBy) 5212 return v 5213 } 5214 5215 func (st *yySymType) parenTableExprUnion() *tree.ParenTableExpr { 5216 v, _ := st.union.(*tree.ParenTableExpr) 5217 return v 5218 } 5219 5220 func (st *yySymType) partitionUnion() *tree.Partition { 5221 v, _ := st.union.(*tree.Partition) 5222 return v 5223 } 5224 5225 func (st *yySymType) partitionByUnion() *tree.PartitionBy { 5226 v, _ := st.union.(*tree.PartitionBy) 5227 return v 5228 } 5229 5230 func (st *yySymType) partitionOptionUnion() *tree.PartitionOption { 5231 v, _ := st.union.(*tree.PartitionOption) 5232 return v 5233 } 5234 5235 func (st *yySymType) partitionsUnion() []*tree.Partition { 5236 v, _ := st.union.([]*tree.Partition) 5237 return v 5238 } 5239 5240 func (st *yySymType) privilegeUnion() *tree.Privilege { 5241 v, _ := st.union.(*tree.Privilege) 5242 return v 5243 } 5244 5245 func (st *yySymType) privilegeLevelUnion() *tree.PrivilegeLevel { 5246 v, _ := st.union.(*tree.PrivilegeLevel) 5247 return v 5248 } 5249 5250 func (st *yySymType) privilegeTypeUnion() tree.PrivilegeType { 5251 v, _ := st.union.(tree.PrivilegeType) 5252 return v 5253 } 5254 5255 func (st *yySymType) privilegesUnion() []*tree.Privilege { 5256 v, _ := st.union.([]*tree.Privilege) 5257 return v 5258 } 5259 5260 func (st *yySymType) propertiesUnion() []tree.Property { 5261 v, _ := st.union.([]tree.Property) 5262 return v 5263 } 5264 5265 func (st *yySymType) propertyUnion() tree.Property { 5266 v, _ := st.union.(tree.Property) 5267 return v 5268 } 5269 5270 func (st *yySymType) referenceOnRecordUnion() *tree.ReferenceOnRecord { 5271 v, _ := st.union.(*tree.ReferenceOnRecord) 5272 return v 5273 } 5274 5275 func (st *yySymType) referenceOptionTypeUnion() tree.ReferenceOptionType { 5276 v, _ := st.union.(tree.ReferenceOptionType) 5277 return v 5278 } 5279 5280 func (st *yySymType) replaceUnion() *tree.Replace { 5281 v, _ := st.union.(*tree.Replace) 5282 return v 5283 } 5284 5285 func (st *yySymType) resourceOptionUnion() tree.ResourceOption { 5286 v, _ := st.union.(tree.ResourceOption) 5287 return v 5288 } 5289 5290 func (st *yySymType) resourceOptionsUnion() []tree.ResourceOption { 5291 v, _ := st.union.([]tree.ResourceOption) 5292 return v 5293 } 5294 5295 func (st *yySymType) roleUnion() *tree.Role { 5296 v, _ := st.union.(*tree.Role) 5297 return v 5298 } 5299 5300 func (st *yySymType) rolesUnion() []*tree.Role { 5301 v, _ := st.union.([]*tree.Role) 5302 return v 5303 } 5304 5305 func (st *yySymType) rowFormatTypeUnion() tree.RowFormatType { 5306 v, _ := st.union.(tree.RowFormatType) 5307 return v 5308 } 5309 5310 func (st *yySymType) rowsExprsUnion() []tree.Exprs { 5311 v, _ := st.union.([]tree.Exprs) 5312 return v 5313 } 5314 5315 func (st *yySymType) selectUnion() *tree.Select { 5316 v, _ := st.union.(*tree.Select) 5317 return v 5318 } 5319 5320 func (st *yySymType) selectExprUnion() tree.SelectExpr { 5321 v, _ := st.union.(tree.SelectExpr) 5322 return v 5323 } 5324 5325 func (st *yySymType) selectExprsUnion() tree.SelectExprs { 5326 v, _ := st.union.(tree.SelectExprs) 5327 return v 5328 } 5329 5330 func (st *yySymType) selectStatementUnion() tree.SelectStatement { 5331 v, _ := st.union.(tree.SelectStatement) 5332 return v 5333 } 5334 5335 func (st *yySymType) setDefaultRoleUnion() *tree.SetDefaultRole { 5336 v, _ := st.union.(*tree.SetDefaultRole) 5337 return v 5338 } 5339 5340 func (st *yySymType) setRoleUnion() *tree.SetRole { 5341 v, _ := st.union.(*tree.SetRole) 5342 return v 5343 } 5344 5345 func (st *yySymType) showTypeUnion() tree.ShowType { 5346 v, _ := st.union.(tree.ShowType) 5347 return v 5348 } 5349 5350 func (st *yySymType) statementUnion() tree.Statement { 5351 v, _ := st.union.(tree.Statement) 5352 return v 5353 } 5354 5355 func (st *yySymType) statementOptionUnion() tree.StatementOption { 5356 v, _ := st.union.(tree.StatementOption) 5357 return v 5358 } 5359 5360 func (st *yySymType) statementsUnion() []tree.Statement { 5361 v, _ := st.union.([]tree.Statement) 5362 return v 5363 } 5364 5365 func (st *yySymType) strsUnion() []string { 5366 v, _ := st.union.([]string) 5367 return v 5368 } 5369 5370 func (st *yySymType) subPartitionUnion() *tree.SubPartition { 5371 v, _ := st.union.(*tree.SubPartition) 5372 return v 5373 } 5374 5375 func (st *yySymType) subPartitionsUnion() []*tree.SubPartition { 5376 v, _ := st.union.([]*tree.SubPartition) 5377 return v 5378 } 5379 5380 func (st *yySymType) subqueryUnion() *tree.Subquery { 5381 v, _ := st.union.(*tree.Subquery) 5382 return v 5383 } 5384 5385 func (st *yySymType) tableDefUnion() tree.TableDef { 5386 v, _ := st.union.(tree.TableDef) 5387 return v 5388 } 5389 5390 func (st *yySymType) tableDefsUnion() tree.TableDefs { 5391 v, _ := st.union.(tree.TableDefs) 5392 return v 5393 } 5394 5395 func (st *yySymType) tableExprUnion() tree.TableExpr { 5396 v, _ := st.union.(tree.TableExpr) 5397 return v 5398 } 5399 5400 func (st *yySymType) tableExprsUnion() tree.TableExprs { 5401 v, _ := st.union.(tree.TableExprs) 5402 return v 5403 } 5404 5405 func (st *yySymType) tableLockUnion() tree.TableLock { 5406 v, _ := st.union.(tree.TableLock) 5407 return v 5408 } 5409 5410 func (st *yySymType) tableLockTypeUnion() tree.TableLockType { 5411 v, _ := st.union.(tree.TableLockType) 5412 return v 5413 } 5414 5415 func (st *yySymType) tableLocksUnion() []tree.TableLock { 5416 v, _ := st.union.([]tree.TableLock) 5417 return v 5418 } 5419 5420 func (st *yySymType) tableNameUnion() *tree.TableName { 5421 v, _ := st.union.(*tree.TableName) 5422 return v 5423 } 5424 5425 func (st *yySymType) tableNamesUnion() tree.TableNames { 5426 v, _ := st.union.(tree.TableNames) 5427 return v 5428 } 5429 5430 func (st *yySymType) tableOptionUnion() tree.TableOption { 5431 v, _ := st.union.(tree.TableOption) 5432 return v 5433 } 5434 5435 func (st *yySymType) tableOptionsUnion() []tree.TableOption { 5436 v, _ := st.union.([]tree.TableOption) 5437 return v 5438 } 5439 5440 func (st *yySymType) tailParamUnion() *tree.TailParameter { 5441 v, _ := st.union.(*tree.TailParameter) 5442 return v 5443 } 5444 5445 func (st *yySymType) tlsOptionUnion() tree.TlsOption { 5446 v, _ := st.union.(tree.TlsOption) 5447 return v 5448 } 5449 5450 func (st *yySymType) tlsOptionsUnion() []tree.TlsOption { 5451 v, _ := st.union.([]tree.TlsOption) 5452 return v 5453 } 5454 5455 func (st *yySymType) tupleUnion() *tree.Tuple { 5456 v, _ := st.union.(*tree.Tuple) 5457 return v 5458 } 5459 5460 func (st *yySymType) unionTypeRecordUnion() *tree.UnionTypeRecord { 5461 v, _ := st.union.(*tree.UnionTypeRecord) 5462 return v 5463 } 5464 5465 func (st *yySymType) unresolveNamesUnion() []*tree.UnresolvedName { 5466 v, _ := st.union.([]*tree.UnresolvedName) 5467 return v 5468 } 5469 5470 func (st *yySymType) unresolvedNameUnion() *tree.UnresolvedName { 5471 v, _ := st.union.(*tree.UnresolvedName) 5472 return v 5473 } 5474 5475 func (st *yySymType) unresolvedObjectNameUnion() *tree.UnresolvedObjectName { 5476 v, _ := st.union.(*tree.UnresolvedObjectName) 5477 return v 5478 } 5479 5480 func (st *yySymType) unsignedOptUnion() bool { 5481 v, _ := st.union.(bool) 5482 return v 5483 } 5484 5485 func (st *yySymType) updateExprUnion() *tree.UpdateExpr { 5486 v, _ := st.union.(*tree.UpdateExpr) 5487 return v 5488 } 5489 5490 func (st *yySymType) updateExprsUnion() tree.UpdateExprs { 5491 v, _ := st.union.(tree.UpdateExprs) 5492 return v 5493 } 5494 5495 func (st *yySymType) userUnion() *tree.User { 5496 v, _ := st.union.(*tree.User) 5497 return v 5498 } 5499 5500 func (st *yySymType) userIdentifiedUnion() *tree.AccountIdentified { 5501 v, _ := st.union.(*tree.AccountIdentified) 5502 return v 5503 } 5504 5505 func (st *yySymType) userMiscOptionUnion() tree.UserMiscOption { 5506 v, _ := st.union.(tree.UserMiscOption) 5507 return v 5508 } 5509 5510 func (st *yySymType) userMiscOptionsUnion() []tree.UserMiscOption { 5511 v, _ := st.union.([]tree.UserMiscOption) 5512 return v 5513 } 5514 5515 func (st *yySymType) usernameRecordUnion() *tree.UsernameRecord { 5516 v, _ := st.union.(*tree.UsernameRecord) 5517 return v 5518 } 5519 5520 func (st *yySymType) usersUnion() []*tree.User { 5521 v, _ := st.union.([]*tree.User) 5522 return v 5523 } 5524 5525 func (st *yySymType) valuesUnion() tree.Values { 5526 v, _ := st.union.(tree.Values) 5527 return v 5528 } 5529 5530 func (st *yySymType) varAssignmentExprUnion() *tree.VarAssignmentExpr { 5531 v, _ := st.union.(*tree.VarAssignmentExpr) 5532 return v 5533 } 5534 5535 func (st *yySymType) varAssignmentExprsUnion() []*tree.VarAssignmentExpr { 5536 v, _ := st.union.([]*tree.VarAssignmentExpr) 5537 return v 5538 } 5539 5540 func (st *yySymType) varExprUnion() *tree.VarExpr { 5541 v, _ := st.union.(*tree.VarExpr) 5542 return v 5543 } 5544 5545 func (st *yySymType) varExprsUnion() []*tree.VarExpr { 5546 v, _ := st.union.([]*tree.VarExpr) 5547 return v 5548 } 5549 5550 func (st *yySymType) whenClauseUnion() *tree.When { 5551 v, _ := st.union.(*tree.When) 5552 return v 5553 } 5554 5555 func (st *yySymType) whenClauseListUnion() []*tree.When { 5556 v, _ := st.union.([]*tree.When) 5557 return v 5558 } 5559 5560 func (st *yySymType) whereUnion() *tree.Where { 5561 v, _ := st.union.(*tree.Where) 5562 return v 5563 } 5564 5565 func (st *yySymType) windowFrameUnion() *tree.WindowFrame { 5566 v, _ := st.union.(*tree.WindowFrame) 5567 return v 5568 } 5569 5570 func (st *yySymType) windowFrameBoundUnion() tree.WindowFrameBound { 5571 v, _ := st.union.(tree.WindowFrameBound) 5572 return v 5573 } 5574 5575 func (st *yySymType) windowFrameUnitUnion() tree.WindowFrameUnits { 5576 v, _ := st.union.(tree.WindowFrameUnits) 5577 return v 5578 } 5579 5580 func (st *yySymType) windowSpecUnion() *tree.WindowSpec { 5581 v, _ := st.union.(*tree.WindowSpec) 5582 return v 5583 } 5584 5585 func (st *yySymType) withClauseUnion() *tree.With { 5586 v, _ := st.union.(*tree.With) 5587 return v 5588 } 5589 5590 func (st *yySymType) zeroFillOptUnion() bool { 5591 v, _ := st.union.(bool) 5592 return v 5593 } 5594 5595 var yyR1 = [...]int{ 5596 0, 437, 2, 2, 1, 1, 1, 1, 1, 1, 5597 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5599 1, 1, 1, 1, 1, 91, 435, 435, 435, 436, 5600 436, 89, 89, 89, 78, 77, 90, 385, 385, 384, 5601 384, 383, 383, 339, 339, 382, 382, 382, 381, 381, 5602 381, 380, 380, 379, 379, 378, 378, 376, 376, 377, 5603 375, 374, 374, 374, 372, 372, 372, 368, 368, 370, 5604 369, 369, 371, 363, 363, 366, 366, 364, 364, 364, 5605 364, 367, 362, 362, 362, 361, 361, 76, 76, 76, 5606 291, 291, 75, 75, 305, 305, 305, 305, 305, 303, 5607 303, 303, 303, 303, 303, 302, 302, 301, 301, 306, 5608 306, 304, 304, 304, 304, 304, 304, 304, 304, 304, 5609 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 5610 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 5611 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 5612 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 5613 304, 67, 67, 67, 67, 70, 70, 70, 71, 300, 5614 300, 300, 68, 69, 69, 290, 290, 295, 295, 294, 5615 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 5616 294, 299, 299, 299, 297, 297, 296, 296, 298, 298, 5617 61, 61, 61, 64, 63, 289, 289, 289, 289, 289, 5618 289, 289, 289, 289, 62, 62, 62, 62, 62, 62, 5619 58, 58, 58, 58, 58, 57, 57, 59, 59, 287, 5620 287, 286, 72, 72, 73, 439, 439, 438, 440, 440, 5621 440, 440, 74, 81, 81, 81, 81, 81, 81, 81, 5622 80, 80, 83, 83, 82, 84, 66, 66, 66, 66, 5623 66, 65, 65, 65, 65, 65, 65, 65, 65, 65, 5624 409, 409, 409, 411, 411, 226, 227, 441, 229, 225, 5625 225, 225, 405, 405, 406, 407, 408, 408, 408, 79, 5626 7, 7, 7, 7, 56, 54, 60, 60, 422, 422, 5627 55, 429, 429, 342, 342, 240, 240, 239, 239, 239, 5628 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 5629 239, 239, 239, 345, 346, 236, 31, 31, 31, 31, 5630 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 5631 31, 31, 31, 31, 31, 31, 31, 38, 37, 37, 5632 37, 276, 276, 36, 442, 442, 209, 209, 45, 46, 5633 47, 48, 49, 50, 35, 44, 44, 44, 44, 44, 5634 44, 44, 44, 44, 53, 53, 357, 357, 444, 444, 5635 444, 51, 52, 341, 341, 341, 43, 42, 41, 40, 5636 40, 34, 34, 33, 33, 39, 233, 233, 233, 235, 5637 235, 231, 443, 443, 317, 317, 234, 234, 32, 32, 5638 32, 232, 232, 208, 230, 230, 230, 8, 8, 6, 5639 11, 11, 11, 11, 11, 11, 11, 11, 11, 18, 5640 20, 284, 284, 281, 19, 14, 13, 16, 12, 15, 5641 17, 5, 5, 5, 5, 9, 9, 10, 105, 105, 5642 147, 147, 417, 417, 413, 413, 414, 414, 414, 415, 5643 415, 416, 416, 85, 351, 351, 351, 351, 351, 351, 5644 4, 127, 127, 128, 128, 350, 350, 350, 350, 350, 5645 350, 350, 288, 288, 394, 394, 394, 395, 126, 126, 5646 121, 121, 352, 352, 254, 396, 396, 360, 360, 359, 5647 359, 358, 358, 124, 124, 125, 125, 108, 108, 94, 5648 94, 365, 365, 365, 365, 373, 373, 338, 338, 173, 5649 173, 202, 202, 203, 203, 98, 98, 99, 99, 99, 5650 99, 99, 99, 402, 402, 404, 404, 403, 123, 123, 5651 119, 119, 120, 120, 120, 118, 118, 117, 116, 116, 5652 115, 113, 113, 113, 114, 114, 114, 101, 101, 101, 5653 100, 100, 100, 100, 100, 188, 188, 188, 188, 188, 5654 188, 188, 188, 188, 188, 188, 188, 102, 102, 410, 5655 410, 410, 343, 343, 343, 348, 348, 185, 185, 186, 5656 186, 184, 184, 103, 103, 104, 104, 104, 104, 183, 5657 183, 182, 106, 106, 112, 111, 111, 107, 107, 107, 5658 107, 193, 193, 192, 192, 192, 192, 88, 92, 92, 5659 93, 131, 131, 191, 190, 190, 190, 130, 130, 129, 5660 129, 122, 122, 110, 110, 110, 110, 189, 109, 187, 5661 434, 434, 433, 433, 432, 430, 430, 430, 431, 431, 5662 431, 431, 387, 387, 387, 387, 387, 218, 218, 218, 5663 224, 224, 217, 217, 217, 217, 217, 228, 223, 223, 5664 219, 219, 220, 220, 220, 3, 3, 3, 3, 24, 5665 24, 24, 24, 24, 24, 30, 139, 140, 29, 132, 5666 132, 133, 133, 134, 134, 135, 136, 136, 136, 138, 5667 137, 28, 21, 418, 421, 419, 419, 423, 423, 423, 5668 424, 424, 424, 425, 425, 22, 420, 426, 426, 426, 5669 285, 285, 282, 283, 283, 280, 279, 279, 279, 428, 5670 428, 427, 427, 427, 221, 221, 23, 275, 275, 277, 5671 278, 278, 269, 269, 269, 269, 27, 273, 273, 274, 5672 274, 274, 274, 274, 270, 270, 272, 272, 268, 268, 5673 268, 268, 268, 26, 267, 267, 265, 265, 263, 263, 5674 264, 264, 262, 262, 262, 266, 266, 25, 25, 25, 5675 96, 95, 95, 95, 205, 205, 204, 204, 97, 344, 5676 344, 307, 307, 308, 308, 308, 311, 311, 323, 323, 5677 324, 324, 322, 322, 329, 329, 328, 328, 327, 327, 5678 326, 326, 325, 325, 325, 325, 320, 320, 319, 319, 5679 309, 309, 309, 309, 309, 310, 310, 310, 318, 318, 5680 321, 321, 164, 164, 165, 165, 165, 181, 181, 181, 5681 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 5682 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 5683 181, 181, 181, 181, 181, 181, 392, 392, 393, 167, 5684 167, 167, 171, 171, 171, 171, 171, 171, 166, 166, 5685 168, 168, 148, 148, 146, 146, 141, 141, 142, 142, 5686 143, 143, 144, 144, 145, 145, 145, 145, 145, 145, 5687 293, 293, 390, 390, 391, 391, 386, 386, 386, 389, 5688 389, 389, 389, 389, 388, 388, 149, 200, 200, 200, 5689 222, 222, 222, 199, 199, 199, 163, 163, 162, 162, 5690 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 5691 160, 160, 160, 160, 160, 292, 292, 237, 237, 238, 5692 238, 180, 179, 179, 179, 179, 179, 177, 178, 176, 5693 176, 176, 176, 176, 175, 175, 174, 174, 174, 271, 5694 271, 172, 172, 170, 170, 170, 169, 169, 169, 330, 5695 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 5696 243, 243, 243, 245, 245, 245, 245, 245, 245, 245, 5697 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 5698 245, 245, 245, 245, 246, 246, 251, 251, 401, 401, 5699 400, 150, 150, 150, 151, 151, 151, 151, 151, 151, 5700 151, 151, 151, 159, 159, 159, 315, 315, 315, 315, 5701 315, 316, 316, 316, 313, 313, 314, 314, 255, 256, 5702 256, 349, 349, 312, 312, 198, 198, 198, 198, 198, 5703 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 5704 198, 198, 356, 356, 356, 195, 195, 195, 195, 195, 5705 195, 195, 195, 195, 195, 195, 195, 412, 412, 412, 5706 397, 397, 397, 398, 398, 398, 398, 398, 398, 398, 5707 398, 398, 398, 398, 398, 399, 399, 399, 399, 399, 5708 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, 5709 399, 399, 197, 197, 197, 196, 196, 196, 196, 196, 5710 196, 196, 196, 196, 196, 196, 196, 257, 257, 258, 5711 258, 353, 353, 353, 353, 353, 353, 354, 354, 355, 5712 355, 355, 355, 347, 347, 347, 347, 347, 347, 347, 5713 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 5714 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 5715 347, 347, 244, 194, 194, 194, 259, 252, 252, 253, 5716 253, 247, 247, 247, 247, 247, 247, 247, 249, 249, 5717 249, 249, 249, 249, 249, 249, 249, 249, 249, 242, 5718 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 5719 248, 248, 250, 250, 261, 261, 261, 260, 260, 260, 5720 260, 260, 260, 260, 161, 161, 161, 161, 241, 241, 5721 241, 241, 241, 241, 241, 241, 241, 241, 241, 152, 5722 152, 152, 152, 156, 156, 158, 158, 158, 158, 158, 5723 158, 158, 158, 158, 158, 158, 158, 158, 158, 157, 5724 157, 157, 157, 155, 155, 155, 155, 155, 153, 153, 5725 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 5726 153, 153, 153, 153, 86, 87, 87, 154, 201, 201, 5727 331, 331, 334, 334, 332, 332, 333, 335, 335, 335, 5728 336, 336, 336, 337, 337, 337, 340, 340, 207, 207, 5729 207, 214, 214, 206, 206, 215, 215, 216, 216, 212, 5730 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5731 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5732 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5733 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5734 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5735 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5736 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5737 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5738 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5739 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5740 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5741 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5742 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5743 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5744 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5745 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5746 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 5747 212, 212, 212, 212, 212, 213, 213, 213, 213, 213, 5748 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5749 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5750 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5751 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5752 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5753 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5754 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5755 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5756 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5757 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5758 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5759 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5760 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5761 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5762 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5763 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5764 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 5765 213, 213, 213, 213, 213, 213, 213, 213, 211, 211, 5766 211, 211, 211, 211, 211, 211, 211, 211, 210, 210, 5767 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 5768 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 5769 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 5770 210, 210, 210, 210, 210, 5771 } 5772 5773 var yyR2 = [...]int{ 5774 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 5775 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5776 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5777 1, 1, 1, 1, 0, 4, 0, 1, 1, 0, 5778 1, 6, 8, 10, 9, 11, 2, 0, 2, 1, 5779 3, 3, 3, 0, 2, 1, 3, 5, 0, 2, 5780 3, 1, 3, 1, 1, 1, 3, 1, 1, 1, 5781 1, 0, 3, 3, 0, 3, 3, 0, 1, 3, 5782 0, 1, 3, 0, 2, 1, 2, 3, 4, 3, 5783 3, 1, 0, 1, 1, 0, 1, 8, 5, 7, 5784 0, 3, 8, 5, 1, 3, 3, 3, 1, 1, 5785 1, 1, 1, 1, 1, 1, 3, 1, 4, 1, 5786 3, 1, 2, 2, 2, 2, 2, 2, 1, 2, 5787 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 5788 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 5789 1, 2, 1, 1, 2, 2, 1, 1, 1, 3, 5790 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 5791 1, 1, 1, 1, 1, 3, 4, 4, 6, 1, 5792 1, 1, 2, 4, 6, 1, 4, 1, 3, 3, 5793 4, 4, 4, 3, 3, 2, 4, 4, 2, 2, 5794 2, 1, 1, 1, 1, 1, 1, 3, 1, 3, 5795 1, 1, 1, 2, 2, 0, 1, 4, 2, 4, 5796 1, 5, 3, 2, 1, 2, 2, 4, 4, 5, 5797 2, 1, 3, 4, 4, 1, 2, 9, 7, 1, 5798 3, 3, 1, 1, 3, 1, 3, 2, 1, 2, 5799 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 5800 4, 4, 2, 4, 3, 3, 1, 1, 1, 1, 5801 1, 2, 3, 4, 7, 2, 3, 3, 4, 5, 5802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5803 1, 1, 1, 3, 2, 1, 1, 1, 1, 6, 5804 1, 1, 1, 1, 7, 7, 7, 8, 0, 4, 5805 7, 0, 3, 0, 2, 0, 1, 1, 1, 1, 5806 4, 2, 2, 3, 3, 4, 5, 3, 4, 4, 5807 2, 2, 2, 3, 0, 1, 1, 1, 1, 1, 5808 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5809 1, 1, 1, 1, 1, 1, 1, 4, 2, 5, 5810 5, 0, 2, 7, 0, 1, 0, 1, 5, 3, 5811 2, 4, 4, 4, 4, 1, 1, 1, 3, 2, 5812 3, 1, 1, 1, 6, 8, 0, 1, 1, 1, 5813 1, 5, 5, 0, 1, 1, 3, 3, 3, 6, 5814 7, 4, 4, 7, 8, 3, 0, 2, 2, 0, 5815 2, 2, 1, 1, 1, 1, 0, 1, 4, 4, 5816 5, 1, 3, 1, 1, 3, 5, 2, 3, 1, 5817 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5818 4, 1, 3, 1, 4, 6, 4, 4, 4, 3, 5819 6, 1, 1, 2, 2, 11, 8, 9, 1, 3, 5820 2, 4, 0, 2, 0, 1, 1, 1, 1, 0, 5821 1, 0, 1, 4, 2, 1, 5, 4, 4, 2, 5822 5, 0, 4, 1, 3, 3, 1, 5, 6, 5, 5823 5, 3, 0, 5, 0, 1, 3, 3, 1, 3, 5824 1, 3, 1, 3, 4, 0, 1, 0, 1, 1, 5825 3, 1, 1, 0, 4, 1, 3, 2, 1, 0, 5826 8, 0, 4, 7, 4, 0, 2, 0, 2, 0, 5827 2, 0, 4, 1, 3, 1, 1, 4, 3, 4, 5828 5, 4, 5, 2, 3, 1, 3, 6, 0, 3, 5829 0, 1, 2, 4, 4, 0, 1, 3, 1, 3, 5830 3, 0, 1, 1, 0, 2, 2, 3, 3, 3, 5831 1, 3, 3, 3, 3, 1, 2, 2, 1, 2, 5832 2, 1, 2, 2, 1, 2, 2, 7, 7, 1, 5833 1, 1, 0, 1, 1, 1, 1, 0, 2, 0, 5834 3, 0, 2, 1, 3, 1, 2, 3, 5, 0, 5835 1, 2, 1, 3, 1, 1, 1, 4, 4, 4, 5836 3, 2, 2, 2, 3, 2, 3, 4, 1, 3, 5837 4, 0, 2, 1, 1, 2, 2, 0, 1, 2, 5838 4, 1, 3, 1, 3, 2, 3, 1, 4, 3, 5839 0, 1, 1, 2, 5, 2, 2, 2, 0, 2, 5840 3, 3, 0, 1, 3, 1, 3, 0, 1, 2, 5841 1, 1, 0, 1, 2, 1, 2, 1, 1, 1, 5842 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5843 1, 1, 1, 1, 1, 7, 1, 1, 12, 1, 5844 3, 0, 1, 1, 3, 1, 1, 2, 4, 1, 5845 1, 7, 7, 1, 4, 1, 1, 3, 4, 3, 5846 0, 1, 1, 0, 2, 7, 1, 0, 2, 2, 5847 1, 3, 2, 1, 3, 2, 1, 3, 2, 0, 5848 1, 3, 4, 3, 1, 1, 4, 1, 3, 1, 5849 1, 1, 0, 1, 1, 1, 11, 0, 2, 3, 5850 2, 3, 1, 1, 1, 3, 3, 4, 0, 2, 5851 2, 2, 2, 5, 1, 1, 0, 3, 0, 1, 5852 1, 2, 4, 4, 4, 0, 1, 11, 9, 11, 5853 2, 2, 4, 5, 1, 3, 0, 3, 5, 0, 5854 1, 0, 6, 0, 3, 5, 0, 4, 0, 3, 5855 1, 3, 4, 5, 0, 3, 1, 3, 2, 3, 5856 1, 2, 0, 4, 6, 5, 0, 2, 0, 2, 5857 4, 5, 4, 5, 1, 5, 6, 5, 0, 3, 5858 0, 1, 0, 1, 1, 3, 2, 3, 3, 4, 5859 4, 3, 3, 3, 3, 4, 4, 3, 3, 3, 5860 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5861 3, 3, 3, 4, 5, 4, 1, 3, 3, 0, 5862 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 5863 1, 1, 1, 3, 1, 3, 0, 1, 1, 3, 5864 1, 1, 2, 1, 7, 7, 7, 7, 8, 5, 5865 0, 1, 0, 1, 1, 1, 1, 3, 3, 1, 5866 1, 1, 1, 1, 0, 1, 3, 1, 3, 5, 5867 1, 1, 1, 1, 3, 5, 0, 1, 1, 2, 5868 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 5869 1, 5, 6, 4, 1, 1, 2, 0, 1, 1, 5870 2, 5, 0, 1, 1, 2, 2, 3, 3, 1, 5871 1, 2, 2, 2, 0, 1, 2, 2, 2, 0, 5872 3, 0, 3, 1, 1, 1, 1, 1, 1, 1, 5873 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5874 3, 3, 1, 1, 1, 1, 3, 5, 2, 2, 5875 2, 2, 1, 1, 2, 5, 6, 4, 6, 6, 5876 1, 1, 1, 1, 0, 2, 0, 1, 1, 2, 5877 4, 1, 2, 2, 1, 2, 2, 1, 2, 2, 5878 2, 2, 2, 0, 1, 1, 2, 2, 2, 2, 5879 2, 1, 1, 1, 2, 5, 0, 1, 3, 0, 5880 1, 0, 2, 0, 6, 8, 6, 5, 5, 6, 5881 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 5882 6, 6, 1, 1, 1, 4, 4, 6, 8, 6, 5883 4, 5, 4, 6, 6, 7, 4, 1, 1, 1, 5884 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5885 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5886 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5887 1, 1, 2, 2, 8, 4, 2, 3, 2, 4, 5888 6, 2, 2, 4, 6, 4, 2, 0, 1, 2, 5889 3, 1, 1, 1, 1, 1, 1, 0, 2, 1, 5890 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5891 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5892 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5893 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, 5894 3, 3, 3, 3, 3, 2, 1, 1, 3, 4, 5895 3, 4, 3, 4, 3, 4, 3, 4, 1, 3, 5896 4, 4, 5, 4, 5, 3, 4, 5, 6, 1, 5897 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 5898 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 5899 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 5900 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 5901 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5902 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 5903 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 5904 1, 4, 4, 1, 2, 3, 5, 1, 1, 3, 5905 0, 1, 0, 3, 0, 3, 3, 0, 3, 5, 5906 0, 3, 5, 0, 1, 1, 0, 1, 1, 2, 5907 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 5908 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5910 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5911 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5912 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5913 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5914 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5915 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5916 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5917 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5918 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5919 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5920 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5921 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5922 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5923 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5924 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5925 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5926 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5927 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5928 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5929 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5930 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5931 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5932 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5933 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5934 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5935 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5936 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5937 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5938 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5939 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5940 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5941 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5942 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5943 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5944 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5945 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5946 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5947 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5948 1, 1, 1, 1, 1, 5949 } 5950 5951 var yyChk = [...]int{ 5952 -1000, -437, -2, -1, -3, -89, -4, -85, -5, -6, 5953 -8, -65, -80, -82, -84, -83, -31, -7, -79, -57, 5954 -58, -61, -67, -72, -75, -76, -77, -78, -90, -86, 5955 -87, -88, -98, -91, -24, -23, -22, -21, 397, 12, 5956 442, -9, -10, -402, -11, 232, -225, -226, -227, -229, 5957 -441, -32, -33, -34, -40, -41, -42, -43, -51, -52, 5958 -53, -35, -36, -37, -38, -45, -46, -47, -48, -49, 5959 -50, -39, -55, -54, -60, -56, 208, -59, 61, -62, 5960 -63, -64, -68, -69, -70, -71, -73, -74, 328, 334, 5961 387, 396, 524, 525, 46, -99, -101, 526, -25, -26, 5962 -27, -28, -29, -30, 204, 14, 475, -12, -15, -13, 5963 -16, -14, -19, -20, -18, -17, 227, 226, 37, 290, 5964 291, 292, 332, 225, 205, 13, 136, 137, 139, 140, 5965 30, 41, 310, -100, 67, 206, -102, 10, 528, 435, 5966 527, -108, 38, -146, -222, 70, -210, -213, 478, 479, 5967 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 5968 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 5969 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 5970 511, 512, 513, 514, 445, 308, 309, 472, 244, 268, 5971 358, 271, 278, 136, 155, 149, 177, 169, 144, 248, 5972 283, 249, 77, 139, 428, 87, 408, 384, 142, 263, 5973 265, 267, 270, 250, 165, 160, 262, 246, 524, 158, 5974 251, 39, 252, 182, 253, 254, 477, 404, 307, 410, 5975 275, 382, 159, 405, 266, 407, 184, 188, 420, 334, 5976 153, 154, 412, 422, 181, 224, 42, 474, 236, 423, 5977 186, 180, 176, 431, 279, 277, 179, 152, 175, 247, 5978 50, 190, 189, 191, 378, 379, 380, 381, 255, 256, 5979 322, 419, 172, 161, 312, 145, 22, 426, 231, 409, 5980 335, 257, 272, 280, 185, 187, 238, 243, 476, 386, 5981 242, 276, 424, 157, 235, 264, 230, 427, 146, 328, 5982 337, 258, 140, 269, 421, 430, 49, 350, 151, 143, 5983 221, 137, 240, 245, 11, 259, 260, 261, 282, 281, 5984 273, 173, 237, 178, 163, 150, 174, 138, 239, 429, 5985 351, 522, 310, 367, 171, 168, 241, 214, 425, 411, 5986 141, 371, 352, 166, 284, 518, 519, 520, 323, 306, 5987 285, 286, 164, 228, 403, 287, 289, 377, 299, 353, 5988 385, 359, 354, 197, 293, 414, 183, 521, -108, -59, 5989 -10, -9, -100, -101, -146, 212, -230, 23, 382, -66, 5990 383, 208, 67, -222, -5, -4, -85, -57, -98, -228, 5991 -222, 290, 290, -228, 212, -222, 242, 366, -342, 217, 5992 -302, -275, 243, -301, -277, -304, -278, 31, 204, 206, 5993 205, 239, 14, 332, 213, 12, 10, 333, 225, 24, 5994 25, 27, 13, 334, 336, 28, 337, 340, 341, 342, 5995 41, 345, 346, 232, 70, 73, 250, -140, -222, 250, 5996 -253, -247, 94, 233, -249, -242, -243, -245, -382, -376, 5997 -241, 67, 120, 121, 128, 95, -244, -330, 35, 97, 5998 482, 131, 443, -195, -196, -197, -198, -222, -377, -375, 5999 73, 78, 81, 84, 85, 83, 82, 162, 80, 74, 6000 132, 133, -101, 70, -397, 490, -211, 511, 510, 46, 6001 -347, -355, 211, -353, 167, 228, 163, 12, 126, 377, 6002 164, 487, 507, 445, 491, 514, 484, 485, 479, 480, 6003 481, 483, 492, 494, 506, -356, 502, 512, 513, 500, 6004 72, 71, 505, 504, 493, 488, 489, 495, 478, 486, 6005 496, 497, 503, 508, 509, 316, 87, 317, 318, 435, 6006 311, 319, 217, 382, 55, 320, 321, 322, 323, 324, 6007 442, 325, 56, 326, 315, 232, 367, 327, 166, 183, 6008 447, 446, 448, 439, 436, 434, 437, 438, 440, 441, 6009 498, 499, 501, -298, -296, -222, -92, -93, 516, -117, 6010 -118, -188, 19, 6, 7, 8, 9, -435, 384, 476, 6011 293, 329, 214, 308, 367, 242, -269, -267, -344, 287, 6012 283, 222, 221, 88, 435, 211, 343, -413, -414, 201, 6013 202, 203, -404, 468, -403, -222, 318, 26, 212, 329, 6014 414, 415, 416, 417, 418, -44, -357, -341, 411, 410, 6015 -234, 409, 402, 413, 404, 309, 204, 469, -207, 353, 6016 385, 238, 432, 433, 330, 386, 420, 421, 405, 87, 6017 170, 167, 214, 308, 435, 367, -413, 141, 138, -289, 6018 141, 93, 146, 145, -289, 242, 366, 40, -295, 377, 6019 -294, -296, 420, 421, 431, 71, 72, 419, -207, 87, 6020 403, 403, -118, -188, -117, -99, -101, -88, -402, 308, 6021 367, 242, 213, 212, 214, 435, 290, 329, -343, -410, 6022 31, -348, 198, 199, 200, 32, 33, -1, -223, -220, 6023 -213, 70, 71, 72, 73, -124, 234, -146, 134, -124, 6024 -118, -117, -118, -146, -199, -222, 384, 103, -66, -66, 6025 383, -405, -406, -407, -409, 208, 383, 382, 134, 15, 6026 -228, -228, 65, -146, -277, 242, -302, -275, 35, 64, 6027 135, 215, 135, 64, 67, 330, 308, 367, 331, 435, 6028 212, 343, 214, 242, 344, 308, 367, 212, 214, 435, 6029 242, 308, 212, 214, 367, 242, 344, 402, 403, 214, 6030 26, 335, 338, 339, 403, -361, 431, -361, 135, 93, 6031 90, 91, 92, -247, 110, -260, 103, 104, 105, 106, 6032 107, 108, 109, 117, 116, 127, 120, 121, 122, 123, 6033 124, 125, 126, 118, 119, 113, 94, 111, 115, 112, 6034 96, -101, -247, -253, 46, -245, -245, -245, -245, -330, 6035 -251, -247, 67, 67, 67, 134, 73, -247, 67, 67, 6036 67, 67, 67, 67, 67, 67, -354, 67, 67, -257, 6037 -258, 67, 67, 73, 73, 67, 67, 67, 73, -258, 6038 -258, 67, 67, 67, 67, 67, 67, 67, 67, 67, 6039 67, 67, 67, 67, 67, 67, 67, 67, 135, -152, 6040 -156, -153, -155, -154, -158, -157, 167, 168, 131, 171, 6041 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 6042 30, 183, 228, 163, 164, 165, 166, 184, 149, 169, 6043 473, 192, 150, 193, 151, 194, 152, 195, 153, 154, 6044 196, 155, 158, 159, 160, 157, 134, -118, 135, 67, 6045 -94, 38, -120, 21, -102, -101, 20, 31, 32, 31, 6046 32, 31, 32, 31, 32, 78, -139, -222, -132, -222, 6047 -265, 217, -265, -265, -265, 213, -265, 212, 212, 212, 6048 -415, 148, 135, -404, -123, 67, -233, 111, 115, 23, 6049 240, 240, 277, -442, -443, 15, 113, -231, -443, -231, 6050 -233, -444, 213, 412, 42, 241, 240, -119, -120, -119, 6051 406, 403, -317, 407, 408, -234, -233, -233, -234, -233, 6052 212, 214, 435, -442, 240, -442, 30, 30, -342, -342, 6053 469, -208, -222, -342, -416, 216, 424, 475, 144, 145, 6054 146, -277, 242, 242, 135, 103, 23, -297, 103, 114, 6055 -296, -296, -296, -297, -297, -166, 40, -221, 131, -222, 6056 73, -166, 40, -439, -438, -146, -119, -102, -101, 68, 6057 68, 68, -342, -342, -342, -342, -342, -342, -342, -228, 6058 -132, -103, -104, 122, -247, -222, -103, 38, 403, 38, 6059 -350, -127, -98, 309, 67, 67, -222, -351, 46, -98, 6060 67, 30, -119, -94, -120, 134, 78, 73, -66, 68, 6061 135, -408, 84, 85, -411, 181, 173, -222, -81, 73, 6062 -3, -4, -5, -6, -31, -57, -98, -378, -376, 67, 6063 31, 376, 64, 15, -303, 212, 435, 329, 238, 214, 6064 308, -301, -284, -281, -279, -221, -277, -280, -279, -306, 6065 -199, 403, -95, 388, 289, -95, -247, -247, -247, -247, 6066 -247, 83, 94, 306, 84, 85, -242, -261, 31, 285, 6067 286, -243, -243, -243, -243, -243, -243, -243, -243, -243, 6068 -243, -243, -243, -250, -259, -330, 67, 113, 111, 115, 6069 112, 96, -245, -245, -243, -243, 68, 135, -401, -400, 6070 98, -247, -247, -247, -222, -398, -399, 449, 450, 451, 6071 452, 453, 454, 455, 456, 457, 458, 459, 320, 315, 6072 321, 319, 311, 327, 322, 323, 166, 466, 467, 460, 6073 461, 462, 463, 464, 465, -252, -253, -252, -247, -398, 6074 -252, -194, 32, 31, -247, -412, 304, 303, 305, -121, 6075 -222, -252, 68, 68, 68, 78, -253, -252, -243, -252, 6076 -399, -194, -194, -253, -253, -194, -194, -194, -194, 122, 6077 -194, -194, -194, -194, -194, -194, -194, -194, -296, 40, 6078 -337, 351, 350, -331, -333, 67, -332, 67, -332, -331, 6079 -331, 67, 67, -334, 67, -334, -334, -331, -335, 67, 6080 -335, -336, 67, -335, -222, -119, -93, -359, -358, -247, 6081 40, 517, -94, -247, -116, -115, -247, -436, 73, 34, 6082 67, 134, -146, 94, -418, -222, -285, -282, -279, -275, 6083 -220, -222, -265, -265, -265, -416, -403, 34, -122, -222, 6084 -184, 16, -245, -245, -279, 242, -442, -233, -209, -208, 6085 -235, -443, -230, -235, -184, -443, -233, -233, -235, -231, 6086 403, -184, -184, -317, -232, -222, -232, -265, -209, -209, 6087 -146, -418, -418, 30, -285, -111, -106, -110, -107, -112, 6088 -187, -189, -109, 67, -146, -101, -222, 425, 426, 142, 6089 145, 144, 31, 376, -300, 376, 31, -275, -294, -290, 6090 73, 377, -280, -299, 64, 131, -358, -297, -297, -297, 6091 -299, -299, 130, 135, -440, 424, 425, 201, -94, -418, 6092 -284, -275, -222, -148, -146, -148, -223, 67, -183, 135, 6093 -182, 15, -217, -222, 34, 73, 134, -183, 73, -148, 6094 73, -288, 64, 46, 30, 67, -126, 68, -121, -125, 6095 -222, -352, -254, -396, 516, -126, 68, -394, -395, -121, 6096 -94, -94, -215, -216, -206, -212, -219, -220, -213, 209, 6097 31, 93, 34, 36, 316, 348, 96, 131, 20, 97, 6098 167, 130, 318, 443, 317, 204, 59, 446, 448, 447, 6099 436, 434, 369, 373, 375, 372, 435, 402, 40, 14, 6100 37, 226, 32, 33, 124, 206, 100, 101, 229, 35, 6101 227, 85, 44, 23, 62, 15, 17, 18, 319, 368, 6102 217, 216, 113, 388, 213, 57, 12, 133, 38, 110, 6103 370, 53, 89, 45, 55, 111, 115, 21, 437, 438, 6104 41, 387, 396, 471, 233, 126, 320, 321, 60, 94, 6105 376, 83, 43, 64, 90, 19, 58, 112, 207, 442, 6106 56, 374, 324, 326, 336, 468, 325, 211, 413, 10, 6107 315, 444, 30, 225, 54, 212, 99, 215, 84, 232, 6108 6, 88, 13, 61, 65, 439, 440, 441, 46, 98, 6109 16, 327, 475, 389, 390, 391, 392, 393, 394, 395, 6110 192, 193, 194, 195, 196, 274, 220, 218, 222, 223, 6111 516, 517, 198, 199, 303, 305, 170, 201, 202, 203, 6112 234, 148, 7, 355, 356, 357, 360, 361, 362, 363, 6113 364, 365, 366, 525, 397, 398, 399, 400, 401, 415, 6114 416, 417, 418, 210, 314, 23, -66, -406, 134, 135, 6115 -122, -303, -283, -280, -305, 122, 70, -291, 135, 475, 6116 529, 71, 215, -428, -427, 368, 68, 135, -362, 216, 6117 442, 73, 530, 197, -362, 83, 306, 84, 85, -330, 6118 -253, -250, -245, -245, -243, -243, -248, 229, -248, 93, 6119 -247, -246, -400, 100, -247, 34, 68, 135, 65, 134, 6120 68, 68, 15, 15, 68, -247, 68, 15, 15, -247, 6121 68, 134, 68, 68, 68, 65, 68, 135, 68, 135, 6122 -253, -247, 68, 68, -247, -247, -247, -253, 68, -247, 6123 -247, -247, -247, -247, -247, -247, -247, -247, -340, 352, 6124 78, 78, -201, 73, -201, 78, 78, 78, 135, 68, 6125 73, 135, 22, 135, -113, 36, 37, -140, -133, -134, 6126 -135, -136, -152, -199, 168, 171, 173, 174, 175, 176, 6127 177, 178, 179, 180, 181, 182, 183, 228, 163, 164, 6128 165, 166, 184, 149, 169, 150, 151, 152, 153, 154, 6129 155, 158, 159, 160, 157, -222, -123, 35, -421, 355, 6130 -429, 135, 40, -427, -268, 65, -263, -264, -262, -266, 6131 40, -146, -146, -146, 15, -105, -147, -222, 67, 68, 6132 135, -247, -276, 65, -278, -209, -184, -223, -146, -222, 6133 -184, -184, -233, -235, -235, -231, 134, -208, -123, -422, 6134 355, 30, 314, -429, 30, -190, -191, -192, -193, 53, 6135 57, 59, 54, 55, 56, 60, 30, 135, -218, -224, 6136 34, -219, 73, -220, -213, -218, -101, -106, -111, -218, 6137 67, 143, 146, 146, 145, 215, 67, 103, -299, -299, 6138 -299, 40, -221, -438, 431, 425, 64, 135, -133, -184, 6139 -104, -106, -222, 73, -222, 122, -184, -173, 519, 38, 6140 -365, 407, 39, -352, -394, -128, -418, 68, 135, -127, 6141 309, 68, 135, 135, 67, 68, 46, 135, 103, 134, 6142 384, -222, -376, 68, -305, 135, 215, 134, 134, -281, 6143 334, -221, -283, 20, 475, -199, 38, -205, -204, 73, 6144 530, 38, 68, -248, -248, 93, -245, -242, 68, 101, 6145 -247, 99, -150, -152, 350, 351, -151, -157, 131, 167, 6146 228, 166, 165, 163, 350, 351, -166, -222, -247, -247, 6147 68, -247, -247, 15, -222, -166, -243, -247, -118, 68, 6148 -312, 398, -312, 68, 68, 68, 68, -312, 68, 68, 6149 68, 68, 68, 68, 68, 68, 68, 68, 68, 135, 6150 68, 68, 68, 135, 68, 135, -358, -365, -247, -247, 6151 -115, -114, 43, 342, 68, 135, -152, 34, -424, 409, 6152 357, -214, 103, -240, -239, 310, 41, -345, 377, 363, 6153 364, -282, 242, 64, 298, 299, 300, 301, -262, -207, 6154 130, 253, 67, 67, 67, -146, -105, -222, 15, 135, 6155 -417, 134, -1, -222, -275, -233, -184, -443, -184, -233, 6156 -233, -235, -222, 34, -424, -214, 314, 103, -240, -287, 6157 -286, -199, -110, -110, -110, -110, 53, 53, 53, 58, 6158 53, 58, 53, -192, -287, -112, -123, -224, 68, -434, 6159 -433, -432, -430, 61, 216, 62, -252, 146, -283, -236, 6160 73, -290, -146, -146, 68, -186, 17, 134, -186, 78, 6161 73, -373, 394, 389, 391, 89, 68, 135, -127, -121, 6162 46, 67, -222, -254, -360, -359, 46, -98, -352, -395, 6163 -358, -215, -212, -220, -213, 78, 15, -280, -275, 122, 6164 122, 70, 335, -291, 73, 356, 73, 212, 531, 135, 6165 103, -205, 212, -242, -247, 68, -159, 154, 153, -159, 6166 68, -331, -332, -331, -334, -331, -159, -159, 68, 68, 6167 23, 68, 68, 68, -247, 68, 68, 135, -349, 444, 6168 -312, 67, -312, -312, -312, -312, -312, -312, -312, -312, 6169 -312, -312, -312, -312, 73, 78, 78, -373, 44, 45, 6170 73, 210, -135, 40, -98, -425, 77, -419, 73, -222, 6171 -426, 77, 358, 133, 312, 40, 359, 360, 374, 307, 6172 78, 78, 365, -420, 70, -146, -214, -214, -214, -141, 6173 -142, -143, -149, -144, -199, -238, -145, 220, 218, 222, 6174 -391, 88, 223, 274, 89, 213, -141, -141, -124, 65, 6175 134, -106, -147, -222, 122, 68, -184, -222, -184, -184, 6176 -233, -98, -425, -419, 103, 73, -426, -184, 135, 103, 6177 -130, -129, 64, 65, -131, 64, -129, 53, 53, -184, 6178 -432, -431, 23, -391, -391, -391, 68, 68, -185, 18, 6179 20, 122, -185, -173, -338, 518, -369, -371, 389, 20, 6180 20, 13, -98, -418, 46, -98, -352, -128, 68, -352, 6181 -275, -291, 377, -146, -204, 73, 531, -146, -247, 68, 6182 -247, 68, 73, -256, -255, 234, 68, 68, -338, -137, 6183 -152, -241, 73, -423, 368, 73, 73, 78, 40, 78, 6184 133, 361, -346, 67, -166, -168, -221, 131, 73, 68, 6185 135, -152, -145, -222, 89, -390, -391, -265, -390, 89, 6186 67, 68, 68, -218, -106, -222, -184, -417, 134, -184, 6187 -184, -423, 73, -118, -286, -358, -247, 67, -247, 67, 6188 53, 19, 17, -247, -253, -173, 73, 20, 73, -367, 6189 73, -287, -352, 68, -127, -97, -363, -317, 68, 68, 6190 -312, -118, 20, -173, 474, 20, 475, 311, 40, 78, 6191 40, 362, -270, -272, -199, 67, -164, -165, -181, 348, 6192 244, -266, 248, 77, 249, 384, 250, 213, 252, 253, 6193 254, 224, 255, 256, 257, 377, 258, 259, 260, 261, 6194 331, 6, 294, -143, -163, -162, -160, 83, 94, 40, 6195 348, -161, 77, 130, 267, 245, 268, -180, -237, 64, 6196 354, 218, 88, 89, 336, -238, -386, -388, -222, -388, 6197 -222, -386, -386, -265, -247, -96, -95, -164, -184, -184, 6198 -119, -122, -387, -222, 218, 20, 20, -202, 520, 73, 6199 391, -97, -372, 394, -366, -364, 389, 390, 391, 392, 6200 -314, -313, -316, 395, 276, 401, -253, -202, -138, -222, 6201 73, 356, 73, 311, 68, 135, -331, -247, -307, 234, 6202 135, -181, -214, -214, -207, 130, -214, -214, -214, -214, 6203 251, 251, -214, -214, -214, -214, -214, -214, -214, -214, 6204 -214, -214, -214, -214, -214, -214, 67, -160, 83, -243, 6205 73, -168, -169, 40, 266, 262, -170, 40, 246, 247, 6206 -172, 67, 274, 13, 89, 89, -146, 67, 65, 284, 6207 67, 67, 67, -388, 68, -97, -307, -118, 68, 68, 6208 135, 67, 20, -339, 521, -374, 216, -370, -371, 393, 6209 -364, 20, 391, 20, 20, 68, -315, 96, 361, 365, 6210 -247, 34, 377, -273, -272, -113, 68, -308, 283, 20, 6211 -181, 78, 78, -214, -214, 78, 73, 73, 73, -214, 6212 -214, 78, 73, -224, 78, 78, 78, 78, 40, 73, 6213 -171, 40, 262, 266, 263, 264, 265, 78, 40, 78, 6214 40, 78, 40, -222, 67, -392, -393, 73, 78, 67, 6215 -353, -271, 67, -270, -389, 298, 299, 300, 302, 301, 6216 -389, -270, -270, -270, 67, -293, -292, 275, 94, -308, 6217 -119, -222, 218, -203, -222, -367, 73, -381, 67, 78, 6218 -369, -368, -370, 20, -367, 20, -367, -367, -315, 516, 6219 399, 400, 399, 400, 73, -274, 224, 77, 475, 296, 6220 297, -113, 20, -309, 276, 277, -310, -321, 279, -166, 6221 -166, 73, 73, -167, 245, -148, 68, 135, 103, 68, 6222 -247, -257, -175, -174, 471, -270, 68, 68, 68, 68, 6223 -270, 275, 68, 135, -385, 30, 68, -380, -379, -200, 6224 -375, -222, 394, 395, 73, -367, 93, -214, 73, 295, 6225 -199, 67, -319, 280, 67, -317, 67, -317, 89, 299, 6226 246, 247, 68, -393, 73, 68, -179, -177, -178, 64, 6227 405, 272, 273, 68, -273, -273, -273, -273, 68, -222, 6228 -384, -383, -382, 68, 135, 134, -315, 78, -220, -306, 6229 -311, 281, 78, -243, 67, -243, 67, -318, 278, 67, 6230 -292, -178, 64, -177, 64, 14, 13, -180, 135, 103, 6231 -379, -222, 68, -323, 67, 20, 68, -306, 68, -306, 6232 67, 103, -243, -176, 269, 270, 30, 145, -176, -383, 6233 40, -247, 134, -324, -322, 234, -310, 68, 68, 68, 6234 -306, 78, 68, 83, 40, 271, -222, 68, 135, 70, 6235 -320, 282, 68, -322, -325, 46, 78, -329, -326, 67, 6236 -181, 236, 113, -329, -181, -328, -327, 281, 237, 67, 6237 68, 135, 70, 233, 67, -253, -327, -326, -253, 68, 6238 68, 6239 } 6240 6241 var yyDef = [...]int{ 6242 34, -2, 1, 2, 4, 5, 6, 7, 8, 9, 6243 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 6244 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 6245 30, 31, 32, 33, 685, 686, 687, 688, 0, 0, 6246 0, 451, 452, 0, 429, 0, 0, 0, 0, 0, 6247 0, 336, 337, 338, 339, 340, 341, 342, 343, 344, 6248 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 6249 355, 356, 300, 301, 302, 303, 0, 235, 231, 210, 6250 211, 212, 171, 172, 173, 174, 242, 243, 313, 0, 6251 0, 0, 0, 0, 0, 535, -2, 36, 689, 690, 6252 691, 692, 693, 694, -2, 464, 0, 430, 431, 432, 6253 433, 434, 435, 436, 437, 438, 289, 290, 291, 285, 6254 286, 288, 287, -2, 0, 464, 224, 0, 215, 215, 6255 0, 0, 0, 555, 0, 0, 570, 592, 34, 0, 6256 0, 513, 0, 518, 894, 930, 931, 932, 1708, 1709, 6257 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 6258 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 6259 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 6260 1740, 1741, 1742, 1743, 1744, 1515, 1516, 1517, 1518, 1519, 6261 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 6262 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 6263 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 6264 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 6265 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 6266 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 6267 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 6268 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 6269 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 6270 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 6271 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 6272 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 6273 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 6274 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 6275 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 6276 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 6277 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 6278 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 513, 236, 6279 453, 454, 555, 555, 427, 0, 271, 0, 1561, 275, 6280 0, 0, 0, 424, 266, 267, 268, 269, 270, 0, 6281 677, 0, 0, 262, 0, 230, 1620, 0, 0, 0, 6282 0, 0, 0, 115, 747, 117, 749, 121, 128, 0, 6283 0, 133, 134, 137, 138, 139, 140, 141, 0, 145, 6284 0, 147, 150, 0, 152, 153, 0, 156, 157, 158, 6285 0, 168, 169, 170, 750, 751, -2, 46, 697, 95, 6286 1304, 1199, 0, 1206, 1207, 1218, 1229, 1002, 1003, 1004, 6287 1005, 0, 0, 0, 0, 0, 1012, 1013, 0, 1026, 6288 1712, 0, 0, 1020, 1021, 1022, 1023, 55, 67, 68, 6289 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 6290 0, 1172, 989, 930, 0, 1720, 0, 1740, 1739, 0, 6291 0, 1157, 0, 1147, 0, -2, -2, 0, 0, 1687, 6292 -2, 1717, 1736, 1744, 1721, 1743, 1714, 1715, 1709, 1710, 6293 1711, 1713, 1722, 1724, 1735, 0, 1731, 1741, 1742, 0, 6294 69, 70, -2, -2, -2, -2, -2, -2, -2, -2, 6295 -2, -2, -2, -2, -2, 1163, -2, 1165, 1166, 1168, 6296 1169, 1170, 1171, -2, 1174, 1175, 1176, -2, -2, 1179, 6297 1180, 1181, 1182, 1183, 1184, 1187, -2, 1189, -2, -2, 6298 1159, 1160, 1161, 1162, 1151, 1152, 1153, 1154, 1155, 1156, 6299 -2, -2, -2, 0, 208, 206, 555, 628, 0, -2, 6300 0, 0, 0, 575, 578, 581, 584, 0, 37, 38, 6301 0, 0, 776, 776, 776, 776, 0, 776, 0, 0, 6302 0, 753, 754, 755, 774, 775, 800, 469, 465, 466, 6303 467, 468, 543, 0, 545, 548, 406, 358, 0, 0, 6304 0, 370, 364, 0, 0, 406, 0, 0, 550, 550, 6305 0, 416, 406, 406, -2, 406, 0, 375, 376, 377, 6306 364, 0, 364, 381, 382, 383, 394, 395, 417, 1328, 6307 0, 0, 313, 313, 0, 313, 471, 225, 226, 214, 6308 216, 0, 220, 0, 213, 1620, 0, 0, 182, 1687, 6309 187, 0, 1568, 1634, 1583, 0, 0, 1601, 0, -2, 6310 0, 252, 550, 0, 556, 0, 555, 0, 0, 313, 6311 313, 313, 313, 313, 313, 313, 0, 0, 0, 0, 6312 593, 594, 589, 590, 591, 595, 596, 3, 0, 678, 6313 679, 682, 683, 684, 0, 481, 0, 517, 0, 0, 6314 550, -2, 0, 428, 272, 933, 0, 0, 276, 277, 6315 0, 0, 292, 0, 295, 280, 281, 282, 0, 0, 6316 264, 265, 0, 0, 232, 0, 0, 0, 314, 0, 6317 0, 0, 0, 0, 0, 125, 122, 129, 132, 142, 6318 149, 0, 161, 163, 166, 123, 130, 135, 136, 143, 6319 164, 124, 126, 127, 131, 165, 167, 144, 148, 162, 6320 146, 151, 154, 155, 160, 0, 96, 0, 0, 0, 6321 0, 0, 0, 1205, 0, 0, 1237, 1238, 1239, 1240, 6322 1241, 1242, 1243, 0, 0, 0, 0, 0, 0, 0, 6323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6324 0, -2, 1199, 0, 0, 1008, 1009, 1010, 1011, 1014, 6325 0, 1027, 0, 0, 0, 0, 1258, 0, 1197, 1197, 6326 0, 1197, 1193, 0, 0, 1197, 1136, 0, 0, 1138, 6327 1148, 0, 0, 1141, 1142, 1197, 0, 1197, 1146, 1132, 6328 1133, 0, 1193, 1193, 0, 0, 1193, 1193, 1193, 1193, 6329 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 0, 1305, 6330 1323, 1260, 1261, 1262, 1310, 1264, 1314, 1314, 1310, 1310, 6331 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 0, 6332 0, 1303, 1283, 1312, 1312, 1312, 1310, 1307, 1265, 1266, 6333 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 6334 1277, 1278, 1317, 1317, 1320, 1317, 0, 550, 0, 0, 6335 538, 0, 519, 0, 572, 574, 0, 576, 577, 579, 6336 580, 582, 583, 585, 586, 39, 0, 696, 0, 699, 6337 0, 0, 0, 0, 0, 0, 0, 776, 776, 776, 6338 471, 470, 0, 544, 0, 0, 601, 0, 0, 0, 6339 364, 406, 369, 366, 365, 412, 413, 409, 0, 409, 6340 601, 0, 388, 389, 390, 406, 406, 396, 551, 397, 6341 398, 409, 0, 414, 415, 0, 601, 601, 0, 405, 6342 0, 0, 776, 366, 379, 366, 1329, 1330, 0, 0, 6343 0, 0, 423, 0, 0, 472, 0, 0, 218, 0, 6344 223, 175, 0, 0, 0, 0, 0, 0, 204, 205, 6345 0, 0, 0, 0, 0, 195, 198, 888, 889, 744, 6346 745, 199, 200, 244, 245, 0, 519, 571, 573, 567, 6347 568, 569, 0, 0, 0, 0, 0, 0, 0, 449, 6348 0, 609, 603, 605, 672, 55, 609, 0, 0, 0, 6349 492, 0, 486, 0, 0, 0, 895, 473, 505, 475, 6350 0, 494, 519, 541, 519, 0, 273, 0, 278, 0, 6351 0, 294, 296, 297, 298, 283, 284, 425, 260, 261, 6352 253, 254, 255, 256, 257, 258, 259, 263, 65, 0, 6353 233, 234, 0, 0, 0, 109, 110, 111, 112, 113, 6354 114, 116, 100, 441, 443, 736, 748, 0, 739, 0, 6355 119, 159, 92, 0, 0, 92, 1200, 1201, 1202, 1203, 6356 1204, 1208, 0, 1210, 1212, 1214, 1216, 0, 1234, -2, 6357 -2, 990, 991, 992, 993, 994, 995, 996, 997, 998, 6358 999, 1000, 1001, 1219, 1232, 1233, 0, 0, 0, 0, 6359 0, 0, 1230, 1230, 1225, 0, 1006, 0, 1024, 1028, 6360 0, 0, 0, 0, 56, 1192, 1103, 1104, 1105, 1106, 6361 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 6362 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 6363 1127, 1128, 1129, 1130, 1131, 0, 1198, 0, 1199, 0, 6364 0, 0, 1194, 1195, 0, 0, 1097, 1098, 1099, 0, 6365 500, 0, 1158, 1137, 1149, 0, 0, 0, 0, 0, 6366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6367 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 6368 1326, 1324, 1325, 1263, 1311, 0, 1288, 0, 1289, 1290, 6369 1291, 0, 0, 1284, 0, 1285, 1286, 1287, 1279, 0, 6370 1280, 1281, 0, 1282, 207, 627, 629, 0, 509, 511, 6371 512, 0, 539, 552, 557, 558, 561, 35, 40, 0, 6372 701, 0, 548, 0, 0, 713, 311, 730, 0, 746, 6373 768, -2, 0, 0, 0, 0, 546, 0, 0, 641, 6374 357, 0, 407, 408, 361, 1620, 366, 601, 371, 367, 6375 372, 0, 411, 373, 374, 0, 601, 601, 406, 409, 6376 409, 401, 402, 0, 418, 421, 419, 0, 378, 380, 6377 548, 308, 0, 0, 311, 614, 0, 615, 616, 612, 6378 643, 667, 667, 0, 667, 647, 894, 227, 228, 0, 6379 0, 222, 176, 177, 0, 179, 180, 181, 188, 183, 6380 185, 0, 0, 189, 201, 202, 203, 0, 0, 0, 6381 193, 194, 0, 0, 247, 248, 250, 0, 537, 439, 6382 440, 444, 0, 446, 892, 447, 448, 701, 601, 0, 6383 610, 0, 606, 673, 0, 675, 0, 601, 529, 0, 6384 521, 480, 0, 505, 494, 0, 0, 481, 498, 0, 6385 515, 474, 502, 0, 506, 0, 0, 479, 495, 0, 6386 540, 542, 934, 0, 1335, -2, 1337, -2, -2, 1339, 6387 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 6388 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 6389 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 6390 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 6391 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 6392 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 6393 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 6394 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 6395 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 6396 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 6397 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 6398 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 6399 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 6400 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 6401 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 6402 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 6403 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 6404 1510, 1511, 1512, 1513, 1514, 0, 279, 293, 0, 0, 6405 0, 0, 103, 733, 0, 104, 108, 98, 0, 0, 6406 0, 738, 0, 735, 740, 0, 118, 0, 0, 93, 6407 94, 791, 796, 0, 0, 1209, 1211, 1213, 1215, 1217, 6408 0, 1220, 1230, 1230, 1226, 0, 1221, 0, 1223, 0, 6409 1200, 0, 1029, 0, 0, 0, 1017, 0, 0, 0, 6410 1085, 1086, 0, 0, 1090, 0, 1092, 0, 0, 0, 6411 1096, 0, 1135, 1150, 1139, 0, 1143, 0, 1145, 0, 6412 555, 0, 1063, 1063, 0, 0, 0, 0, 1063, 0, 6413 0, 0, 0, 0, 0, 0, 0, 1306, 1259, 1327, 6414 0, 0, 0, 1308, 0, 0, 0, 0, 0, 630, 6415 521, 0, 0, 0, 564, 562, 563, 0, 0, 702, 6416 703, 705, 706, 0, -2, -2, -2, -2, -2, -2, 6417 -2, -2, -2, -2, -2, 1553, -2, -2, -2, -2, 6418 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 6419 -2, -2, -2, -2, -2, 700, 0, 777, 720, 1331, 6420 315, 0, 0, 732, 0, 0, 773, -2, 780, 0, 6421 786, 0, 0, 0, 0, 0, 458, 462, 34, 549, 6422 0, 602, 359, 0, 360, 406, 368, 410, 601, 894, 6423 391, 392, 601, 406, 406, 409, 0, 420, 0, 720, 6424 1331, 0, 0, 315, 0, 0, 0, 0, 0, 634, 6425 0, 0, 633, 0, 0, 0, 0, 0, 548, 668, 6426 0, 670, 671, 680, 681, 645, -2, 0, 614, 650, 6427 1197, 229, 217, 219, 0, 0, 0, 0, 190, 191, 6428 192, 196, 197, 246, 249, 251, 0, 0, 0, 599, 6429 604, 611, 674, 676, 56, 607, 599, 41, 0, 0, 6430 525, 0, 0, 485, 491, 0, 483, 481, 0, 0, 6431 0, 514, 0, 505, 507, 0, 505, 0, 0, 0, 6432 0, 426, 66, 299, 0, 0, 0, 0, 0, 442, 6433 0, 737, 100, 0, 0, 120, 0, 0, 794, 0, 6434 796, 0, 1196, 1222, 1224, 0, 1231, 1227, 1007, 1015, 6435 1025, 0, 0, 1031, 1043, 1043, 0, 1034, 1310, 1314, 6436 1037, 1310, 1312, 1310, 1043, 1043, 0, 57, 0, 0, 6437 1091, 0, 0, 0, 501, 0, 0, 0, 1061, 1063, 6438 1067, 0, 1068, 1063, 1063, 1063, 1063, 1073, 1063, 1063, 6439 1063, 1063, 1063, 1063, 1063, 1063, 1316, 1315, 1301, 0, 6440 1302, 1313, 1318, 0, 1321, 0, 510, 525, 553, 554, 6441 559, 560, 0, 0, 0, 0, 707, 0, 723, 721, 6442 722, 0, 1332, 727, 316, 317, 318, 319, 0, 0, 6443 0, 731, 0, 0, 769, 770, 771, 772, 781, 1331, 6444 1331, 1331, 896, 896, 896, 513, 0, -2, 0, 0, 6445 460, 0, 0, 642, 362, 601, 384, 0, 399, 601, 6446 601, 406, 422, 0, 723, 0, 0, 0, 727, 601, 6447 239, 0, 637, 631, 0, 620, 635, 636, 623, 0, 6448 625, 0, 621, 622, 601, 613, 644, 669, 646, 649, 6449 651, 652, 658, 0, 0, 0, 0, 221, 178, 0, 6450 335, 184, 445, 893, 450, 597, 0, 0, 597, 530, 6451 529, 527, 80, 0, 0, 0, 482, 0, 0, 499, 6452 505, 0, 516, 503, 0, 508, 505, 478, 477, 496, 6453 497, 935, 1336, 1333, 1334, 274, 0, 734, 100, 105, 6454 106, 107, 101, 99, 741, 0, 743, 0, 792, 796, 6455 0, 0, 0, 1228, 1030, 1016, 1032, 1044, 1045, 1033, 6456 1018, 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1019, 1087, 6457 0, 1089, 1093, 1094, 0, 1140, 1144, 0, 0, 0, 6458 1066, 1059, 1069, 1070, 1071, 1072, 1074, 1075, 1076, 1077, 6459 1078, 1079, 1080, 1081, 1309, 0, 0, 527, 565, 566, 6460 695, 0, 704, 0, 711, 712, 0, 0, 715, 716, 6461 725, 0, 0, 0, 321, 322, 0, 0, 0, 334, 6462 330, 331, 332, 312, 726, 0, 0, 0, 0, 0, 6463 897, 898, 900, 901, 0, 0, 903, 959, 0, 912, 6464 776, 912, 0, 0, 914, 915, 0, 0, 667, 0, 6465 0, 601, 459, 462, 463, 547, 363, 601, 403, 400, 6466 601, 304, 305, 0, 0, 306, 310, 555, 0, 0, 6467 617, 638, 0, 0, 618, 0, 619, 624, 626, 238, 6468 653, 0, 0, 655, 656, 657, 648, 186, 587, 0, 6469 0, 608, 588, 42, 529, 0, 526, 81, 0, 0, 6470 0, 0, 487, 484, 505, 490, 489, 0, 504, 476, 6471 102, 97, 742, 481, 795, 797, 793, 83, 0, 1095, 6472 0, 1063, 1062, 555, 1060, 0, 1319, 1322, 529, 0, 6473 710, 708, 724, 714, 0, 728, 729, 0, 323, 324, 6474 0, 327, 333, 0, 782, 783, 890, 891, 784, -2, 6475 0, -2, 902, 960, 924, 924, 913, 924, 924, 776, 6476 0, 0, -2, 601, 601, -2, 456, 461, 0, 385, 6477 404, 309, 307, 550, 240, 241, 639, 0, 632, 662, 6478 659, 0, 0, 598, 600, 531, 528, 0, 522, 524, 6479 91, 493, 488, 482, 83, 44, 74, 0, 1088, 1134, 6480 1065, 1056, 0, 531, 0, 0, 0, 320, 325, 0, 6481 328, 329, 0, 764, 1310, 0, 801, -2, 844, 1331, 6482 1331, 0, 1331, 1331, 1331, 1331, 0, 0, 1331, 1331, 6483 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 6484 1331, 1331, 0, 899, 926, -2, 938, 940, 0, 0, 6485 943, 944, 0, 0, 0, 0, 981, 950, 0, 0, 6486 954, 0, 1246, 1247, 0, 958, 0, 916, 925, 0, 6487 925, 0, 0, 924, 0, 788, 83, 801, 555, 457, 6488 237, 0, 0, 663, 665, 660, 661, 43, 0, 82, 6489 0, 53, 71, 0, 84, 85, 0, 0, 0, 0, 6490 0, 1057, 0, 1051, 1052, 1053, 1058, 520, 0, 709, 6491 717, 0, 719, 326, 757, 0, 561, 0, 803, 0, 6492 785, 846, 0, 0, 1331, 1331, 0, 0, 0, 0, 6493 1331, 1331, 0, 0, 0, 0, 0, 0, 0, 0, 6494 0, 0, 0, 0, 0, 0, 0, 939, 941, 942, 6495 945, 946, 947, 986, 987, 988, 948, 983, 984, 985, 6496 949, 0, 0, 0, 1244, 1245, 979, 0, 0, 0, 6497 0, 0, 0, 0, 910, 790, 803, 550, 640, 654, 6498 0, 0, 0, 45, 0, 58, 0, 80, 77, 0, 6499 86, 0, 0, 0, 0, 1064, 1054, 0, 0, 0, 6500 0, 0, 718, 756, 765, 766, 561, 787, 0, 840, 6501 845, 847, 848, 0, 0, 851, 852, 853, 854, 0, 6502 0, 857, 858, 859, 860, 861, 862, 863, 864, 865, 6503 866, 882, 883, 884, 885, 886, 887, 867, 868, 869, 6504 870, 871, 872, 879, 0, 0, 876, 0, 0, 0, 6505 1147, 974, 0, 0, 917, 919, 920, 921, 922, 923, 6506 918, 0, 0, 0, 0, 909, 911, 955, 0, 789, 6507 455, 664, 666, 0, 533, 523, 54, 47, 0, 0, 6508 75, 76, 78, 0, 87, 0, 89, 90, 0, 1046, 6509 1047, 1049, 1048, 1050, 698, 758, 1331, 0, 0, 762, 6510 763, 767, 0, 828, 0, 0, 834, 0, 841, 849, 6511 850, 855, 856, 873, 0, 0, 875, 0, 0, 982, 6512 0, 953, 962, 975, 0, 0, 757, 757, 757, 757, 6513 0, 956, 532, 0, 798, 0, 59, 0, 61, 63, 6514 64, 927, 72, 73, 79, 88, 0, 0, 760, 0, 6515 804, 0, 806, 0, 0, 0, 0, 0, 838, 0, 6516 880, 881, 874, 877, 878, 951, 961, 963, 964, 0, 6517 976, 977, 978, 980, 904, 905, 906, 907, 0, 534, 6518 48, 49, 0, 60, 0, 0, 1055, 759, 761, 0, 6519 808, 0, 829, 0, 0, 0, 0, 0, 0, 0, 6520 952, 965, 0, 966, 0, 0, 0, 908, 0, 0, 6521 62, 928, 805, 802, 0, 840, 830, 0, 832, 0, 6522 0, 0, 0, 967, 969, 970, 0, 0, 968, 50, 6523 51, 52, 0, 0, 810, 0, 826, 831, 833, 835, 6524 0, 839, 837, 971, 973, 972, 929, 809, 0, 822, 6525 807, 0, 836, 811, -2, 0, 827, 812, -2, 0, 6526 820, 0, 0, 813, 821, 0, 816, 0, 0, 0, 6527 815, 0, -2, 823, 0, 0, 817, -2, 0, 825, 6528 824, 6529 } 6530 6531 var yyTok1 = [...]int{ 6532 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6533 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6534 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6535 3, 3, 3, 95, 3, 3, 3, 125, 117, 3, 6536 67, 68, 122, 120, 135, 121, 134, 123, 3, 3, 6537 3, 3, 3, 3, 3, 3, 3, 3, 3, 528, 6538 104, 103, 105, 3, 529, 3, 3, 3, 3, 3, 6539 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6540 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6541 3, 3, 3, 3, 127, 3, 3, 3, 3, 3, 6542 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6543 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6544 3, 3, 3, 530, 116, 531, 128, 6545 } 6546 6547 var yyTok2 = [...]int{ 6548 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 6549 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 6550 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6551 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 6552 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 6553 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 6554 62, 63, 64, 65, 66, 69, 70, 71, 72, 73, 6555 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 6556 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 6557 94, 96, 97, 98, 99, 100, 101, 102, 106, 107, 6558 108, 109, 110, 111, 112, 113, 114, 115, 118, 119, 6559 124, 126, 129, 130, 131, 132, 133, 136, 137, 138, 6560 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 6561 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 6562 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 6563 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 6564 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 6565 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 6566 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 6567 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 6568 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 6569 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 6570 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 6571 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 6572 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 6573 269, 270, 271, 272, 273, 274, 6574 } 6575 6576 var yyTok3 = [...]int{ 6577 57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279, 6578 57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284, 6579 57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289, 6580 57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294, 6581 57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299, 6582 57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304, 6583 57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309, 6584 57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314, 6585 57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319, 6586 57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324, 6587 57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329, 6588 57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334, 6589 57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339, 6590 57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344, 6591 57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349, 6592 57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354, 6593 57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359, 6594 57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364, 6595 57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369, 6596 57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374, 6597 57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379, 6598 57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384, 6599 57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389, 6600 57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394, 6601 57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399, 6602 57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404, 6603 57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409, 6604 57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414, 6605 57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419, 6606 57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424, 6607 57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429, 6608 57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434, 6609 57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439, 6610 57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444, 6611 57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449, 6612 57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454, 6613 57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459, 6614 57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464, 6615 57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469, 6616 57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474, 6617 57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479, 6618 57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484, 6619 57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489, 6620 57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494, 6621 57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499, 6622 57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504, 6623 57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509, 6624 57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514, 6625 57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519, 6626 57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524, 6627 57850, 525, 57851, 526, 57852, 527, 0, 6628 } 6629 6630 var yyErrorMessages = [...]struct { 6631 state int 6632 token int 6633 msg string 6634 }{} 6635 6636 //line yaccpar:1 6637 6638 /* parser for yacc output */ 6639 6640 func yyIaddr(v interface{}) __yyunsafe__.Pointer { 6641 type h struct { 6642 t __yyunsafe__.Pointer 6643 p __yyunsafe__.Pointer 6644 } 6645 return (*h)(__yyunsafe__.Pointer(&v)).p 6646 } 6647 6648 var ( 6649 yyDebug = 0 6650 yyErrorVerbose = false 6651 ) 6652 6653 type yyLexer interface { 6654 Lex(lval *yySymType) int 6655 Error(s string) 6656 } 6657 6658 type yyParser interface { 6659 Parse(yyLexer) int 6660 Lookahead() int 6661 } 6662 6663 type yyParserImpl struct { 6664 lval yySymType 6665 stack [yyInitialStackSize]yySymType 6666 char int 6667 } 6668 6669 func (p *yyParserImpl) Lookahead() int { 6670 return p.char 6671 } 6672 6673 func yyNewParser() yyParser { 6674 return &yyParserImpl{} 6675 } 6676 6677 const yyFlag = -1000 6678 6679 func yyTokname(c int) string { 6680 if c >= 1 && c-1 < len(yyToknames) { 6681 if yyToknames[c-1] != "" { 6682 return yyToknames[c-1] 6683 } 6684 } 6685 return __yyfmt__.Sprintf("tok-%v", c) 6686 } 6687 6688 func yyStatname(s int) string { 6689 if s >= 0 && s < len(yyStatenames) { 6690 if yyStatenames[s] != "" { 6691 return yyStatenames[s] 6692 } 6693 } 6694 return __yyfmt__.Sprintf("state-%v", s) 6695 } 6696 6697 func yyErrorMessage(state, lookAhead int) string { 6698 const TOKSTART = 4 6699 6700 if !yyErrorVerbose { 6701 return "syntax error" 6702 } 6703 6704 for _, e := range yyErrorMessages { 6705 if e.state == state && e.token == lookAhead { 6706 return "syntax error: " + e.msg 6707 } 6708 } 6709 6710 res := "syntax error: unexpected " + yyTokname(lookAhead) 6711 6712 // To match Bison, suggest at most four expected tokens. 6713 expected := make([]int, 0, 4) 6714 6715 // Look for shiftable tokens. 6716 base := yyPact[state] 6717 for tok := TOKSTART; tok-1 < len(yyToknames); tok++ { 6718 if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok { 6719 if len(expected) == cap(expected) { 6720 return res 6721 } 6722 expected = append(expected, tok) 6723 } 6724 } 6725 6726 if yyDef[state] == -2 { 6727 i := 0 6728 for yyExca[i] != -1 || yyExca[i+1] != state { 6729 i += 2 6730 } 6731 6732 // Look for tokens that we accept or reduce. 6733 for i += 2; yyExca[i] >= 0; i += 2 { 6734 tok := yyExca[i] 6735 if tok < TOKSTART || yyExca[i+1] == 0 { 6736 continue 6737 } 6738 if len(expected) == cap(expected) { 6739 return res 6740 } 6741 expected = append(expected, tok) 6742 } 6743 6744 // If the default action is to accept or reduce, give up. 6745 if yyExca[i+1] != 0 { 6746 return res 6747 } 6748 } 6749 6750 for i, tok := range expected { 6751 if i == 0 { 6752 res += ", expecting " 6753 } else { 6754 res += " or " 6755 } 6756 res += yyTokname(tok) 6757 } 6758 return res 6759 } 6760 6761 func yylex1(lex yyLexer, lval *yySymType) (char, token int) { 6762 token = 0 6763 char = lex.Lex(lval) 6764 if char <= 0 { 6765 token = yyTok1[0] 6766 goto out 6767 } 6768 if char < len(yyTok1) { 6769 token = yyTok1[char] 6770 goto out 6771 } 6772 if char >= yyPrivate { 6773 if char < yyPrivate+len(yyTok2) { 6774 token = yyTok2[char-yyPrivate] 6775 goto out 6776 } 6777 } 6778 for i := 0; i < len(yyTok3); i += 2 { 6779 token = yyTok3[i+0] 6780 if token == char { 6781 token = yyTok3[i+1] 6782 goto out 6783 } 6784 } 6785 6786 out: 6787 if token == 0 { 6788 token = yyTok2[1] /* unknown char */ 6789 } 6790 if yyDebug >= 3 { 6791 __yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char)) 6792 } 6793 return char, token 6794 } 6795 6796 func yyParse(yylex yyLexer) int { 6797 return yyNewParser().Parse(yylex) 6798 } 6799 6800 func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int { 6801 var yyn int 6802 var yyVAL yySymType 6803 var yyDollar []yySymType 6804 _ = yyDollar // silence set and not used 6805 yyS := yyrcvr.stack[:] 6806 6807 Nerrs := 0 /* number of errors */ 6808 Errflag := 0 /* error recovery flag */ 6809 yystate := 0 6810 yyrcvr.char = -1 6811 yytoken := -1 // yyrcvr.char translated into internal numbering 6812 defer func() { 6813 // Make sure we report no lookahead when not parsing. 6814 yystate = -1 6815 yyrcvr.char = -1 6816 yytoken = -1 6817 }() 6818 yyp := -1 6819 goto yystack 6820 6821 ret0: 6822 return 0 6823 6824 ret1: 6825 return 1 6826 6827 yystack: 6828 /* put a state and value onto the stack */ 6829 if yyDebug >= 4 { 6830 __yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate)) 6831 } 6832 6833 yyp++ 6834 if yyp >= len(yyS) { 6835 nyys := make([]yySymType, len(yyS)*2) 6836 copy(nyys, yyS) 6837 yyS = nyys 6838 } 6839 yyS[yyp] = yyVAL 6840 yyS[yyp].yys = yystate 6841 6842 yynewstate: 6843 yyn = yyPact[yystate] 6844 if yyn <= yyFlag { 6845 goto yydefault /* simple state */ 6846 } 6847 if yyrcvr.char < 0 { 6848 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 6849 } 6850 yyn += yytoken 6851 if yyn < 0 || yyn >= yyLast { 6852 goto yydefault 6853 } 6854 yyn = yyAct[yyn] 6855 if yyChk[yyn] == yytoken { /* valid shift */ 6856 yyrcvr.char = -1 6857 yytoken = -1 6858 yyVAL = yyrcvr.lval 6859 yystate = yyn 6860 if Errflag > 0 { 6861 Errflag-- 6862 } 6863 goto yystack 6864 } 6865 6866 yydefault: 6867 /* default state action */ 6868 yyn = yyDef[yystate] 6869 if yyn == -2 { 6870 if yyrcvr.char < 0 { 6871 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 6872 } 6873 6874 /* look through exception table */ 6875 xi := 0 6876 for { 6877 if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate { 6878 break 6879 } 6880 xi += 2 6881 } 6882 for xi += 2; ; xi += 2 { 6883 yyn = yyExca[xi+0] 6884 if yyn < 0 || yyn == yytoken { 6885 break 6886 } 6887 } 6888 yyn = yyExca[xi+1] 6889 if yyn < 0 { 6890 goto ret0 6891 } 6892 } 6893 if yyn == 0 { 6894 /* error ... attempt to resume parsing */ 6895 switch Errflag { 6896 case 0: /* brand new error */ 6897 yylex.Error(yyErrorMessage(yystate, yytoken)) 6898 Nerrs++ 6899 if yyDebug >= 1 { 6900 __yyfmt__.Printf("%s", yyStatname(yystate)) 6901 __yyfmt__.Printf(" saw %s\n", yyTokname(yytoken)) 6902 } 6903 fallthrough 6904 6905 case 1, 2: /* incompletely recovered error ... try again */ 6906 Errflag = 3 6907 6908 /* find a state where "error" is a legal shift action */ 6909 for yyp >= 0 { 6910 yyn = yyPact[yyS[yyp].yys] + yyErrCode 6911 if yyn >= 0 && yyn < yyLast { 6912 yystate = yyAct[yyn] /* simulate a shift of "error" */ 6913 if yyChk[yystate] == yyErrCode { 6914 goto yystack 6915 } 6916 } 6917 6918 /* the current p has no shift on "error", pop stack */ 6919 if yyDebug >= 2 { 6920 __yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys) 6921 } 6922 yyp-- 6923 } 6924 /* there is no state on the stack with an error shift ... abort */ 6925 goto ret1 6926 6927 case 3: /* no shift yet; clobber input char */ 6928 if yyDebug >= 2 { 6929 __yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken)) 6930 } 6931 if yytoken == yyEofCode { 6932 goto ret1 6933 } 6934 yyrcvr.char = -1 6935 yytoken = -1 6936 goto yynewstate /* try again in the same state */ 6937 } 6938 } 6939 6940 /* reduction by production yyn */ 6941 if yyDebug >= 2 { 6942 __yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate)) 6943 } 6944 6945 yynt := yyn 6946 yypt := yyp 6947 _ = yypt // guard against "declared and not used" 6948 6949 yyp -= yyR2[yyn] 6950 // yyp is now the index of $0. Perform the default action. Iff the 6951 // reduced production is ε, $1 is possibly out of range. 6952 if yyp+1 >= len(yyS) { 6953 nyys := make([]yySymType, len(yyS)*2) 6954 copy(nyys, yyS) 6955 yyS = nyys 6956 } 6957 yyVAL = yyS[yyp+1] 6958 6959 /* consult goto table to find next state */ 6960 yyn = yyR1[yyn] 6961 yyg := yyPgo[yyn] 6962 yyj := yyg + yyS[yyp].yys + 1 6963 6964 if yyj >= yyLast { 6965 yystate = yyAct[yyg] 6966 } else { 6967 yystate = yyAct[yyj] 6968 if yyChk[yystate] != -yyn { 6969 yystate = yyAct[yyg] 6970 } 6971 } 6972 // dummy call; replaced with literal code 6973 switch yynt { 6974 6975 case 2: 6976 yyDollar = yyS[yypt-1 : yypt+1] 6977 //line mysql_sql.y:628 6978 { 6979 if yyDollar[1].statementUnion() != nil { 6980 yylex.(*Lexer).AppendStmt(yyDollar[1].statementUnion()) 6981 } 6982 } 6983 case 3: 6984 yyDollar = yyS[yypt-3 : yypt+1] 6985 //line mysql_sql.y:634 6986 { 6987 if yyDollar[3].statementUnion() != nil { 6988 yylex.(*Lexer).AppendStmt(yyDollar[3].statementUnion()) 6989 } 6990 } 6991 case 32: 6992 yyDollar = yyS[yypt-1 : yypt+1] 6993 var yyLOCAL tree.Statement 6994 //line mysql_sql.y:670 6995 { 6996 yyLOCAL = yyDollar[1].selectUnion() 6997 } 6998 yyVAL.union = yyLOCAL 6999 case 34: 7000 yyDollar = yyS[yypt-0 : yypt+1] 7001 var yyLOCAL tree.Statement 7002 //line mysql_sql.y:675 7003 { 7004 yyLOCAL = tree.Statement(nil) 7005 } 7006 yyVAL.union = yyLOCAL 7007 case 35: 7008 yyDollar = yyS[yypt-4 : yypt+1] 7009 var yyLOCAL tree.Statement 7010 //line mysql_sql.y:681 7011 { 7012 var connectionId uint64 7013 switch v := yyDollar[3].item.(type) { 7014 case uint64: 7015 connectionId = v 7016 case int64: 7017 connectionId = uint64(v) 7018 default: 7019 yylex.Error("parse integral fail") 7020 return 1 7021 } 7022 7023 yyLOCAL = &tree.Kill{ 7024 Option: yyDollar[2].killOptionUnion(), 7025 ConnectionId: connectionId, 7026 StmtOption: yyDollar[4].statementOptionUnion(), 7027 } 7028 } 7029 yyVAL.union = yyLOCAL 7030 case 36: 7031 yyDollar = yyS[yypt-0 : yypt+1] 7032 var yyLOCAL tree.KillOption 7033 //line mysql_sql.y:701 7034 { 7035 yyLOCAL = tree.KillOption{ 7036 Exist: false, 7037 } 7038 } 7039 yyVAL.union = yyLOCAL 7040 case 37: 7041 yyDollar = yyS[yypt-1 : yypt+1] 7042 var yyLOCAL tree.KillOption 7043 //line mysql_sql.y:707 7044 { 7045 yyLOCAL = tree.KillOption{ 7046 Exist: true, 7047 Typ: tree.KillTypeConnection, 7048 } 7049 } 7050 yyVAL.union = yyLOCAL 7051 case 38: 7052 yyDollar = yyS[yypt-1 : yypt+1] 7053 var yyLOCAL tree.KillOption 7054 //line mysql_sql.y:714 7055 { 7056 yyLOCAL = tree.KillOption{ 7057 Exist: true, 7058 Typ: tree.KillTypeQuery, 7059 } 7060 } 7061 yyVAL.union = yyLOCAL 7062 case 39: 7063 yyDollar = yyS[yypt-0 : yypt+1] 7064 var yyLOCAL tree.StatementOption 7065 //line mysql_sql.y:722 7066 { 7067 yyLOCAL = tree.StatementOption{ 7068 Exist: false, 7069 } 7070 } 7071 yyVAL.union = yyLOCAL 7072 case 40: 7073 yyDollar = yyS[yypt-1 : yypt+1] 7074 var yyLOCAL tree.StatementOption 7075 //line mysql_sql.y:728 7076 { 7077 yyLOCAL = tree.StatementOption{ 7078 Exist: true, 7079 StatementId: yyDollar[1].str, 7080 } 7081 } 7082 yyVAL.union = yyLOCAL 7083 case 41: 7084 yyDollar = yyS[yypt-6 : yypt+1] 7085 var yyLOCAL tree.Statement 7086 //line mysql_sql.y:737 7087 { 7088 yyLOCAL = &tree.MoDump{ 7089 DumpDatabase: true, 7090 Database: tree.Identifier(yyDollar[3].str), 7091 OutFile: yyDollar[5].str, 7092 MaxFileSize: int64(yyDollar[6].int64ValUnion()), 7093 } 7094 } 7095 yyVAL.union = yyLOCAL 7096 case 42: 7097 yyDollar = yyS[yypt-8 : yypt+1] 7098 var yyLOCAL tree.Statement 7099 //line mysql_sql.y:746 7100 { 7101 yyLOCAL = &tree.MoDump{ 7102 DumpDatabase: true, 7103 Database: tree.Identifier(yyDollar[3].str), 7104 Tables: yyDollar[5].tableNamesUnion(), 7105 OutFile: yyDollar[7].str, 7106 MaxFileSize: int64(yyDollar[8].int64ValUnion()), 7107 } 7108 } 7109 yyVAL.union = yyLOCAL 7110 case 43: 7111 yyDollar = yyS[yypt-10 : yypt+1] 7112 var yyLOCAL tree.Statement 7113 //line mysql_sql.y:756 7114 { 7115 ep := &tree.ExportParam{ 7116 Outfile: true, 7117 QueryId: yyDollar[3].str, 7118 FilePath: yyDollar[5].str, 7119 Fields: yyDollar[6].fieldsUnion(), 7120 Lines: yyDollar[7].linesUnion(), 7121 Header: yyDollar[8].unsignedOptUnion(), 7122 MaxFileSize: uint64(yyDollar[9].int64ValUnion()) * 1024, 7123 ForceQuote: yyDollar[10].strsUnion(), 7124 } 7125 yyLOCAL = &tree.MoDump{ 7126 DumpDatabase: false, 7127 ExportParams: ep, 7128 } 7129 } 7130 yyVAL.union = yyLOCAL 7131 case 44: 7132 yyDollar = yyS[yypt-9 : yypt+1] 7133 var yyLOCAL tree.Statement 7134 //line mysql_sql.y:777 7135 { 7136 yyLOCAL = &tree.Import{ 7137 Local: yyDollar[3].boolValUnion(), 7138 Param: yyDollar[4].loadParamUnion(), 7139 DuplicateHandling: yyDollar[5].duplicateKeyUnion(), 7140 Table: yyDollar[8].tableNameUnion(), 7141 } 7142 yyLOCAL.(*tree.Import).Param.Tail = yyDollar[9].tailParamUnion() 7143 } 7144 yyVAL.union = yyLOCAL 7145 case 45: 7146 yyDollar = yyS[yypt-11 : yypt+1] 7147 var yyLOCAL tree.Statement 7148 //line mysql_sql.y:789 7149 { 7150 yyLOCAL = &tree.Load{ 7151 Local: yyDollar[3].boolValUnion(), 7152 Param: yyDollar[4].loadParamUnion(), 7153 DuplicateHandling: yyDollar[5].duplicateKeyUnion(), 7154 Table: yyDollar[8].tableNameUnion(), 7155 Accounts: yyDollar[9].identifierListUnion(), 7156 } 7157 yyLOCAL.(*tree.Load).Param.Tail = yyDollar[10].tailParamUnion() 7158 yyLOCAL.(*tree.Load).Param.Parallel = yyDollar[11].unsignedOptUnion() 7159 } 7160 yyVAL.union = yyLOCAL 7161 case 46: 7162 yyDollar = yyS[yypt-2 : yypt+1] 7163 var yyLOCAL tree.Statement 7164 //line mysql_sql.y:803 7165 { 7166 yyLOCAL = &tree.LoadExtension{ 7167 Name: tree.Identifier(yyDollar[2].str), 7168 } 7169 } 7170 yyVAL.union = yyLOCAL 7171 case 47: 7172 yyDollar = yyS[yypt-0 : yypt+1] 7173 var yyLOCAL tree.UpdateExprs 7174 //line mysql_sql.y:810 7175 { 7176 yyLOCAL = nil 7177 } 7178 yyVAL.union = yyLOCAL 7179 case 48: 7180 yyDollar = yyS[yypt-2 : yypt+1] 7181 var yyLOCAL tree.UpdateExprs 7182 //line mysql_sql.y:814 7183 { 7184 yyLOCAL = yyDollar[2].updateExprsUnion() 7185 } 7186 yyVAL.union = yyLOCAL 7187 case 49: 7188 yyDollar = yyS[yypt-1 : yypt+1] 7189 var yyLOCAL tree.UpdateExprs 7190 //line mysql_sql.y:820 7191 { 7192 yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} 7193 } 7194 yyVAL.union = yyLOCAL 7195 case 50: 7196 yyDollar = yyS[yypt-3 : yypt+1] 7197 var yyLOCAL tree.UpdateExprs 7198 //line mysql_sql.y:824 7199 { 7200 yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) 7201 } 7202 yyVAL.union = yyLOCAL 7203 case 51: 7204 yyDollar = yyS[yypt-3 : yypt+1] 7205 var yyLOCAL *tree.UpdateExpr 7206 //line mysql_sql.y:830 7207 { 7208 yyLOCAL = &tree.UpdateExpr{ 7209 Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, 7210 Expr: &tree.DefaultVal{}, 7211 } 7212 } 7213 yyVAL.union = yyLOCAL 7214 case 52: 7215 yyDollar = yyS[yypt-3 : yypt+1] 7216 var yyLOCAL *tree.UpdateExpr 7217 //line mysql_sql.y:837 7218 { 7219 yyLOCAL = &tree.UpdateExpr{ 7220 Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, 7221 Expr: yyDollar[3].exprUnion(), 7222 } 7223 } 7224 yyVAL.union = yyLOCAL 7225 case 53: 7226 yyDollar = yyS[yypt-0 : yypt+1] 7227 var yyLOCAL bool 7228 //line mysql_sql.y:845 7229 { 7230 yyLOCAL = false 7231 } 7232 yyVAL.union = yyLOCAL 7233 case 54: 7234 yyDollar = yyS[yypt-2 : yypt+1] 7235 var yyLOCAL bool 7236 //line mysql_sql.y:849 7237 { 7238 str := strings.ToLower(yyDollar[2].str) 7239 if str == "true" { 7240 yyLOCAL = true 7241 } else if str == "false" { 7242 yyLOCAL = false 7243 } else { 7244 yylex.Error("error parallel flag") 7245 return 1 7246 } 7247 } 7248 yyVAL.union = yyLOCAL 7249 case 55: 7250 yyDollar = yyS[yypt-1 : yypt+1] 7251 var yyLOCAL *tree.UnresolvedName 7252 //line mysql_sql.y:863 7253 { 7254 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) 7255 } 7256 yyVAL.union = yyLOCAL 7257 case 56: 7258 yyDollar = yyS[yypt-3 : yypt+1] 7259 var yyLOCAL *tree.UnresolvedName 7260 //line mysql_sql.y:867 7261 { 7262 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) 7263 } 7264 yyVAL.union = yyLOCAL 7265 case 57: 7266 yyDollar = yyS[yypt-5 : yypt+1] 7267 var yyLOCAL *tree.UnresolvedName 7268 //line mysql_sql.y:871 7269 { 7270 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) 7271 } 7272 yyVAL.union = yyLOCAL 7273 case 58: 7274 yyDollar = yyS[yypt-0 : yypt+1] 7275 var yyLOCAL []tree.LoadColumn 7276 //line mysql_sql.y:876 7277 { 7278 yyLOCAL = nil 7279 } 7280 yyVAL.union = yyLOCAL 7281 case 59: 7282 yyDollar = yyS[yypt-2 : yypt+1] 7283 var yyLOCAL []tree.LoadColumn 7284 //line mysql_sql.y:880 7285 { 7286 yyLOCAL = nil 7287 } 7288 yyVAL.union = yyLOCAL 7289 case 60: 7290 yyDollar = yyS[yypt-3 : yypt+1] 7291 var yyLOCAL []tree.LoadColumn 7292 //line mysql_sql.y:884 7293 { 7294 yyLOCAL = yyDollar[2].loadColumnsUnion() 7295 } 7296 yyVAL.union = yyLOCAL 7297 case 61: 7298 yyDollar = yyS[yypt-1 : yypt+1] 7299 var yyLOCAL []tree.LoadColumn 7300 //line mysql_sql.y:890 7301 { 7302 switch yyDollar[1].loadColumnUnion().(type) { 7303 case *tree.UnresolvedName: 7304 yyLOCAL = []tree.LoadColumn{yyDollar[1].loadColumnUnion().(*tree.UnresolvedName)} 7305 case *tree.VarExpr: 7306 yyLOCAL = []tree.LoadColumn{yyDollar[1].loadColumnUnion().(*tree.VarExpr)} 7307 } 7308 } 7309 yyVAL.union = yyLOCAL 7310 case 62: 7311 yyDollar = yyS[yypt-3 : yypt+1] 7312 var yyLOCAL []tree.LoadColumn 7313 //line mysql_sql.y:899 7314 { 7315 switch yyDollar[3].loadColumnUnion().(type) { 7316 case *tree.UnresolvedName: 7317 yyLOCAL = append(yyDollar[1].loadColumnsUnion(), yyDollar[3].loadColumnUnion().(*tree.UnresolvedName)) 7318 case *tree.VarExpr: 7319 yyLOCAL = append(yyDollar[1].loadColumnsUnion(), yyDollar[3].loadColumnUnion().(*tree.VarExpr)) 7320 } 7321 } 7322 yyVAL.union = yyLOCAL 7323 case 63: 7324 yyDollar = yyS[yypt-1 : yypt+1] 7325 var yyLOCAL tree.LoadColumn 7326 //line mysql_sql.y:910 7327 { 7328 yyLOCAL = yyDollar[1].unresolvedNameUnion() 7329 } 7330 yyVAL.union = yyLOCAL 7331 case 64: 7332 yyDollar = yyS[yypt-1 : yypt+1] 7333 var yyLOCAL tree.LoadColumn 7334 //line mysql_sql.y:914 7335 { 7336 yyLOCAL = yyDollar[1].varExprUnion() 7337 } 7338 yyVAL.union = yyLOCAL 7339 case 65: 7340 yyDollar = yyS[yypt-1 : yypt+1] 7341 var yyLOCAL []*tree.VarExpr 7342 //line mysql_sql.y:920 7343 { 7344 yyLOCAL = []*tree.VarExpr{yyDollar[1].varExprUnion()} 7345 } 7346 yyVAL.union = yyLOCAL 7347 case 66: 7348 yyDollar = yyS[yypt-3 : yypt+1] 7349 var yyLOCAL []*tree.VarExpr 7350 //line mysql_sql.y:924 7351 { 7352 yyLOCAL = append(yyDollar[1].varExprsUnion(), yyDollar[3].varExprUnion()) 7353 } 7354 yyVAL.union = yyLOCAL 7355 case 67: 7356 yyDollar = yyS[yypt-1 : yypt+1] 7357 var yyLOCAL *tree.VarExpr 7358 //line mysql_sql.y:930 7359 { 7360 yyLOCAL = yyDollar[1].varExprUnion() 7361 } 7362 yyVAL.union = yyLOCAL 7363 case 68: 7364 yyDollar = yyS[yypt-1 : yypt+1] 7365 var yyLOCAL *tree.VarExpr 7366 //line mysql_sql.y:934 7367 { 7368 yyLOCAL = yyDollar[1].varExprUnion() 7369 } 7370 yyVAL.union = yyLOCAL 7371 case 69: 7372 yyDollar = yyS[yypt-1 : yypt+1] 7373 var yyLOCAL *tree.VarExpr 7374 //line mysql_sql.y:940 7375 { 7376 vs := strings.Split(yyDollar[1].str, ".") 7377 var isGlobal bool 7378 if strings.ToLower(vs[0]) == "global" { 7379 isGlobal = true 7380 } 7381 var r string 7382 if len(vs) == 2 { 7383 r = vs[1] 7384 } else if len(vs) == 1 { 7385 r = vs[0] 7386 } else { 7387 yylex.Error("variable syntax error") 7388 return 1 7389 } 7390 yyLOCAL = &tree.VarExpr{ 7391 Name: r, 7392 System: true, 7393 Global: isGlobal, 7394 } 7395 } 7396 yyVAL.union = yyLOCAL 7397 case 70: 7398 yyDollar = yyS[yypt-1 : yypt+1] 7399 var yyLOCAL *tree.VarExpr 7400 //line mysql_sql.y:964 7401 { 7402 // vs := strings.Split($1, ".") 7403 // var r string 7404 // if len(vs) == 2 { 7405 // r = vs[1] 7406 // } else if len(vs) == 1 { 7407 // r = vs[0] 7408 // } else { 7409 // yylex.Error("variable syntax error") 7410 // return 1 7411 // } 7412 yyLOCAL = &tree.VarExpr{ 7413 Name: yyDollar[1].str, 7414 System: false, 7415 Global: false, 7416 } 7417 } 7418 yyVAL.union = yyLOCAL 7419 case 71: 7420 yyDollar = yyS[yypt-0 : yypt+1] 7421 var yyLOCAL int64 7422 //line mysql_sql.y:983 7423 { 7424 yyLOCAL = 0 7425 } 7426 yyVAL.union = yyLOCAL 7427 case 72: 7428 yyDollar = yyS[yypt-3 : yypt+1] 7429 var yyLOCAL int64 7430 //line mysql_sql.y:987 7431 { 7432 yyLOCAL = yyDollar[2].item.(int64) 7433 } 7434 yyVAL.union = yyLOCAL 7435 case 73: 7436 yyDollar = yyS[yypt-3 : yypt+1] 7437 var yyLOCAL int64 7438 //line mysql_sql.y:991 7439 { 7440 yyLOCAL = yyDollar[2].item.(int64) 7441 } 7442 yyVAL.union = yyLOCAL 7443 case 74: 7444 yyDollar = yyS[yypt-0 : yypt+1] 7445 var yyLOCAL *tree.Lines 7446 //line mysql_sql.y:996 7447 { 7448 yyLOCAL = nil 7449 } 7450 yyVAL.union = yyLOCAL 7451 case 75: 7452 yyDollar = yyS[yypt-3 : yypt+1] 7453 var yyLOCAL *tree.Lines 7454 //line mysql_sql.y:1000 7455 { 7456 yyLOCAL = &tree.Lines{ 7457 StartingBy: yyDollar[2].str, 7458 TerminatedBy: yyDollar[3].str, 7459 } 7460 } 7461 yyVAL.union = yyLOCAL 7462 case 76: 7463 yyDollar = yyS[yypt-3 : yypt+1] 7464 var yyLOCAL *tree.Lines 7465 //line mysql_sql.y:1007 7466 { 7467 yyLOCAL = &tree.Lines{ 7468 StartingBy: yyDollar[3].str, 7469 TerminatedBy: yyDollar[2].str, 7470 } 7471 } 7472 yyVAL.union = yyLOCAL 7473 case 77: 7474 yyDollar = yyS[yypt-0 : yypt+1] 7475 //line mysql_sql.y:1015 7476 { 7477 yyVAL.str = "" 7478 } 7479 case 79: 7480 yyDollar = yyS[yypt-3 : yypt+1] 7481 //line mysql_sql.y:1022 7482 { 7483 yyVAL.str = yyDollar[3].str 7484 } 7485 case 80: 7486 yyDollar = yyS[yypt-0 : yypt+1] 7487 //line mysql_sql.y:1027 7488 { 7489 yyVAL.str = "\n" 7490 } 7491 case 82: 7492 yyDollar = yyS[yypt-3 : yypt+1] 7493 //line mysql_sql.y:1034 7494 { 7495 yyVAL.str = yyDollar[3].str 7496 } 7497 case 83: 7498 yyDollar = yyS[yypt-0 : yypt+1] 7499 var yyLOCAL *tree.Fields 7500 //line mysql_sql.y:1039 7501 { 7502 yyLOCAL = nil 7503 } 7504 yyVAL.union = yyLOCAL 7505 case 84: 7506 yyDollar = yyS[yypt-2 : yypt+1] 7507 var yyLOCAL *tree.Fields 7508 //line mysql_sql.y:1043 7509 { 7510 res := &tree.Fields{ 7511 Terminated: "\t", 7512 EscapedBy: 0, 7513 } 7514 for _, f := range yyDollar[2].fieldsListUnion() { 7515 if f.Terminated != "" { 7516 res.Terminated = f.Terminated 7517 } 7518 if f.Optionally { 7519 res.Optionally = f.Optionally 7520 } 7521 if f.EnclosedBy != 0 { 7522 res.EnclosedBy = f.EnclosedBy 7523 } 7524 if f.EscapedBy != 0 { 7525 res.EscapedBy = f.EscapedBy 7526 } 7527 } 7528 yyLOCAL = res 7529 } 7530 yyVAL.union = yyLOCAL 7531 case 85: 7532 yyDollar = yyS[yypt-1 : yypt+1] 7533 var yyLOCAL []*tree.Fields 7534 //line mysql_sql.y:1067 7535 { 7536 yyLOCAL = []*tree.Fields{yyDollar[1].fieldsUnion()} 7537 } 7538 yyVAL.union = yyLOCAL 7539 case 86: 7540 yyDollar = yyS[yypt-2 : yypt+1] 7541 var yyLOCAL []*tree.Fields 7542 //line mysql_sql.y:1071 7543 { 7544 yyLOCAL = append(yyDollar[1].fieldsListUnion(), yyDollar[2].fieldsUnion()) 7545 } 7546 yyVAL.union = yyLOCAL 7547 case 87: 7548 yyDollar = yyS[yypt-3 : yypt+1] 7549 var yyLOCAL *tree.Fields 7550 //line mysql_sql.y:1077 7551 { 7552 yyLOCAL = &tree.Fields{ 7553 Terminated: yyDollar[3].str, 7554 } 7555 } 7556 yyVAL.union = yyLOCAL 7557 case 88: 7558 yyDollar = yyS[yypt-4 : yypt+1] 7559 var yyLOCAL *tree.Fields 7560 //line mysql_sql.y:1083 7561 { 7562 str := yyDollar[4].str 7563 if str != "\\" && len(str) > 1 { 7564 yylex.Error("error field terminator") 7565 return 1 7566 } 7567 var b byte 7568 if len(str) != 0 { 7569 b = byte(str[0]) 7570 } else { 7571 b = 0 7572 } 7573 yyLOCAL = &tree.Fields{ 7574 Optionally: true, 7575 EnclosedBy: b, 7576 } 7577 } 7578 yyVAL.union = yyLOCAL 7579 case 89: 7580 yyDollar = yyS[yypt-3 : yypt+1] 7581 var yyLOCAL *tree.Fields 7582 //line mysql_sql.y:1101 7583 { 7584 str := yyDollar[3].str 7585 if str != "\\" && len(str) > 1 { 7586 yylex.Error("error field terminator") 7587 return 1 7588 } 7589 var b byte 7590 if len(str) != 0 { 7591 b = byte(str[0]) 7592 } else { 7593 b = 0 7594 } 7595 yyLOCAL = &tree.Fields{ 7596 EnclosedBy: b, 7597 } 7598 } 7599 yyVAL.union = yyLOCAL 7600 case 90: 7601 yyDollar = yyS[yypt-3 : yypt+1] 7602 var yyLOCAL *tree.Fields 7603 //line mysql_sql.y:1118 7604 { 7605 str := yyDollar[3].str 7606 if str != "\\" && len(str) > 1 { 7607 yylex.Error("error field terminator") 7608 return 1 7609 } 7610 var b byte 7611 if len(str) != 0 { 7612 b = byte(str[0]) 7613 } else { 7614 b = 0 7615 } 7616 yyLOCAL = &tree.Fields{ 7617 EscapedBy: b, 7618 } 7619 } 7620 yyVAL.union = yyLOCAL 7621 case 92: 7622 yyDollar = yyS[yypt-0 : yypt+1] 7623 var yyLOCAL tree.DuplicateKey 7624 //line mysql_sql.y:1141 7625 { 7626 yyLOCAL = &tree.DuplicateKeyError{} 7627 } 7628 yyVAL.union = yyLOCAL 7629 case 93: 7630 yyDollar = yyS[yypt-1 : yypt+1] 7631 var yyLOCAL tree.DuplicateKey 7632 //line mysql_sql.y:1145 7633 { 7634 yyLOCAL = &tree.DuplicateKeyIgnore{} 7635 } 7636 yyVAL.union = yyLOCAL 7637 case 94: 7638 yyDollar = yyS[yypt-1 : yypt+1] 7639 var yyLOCAL tree.DuplicateKey 7640 //line mysql_sql.y:1149 7641 { 7642 yyLOCAL = &tree.DuplicateKeyReplace{} 7643 } 7644 yyVAL.union = yyLOCAL 7645 case 95: 7646 yyDollar = yyS[yypt-0 : yypt+1] 7647 var yyLOCAL bool 7648 //line mysql_sql.y:1154 7649 { 7650 yyLOCAL = false 7651 } 7652 yyVAL.union = yyLOCAL 7653 case 96: 7654 yyDollar = yyS[yypt-1 : yypt+1] 7655 var yyLOCAL bool 7656 //line mysql_sql.y:1158 7657 { 7658 yyLOCAL = true 7659 } 7660 yyVAL.union = yyLOCAL 7661 case 97: 7662 yyDollar = yyS[yypt-8 : yypt+1] 7663 var yyLOCAL tree.Statement 7664 //line mysql_sql.y:1164 7665 { 7666 yyLOCAL = &tree.Grant{ 7667 Typ: tree.GrantTypePrivilege, 7668 GrantPrivilege: tree.GrantPrivilege{ 7669 Privileges: yyDollar[2].privilegesUnion(), 7670 ObjType: yyDollar[4].objectTypeUnion(), 7671 Level: yyDollar[5].privilegeLevelUnion(), 7672 Roles: yyDollar[7].rolesUnion(), 7673 GrantOption: yyDollar[8].boolValUnion(), 7674 }, 7675 } 7676 } 7677 yyVAL.union = yyLOCAL 7678 case 98: 7679 yyDollar = yyS[yypt-5 : yypt+1] 7680 var yyLOCAL tree.Statement 7681 //line mysql_sql.y:1177 7682 { 7683 yyLOCAL = &tree.Grant{ 7684 Typ: tree.GrantTypeRole, 7685 GrantRole: tree.GrantRole{ 7686 Roles: yyDollar[2].rolesUnion(), 7687 Users: yyDollar[4].usersUnion(), 7688 GrantOption: yyDollar[5].boolValUnion(), 7689 }, 7690 } 7691 } 7692 yyVAL.union = yyLOCAL 7693 case 99: 7694 yyDollar = yyS[yypt-7 : yypt+1] 7695 var yyLOCAL tree.Statement 7696 //line mysql_sql.y:1188 7697 { 7698 yyLOCAL = &tree.Grant{ 7699 Typ: tree.GrantTypeProxy, 7700 GrantProxy: tree.GrantProxy{ 7701 ProxyUser: yyDollar[4].userUnion(), 7702 Users: yyDollar[6].usersUnion(), 7703 GrantOption: yyDollar[7].boolValUnion(), 7704 }, 7705 } 7706 7707 } 7708 yyVAL.union = yyLOCAL 7709 case 100: 7710 yyDollar = yyS[yypt-0 : yypt+1] 7711 var yyLOCAL bool 7712 //line mysql_sql.y:1201 7713 { 7714 yyLOCAL = false 7715 } 7716 yyVAL.union = yyLOCAL 7717 case 101: 7718 yyDollar = yyS[yypt-3 : yypt+1] 7719 var yyLOCAL bool 7720 //line mysql_sql.y:1205 7721 { 7722 yyLOCAL = true 7723 } 7724 yyVAL.union = yyLOCAL 7725 case 102: 7726 yyDollar = yyS[yypt-8 : yypt+1] 7727 var yyLOCAL tree.Statement 7728 //line mysql_sql.y:1215 7729 { 7730 yyLOCAL = &tree.Revoke{ 7731 Typ: tree.RevokeTypePrivilege, 7732 RevokePrivilege: tree.RevokePrivilege{ 7733 IfExists: yyDollar[2].boolValUnion(), 7734 Privileges: yyDollar[3].privilegesUnion(), 7735 ObjType: yyDollar[5].objectTypeUnion(), 7736 Level: yyDollar[6].privilegeLevelUnion(), 7737 Roles: yyDollar[8].rolesUnion(), 7738 }, 7739 } 7740 } 7741 yyVAL.union = yyLOCAL 7742 case 103: 7743 yyDollar = yyS[yypt-5 : yypt+1] 7744 var yyLOCAL tree.Statement 7745 //line mysql_sql.y:1228 7746 { 7747 yyLOCAL = &tree.Revoke{ 7748 Typ: tree.RevokeTypeRole, 7749 RevokeRole: tree.RevokeRole{ 7750 IfExists: yyDollar[2].boolValUnion(), 7751 Roles: yyDollar[3].rolesUnion(), 7752 Users: yyDollar[5].usersUnion(), 7753 }, 7754 } 7755 } 7756 yyVAL.union = yyLOCAL 7757 case 104: 7758 yyDollar = yyS[yypt-1 : yypt+1] 7759 var yyLOCAL *tree.PrivilegeLevel 7760 //line mysql_sql.y:1241 7761 { 7762 yyLOCAL = &tree.PrivilegeLevel{ 7763 Level: tree.PRIVILEGE_LEVEL_TYPE_STAR, 7764 } 7765 } 7766 yyVAL.union = yyLOCAL 7767 case 105: 7768 yyDollar = yyS[yypt-3 : yypt+1] 7769 var yyLOCAL *tree.PrivilegeLevel 7770 //line mysql_sql.y:1247 7771 { 7772 yyLOCAL = &tree.PrivilegeLevel{ 7773 Level: tree.PRIVILEGE_LEVEL_TYPE_STAR_STAR, 7774 } 7775 } 7776 yyVAL.union = yyLOCAL 7777 case 106: 7778 yyDollar = yyS[yypt-3 : yypt+1] 7779 var yyLOCAL *tree.PrivilegeLevel 7780 //line mysql_sql.y:1253 7781 { 7782 yyLOCAL = &tree.PrivilegeLevel{ 7783 Level: tree.PRIVILEGE_LEVEL_TYPE_DATABASE_STAR, 7784 DbName: yyDollar[1].str, 7785 } 7786 } 7787 yyVAL.union = yyLOCAL 7788 case 107: 7789 yyDollar = yyS[yypt-3 : yypt+1] 7790 var yyLOCAL *tree.PrivilegeLevel 7791 //line mysql_sql.y:1260 7792 { 7793 yyLOCAL = &tree.PrivilegeLevel{ 7794 Level: tree.PRIVILEGE_LEVEL_TYPE_DATABASE_TABLE, 7795 DbName: yyDollar[1].str, 7796 TabName: yyDollar[3].str, 7797 } 7798 } 7799 yyVAL.union = yyLOCAL 7800 case 108: 7801 yyDollar = yyS[yypt-1 : yypt+1] 7802 var yyLOCAL *tree.PrivilegeLevel 7803 //line mysql_sql.y:1268 7804 { 7805 yyLOCAL = &tree.PrivilegeLevel{ 7806 Level: tree.PRIVILEGE_LEVEL_TYPE_TABLE, 7807 TabName: yyDollar[1].str, 7808 } 7809 } 7810 yyVAL.union = yyLOCAL 7811 case 109: 7812 yyDollar = yyS[yypt-1 : yypt+1] 7813 var yyLOCAL tree.ObjectType 7814 //line mysql_sql.y:1277 7815 { 7816 yyLOCAL = tree.OBJECT_TYPE_TABLE 7817 } 7818 yyVAL.union = yyLOCAL 7819 case 110: 7820 yyDollar = yyS[yypt-1 : yypt+1] 7821 var yyLOCAL tree.ObjectType 7822 //line mysql_sql.y:1281 7823 { 7824 yyLOCAL = tree.OBJECT_TYPE_DATABASE 7825 } 7826 yyVAL.union = yyLOCAL 7827 case 111: 7828 yyDollar = yyS[yypt-1 : yypt+1] 7829 var yyLOCAL tree.ObjectType 7830 //line mysql_sql.y:1285 7831 { 7832 yyLOCAL = tree.OBJECT_TYPE_FUNCTION 7833 } 7834 yyVAL.union = yyLOCAL 7835 case 112: 7836 yyDollar = yyS[yypt-1 : yypt+1] 7837 var yyLOCAL tree.ObjectType 7838 //line mysql_sql.y:1289 7839 { 7840 yyLOCAL = tree.OBJECT_TYPE_PROCEDURE 7841 } 7842 yyVAL.union = yyLOCAL 7843 case 113: 7844 yyDollar = yyS[yypt-1 : yypt+1] 7845 var yyLOCAL tree.ObjectType 7846 //line mysql_sql.y:1293 7847 { 7848 yyLOCAL = tree.OBJECT_TYPE_VIEW 7849 } 7850 yyVAL.union = yyLOCAL 7851 case 114: 7852 yyDollar = yyS[yypt-1 : yypt+1] 7853 var yyLOCAL tree.ObjectType 7854 //line mysql_sql.y:1297 7855 { 7856 yyLOCAL = tree.OBJECT_TYPE_ACCOUNT 7857 } 7858 yyVAL.union = yyLOCAL 7859 case 115: 7860 yyDollar = yyS[yypt-1 : yypt+1] 7861 var yyLOCAL []*tree.Privilege 7862 //line mysql_sql.y:1304 7863 { 7864 yyLOCAL = []*tree.Privilege{yyDollar[1].privilegeUnion()} 7865 } 7866 yyVAL.union = yyLOCAL 7867 case 116: 7868 yyDollar = yyS[yypt-3 : yypt+1] 7869 var yyLOCAL []*tree.Privilege 7870 //line mysql_sql.y:1308 7871 { 7872 yyLOCAL = append(yyDollar[1].privilegesUnion(), yyDollar[3].privilegeUnion()) 7873 } 7874 yyVAL.union = yyLOCAL 7875 case 117: 7876 yyDollar = yyS[yypt-1 : yypt+1] 7877 var yyLOCAL *tree.Privilege 7878 //line mysql_sql.y:1314 7879 { 7880 yyLOCAL = &tree.Privilege{ 7881 Type: yyDollar[1].privilegeTypeUnion(), 7882 ColumnList: nil, 7883 } 7884 } 7885 yyVAL.union = yyLOCAL 7886 case 118: 7887 yyDollar = yyS[yypt-4 : yypt+1] 7888 var yyLOCAL *tree.Privilege 7889 //line mysql_sql.y:1321 7890 { 7891 yyLOCAL = &tree.Privilege{ 7892 Type: yyDollar[1].privilegeTypeUnion(), 7893 ColumnList: yyDollar[3].unresolveNamesUnion(), 7894 } 7895 } 7896 yyVAL.union = yyLOCAL 7897 case 119: 7898 yyDollar = yyS[yypt-1 : yypt+1] 7899 var yyLOCAL []*tree.UnresolvedName 7900 //line mysql_sql.y:1330 7901 { 7902 yyLOCAL = []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()} 7903 } 7904 yyVAL.union = yyLOCAL 7905 case 120: 7906 yyDollar = yyS[yypt-3 : yypt+1] 7907 var yyLOCAL []*tree.UnresolvedName 7908 //line mysql_sql.y:1334 7909 { 7910 yyLOCAL = append(yyDollar[1].unresolveNamesUnion(), yyDollar[3].unresolvedNameUnion()) 7911 } 7912 yyVAL.union = yyLOCAL 7913 case 121: 7914 yyDollar = yyS[yypt-1 : yypt+1] 7915 var yyLOCAL tree.PrivilegeType 7916 //line mysql_sql.y:1340 7917 { 7918 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL 7919 } 7920 yyVAL.union = yyLOCAL 7921 case 122: 7922 yyDollar = yyS[yypt-2 : yypt+1] 7923 var yyLOCAL tree.PrivilegeType 7924 //line mysql_sql.y:1344 7925 { 7926 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ACCOUNT 7927 } 7928 yyVAL.union = yyLOCAL 7929 case 123: 7930 yyDollar = yyS[yypt-2 : yypt+1] 7931 var yyLOCAL tree.PrivilegeType 7932 //line mysql_sql.y:1348 7933 { 7934 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ACCOUNT 7935 } 7936 yyVAL.union = yyLOCAL 7937 case 124: 7938 yyDollar = yyS[yypt-2 : yypt+1] 7939 var yyLOCAL tree.PrivilegeType 7940 //line mysql_sql.y:1352 7941 { 7942 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ACCOUNT 7943 } 7944 yyVAL.union = yyLOCAL 7945 case 125: 7946 yyDollar = yyS[yypt-2 : yypt+1] 7947 var yyLOCAL tree.PrivilegeType 7948 //line mysql_sql.y:1356 7949 { 7950 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALL 7951 } 7952 yyVAL.union = yyLOCAL 7953 case 126: 7954 yyDollar = yyS[yypt-2 : yypt+1] 7955 var yyLOCAL tree.PrivilegeType 7956 //line mysql_sql.y:1360 7957 { 7958 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_TABLE 7959 } 7960 yyVAL.union = yyLOCAL 7961 case 127: 7962 yyDollar = yyS[yypt-2 : yypt+1] 7963 var yyLOCAL tree.PrivilegeType 7964 //line mysql_sql.y:1364 7965 { 7966 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_VIEW 7967 } 7968 yyVAL.union = yyLOCAL 7969 case 128: 7970 yyDollar = yyS[yypt-1 : yypt+1] 7971 var yyLOCAL tree.PrivilegeType 7972 //line mysql_sql.y:1368 7973 { 7974 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE 7975 } 7976 yyVAL.union = yyLOCAL 7977 case 129: 7978 yyDollar = yyS[yypt-2 : yypt+1] 7979 var yyLOCAL tree.PrivilegeType 7980 //line mysql_sql.y:1372 7981 { 7982 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_USER 7983 } 7984 yyVAL.union = yyLOCAL 7985 case 130: 7986 yyDollar = yyS[yypt-2 : yypt+1] 7987 var yyLOCAL tree.PrivilegeType 7988 //line mysql_sql.y:1376 7989 { 7990 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_USER 7991 } 7992 yyVAL.union = yyLOCAL 7993 case 131: 7994 yyDollar = yyS[yypt-2 : yypt+1] 7995 var yyLOCAL tree.PrivilegeType 7996 //line mysql_sql.y:1380 7997 { 7998 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_USER 7999 } 8000 yyVAL.union = yyLOCAL 8001 case 132: 8002 yyDollar = yyS[yypt-2 : yypt+1] 8003 var yyLOCAL tree.PrivilegeType 8004 //line mysql_sql.y:1384 8005 { 8006 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLESPACE 8007 } 8008 yyVAL.union = yyLOCAL 8009 case 133: 8010 yyDollar = yyS[yypt-1 : yypt+1] 8011 var yyLOCAL tree.PrivilegeType 8012 //line mysql_sql.y:1388 8013 { 8014 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRIGGER 8015 } 8016 yyVAL.union = yyLOCAL 8017 case 134: 8018 yyDollar = yyS[yypt-1 : yypt+1] 8019 var yyLOCAL tree.PrivilegeType 8020 //line mysql_sql.y:1392 8021 { 8022 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DELETE 8023 } 8024 yyVAL.union = yyLOCAL 8025 case 135: 8026 yyDollar = yyS[yypt-2 : yypt+1] 8027 var yyLOCAL tree.PrivilegeType 8028 //line mysql_sql.y:1396 8029 { 8030 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_TABLE 8031 } 8032 yyVAL.union = yyLOCAL 8033 case 136: 8034 yyDollar = yyS[yypt-2 : yypt+1] 8035 var yyLOCAL tree.PrivilegeType 8036 //line mysql_sql.y:1400 8037 { 8038 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_VIEW 8039 } 8040 yyVAL.union = yyLOCAL 8041 case 137: 8042 yyDollar = yyS[yypt-1 : yypt+1] 8043 var yyLOCAL tree.PrivilegeType 8044 //line mysql_sql.y:1404 8045 { 8046 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EXECUTE 8047 } 8048 yyVAL.union = yyLOCAL 8049 case 138: 8050 yyDollar = yyS[yypt-1 : yypt+1] 8051 var yyLOCAL tree.PrivilegeType 8052 //line mysql_sql.y:1408 8053 { 8054 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INDEX 8055 } 8056 yyVAL.union = yyLOCAL 8057 case 139: 8058 yyDollar = yyS[yypt-1 : yypt+1] 8059 var yyLOCAL tree.PrivilegeType 8060 //line mysql_sql.y:1412 8061 { 8062 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_INSERT 8063 } 8064 yyVAL.union = yyLOCAL 8065 case 140: 8066 yyDollar = yyS[yypt-1 : yypt+1] 8067 var yyLOCAL tree.PrivilegeType 8068 //line mysql_sql.y:1416 8069 { 8070 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SELECT 8071 } 8072 yyVAL.union = yyLOCAL 8073 case 141: 8074 yyDollar = yyS[yypt-1 : yypt+1] 8075 var yyLOCAL tree.PrivilegeType 8076 //line mysql_sql.y:1420 8077 { 8078 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SUPER 8079 } 8080 yyVAL.union = yyLOCAL 8081 case 142: 8082 yyDollar = yyS[yypt-2 : yypt+1] 8083 var yyLOCAL tree.PrivilegeType 8084 //line mysql_sql.y:1424 8085 { 8086 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_DATABASE 8087 } 8088 yyVAL.union = yyLOCAL 8089 case 143: 8090 yyDollar = yyS[yypt-2 : yypt+1] 8091 var yyLOCAL tree.PrivilegeType 8092 //line mysql_sql.y:1428 8093 { 8094 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_DATABASE 8095 } 8096 yyVAL.union = yyLOCAL 8097 case 144: 8098 yyDollar = yyS[yypt-2 : yypt+1] 8099 var yyLOCAL tree.PrivilegeType 8100 //line mysql_sql.y:1432 8101 { 8102 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_DATABASES 8103 } 8104 yyVAL.union = yyLOCAL 8105 case 145: 8106 yyDollar = yyS[yypt-1 : yypt+1] 8107 var yyLOCAL tree.PrivilegeType 8108 //line mysql_sql.y:1436 8109 { 8110 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CONNECT 8111 } 8112 yyVAL.union = yyLOCAL 8113 case 146: 8114 yyDollar = yyS[yypt-2 : yypt+1] 8115 var yyLOCAL tree.PrivilegeType 8116 //line mysql_sql.y:1440 8117 { 8118 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_MANAGE_GRANTS 8119 } 8120 yyVAL.union = yyLOCAL 8121 case 147: 8122 yyDollar = yyS[yypt-1 : yypt+1] 8123 var yyLOCAL tree.PrivilegeType 8124 //line mysql_sql.y:1444 8125 { 8126 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_OWNERSHIP 8127 } 8128 yyVAL.union = yyLOCAL 8129 case 148: 8130 yyDollar = yyS[yypt-2 : yypt+1] 8131 var yyLOCAL tree.PrivilegeType 8132 //line mysql_sql.y:1448 8133 { 8134 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_TABLES 8135 } 8136 yyVAL.union = yyLOCAL 8137 case 149: 8138 yyDollar = yyS[yypt-2 : yypt+1] 8139 var yyLOCAL tree.PrivilegeType 8140 //line mysql_sql.y:1452 8141 { 8142 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TABLE 8143 } 8144 yyVAL.union = yyLOCAL 8145 case 150: 8146 yyDollar = yyS[yypt-1 : yypt+1] 8147 var yyLOCAL tree.PrivilegeType 8148 //line mysql_sql.y:1456 8149 { 8150 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_UPDATE 8151 } 8152 yyVAL.union = yyLOCAL 8153 case 151: 8154 yyDollar = yyS[yypt-2 : yypt+1] 8155 var yyLOCAL tree.PrivilegeType 8156 //line mysql_sql.y:1460 8157 { 8158 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_GRANT_OPTION 8159 } 8160 yyVAL.union = yyLOCAL 8161 case 152: 8162 yyDollar = yyS[yypt-1 : yypt+1] 8163 var yyLOCAL tree.PrivilegeType 8164 //line mysql_sql.y:1464 8165 { 8166 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCES 8167 } 8168 yyVAL.union = yyLOCAL 8169 case 153: 8170 yyDollar = yyS[yypt-1 : yypt+1] 8171 var yyLOCAL tree.PrivilegeType 8172 //line mysql_sql.y:1468 8173 { 8174 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REFERENCE 8175 } 8176 yyVAL.union = yyLOCAL 8177 case 154: 8178 yyDollar = yyS[yypt-2 : yypt+1] 8179 var yyLOCAL tree.PrivilegeType 8180 //line mysql_sql.y:1472 8181 { 8182 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_SLAVE 8183 } 8184 yyVAL.union = yyLOCAL 8185 case 155: 8186 yyDollar = yyS[yypt-2 : yypt+1] 8187 var yyLOCAL tree.PrivilegeType 8188 //line mysql_sql.y:1476 8189 { 8190 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_REPLICATION_CLIENT 8191 } 8192 yyVAL.union = yyLOCAL 8193 case 156: 8194 yyDollar = yyS[yypt-1 : yypt+1] 8195 var yyLOCAL tree.PrivilegeType 8196 //line mysql_sql.y:1480 8197 { 8198 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_USAGE 8199 } 8200 yyVAL.union = yyLOCAL 8201 case 157: 8202 yyDollar = yyS[yypt-1 : yypt+1] 8203 var yyLOCAL tree.PrivilegeType 8204 //line mysql_sql.y:1484 8205 { 8206 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_RELOAD 8207 } 8208 yyVAL.union = yyLOCAL 8209 case 158: 8210 yyDollar = yyS[yypt-1 : yypt+1] 8211 var yyLOCAL tree.PrivilegeType 8212 //line mysql_sql.y:1488 8213 { 8214 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_FILE 8215 } 8216 yyVAL.union = yyLOCAL 8217 case 159: 8218 yyDollar = yyS[yypt-3 : yypt+1] 8219 var yyLOCAL tree.PrivilegeType 8220 //line mysql_sql.y:1492 8221 { 8222 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_TEMPORARY_TABLES 8223 } 8224 yyVAL.union = yyLOCAL 8225 case 160: 8226 yyDollar = yyS[yypt-2 : yypt+1] 8227 var yyLOCAL tree.PrivilegeType 8228 //line mysql_sql.y:1496 8229 { 8230 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_LOCK_TABLES 8231 } 8232 yyVAL.union = yyLOCAL 8233 case 161: 8234 yyDollar = yyS[yypt-2 : yypt+1] 8235 var yyLOCAL tree.PrivilegeType 8236 //line mysql_sql.y:1500 8237 { 8238 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_VIEW 8239 } 8240 yyVAL.union = yyLOCAL 8241 case 162: 8242 yyDollar = yyS[yypt-2 : yypt+1] 8243 var yyLOCAL tree.PrivilegeType 8244 //line mysql_sql.y:1504 8245 { 8246 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHOW_VIEW 8247 } 8248 yyVAL.union = yyLOCAL 8249 case 163: 8250 yyDollar = yyS[yypt-2 : yypt+1] 8251 var yyLOCAL tree.PrivilegeType 8252 //line mysql_sql.y:1508 8253 { 8254 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROLE 8255 } 8256 yyVAL.union = yyLOCAL 8257 case 164: 8258 yyDollar = yyS[yypt-2 : yypt+1] 8259 var yyLOCAL tree.PrivilegeType 8260 //line mysql_sql.y:1512 8261 { 8262 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_DROP_ROLE 8263 } 8264 yyVAL.union = yyLOCAL 8265 case 165: 8266 yyDollar = yyS[yypt-2 : yypt+1] 8267 var yyLOCAL tree.PrivilegeType 8268 //line mysql_sql.y:1516 8269 { 8270 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROLE 8271 } 8272 yyVAL.union = yyLOCAL 8273 case 166: 8274 yyDollar = yyS[yypt-2 : yypt+1] 8275 var yyLOCAL tree.PrivilegeType 8276 //line mysql_sql.y:1520 8277 { 8278 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_CREATE_ROUTINE 8279 } 8280 yyVAL.union = yyLOCAL 8281 case 167: 8282 yyDollar = yyS[yypt-2 : yypt+1] 8283 var yyLOCAL tree.PrivilegeType 8284 //line mysql_sql.y:1524 8285 { 8286 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_ALTER_ROUTINE 8287 } 8288 yyVAL.union = yyLOCAL 8289 case 168: 8290 yyDollar = yyS[yypt-1 : yypt+1] 8291 var yyLOCAL tree.PrivilegeType 8292 //line mysql_sql.y:1528 8293 { 8294 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_EVENT 8295 } 8296 yyVAL.union = yyLOCAL 8297 case 169: 8298 yyDollar = yyS[yypt-1 : yypt+1] 8299 var yyLOCAL tree.PrivilegeType 8300 //line mysql_sql.y:1532 8301 { 8302 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_SHUTDOWN 8303 } 8304 yyVAL.union = yyLOCAL 8305 case 170: 8306 yyDollar = yyS[yypt-1 : yypt+1] 8307 var yyLOCAL tree.PrivilegeType 8308 //line mysql_sql.y:1536 8309 { 8310 yyLOCAL = tree.PRIVILEGE_TYPE_STATIC_TRUNCATE 8311 } 8312 yyVAL.union = yyLOCAL 8313 case 175: 8314 yyDollar = yyS[yypt-3 : yypt+1] 8315 var yyLOCAL tree.Statement 8316 //line mysql_sql.y:1548 8317 { 8318 yyLOCAL = &tree.SetRole{ 8319 SecondaryRole: false, 8320 Role: yyDollar[3].roleUnion(), 8321 } 8322 } 8323 yyVAL.union = yyLOCAL 8324 case 176: 8325 yyDollar = yyS[yypt-4 : yypt+1] 8326 var yyLOCAL tree.Statement 8327 //line mysql_sql.y:1555 8328 { 8329 yyLOCAL = &tree.SetRole{ 8330 SecondaryRole: true, 8331 SecondaryRoleType: tree.SecondaryRoleTypeAll, 8332 } 8333 } 8334 yyVAL.union = yyLOCAL 8335 case 177: 8336 yyDollar = yyS[yypt-4 : yypt+1] 8337 var yyLOCAL tree.Statement 8338 //line mysql_sql.y:1562 8339 { 8340 yyLOCAL = &tree.SetRole{ 8341 SecondaryRole: true, 8342 SecondaryRoleType: tree.SecondaryRoleTypeNone, 8343 } 8344 } 8345 yyVAL.union = yyLOCAL 8346 case 178: 8347 yyDollar = yyS[yypt-6 : yypt+1] 8348 var yyLOCAL tree.Statement 8349 //line mysql_sql.y:1571 8350 { 8351 dr := yyDollar[4].setDefaultRoleUnion() 8352 dr.Users = yyDollar[6].usersUnion() 8353 yyLOCAL = dr 8354 } 8355 yyVAL.union = yyLOCAL 8356 case 179: 8357 yyDollar = yyS[yypt-1 : yypt+1] 8358 var yyLOCAL *tree.SetDefaultRole 8359 //line mysql_sql.y:1601 8360 { 8361 yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NONE, Roles: nil} 8362 } 8363 yyVAL.union = yyLOCAL 8364 case 180: 8365 yyDollar = yyS[yypt-1 : yypt+1] 8366 var yyLOCAL *tree.SetDefaultRole 8367 //line mysql_sql.y:1605 8368 { 8369 yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_ALL, Roles: nil} 8370 } 8371 yyVAL.union = yyLOCAL 8372 case 181: 8373 yyDollar = yyS[yypt-1 : yypt+1] 8374 var yyLOCAL *tree.SetDefaultRole 8375 //line mysql_sql.y:1609 8376 { 8377 yyLOCAL = &tree.SetDefaultRole{Type: tree.SET_DEFAULT_ROLE_TYPE_NORMAL, Roles: yyDollar[1].rolesUnion()} 8378 } 8379 yyVAL.union = yyLOCAL 8380 case 182: 8381 yyDollar = yyS[yypt-2 : yypt+1] 8382 var yyLOCAL tree.Statement 8383 //line mysql_sql.y:1615 8384 { 8385 yyLOCAL = &tree.SetVar{Assignments: yyDollar[2].varAssignmentExprsUnion()} 8386 } 8387 yyVAL.union = yyLOCAL 8388 case 183: 8389 yyDollar = yyS[yypt-4 : yypt+1] 8390 var yyLOCAL tree.Statement 8391 //line mysql_sql.y:1621 8392 { 8393 yyLOCAL = &tree.SetPassword{Password: yyDollar[4].str} 8394 } 8395 yyVAL.union = yyLOCAL 8396 case 184: 8397 yyDollar = yyS[yypt-6 : yypt+1] 8398 var yyLOCAL tree.Statement 8399 //line mysql_sql.y:1625 8400 { 8401 yyLOCAL = &tree.SetPassword{User: yyDollar[4].userUnion(), Password: yyDollar[6].str} 8402 } 8403 yyVAL.union = yyLOCAL 8404 case 186: 8405 yyDollar = yyS[yypt-4 : yypt+1] 8406 //line mysql_sql.y:1632 8407 { 8408 yyVAL.str = yyDollar[3].str 8409 } 8410 case 187: 8411 yyDollar = yyS[yypt-1 : yypt+1] 8412 var yyLOCAL []*tree.VarAssignmentExpr 8413 //line mysql_sql.y:1638 8414 { 8415 yyLOCAL = []*tree.VarAssignmentExpr{yyDollar[1].varAssignmentExprUnion()} 8416 } 8417 yyVAL.union = yyLOCAL 8418 case 188: 8419 yyDollar = yyS[yypt-3 : yypt+1] 8420 var yyLOCAL []*tree.VarAssignmentExpr 8421 //line mysql_sql.y:1642 8422 { 8423 yyLOCAL = append(yyDollar[1].varAssignmentExprsUnion(), yyDollar[3].varAssignmentExprUnion()) 8424 } 8425 yyVAL.union = yyLOCAL 8426 case 189: 8427 yyDollar = yyS[yypt-3 : yypt+1] 8428 var yyLOCAL *tree.VarAssignmentExpr 8429 //line mysql_sql.y:1648 8430 { 8431 yyLOCAL = &tree.VarAssignmentExpr{ 8432 System: true, 8433 Name: yyDollar[1].str, 8434 Value: yyDollar[3].exprUnion(), 8435 } 8436 } 8437 yyVAL.union = yyLOCAL 8438 case 190: 8439 yyDollar = yyS[yypt-4 : yypt+1] 8440 var yyLOCAL *tree.VarAssignmentExpr 8441 //line mysql_sql.y:1656 8442 { 8443 yyLOCAL = &tree.VarAssignmentExpr{ 8444 System: true, 8445 Global: true, 8446 Name: yyDollar[2].str, 8447 Value: yyDollar[4].exprUnion(), 8448 } 8449 } 8450 yyVAL.union = yyLOCAL 8451 case 191: 8452 yyDollar = yyS[yypt-4 : yypt+1] 8453 var yyLOCAL *tree.VarAssignmentExpr 8454 //line mysql_sql.y:1665 8455 { 8456 yyLOCAL = &tree.VarAssignmentExpr{ 8457 System: true, 8458 Name: yyDollar[2].str, 8459 Value: yyDollar[4].exprUnion(), 8460 } 8461 } 8462 yyVAL.union = yyLOCAL 8463 case 192: 8464 yyDollar = yyS[yypt-4 : yypt+1] 8465 var yyLOCAL *tree.VarAssignmentExpr 8466 //line mysql_sql.y:1673 8467 { 8468 yyLOCAL = &tree.VarAssignmentExpr{ 8469 System: true, 8470 Name: yyDollar[2].str, 8471 Value: yyDollar[4].exprUnion(), 8472 } 8473 } 8474 yyVAL.union = yyLOCAL 8475 case 193: 8476 yyDollar = yyS[yypt-3 : yypt+1] 8477 var yyLOCAL *tree.VarAssignmentExpr 8478 //line mysql_sql.y:1681 8479 { 8480 vs := strings.Split(yyDollar[1].str, ".") 8481 var isGlobal bool 8482 if strings.ToLower(vs[0]) == "global" { 8483 isGlobal = true 8484 } 8485 var r string 8486 if len(vs) == 2 { 8487 r = vs[1] 8488 } else if len(vs) == 1 { 8489 r = vs[0] 8490 } else { 8491 yylex.Error("variable syntax error") 8492 return 1 8493 } 8494 yyLOCAL = &tree.VarAssignmentExpr{ 8495 System: false, 8496 Global: isGlobal, 8497 Name: r, 8498 Value: yyDollar[3].exprUnion(), 8499 } 8500 } 8501 yyVAL.union = yyLOCAL 8502 case 194: 8503 yyDollar = yyS[yypt-3 : yypt+1] 8504 var yyLOCAL *tree.VarAssignmentExpr 8505 //line mysql_sql.y:1704 8506 { 8507 vs := strings.Split(yyDollar[1].str, ".") 8508 var isGlobal bool 8509 if strings.ToLower(vs[0]) == "global" { 8510 isGlobal = true 8511 } 8512 var r string 8513 if len(vs) == 2 { 8514 r = vs[1] 8515 } else if len(vs) == 1 { 8516 r = vs[0] 8517 } else { 8518 yylex.Error("variable syntax error") 8519 return 1 8520 } 8521 yyLOCAL = &tree.VarAssignmentExpr{ 8522 System: true, 8523 Global: isGlobal, 8524 Name: r, 8525 Value: yyDollar[3].exprUnion(), 8526 } 8527 } 8528 yyVAL.union = yyLOCAL 8529 case 195: 8530 yyDollar = yyS[yypt-2 : yypt+1] 8531 var yyLOCAL *tree.VarAssignmentExpr 8532 //line mysql_sql.y:1727 8533 { 8534 yyLOCAL = &tree.VarAssignmentExpr{ 8535 Name: yyDollar[1].str, 8536 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 8537 } 8538 } 8539 yyVAL.union = yyLOCAL 8540 case 196: 8541 yyDollar = yyS[yypt-4 : yypt+1] 8542 var yyLOCAL *tree.VarAssignmentExpr 8543 //line mysql_sql.y:1734 8544 { 8545 yyLOCAL = &tree.VarAssignmentExpr{ 8546 Name: yyDollar[1].str, 8547 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 8548 } 8549 } 8550 yyVAL.union = yyLOCAL 8551 case 197: 8552 yyDollar = yyS[yypt-4 : yypt+1] 8553 var yyLOCAL *tree.VarAssignmentExpr 8554 //line mysql_sql.y:1741 8555 { 8556 yyLOCAL = &tree.VarAssignmentExpr{ 8557 Name: yyDollar[1].str, 8558 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 8559 Reserved: tree.NewNumValWithType(constant.MakeString(yyDollar[4].str), yyDollar[4].str, false, tree.P_char), 8560 } 8561 } 8562 yyVAL.union = yyLOCAL 8563 case 198: 8564 yyDollar = yyS[yypt-2 : yypt+1] 8565 var yyLOCAL *tree.VarAssignmentExpr 8566 //line mysql_sql.y:1749 8567 { 8568 yyLOCAL = &tree.VarAssignmentExpr{ 8569 Name: yyDollar[1].str, 8570 Value: &tree.DefaultVal{}, 8571 } 8572 } 8573 yyVAL.union = yyLOCAL 8574 case 199: 8575 yyDollar = yyS[yypt-2 : yypt+1] 8576 var yyLOCAL *tree.VarAssignmentExpr 8577 //line mysql_sql.y:1756 8578 { 8579 yyLOCAL = &tree.VarAssignmentExpr{ 8580 Name: yyDollar[1].str, 8581 Value: tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char), 8582 } 8583 } 8584 yyVAL.union = yyLOCAL 8585 case 200: 8586 yyDollar = yyS[yypt-2 : yypt+1] 8587 var yyLOCAL *tree.VarAssignmentExpr 8588 //line mysql_sql.y:1763 8589 { 8590 yyLOCAL = &tree.VarAssignmentExpr{ 8591 Name: yyDollar[1].str, 8592 Value: &tree.DefaultVal{}, 8593 } 8594 } 8595 yyVAL.union = yyLOCAL 8596 case 201: 8597 yyDollar = yyS[yypt-1 : yypt+1] 8598 var yyLOCAL tree.Expr 8599 //line mysql_sql.y:1772 8600 { 8601 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) 8602 } 8603 yyVAL.union = yyLOCAL 8604 case 202: 8605 yyDollar = yyS[yypt-1 : yypt+1] 8606 var yyLOCAL tree.Expr 8607 //line mysql_sql.y:1776 8608 { 8609 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) 8610 } 8611 yyVAL.union = yyLOCAL 8612 case 203: 8613 yyDollar = yyS[yypt-1 : yypt+1] 8614 var yyLOCAL tree.Expr 8615 //line mysql_sql.y:1780 8616 { 8617 yyLOCAL = yyDollar[1].exprUnion() 8618 } 8619 yyVAL.union = yyLOCAL 8620 case 204: 8621 yyDollar = yyS[yypt-1 : yypt+1] 8622 //line mysql_sql.y:1786 8623 { 8624 yyVAL.str = string(yyDollar[1].str) 8625 } 8626 case 205: 8627 yyDollar = yyS[yypt-1 : yypt+1] 8628 //line mysql_sql.y:1790 8629 { 8630 yyVAL.str = yyDollar[1].str 8631 } 8632 case 207: 8633 yyDollar = yyS[yypt-3 : yypt+1] 8634 //line mysql_sql.y:1797 8635 { 8636 yyVAL.str = yyDollar[1].str + "." + yyDollar[3].str 8637 } 8638 case 208: 8639 yyDollar = yyS[yypt-1 : yypt+1] 8640 var yyLOCAL []string 8641 //line mysql_sql.y:1803 8642 { 8643 yyLOCAL = []string{yyDollar[1].str} 8644 } 8645 yyVAL.union = yyLOCAL 8646 case 209: 8647 yyDollar = yyS[yypt-3 : yypt+1] 8648 var yyLOCAL []string 8649 //line mysql_sql.y:1807 8650 { 8651 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 8652 } 8653 yyVAL.union = yyLOCAL 8654 case 213: 8655 yyDollar = yyS[yypt-2 : yypt+1] 8656 var yyLOCAL tree.Statement 8657 //line mysql_sql.y:1818 8658 { 8659 yyLOCAL = &tree.RollbackTransaction{Type: yyDollar[2].completionTypeUnion()} 8660 } 8661 yyVAL.union = yyLOCAL 8662 case 214: 8663 yyDollar = yyS[yypt-2 : yypt+1] 8664 var yyLOCAL tree.Statement 8665 //line mysql_sql.y:1824 8666 { 8667 yyLOCAL = &tree.CommitTransaction{Type: yyDollar[2].completionTypeUnion()} 8668 } 8669 yyVAL.union = yyLOCAL 8670 case 215: 8671 yyDollar = yyS[yypt-0 : yypt+1] 8672 var yyLOCAL tree.CompletionType 8673 //line mysql_sql.y:1829 8674 { 8675 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 8676 } 8677 yyVAL.union = yyLOCAL 8678 case 216: 8679 yyDollar = yyS[yypt-1 : yypt+1] 8680 var yyLOCAL tree.CompletionType 8681 //line mysql_sql.y:1833 8682 { 8683 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 8684 } 8685 yyVAL.union = yyLOCAL 8686 case 217: 8687 yyDollar = yyS[yypt-4 : yypt+1] 8688 var yyLOCAL tree.CompletionType 8689 //line mysql_sql.y:1837 8690 { 8691 yyLOCAL = tree.COMPLETION_TYPE_CHAIN 8692 } 8693 yyVAL.union = yyLOCAL 8694 case 218: 8695 yyDollar = yyS[yypt-2 : yypt+1] 8696 var yyLOCAL tree.CompletionType 8697 //line mysql_sql.y:1841 8698 { 8699 yyLOCAL = tree.COMPLETION_TYPE_CHAIN 8700 } 8701 yyVAL.union = yyLOCAL 8702 case 219: 8703 yyDollar = yyS[yypt-4 : yypt+1] 8704 var yyLOCAL tree.CompletionType 8705 //line mysql_sql.y:1845 8706 { 8707 yyLOCAL = tree.COMPLETION_TYPE_RELEASE 8708 } 8709 yyVAL.union = yyLOCAL 8710 case 220: 8711 yyDollar = yyS[yypt-1 : yypt+1] 8712 var yyLOCAL tree.CompletionType 8713 //line mysql_sql.y:1849 8714 { 8715 yyLOCAL = tree.COMPLETION_TYPE_RELEASE 8716 } 8717 yyVAL.union = yyLOCAL 8718 case 221: 8719 yyDollar = yyS[yypt-5 : yypt+1] 8720 var yyLOCAL tree.CompletionType 8721 //line mysql_sql.y:1853 8722 { 8723 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 8724 } 8725 yyVAL.union = yyLOCAL 8726 case 222: 8727 yyDollar = yyS[yypt-3 : yypt+1] 8728 var yyLOCAL tree.CompletionType 8729 //line mysql_sql.y:1857 8730 { 8731 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 8732 } 8733 yyVAL.union = yyLOCAL 8734 case 223: 8735 yyDollar = yyS[yypt-2 : yypt+1] 8736 var yyLOCAL tree.CompletionType 8737 //line mysql_sql.y:1861 8738 { 8739 yyLOCAL = tree.COMPLETION_TYPE_NO_CHAIN 8740 } 8741 yyVAL.union = yyLOCAL 8742 case 224: 8743 yyDollar = yyS[yypt-1 : yypt+1] 8744 var yyLOCAL tree.Statement 8745 //line mysql_sql.y:1867 8746 { 8747 yyLOCAL = &tree.BeginTransaction{} 8748 } 8749 yyVAL.union = yyLOCAL 8750 case 225: 8751 yyDollar = yyS[yypt-2 : yypt+1] 8752 var yyLOCAL tree.Statement 8753 //line mysql_sql.y:1871 8754 { 8755 yyLOCAL = &tree.BeginTransaction{} 8756 } 8757 yyVAL.union = yyLOCAL 8758 case 226: 8759 yyDollar = yyS[yypt-2 : yypt+1] 8760 var yyLOCAL tree.Statement 8761 //line mysql_sql.y:1875 8762 { 8763 yyLOCAL = &tree.BeginTransaction{} 8764 } 8765 yyVAL.union = yyLOCAL 8766 case 227: 8767 yyDollar = yyS[yypt-4 : yypt+1] 8768 var yyLOCAL tree.Statement 8769 //line mysql_sql.y:1879 8770 { 8771 m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_WRITE) 8772 yyLOCAL = &tree.BeginTransaction{Modes: m} 8773 } 8774 yyVAL.union = yyLOCAL 8775 case 228: 8776 yyDollar = yyS[yypt-4 : yypt+1] 8777 var yyLOCAL tree.Statement 8778 //line mysql_sql.y:1884 8779 { 8780 m := tree.MakeTransactionModes(tree.READ_WRITE_MODE_READ_ONLY) 8781 yyLOCAL = &tree.BeginTransaction{Modes: m} 8782 } 8783 yyVAL.union = yyLOCAL 8784 case 229: 8785 yyDollar = yyS[yypt-5 : yypt+1] 8786 var yyLOCAL tree.Statement 8787 //line mysql_sql.y:1889 8788 { 8789 yyLOCAL = &tree.BeginTransaction{} 8790 } 8791 yyVAL.union = yyLOCAL 8792 case 230: 8793 yyDollar = yyS[yypt-2 : yypt+1] 8794 var yyLOCAL tree.Statement 8795 //line mysql_sql.y:1895 8796 { 8797 yyLOCAL = &tree.Use{ 8798 SecondaryRole: false, 8799 Name: yyDollar[2].str, 8800 } 8801 } 8802 yyVAL.union = yyLOCAL 8803 case 231: 8804 yyDollar = yyS[yypt-1 : yypt+1] 8805 var yyLOCAL tree.Statement 8806 //line mysql_sql.y:1902 8807 { 8808 yyLOCAL = &tree.Use{ 8809 SecondaryRole: false, 8810 } 8811 } 8812 yyVAL.union = yyLOCAL 8813 case 232: 8814 yyDollar = yyS[yypt-3 : yypt+1] 8815 var yyLOCAL tree.Statement 8816 //line mysql_sql.y:1908 8817 { 8818 yyLOCAL = &tree.Use{ 8819 SecondaryRole: false, 8820 Role: yyDollar[3].roleUnion(), 8821 } 8822 } 8823 yyVAL.union = yyLOCAL 8824 case 233: 8825 yyDollar = yyS[yypt-4 : yypt+1] 8826 var yyLOCAL tree.Statement 8827 //line mysql_sql.y:1915 8828 { 8829 yyLOCAL = &tree.Use{ 8830 SecondaryRole: true, 8831 SecondaryRoleType: tree.SecondaryRoleTypeAll, 8832 } 8833 } 8834 yyVAL.union = yyLOCAL 8835 case 234: 8836 yyDollar = yyS[yypt-4 : yypt+1] 8837 var yyLOCAL tree.Statement 8838 //line mysql_sql.y:1922 8839 { 8840 yyLOCAL = &tree.Use{ 8841 SecondaryRole: true, 8842 SecondaryRoleType: tree.SecondaryRoleTypeNone, 8843 } 8844 } 8845 yyVAL.union = yyLOCAL 8846 case 236: 8847 yyDollar = yyS[yypt-2 : yypt+1] 8848 var yyLOCAL tree.Statement 8849 //line mysql_sql.y:1932 8850 { 8851 yyDollar[2].statementUnion().(*tree.Update).With = yyDollar[1].withClauseUnion() 8852 yyLOCAL = yyDollar[2].statementUnion() 8853 } 8854 yyVAL.union = yyLOCAL 8855 case 237: 8856 yyDollar = yyS[yypt-9 : yypt+1] 8857 var yyLOCAL tree.Statement 8858 //line mysql_sql.y:1939 8859 { 8860 // Single-table syntax 8861 yyLOCAL = &tree.Update{ 8862 Tables: tree.TableExprs{yyDollar[4].tableExprUnion()}, 8863 Exprs: yyDollar[6].updateExprsUnion(), 8864 Where: yyDollar[7].whereUnion(), 8865 OrderBy: yyDollar[8].orderByUnion(), 8866 Limit: yyDollar[9].limitUnion(), 8867 } 8868 } 8869 yyVAL.union = yyLOCAL 8870 case 238: 8871 yyDollar = yyS[yypt-7 : yypt+1] 8872 var yyLOCAL tree.Statement 8873 //line mysql_sql.y:1950 8874 { 8875 // Multiple-table syntax 8876 yyLOCAL = &tree.Update{ 8877 Tables: tree.TableExprs{yyDollar[4].joinTableExprUnion()}, 8878 Exprs: yyDollar[6].updateExprsUnion(), 8879 Where: yyDollar[7].whereUnion(), 8880 } 8881 } 8882 yyVAL.union = yyLOCAL 8883 case 239: 8884 yyDollar = yyS[yypt-1 : yypt+1] 8885 var yyLOCAL tree.UpdateExprs 8886 //line mysql_sql.y:1961 8887 { 8888 yyLOCAL = tree.UpdateExprs{yyDollar[1].updateExprUnion()} 8889 } 8890 yyVAL.union = yyLOCAL 8891 case 240: 8892 yyDollar = yyS[yypt-3 : yypt+1] 8893 var yyLOCAL tree.UpdateExprs 8894 //line mysql_sql.y:1965 8895 { 8896 yyLOCAL = append(yyDollar[1].updateExprsUnion(), yyDollar[3].updateExprUnion()) 8897 } 8898 yyVAL.union = yyLOCAL 8899 case 241: 8900 yyDollar = yyS[yypt-3 : yypt+1] 8901 var yyLOCAL *tree.UpdateExpr 8902 //line mysql_sql.y:1971 8903 { 8904 yyLOCAL = &tree.UpdateExpr{Names: []*tree.UnresolvedName{yyDollar[1].unresolvedNameUnion()}, Expr: yyDollar[3].exprUnion()} 8905 } 8906 yyVAL.union = yyLOCAL 8907 case 244: 8908 yyDollar = yyS[yypt-3 : yypt+1] 8909 var yyLOCAL tree.Statement 8910 //line mysql_sql.y:1981 8911 { 8912 yyLOCAL = &tree.LockTableStmt{TableLocks: yyDollar[3].tableLocksUnion()} 8913 } 8914 yyVAL.union = yyLOCAL 8915 case 245: 8916 yyDollar = yyS[yypt-1 : yypt+1] 8917 var yyLOCAL []tree.TableLock 8918 //line mysql_sql.y:1987 8919 { 8920 yyLOCAL = []tree.TableLock{yyDollar[1].tableLockUnion()} 8921 } 8922 yyVAL.union = yyLOCAL 8923 case 246: 8924 yyDollar = yyS[yypt-3 : yypt+1] 8925 var yyLOCAL []tree.TableLock 8926 //line mysql_sql.y:1991 8927 { 8928 yyLOCAL = append(yyDollar[1].tableLocksUnion(), yyDollar[3].tableLockUnion()) 8929 } 8930 yyVAL.union = yyLOCAL 8931 case 247: 8932 yyDollar = yyS[yypt-2 : yypt+1] 8933 var yyLOCAL tree.TableLock 8934 //line mysql_sql.y:1997 8935 { 8936 yyLOCAL = tree.TableLock{yyDollar[1].tableNameUnion(), yyDollar[2].tableLockTypeUnion()} 8937 } 8938 yyVAL.union = yyLOCAL 8939 case 248: 8940 yyDollar = yyS[yypt-1 : yypt+1] 8941 var yyLOCAL tree.TableLockType 8942 //line mysql_sql.y:2003 8943 { 8944 yyLOCAL = tree.TableLockRead 8945 } 8946 yyVAL.union = yyLOCAL 8947 case 249: 8948 yyDollar = yyS[yypt-2 : yypt+1] 8949 var yyLOCAL tree.TableLockType 8950 //line mysql_sql.y:2007 8951 { 8952 yyLOCAL = tree.TableLockReadLocal 8953 } 8954 yyVAL.union = yyLOCAL 8955 case 250: 8956 yyDollar = yyS[yypt-1 : yypt+1] 8957 var yyLOCAL tree.TableLockType 8958 //line mysql_sql.y:2011 8959 { 8960 yyLOCAL = tree.TableLockWrite 8961 } 8962 yyVAL.union = yyLOCAL 8963 case 251: 8964 yyDollar = yyS[yypt-2 : yypt+1] 8965 var yyLOCAL tree.TableLockType 8966 //line mysql_sql.y:2015 8967 { 8968 yyLOCAL = tree.TableLockLowPriorityWrite 8969 } 8970 yyVAL.union = yyLOCAL 8971 case 252: 8972 yyDollar = yyS[yypt-2 : yypt+1] 8973 var yyLOCAL tree.Statement 8974 //line mysql_sql.y:2021 8975 { 8976 yyLOCAL = &tree.UnLockTableStmt{} 8977 } 8978 yyVAL.union = yyLOCAL 8979 case 259: 8980 yyDollar = yyS[yypt-1 : yypt+1] 8981 var yyLOCAL tree.Statement 8982 //line mysql_sql.y:2033 8983 { 8984 yyLOCAL = yyDollar[1].selectUnion() 8985 } 8986 yyVAL.union = yyLOCAL 8987 case 260: 8988 yyDollar = yyS[yypt-4 : yypt+1] 8989 var yyLOCAL tree.Statement 8990 //line mysql_sql.y:2039 8991 { 8992 yyLOCAL = tree.NewPrepareStmt(tree.Identifier(yyDollar[2].str), yyDollar[4].statementUnion()) 8993 } 8994 yyVAL.union = yyLOCAL 8995 case 261: 8996 yyDollar = yyS[yypt-4 : yypt+1] 8997 var yyLOCAL tree.Statement 8998 //line mysql_sql.y:2043 8999 { 9000 yyLOCAL = tree.NewPrepareString(tree.Identifier(yyDollar[2].str), yyDollar[4].str) 9001 } 9002 yyVAL.union = yyLOCAL 9003 case 262: 9004 yyDollar = yyS[yypt-2 : yypt+1] 9005 var yyLOCAL tree.Statement 9006 //line mysql_sql.y:2049 9007 { 9008 yyLOCAL = tree.NewExecute(tree.Identifier(yyDollar[2].str)) 9009 } 9010 yyVAL.union = yyLOCAL 9011 case 263: 9012 yyDollar = yyS[yypt-4 : yypt+1] 9013 var yyLOCAL tree.Statement 9014 //line mysql_sql.y:2053 9015 { 9016 yyLOCAL = tree.NewExecuteWithVariables(tree.Identifier(yyDollar[2].str), yyDollar[4].varExprsUnion()) 9017 } 9018 yyVAL.union = yyLOCAL 9019 case 264: 9020 yyDollar = yyS[yypt-3 : yypt+1] 9021 var yyLOCAL tree.Statement 9022 //line mysql_sql.y:2059 9023 { 9024 yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), false) 9025 } 9026 yyVAL.union = yyLOCAL 9027 case 265: 9028 yyDollar = yyS[yypt-3 : yypt+1] 9029 var yyLOCAL tree.Statement 9030 //line mysql_sql.y:2065 9031 { 9032 yyLOCAL = tree.NewReset(tree.Identifier(yyDollar[3].str)) 9033 } 9034 yyVAL.union = yyLOCAL 9035 case 270: 9036 yyDollar = yyS[yypt-1 : yypt+1] 9037 var yyLOCAL tree.Statement 9038 //line mysql_sql.y:2075 9039 { 9040 yyLOCAL = yyDollar[1].selectUnion() 9041 } 9042 yyVAL.union = yyLOCAL 9043 case 271: 9044 yyDollar = yyS[yypt-2 : yypt+1] 9045 var yyLOCAL tree.Statement 9046 //line mysql_sql.y:2081 9047 { 9048 yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion()} 9049 } 9050 yyVAL.union = yyLOCAL 9051 case 272: 9052 yyDollar = yyS[yypt-3 : yypt+1] 9053 var yyLOCAL tree.Statement 9054 //line mysql_sql.y:2085 9055 { 9056 yyLOCAL = &tree.ShowColumns{Table: yyDollar[2].unresolvedObjectNameUnion(), ColName: yyDollar[3].unresolvedNameUnion()} 9057 } 9058 yyVAL.union = yyLOCAL 9059 case 273: 9060 yyDollar = yyS[yypt-4 : yypt+1] 9061 var yyLOCAL tree.Statement 9062 //line mysql_sql.y:2089 9063 { 9064 yyLOCAL = tree.NewExplainFor("", uint64(yyDollar[4].item.(int64))) 9065 } 9066 yyVAL.union = yyLOCAL 9067 case 274: 9068 yyDollar = yyS[yypt-7 : yypt+1] 9069 var yyLOCAL tree.Statement 9070 //line mysql_sql.y:2093 9071 { 9072 yyLOCAL = tree.NewExplainFor(yyDollar[4].str, uint64(yyDollar[7].item.(int64))) 9073 } 9074 yyVAL.union = yyLOCAL 9075 case 275: 9076 yyDollar = yyS[yypt-2 : yypt+1] 9077 var yyLOCAL tree.Statement 9078 //line mysql_sql.y:2097 9079 { 9080 yyLOCAL = tree.NewExplainStmt(yyDollar[2].statementUnion(), "text") 9081 } 9082 yyVAL.union = yyLOCAL 9083 case 276: 9084 yyDollar = yyS[yypt-3 : yypt+1] 9085 var yyLOCAL tree.Statement 9086 //line mysql_sql.y:2101 9087 { 9088 explainStmt := tree.NewExplainStmt(yyDollar[3].statementUnion(), "text") 9089 optionElem := tree.MakeOptionElem("verbose", "NULL") 9090 options := tree.MakeOptions(optionElem) 9091 explainStmt.Options = options 9092 yyLOCAL = explainStmt 9093 } 9094 yyVAL.union = yyLOCAL 9095 case 277: 9096 yyDollar = yyS[yypt-3 : yypt+1] 9097 var yyLOCAL tree.Statement 9098 //line mysql_sql.y:2109 9099 { 9100 explainStmt := tree.NewExplainAnalyze(yyDollar[3].statementUnion(), "text") 9101 optionElem := tree.MakeOptionElem("analyze", "NULL") 9102 options := tree.MakeOptions(optionElem) 9103 explainStmt.Options = options 9104 yyLOCAL = explainStmt 9105 } 9106 yyVAL.union = yyLOCAL 9107 case 278: 9108 yyDollar = yyS[yypt-4 : yypt+1] 9109 var yyLOCAL tree.Statement 9110 //line mysql_sql.y:2117 9111 { 9112 explainStmt := tree.NewExplainAnalyze(yyDollar[4].statementUnion(), "text") 9113 optionElem1 := tree.MakeOptionElem("analyze", "NULL") 9114 optionElem2 := tree.MakeOptionElem("verbose", "NULL") 9115 options := tree.MakeOptions(optionElem1) 9116 options = append(options, optionElem2) 9117 explainStmt.Options = options 9118 yyLOCAL = explainStmt 9119 } 9120 yyVAL.union = yyLOCAL 9121 case 279: 9122 yyDollar = yyS[yypt-5 : yypt+1] 9123 var yyLOCAL tree.Statement 9124 //line mysql_sql.y:2127 9125 { 9126 if tree.IsContainAnalyze(yyDollar[3].epxlainOptionsUnion()) { 9127 explainStmt := tree.NewExplainAnalyze(yyDollar[5].statementUnion(), "text") 9128 explainStmt.Options = yyDollar[3].epxlainOptionsUnion() 9129 yyLOCAL = explainStmt 9130 } else { 9131 explainStmt := tree.NewExplainStmt(yyDollar[5].statementUnion(), "text") 9132 explainStmt.Options = yyDollar[3].epxlainOptionsUnion() 9133 yyLOCAL = explainStmt 9134 } 9135 } 9136 yyVAL.union = yyLOCAL 9137 case 292: 9138 yyDollar = yyS[yypt-1 : yypt+1] 9139 var yyLOCAL []tree.OptionElem 9140 //line mysql_sql.y:2168 9141 { 9142 yyLOCAL = tree.MakeOptions(yyDollar[1].epxlainOptionUnion()) 9143 } 9144 yyVAL.union = yyLOCAL 9145 case 293: 9146 yyDollar = yyS[yypt-3 : yypt+1] 9147 var yyLOCAL []tree.OptionElem 9148 //line mysql_sql.y:2172 9149 { 9150 yyLOCAL = append(yyDollar[1].epxlainOptionsUnion(), yyDollar[3].epxlainOptionUnion()) 9151 } 9152 yyVAL.union = yyLOCAL 9153 case 294: 9154 yyDollar = yyS[yypt-2 : yypt+1] 9155 var yyLOCAL tree.OptionElem 9156 //line mysql_sql.y:2178 9157 { 9158 yyLOCAL = tree.MakeOptionElem(yyDollar[1].str, yyDollar[2].str) 9159 } 9160 yyVAL.union = yyLOCAL 9161 case 295: 9162 yyDollar = yyS[yypt-1 : yypt+1] 9163 //line mysql_sql.y:2184 9164 { 9165 yyVAL.str = yyDollar[1].str 9166 } 9167 case 296: 9168 yyDollar = yyS[yypt-1 : yypt+1] 9169 //line mysql_sql.y:2189 9170 { 9171 yyVAL.str = "true" 9172 } 9173 case 297: 9174 yyDollar = yyS[yypt-1 : yypt+1] 9175 //line mysql_sql.y:2190 9176 { 9177 yyVAL.str = "false" 9178 } 9179 case 298: 9180 yyDollar = yyS[yypt-1 : yypt+1] 9181 //line mysql_sql.y:2191 9182 { 9183 yyVAL.str = yyDollar[1].str 9184 } 9185 case 299: 9186 yyDollar = yyS[yypt-6 : yypt+1] 9187 var yyLOCAL tree.Statement 9188 //line mysql_sql.y:2196 9189 { 9190 yyLOCAL = tree.NewAnalyzeStmt(yyDollar[3].tableNameUnion(), yyDollar[5].identifierListUnion()) 9191 } 9192 yyVAL.union = yyLOCAL 9193 case 304: 9194 yyDollar = yyS[yypt-7 : yypt+1] 9195 var yyLOCAL tree.Statement 9196 //line mysql_sql.y:2209 9197 { 9198 yyLOCAL = &tree.AlterView{ 9199 Name: yyDollar[4].tableNameUnion(), 9200 ColNames: yyDollar[5].identifierListUnion(), 9201 AsSource: yyDollar[7].selectUnion(), 9202 IfExists: yyDollar[3].boolValUnion(), 9203 } 9204 } 9205 yyVAL.union = yyLOCAL 9206 case 305: 9207 yyDollar = yyS[yypt-7 : yypt+1] 9208 var yyLOCAL tree.Statement 9209 //line mysql_sql.y:2220 9210 { 9211 yyLOCAL = &tree.AlterAccount{ 9212 IfExists: yyDollar[3].boolValUnion(), 9213 Name: yyDollar[4].str, 9214 AuthOption: yyDollar[5].alterAccountAuthOptionUnion(), 9215 StatusOption: yyDollar[6].accountStatusUnion(), 9216 Comment: yyDollar[7].accountCommentUnion(), 9217 } 9218 } 9219 yyVAL.union = yyLOCAL 9220 case 306: 9221 yyDollar = yyS[yypt-7 : yypt+1] 9222 var yyLOCAL tree.Statement 9223 //line mysql_sql.y:2232 9224 { 9225 yyLOCAL = &tree.AlterDataBaseConfig{ 9226 DbName: yyDollar[3].str, 9227 UpdateConfig: yyDollar[7].str, 9228 IsAccountLevel: false, 9229 } 9230 } 9231 yyVAL.union = yyLOCAL 9232 case 307: 9233 yyDollar = yyS[yypt-8 : yypt+1] 9234 var yyLOCAL tree.Statement 9235 //line mysql_sql.y:2240 9236 { 9237 yyLOCAL = &tree.AlterDataBaseConfig{ 9238 AccountName: yyDollar[4].str, 9239 UpdateConfig: yyDollar[8].str, 9240 IsAccountLevel: true, 9241 } 9242 } 9243 yyVAL.union = yyLOCAL 9244 case 308: 9245 yyDollar = yyS[yypt-0 : yypt+1] 9246 var yyLOCAL tree.AlterAccountAuthOption 9247 //line mysql_sql.y:2249 9248 { 9249 yyLOCAL = tree.AlterAccountAuthOption{ 9250 Exist: false, 9251 } 9252 } 9253 yyVAL.union = yyLOCAL 9254 case 309: 9255 yyDollar = yyS[yypt-4 : yypt+1] 9256 var yyLOCAL tree.AlterAccountAuthOption 9257 //line mysql_sql.y:2255 9258 { 9259 yyLOCAL = tree.AlterAccountAuthOption{ 9260 Exist: true, 9261 Equal: yyDollar[2].str, 9262 AdminName: yyDollar[3].str, 9263 IdentifiedType: yyDollar[4].accountIdentifiedUnion(), 9264 } 9265 } 9266 yyVAL.union = yyLOCAL 9267 case 310: 9268 yyDollar = yyS[yypt-7 : yypt+1] 9269 var yyLOCAL tree.Statement 9270 //line mysql_sql.y:2266 9271 { 9272 yyLOCAL = &tree.AlterUser{ 9273 IfExists: yyDollar[3].boolValUnion(), 9274 Users: yyDollar[4].usersUnion(), 9275 Role: yyDollar[5].accountRoleUnion(), 9276 MiscOpt: yyDollar[6].userMiscOptionUnion(), 9277 CommentOrAttribute: yyDollar[7].accountCommentOrAttributeUnion(), 9278 } 9279 } 9280 yyVAL.union = yyLOCAL 9281 case 311: 9282 yyDollar = yyS[yypt-0 : yypt+1] 9283 var yyLOCAL *tree.Role 9284 //line mysql_sql.y:2277 9285 { 9286 yyLOCAL = nil 9287 } 9288 yyVAL.union = yyLOCAL 9289 case 312: 9290 yyDollar = yyS[yypt-3 : yypt+1] 9291 var yyLOCAL *tree.Role 9292 //line mysql_sql.y:2281 9293 { 9294 yyLOCAL = &tree.Role{UserName: yyDollar[3].str} 9295 } 9296 yyVAL.union = yyLOCAL 9297 case 313: 9298 yyDollar = yyS[yypt-0 : yypt+1] 9299 var yyLOCAL bool 9300 //line mysql_sql.y:2286 9301 { 9302 yyLOCAL = false 9303 } 9304 yyVAL.union = yyLOCAL 9305 case 314: 9306 yyDollar = yyS[yypt-2 : yypt+1] 9307 var yyLOCAL bool 9308 //line mysql_sql.y:2290 9309 { 9310 yyLOCAL = true 9311 } 9312 yyVAL.union = yyLOCAL 9313 case 315: 9314 yyDollar = yyS[yypt-0 : yypt+1] 9315 var yyLOCAL tree.UserMiscOption 9316 //line mysql_sql.y:2295 9317 { 9318 yyLOCAL = nil 9319 } 9320 yyVAL.union = yyLOCAL 9321 case 316: 9322 yyDollar = yyS[yypt-1 : yypt+1] 9323 var yyLOCAL tree.UserMiscOption 9324 //line mysql_sql.y:2299 9325 { 9326 yyLOCAL = yyDollar[1].userMiscOptionUnion() 9327 } 9328 yyVAL.union = yyLOCAL 9329 case 317: 9330 yyDollar = yyS[yypt-1 : yypt+1] 9331 var yyLOCAL tree.UserMiscOption 9332 //line mysql_sql.y:2315 9333 { 9334 yyLOCAL = &tree.UserMiscOptionAccountUnlock{} 9335 } 9336 yyVAL.union = yyLOCAL 9337 case 318: 9338 yyDollar = yyS[yypt-1 : yypt+1] 9339 var yyLOCAL tree.UserMiscOption 9340 //line mysql_sql.y:2319 9341 { 9342 yyLOCAL = &tree.UserMiscOptionAccountLock{} 9343 } 9344 yyVAL.union = yyLOCAL 9345 case 319: 9346 yyDollar = yyS[yypt-1 : yypt+1] 9347 var yyLOCAL tree.UserMiscOption 9348 //line mysql_sql.y:2323 9349 { 9350 yyLOCAL = &tree.UserMiscOptionPasswordExpireNone{} 9351 } 9352 yyVAL.union = yyLOCAL 9353 case 320: 9354 yyDollar = yyS[yypt-4 : yypt+1] 9355 var yyLOCAL tree.UserMiscOption 9356 //line mysql_sql.y:2327 9357 { 9358 yyLOCAL = &tree.UserMiscOptionPasswordExpireInterval{Value: yyDollar[3].item.(int64)} 9359 } 9360 yyVAL.union = yyLOCAL 9361 case 321: 9362 yyDollar = yyS[yypt-2 : yypt+1] 9363 var yyLOCAL tree.UserMiscOption 9364 //line mysql_sql.y:2331 9365 { 9366 yyLOCAL = &tree.UserMiscOptionPasswordExpireNever{} 9367 } 9368 yyVAL.union = yyLOCAL 9369 case 322: 9370 yyDollar = yyS[yypt-2 : yypt+1] 9371 var yyLOCAL tree.UserMiscOption 9372 //line mysql_sql.y:2335 9373 { 9374 yyLOCAL = &tree.UserMiscOptionPasswordExpireDefault{} 9375 } 9376 yyVAL.union = yyLOCAL 9377 case 323: 9378 yyDollar = yyS[yypt-3 : yypt+1] 9379 var yyLOCAL tree.UserMiscOption 9380 //line mysql_sql.y:2339 9381 { 9382 yyLOCAL = &tree.UserMiscOptionPasswordHistoryDefault{} 9383 } 9384 yyVAL.union = yyLOCAL 9385 case 324: 9386 yyDollar = yyS[yypt-3 : yypt+1] 9387 var yyLOCAL tree.UserMiscOption 9388 //line mysql_sql.y:2343 9389 { 9390 yyLOCAL = &tree.UserMiscOptionPasswordHistoryCount{Value: yyDollar[3].item.(int64)} 9391 } 9392 yyVAL.union = yyLOCAL 9393 case 325: 9394 yyDollar = yyS[yypt-4 : yypt+1] 9395 var yyLOCAL tree.UserMiscOption 9396 //line mysql_sql.y:2347 9397 { 9398 yyLOCAL = &tree.UserMiscOptionPasswordReuseIntervalDefault{} 9399 } 9400 yyVAL.union = yyLOCAL 9401 case 326: 9402 yyDollar = yyS[yypt-5 : yypt+1] 9403 var yyLOCAL tree.UserMiscOption 9404 //line mysql_sql.y:2351 9405 { 9406 yyLOCAL = &tree.UserMiscOptionPasswordReuseIntervalCount{Value: yyDollar[4].item.(int64)} 9407 } 9408 yyVAL.union = yyLOCAL 9409 case 327: 9410 yyDollar = yyS[yypt-3 : yypt+1] 9411 var yyLOCAL tree.UserMiscOption 9412 //line mysql_sql.y:2355 9413 { 9414 yyLOCAL = &tree.UserMiscOptionPasswordRequireCurrentNone{} 9415 } 9416 yyVAL.union = yyLOCAL 9417 case 328: 9418 yyDollar = yyS[yypt-4 : yypt+1] 9419 var yyLOCAL tree.UserMiscOption 9420 //line mysql_sql.y:2359 9421 { 9422 yyLOCAL = &tree.UserMiscOptionPasswordRequireCurrentDefault{} 9423 } 9424 yyVAL.union = yyLOCAL 9425 case 329: 9426 yyDollar = yyS[yypt-4 : yypt+1] 9427 var yyLOCAL tree.UserMiscOption 9428 //line mysql_sql.y:2363 9429 { 9430 yyLOCAL = &tree.UserMiscOptionPasswordRequireCurrentOptional{} 9431 } 9432 yyVAL.union = yyLOCAL 9433 case 330: 9434 yyDollar = yyS[yypt-2 : yypt+1] 9435 var yyLOCAL tree.UserMiscOption 9436 //line mysql_sql.y:2367 9437 { 9438 yyLOCAL = &tree.UserMiscOptionFailedLoginAttempts{Value: yyDollar[2].item.(int64)} 9439 } 9440 yyVAL.union = yyLOCAL 9441 case 331: 9442 yyDollar = yyS[yypt-2 : yypt+1] 9443 var yyLOCAL tree.UserMiscOption 9444 //line mysql_sql.y:2371 9445 { 9446 yyLOCAL = &tree.UserMiscOptionPasswordLockTimeCount{Value: yyDollar[2].item.(int64)} 9447 } 9448 yyVAL.union = yyLOCAL 9449 case 332: 9450 yyDollar = yyS[yypt-2 : yypt+1] 9451 var yyLOCAL tree.UserMiscOption 9452 //line mysql_sql.y:2375 9453 { 9454 yyLOCAL = &tree.UserMiscOptionPasswordLockTimeUnbounded{} 9455 } 9456 yyVAL.union = yyLOCAL 9457 case 333: 9458 yyDollar = yyS[yypt-3 : yypt+1] 9459 //line mysql_sql.y:2381 9460 { 9461 yyVAL.item = nil 9462 } 9463 case 334: 9464 yyDollar = yyS[yypt-0 : yypt+1] 9465 //line mysql_sql.y:2386 9466 { 9467 yyVAL.item = nil 9468 } 9469 case 357: 9470 yyDollar = yyS[yypt-4 : yypt+1] 9471 var yyLOCAL tree.Statement 9472 //line mysql_sql.y:2418 9473 { 9474 yyLOCAL = &tree.ShowCollation{} 9475 } 9476 yyVAL.union = yyLOCAL 9477 case 358: 9478 yyDollar = yyS[yypt-2 : yypt+1] 9479 var yyLOCAL tree.Statement 9480 //line mysql_sql.y:2423 9481 { 9482 yyLOCAL = &tree.ShowGrants{ShowGrantType: tree.GrantForUser} 9483 } 9484 yyVAL.union = yyLOCAL 9485 case 359: 9486 yyDollar = yyS[yypt-5 : yypt+1] 9487 var yyLOCAL tree.Statement 9488 //line mysql_sql.y:2427 9489 { 9490 yyLOCAL = &tree.ShowGrants{Username: yyDollar[4].usernameRecordUnion().Username, Hostname: yyDollar[4].usernameRecordUnion().Hostname, Roles: yyDollar[5].rolesUnion(), ShowGrantType: tree.GrantForUser} 9491 } 9492 yyVAL.union = yyLOCAL 9493 case 360: 9494 yyDollar = yyS[yypt-5 : yypt+1] 9495 var yyLOCAL tree.Statement 9496 //line mysql_sql.y:2431 9497 { 9498 s := &tree.ShowGrants{} 9499 roles := []*tree.Role{tree.NewRole(yyDollar[5].str)} 9500 s.Roles = roles 9501 s.ShowGrantType = tree.GrantForRole 9502 yyLOCAL = s 9503 } 9504 yyVAL.union = yyLOCAL 9505 case 361: 9506 yyDollar = yyS[yypt-0 : yypt+1] 9507 var yyLOCAL []*tree.Role 9508 //line mysql_sql.y:2440 9509 { 9510 yyLOCAL = nil 9511 } 9512 yyVAL.union = yyLOCAL 9513 case 362: 9514 yyDollar = yyS[yypt-2 : yypt+1] 9515 var yyLOCAL []*tree.Role 9516 //line mysql_sql.y:2444 9517 { 9518 yyLOCAL = yyDollar[2].rolesUnion() 9519 } 9520 yyVAL.union = yyLOCAL 9521 case 363: 9522 yyDollar = yyS[yypt-7 : yypt+1] 9523 var yyLOCAL tree.Statement 9524 //line mysql_sql.y:2450 9525 { 9526 yyLOCAL = &tree.ShowTableStatus{DbName: yyDollar[5].str, Like: yyDollar[6].comparisionExprUnion(), Where: yyDollar[7].whereUnion()} 9527 } 9528 yyVAL.union = yyLOCAL 9529 case 364: 9530 yyDollar = yyS[yypt-0 : yypt+1] 9531 //line mysql_sql.y:2455 9532 { 9533 } 9534 case 366: 9535 yyDollar = yyS[yypt-0 : yypt+1] 9536 //line mysql_sql.y:2459 9537 { 9538 } 9539 case 368: 9540 yyDollar = yyS[yypt-5 : yypt+1] 9541 var yyLOCAL tree.Statement 9542 //line mysql_sql.y:2464 9543 { 9544 yyLOCAL = &tree.ShowFunctionStatus{ 9545 Like: yyDollar[4].comparisionExprUnion(), 9546 Where: yyDollar[5].whereUnion(), 9547 } 9548 } 9549 yyVAL.union = yyLOCAL 9550 case 369: 9551 yyDollar = yyS[yypt-3 : yypt+1] 9552 var yyLOCAL tree.Statement 9553 //line mysql_sql.y:2473 9554 { 9555 yyLOCAL = &tree.ShowNodeList{} 9556 } 9557 yyVAL.union = yyLOCAL 9558 case 370: 9559 yyDollar = yyS[yypt-2 : yypt+1] 9560 var yyLOCAL tree.Statement 9561 //line mysql_sql.y:2479 9562 { 9563 yyLOCAL = &tree.ShowLocks{} 9564 } 9565 yyVAL.union = yyLOCAL 9566 case 371: 9567 yyDollar = yyS[yypt-4 : yypt+1] 9568 var yyLOCAL tree.Statement 9569 //line mysql_sql.y:2485 9570 { 9571 yyLOCAL = &tree.ShowTableNumber{DbName: yyDollar[4].str} 9572 } 9573 yyVAL.union = yyLOCAL 9574 case 372: 9575 yyDollar = yyS[yypt-4 : yypt+1] 9576 var yyLOCAL tree.Statement 9577 //line mysql_sql.y:2491 9578 { 9579 yyLOCAL = &tree.ShowColumnNumber{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} 9580 } 9581 yyVAL.union = yyLOCAL 9582 case 373: 9583 yyDollar = yyS[yypt-4 : yypt+1] 9584 var yyLOCAL tree.Statement 9585 //line mysql_sql.y:2497 9586 { 9587 yyLOCAL = &tree.ShowTableValues{Table: yyDollar[3].unresolvedObjectNameUnion(), DbName: yyDollar[4].str} 9588 } 9589 yyVAL.union = yyLOCAL 9590 case 374: 9591 yyDollar = yyS[yypt-4 : yypt+1] 9592 var yyLOCAL tree.Statement 9593 //line mysql_sql.y:2503 9594 { 9595 s := yyDollar[2].statementUnion().(*tree.ShowTarget) 9596 s.Like = yyDollar[3].comparisionExprUnion() 9597 s.Where = yyDollar[4].whereUnion() 9598 yyLOCAL = s 9599 } 9600 yyVAL.union = yyLOCAL 9601 case 375: 9602 yyDollar = yyS[yypt-1 : yypt+1] 9603 var yyLOCAL tree.Statement 9604 //line mysql_sql.y:2512 9605 { 9606 yyLOCAL = &tree.ShowTarget{Type: tree.ShowConfig} 9607 } 9608 yyVAL.union = yyLOCAL 9609 case 376: 9610 yyDollar = yyS[yypt-1 : yypt+1] 9611 var yyLOCAL tree.Statement 9612 //line mysql_sql.y:2516 9613 { 9614 yyLOCAL = &tree.ShowTarget{Type: tree.ShowCharset} 9615 } 9616 yyVAL.union = yyLOCAL 9617 case 377: 9618 yyDollar = yyS[yypt-1 : yypt+1] 9619 var yyLOCAL tree.Statement 9620 //line mysql_sql.y:2520 9621 { 9622 yyLOCAL = &tree.ShowTarget{Type: tree.ShowEngines} 9623 } 9624 yyVAL.union = yyLOCAL 9625 case 378: 9626 yyDollar = yyS[yypt-3 : yypt+1] 9627 var yyLOCAL tree.Statement 9628 //line mysql_sql.y:2524 9629 { 9630 yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowTriggers} 9631 } 9632 yyVAL.union = yyLOCAL 9633 case 379: 9634 yyDollar = yyS[yypt-2 : yypt+1] 9635 var yyLOCAL tree.Statement 9636 //line mysql_sql.y:2528 9637 { 9638 yyLOCAL = &tree.ShowTarget{Type: tree.ShowProcedureStatus} 9639 } 9640 yyVAL.union = yyLOCAL 9641 case 380: 9642 yyDollar = yyS[yypt-3 : yypt+1] 9643 var yyLOCAL tree.Statement 9644 //line mysql_sql.y:2532 9645 { 9646 yyLOCAL = &tree.ShowTarget{DbName: yyDollar[3].str, Type: tree.ShowEvents} 9647 } 9648 yyVAL.union = yyLOCAL 9649 case 381: 9650 yyDollar = yyS[yypt-1 : yypt+1] 9651 var yyLOCAL tree.Statement 9652 //line mysql_sql.y:2536 9653 { 9654 yyLOCAL = &tree.ShowTarget{Type: tree.ShowPlugins} 9655 } 9656 yyVAL.union = yyLOCAL 9657 case 382: 9658 yyDollar = yyS[yypt-1 : yypt+1] 9659 var yyLOCAL tree.Statement 9660 //line mysql_sql.y:2540 9661 { 9662 yyLOCAL = &tree.ShowTarget{Type: tree.ShowPrivileges} 9663 } 9664 yyVAL.union = yyLOCAL 9665 case 383: 9666 yyDollar = yyS[yypt-1 : yypt+1] 9667 var yyLOCAL tree.Statement 9668 //line mysql_sql.y:2544 9669 { 9670 yyLOCAL = &tree.ShowTarget{Type: tree.ShowProfiles} 9671 } 9672 yyVAL.union = yyLOCAL 9673 case 384: 9674 yyDollar = yyS[yypt-6 : yypt+1] 9675 var yyLOCAL tree.Statement 9676 //line mysql_sql.y:2550 9677 { 9678 yyLOCAL = &tree.ShowIndex{ 9679 TableName: *yyDollar[5].tableNameUnion(), 9680 Where: yyDollar[6].whereUnion(), 9681 } 9682 } 9683 yyVAL.union = yyLOCAL 9684 case 385: 9685 yyDollar = yyS[yypt-8 : yypt+1] 9686 var yyLOCAL tree.Statement 9687 //line mysql_sql.y:2557 9688 { 9689 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[7].str), ExplicitSchema: true} 9690 tbl := tree.NewTableName(tree.Identifier(yyDollar[5].str), prefix) 9691 yyLOCAL = &tree.ShowIndex{ 9692 TableName: *tbl, 9693 Where: yyDollar[8].whereUnion(), 9694 } 9695 } 9696 yyVAL.union = yyLOCAL 9697 case 386: 9698 yyDollar = yyS[yypt-0 : yypt+1] 9699 //line mysql_sql.y:2567 9700 { 9701 } 9702 case 387: 9703 yyDollar = yyS[yypt-1 : yypt+1] 9704 //line mysql_sql.y:2569 9705 { 9706 } 9707 case 391: 9708 yyDollar = yyS[yypt-5 : yypt+1] 9709 var yyLOCAL tree.Statement 9710 //line mysql_sql.y:2578 9711 { 9712 yyLOCAL = &tree.ShowVariables{ 9713 Global: yyDollar[2].boolValUnion(), 9714 Like: yyDollar[4].comparisionExprUnion(), 9715 Where: yyDollar[5].whereUnion(), 9716 } 9717 } 9718 yyVAL.union = yyLOCAL 9719 case 392: 9720 yyDollar = yyS[yypt-5 : yypt+1] 9721 var yyLOCAL tree.Statement 9722 //line mysql_sql.y:2588 9723 { 9724 yyLOCAL = &tree.ShowStatus{ 9725 Global: yyDollar[2].boolValUnion(), 9726 Like: yyDollar[4].comparisionExprUnion(), 9727 Where: yyDollar[5].whereUnion(), 9728 } 9729 } 9730 yyVAL.union = yyLOCAL 9731 case 393: 9732 yyDollar = yyS[yypt-0 : yypt+1] 9733 var yyLOCAL bool 9734 //line mysql_sql.y:2597 9735 { 9736 yyLOCAL = false 9737 } 9738 yyVAL.union = yyLOCAL 9739 case 394: 9740 yyDollar = yyS[yypt-1 : yypt+1] 9741 var yyLOCAL bool 9742 //line mysql_sql.y:2601 9743 { 9744 yyLOCAL = true 9745 } 9746 yyVAL.union = yyLOCAL 9747 case 395: 9748 yyDollar = yyS[yypt-1 : yypt+1] 9749 var yyLOCAL bool 9750 //line mysql_sql.y:2605 9751 { 9752 yyLOCAL = false 9753 } 9754 yyVAL.union = yyLOCAL 9755 case 396: 9756 yyDollar = yyS[yypt-3 : yypt+1] 9757 var yyLOCAL tree.Statement 9758 //line mysql_sql.y:2611 9759 { 9760 yyLOCAL = &tree.ShowWarnings{} 9761 } 9762 yyVAL.union = yyLOCAL 9763 case 397: 9764 yyDollar = yyS[yypt-3 : yypt+1] 9765 var yyLOCAL tree.Statement 9766 //line mysql_sql.y:2617 9767 { 9768 yyLOCAL = &tree.ShowErrors{} 9769 } 9770 yyVAL.union = yyLOCAL 9771 case 398: 9772 yyDollar = yyS[yypt-3 : yypt+1] 9773 var yyLOCAL tree.Statement 9774 //line mysql_sql.y:2623 9775 { 9776 yyLOCAL = &tree.ShowProcessList{Full: yyDollar[2].fullOptUnion()} 9777 } 9778 yyVAL.union = yyLOCAL 9779 case 399: 9780 yyDollar = yyS[yypt-6 : yypt+1] 9781 var yyLOCAL tree.Statement 9782 //line mysql_sql.y:2629 9783 { 9784 yyLOCAL = &tree.ShowTables{ 9785 Open: false, 9786 Full: yyDollar[2].fullOptUnion(), 9787 DBName: yyDollar[4].str, 9788 Like: yyDollar[5].comparisionExprUnion(), 9789 Where: yyDollar[6].whereUnion(), 9790 } 9791 } 9792 yyVAL.union = yyLOCAL 9793 case 400: 9794 yyDollar = yyS[yypt-7 : yypt+1] 9795 var yyLOCAL tree.Statement 9796 //line mysql_sql.y:2639 9797 { 9798 yyLOCAL = &tree.ShowTables{ 9799 Open: true, 9800 Full: yyDollar[3].fullOptUnion(), 9801 DBName: yyDollar[5].str, 9802 Like: yyDollar[6].comparisionExprUnion(), 9803 Where: yyDollar[7].whereUnion(), 9804 } 9805 } 9806 yyVAL.union = yyLOCAL 9807 case 401: 9808 yyDollar = yyS[yypt-4 : yypt+1] 9809 var yyLOCAL tree.Statement 9810 //line mysql_sql.y:2651 9811 { 9812 yyLOCAL = &tree.ShowDatabases{Like: yyDollar[3].comparisionExprUnion(), Where: yyDollar[4].whereUnion()} 9813 } 9814 yyVAL.union = yyLOCAL 9815 case 402: 9816 yyDollar = yyS[yypt-4 : yypt+1] 9817 var yyLOCAL tree.Statement 9818 //line mysql_sql.y:2655 9819 { 9820 yyLOCAL = &tree.ShowDatabases{Like: yyDollar[3].comparisionExprUnion(), Where: yyDollar[4].whereUnion()} 9821 } 9822 yyVAL.union = yyLOCAL 9823 case 403: 9824 yyDollar = yyS[yypt-7 : yypt+1] 9825 var yyLOCAL tree.Statement 9826 //line mysql_sql.y:2661 9827 { 9828 yyLOCAL = &tree.ShowColumns{ 9829 Ext: false, 9830 Full: yyDollar[2].fullOptUnion(), 9831 Table: yyDollar[4].unresolvedObjectNameUnion(), 9832 // colName: $3, 9833 DBName: yyDollar[5].str, 9834 Like: yyDollar[6].comparisionExprUnion(), 9835 Where: yyDollar[7].whereUnion(), 9836 } 9837 } 9838 yyVAL.union = yyLOCAL 9839 case 404: 9840 yyDollar = yyS[yypt-8 : yypt+1] 9841 var yyLOCAL tree.Statement 9842 //line mysql_sql.y:2673 9843 { 9844 yyLOCAL = &tree.ShowColumns{ 9845 Ext: true, 9846 Full: yyDollar[3].fullOptUnion(), 9847 Table: yyDollar[5].unresolvedObjectNameUnion(), 9848 // colName: $3, 9849 DBName: yyDollar[6].str, 9850 Like: yyDollar[7].comparisionExprUnion(), 9851 Where: yyDollar[8].whereUnion(), 9852 } 9853 } 9854 yyVAL.union = yyLOCAL 9855 case 405: 9856 yyDollar = yyS[yypt-3 : yypt+1] 9857 var yyLOCAL tree.Statement 9858 //line mysql_sql.y:2687 9859 { 9860 yyLOCAL = &tree.ShowAccounts{Like: yyDollar[3].comparisionExprUnion()} 9861 } 9862 yyVAL.union = yyLOCAL 9863 case 406: 9864 yyDollar = yyS[yypt-0 : yypt+1] 9865 var yyLOCAL *tree.ComparisonExpr 9866 //line mysql_sql.y:2692 9867 { 9868 yyLOCAL = nil 9869 } 9870 yyVAL.union = yyLOCAL 9871 case 407: 9872 yyDollar = yyS[yypt-2 : yypt+1] 9873 var yyLOCAL *tree.ComparisonExpr 9874 //line mysql_sql.y:2696 9875 { 9876 yyLOCAL = tree.NewComparisonExpr(tree.LIKE, nil, yyDollar[2].exprUnion()) 9877 } 9878 yyVAL.union = yyLOCAL 9879 case 408: 9880 yyDollar = yyS[yypt-2 : yypt+1] 9881 var yyLOCAL *tree.ComparisonExpr 9882 //line mysql_sql.y:2700 9883 { 9884 yyLOCAL = tree.NewComparisonExpr(tree.ILIKE, nil, yyDollar[2].exprUnion()) 9885 } 9886 yyVAL.union = yyLOCAL 9887 case 409: 9888 yyDollar = yyS[yypt-0 : yypt+1] 9889 //line mysql_sql.y:2705 9890 { 9891 yyVAL.str = "" 9892 } 9893 case 410: 9894 yyDollar = yyS[yypt-2 : yypt+1] 9895 //line mysql_sql.y:2709 9896 { 9897 yyVAL.str = yyDollar[2].str 9898 } 9899 case 411: 9900 yyDollar = yyS[yypt-2 : yypt+1] 9901 var yyLOCAL *tree.UnresolvedObjectName 9902 //line mysql_sql.y:2715 9903 { 9904 yyLOCAL = yyDollar[2].unresolvedObjectNameUnion() 9905 } 9906 yyVAL.union = yyLOCAL 9907 case 416: 9908 yyDollar = yyS[yypt-0 : yypt+1] 9909 var yyLOCAL bool 9910 //line mysql_sql.y:2728 9911 { 9912 yyLOCAL = false 9913 } 9914 yyVAL.union = yyLOCAL 9915 case 417: 9916 yyDollar = yyS[yypt-1 : yypt+1] 9917 var yyLOCAL bool 9918 //line mysql_sql.y:2732 9919 { 9920 yyLOCAL = true 9921 } 9922 yyVAL.union = yyLOCAL 9923 case 418: 9924 yyDollar = yyS[yypt-4 : yypt+1] 9925 var yyLOCAL tree.Statement 9926 //line mysql_sql.y:2738 9927 { 9928 yyLOCAL = &tree.ShowCreateTable{Name: yyDollar[4].unresolvedObjectNameUnion()} 9929 } 9930 yyVAL.union = yyLOCAL 9931 case 419: 9932 yyDollar = yyS[yypt-4 : yypt+1] 9933 var yyLOCAL tree.Statement 9934 //line mysql_sql.y:2743 9935 { 9936 yyLOCAL = &tree.ShowCreateView{Name: yyDollar[4].unresolvedObjectNameUnion()} 9937 } 9938 yyVAL.union = yyLOCAL 9939 case 420: 9940 yyDollar = yyS[yypt-5 : yypt+1] 9941 var yyLOCAL tree.Statement 9942 //line mysql_sql.y:2747 9943 { 9944 yyLOCAL = &tree.ShowCreateDatabase{IfNotExists: yyDollar[4].ifNotExistsUnion(), Name: yyDollar[5].str} 9945 } 9946 yyVAL.union = yyLOCAL 9947 case 421: 9948 yyDollar = yyS[yypt-1 : yypt+1] 9949 var yyLOCAL *tree.UnresolvedObjectName 9950 //line mysql_sql.y:2753 9951 { 9952 yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].str}) 9953 } 9954 yyVAL.union = yyLOCAL 9955 case 422: 9956 yyDollar = yyS[yypt-3 : yypt+1] 9957 var yyLOCAL *tree.UnresolvedObjectName 9958 //line mysql_sql.y:2757 9959 { 9960 yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].str, yyDollar[1].str}) 9961 } 9962 yyVAL.union = yyLOCAL 9963 case 424: 9964 yyDollar = yyS[yypt-1 : yypt+1] 9965 var yyLOCAL *tree.UnresolvedObjectName 9966 //line mysql_sql.y:2766 9967 { 9968 yyLOCAL = tree.SetUnresolvedObjectName(1, [3]string{yyDollar[1].str}) 9969 } 9970 yyVAL.union = yyLOCAL 9971 case 425: 9972 yyDollar = yyS[yypt-3 : yypt+1] 9973 var yyLOCAL *tree.UnresolvedObjectName 9974 //line mysql_sql.y:2770 9975 { 9976 yyLOCAL = tree.SetUnresolvedObjectName(2, [3]string{yyDollar[3].str, yyDollar[1].str}) 9977 } 9978 yyVAL.union = yyLOCAL 9979 case 426: 9980 yyDollar = yyS[yypt-5 : yypt+1] 9981 var yyLOCAL *tree.UnresolvedObjectName 9982 //line mysql_sql.y:2774 9983 { 9984 yyLOCAL = tree.SetUnresolvedObjectName(3, [3]string{yyDollar[5].str, yyDollar[3].str, yyDollar[1].str}) 9985 } 9986 yyVAL.union = yyLOCAL 9987 case 427: 9988 yyDollar = yyS[yypt-2 : yypt+1] 9989 var yyLOCAL tree.Statement 9990 //line mysql_sql.y:2780 9991 { 9992 yyLOCAL = tree.NewTruncateTable(yyDollar[2].tableNameUnion()) 9993 } 9994 yyVAL.union = yyLOCAL 9995 case 428: 9996 yyDollar = yyS[yypt-3 : yypt+1] 9997 var yyLOCAL tree.Statement 9998 //line mysql_sql.y:2784 9999 { 10000 yyLOCAL = tree.NewTruncateTable(yyDollar[3].tableNameUnion()) 10001 } 10002 yyVAL.union = yyLOCAL 10003 case 439: 10004 yyDollar = yyS[yypt-4 : yypt+1] 10005 var yyLOCAL tree.Statement 10006 //line mysql_sql.y:2804 10007 { 10008 yyLOCAL = &tree.DropAccount{ 10009 IfExists: yyDollar[3].boolValUnion(), 10010 Name: yyDollar[4].str, 10011 } 10012 } 10013 yyVAL.union = yyLOCAL 10014 case 440: 10015 yyDollar = yyS[yypt-4 : yypt+1] 10016 var yyLOCAL tree.Statement 10017 //line mysql_sql.y:2813 10018 { 10019 yyLOCAL = &tree.DropUser{ 10020 IfExists: yyDollar[3].boolValUnion(), 10021 Users: yyDollar[4].usersUnion(), 10022 } 10023 } 10024 yyVAL.union = yyLOCAL 10025 case 441: 10026 yyDollar = yyS[yypt-1 : yypt+1] 10027 var yyLOCAL []*tree.User 10028 //line mysql_sql.y:2822 10029 { 10030 yyLOCAL = []*tree.User{yyDollar[1].userUnion()} 10031 } 10032 yyVAL.union = yyLOCAL 10033 case 442: 10034 yyDollar = yyS[yypt-3 : yypt+1] 10035 var yyLOCAL []*tree.User 10036 //line mysql_sql.y:2826 10037 { 10038 yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) 10039 } 10040 yyVAL.union = yyLOCAL 10041 case 443: 10042 yyDollar = yyS[yypt-1 : yypt+1] 10043 var yyLOCAL *tree.User 10044 //line mysql_sql.y:2832 10045 { 10046 yyLOCAL = &tree.User{ 10047 Username: yyDollar[1].usernameRecordUnion().Username, 10048 Hostname: yyDollar[1].usernameRecordUnion().Hostname, 10049 } 10050 } 10051 yyVAL.union = yyLOCAL 10052 case 444: 10053 yyDollar = yyS[yypt-4 : yypt+1] 10054 var yyLOCAL tree.Statement 10055 //line mysql_sql.y:2841 10056 { 10057 yyLOCAL = &tree.DropRole{ 10058 IfExists: yyDollar[3].boolValUnion(), 10059 Roles: yyDollar[4].rolesUnion(), 10060 } 10061 } 10062 yyVAL.union = yyLOCAL 10063 case 445: 10064 yyDollar = yyS[yypt-6 : yypt+1] 10065 var yyLOCAL tree.Statement 10066 //line mysql_sql.y:2850 10067 { 10068 yyLOCAL = &tree.DropIndex{ 10069 Name: tree.Identifier(yyDollar[4].str), 10070 TableName: *yyDollar[6].tableNameUnion(), 10071 IfExists: yyDollar[3].boolValUnion(), 10072 } 10073 } 10074 yyVAL.union = yyLOCAL 10075 case 446: 10076 yyDollar = yyS[yypt-4 : yypt+1] 10077 var yyLOCAL tree.Statement 10078 //line mysql_sql.y:2860 10079 { 10080 yyLOCAL = &tree.DropTable{IfExists: yyDollar[3].boolValUnion(), Names: yyDollar[4].tableNamesUnion()} 10081 } 10082 yyVAL.union = yyLOCAL 10083 case 447: 10084 yyDollar = yyS[yypt-4 : yypt+1] 10085 var yyLOCAL tree.Statement 10086 //line mysql_sql.y:2866 10087 { 10088 yyLOCAL = &tree.DropView{IfExists: yyDollar[3].boolValUnion(), Names: yyDollar[4].tableNamesUnion()} 10089 } 10090 yyVAL.union = yyLOCAL 10091 case 448: 10092 yyDollar = yyS[yypt-4 : yypt+1] 10093 var yyLOCAL tree.Statement 10094 //line mysql_sql.y:2872 10095 { 10096 yyLOCAL = &tree.DropDatabase{Name: tree.Identifier(yyDollar[4].str), IfExists: yyDollar[3].boolValUnion()} 10097 } 10098 yyVAL.union = yyLOCAL 10099 case 449: 10100 yyDollar = yyS[yypt-3 : yypt+1] 10101 var yyLOCAL tree.Statement 10102 //line mysql_sql.y:2878 10103 { 10104 yyLOCAL = tree.NewDeallocate(tree.Identifier(yyDollar[3].str), true) 10105 } 10106 yyVAL.union = yyLOCAL 10107 case 450: 10108 yyDollar = yyS[yypt-6 : yypt+1] 10109 var yyLOCAL tree.Statement 10110 //line mysql_sql.y:2884 10111 { 10112 yyLOCAL = &tree.DropFunction{ 10113 Name: yyDollar[3].functionNameUnion(), 10114 Args: yyDollar[5].funcArgsUnion(), 10115 } 10116 } 10117 yyVAL.union = yyLOCAL 10118 case 453: 10119 yyDollar = yyS[yypt-2 : yypt+1] 10120 var yyLOCAL tree.Statement 10121 //line mysql_sql.y:2895 10122 { 10123 yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() 10124 yyLOCAL = yyDollar[2].statementUnion() 10125 } 10126 yyVAL.union = yyLOCAL 10127 case 454: 10128 yyDollar = yyS[yypt-2 : yypt+1] 10129 var yyLOCAL tree.Statement 10130 //line mysql_sql.y:2900 10131 { 10132 yyDollar[2].statementUnion().(*tree.Delete).With = yyDollar[1].withClauseUnion() 10133 yyLOCAL = yyDollar[2].statementUnion() 10134 } 10135 yyVAL.union = yyLOCAL 10136 case 455: 10137 yyDollar = yyS[yypt-11 : yypt+1] 10138 var yyLOCAL tree.Statement 10139 //line mysql_sql.y:2907 10140 { 10141 // Single-Table Syntax 10142 t := &tree.AliasedTableExpr{ 10143 Expr: yyDollar[6].tableNameUnion(), 10144 As: tree.AliasClause{ 10145 Alias: tree.Identifier(yyDollar[8].str), 10146 }, 10147 } 10148 yyLOCAL = &tree.Delete{ 10149 Tables: tree.TableExprs{t}, 10150 Where: yyDollar[9].whereUnion(), 10151 OrderBy: yyDollar[10].orderByUnion(), 10152 Limit: yyDollar[11].limitUnion(), 10153 } 10154 } 10155 yyVAL.union = yyLOCAL 10156 case 456: 10157 yyDollar = yyS[yypt-8 : yypt+1] 10158 var yyLOCAL tree.Statement 10159 //line mysql_sql.y:2923 10160 { 10161 // Multiple-Table Syntax 10162 yyLOCAL = &tree.Delete{ 10163 Tables: yyDollar[5].tableExprsUnion(), 10164 Where: yyDollar[8].whereUnion(), 10165 TableRefs: tree.TableExprs{yyDollar[7].joinTableExprUnion()}, 10166 } 10167 } 10168 yyVAL.union = yyLOCAL 10169 case 457: 10170 yyDollar = yyS[yypt-9 : yypt+1] 10171 var yyLOCAL tree.Statement 10172 //line mysql_sql.y:2936 10173 { 10174 // Multiple-Table Syntax 10175 yyLOCAL = &tree.Delete{ 10176 Tables: yyDollar[6].tableExprsUnion(), 10177 Where: yyDollar[9].whereUnion(), 10178 TableRefs: tree.TableExprs{yyDollar[8].joinTableExprUnion()}, 10179 } 10180 } 10181 yyVAL.union = yyLOCAL 10182 case 458: 10183 yyDollar = yyS[yypt-1 : yypt+1] 10184 var yyLOCAL tree.TableExprs 10185 //line mysql_sql.y:2947 10186 { 10187 yyLOCAL = tree.TableExprs{yyDollar[1].tableNameUnion()} 10188 } 10189 yyVAL.union = yyLOCAL 10190 case 459: 10191 yyDollar = yyS[yypt-3 : yypt+1] 10192 var yyLOCAL tree.TableExprs 10193 //line mysql_sql.y:2951 10194 { 10195 yyLOCAL = append(yyDollar[1].tableExprsUnion(), yyDollar[3].tableNameUnion()) 10196 } 10197 yyVAL.union = yyLOCAL 10198 case 460: 10199 yyDollar = yyS[yypt-2 : yypt+1] 10200 var yyLOCAL *tree.TableName 10201 //line mysql_sql.y:2957 10202 { 10203 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 10204 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].str), prefix) 10205 } 10206 yyVAL.union = yyLOCAL 10207 case 461: 10208 yyDollar = yyS[yypt-4 : yypt+1] 10209 var yyLOCAL *tree.TableName 10210 //line mysql_sql.y:2962 10211 { 10212 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].str), ExplicitSchema: true} 10213 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].str), prefix) 10214 } 10215 yyVAL.union = yyLOCAL 10216 case 462: 10217 yyDollar = yyS[yypt-0 : yypt+1] 10218 //line mysql_sql.y:2969 10219 { 10220 } 10221 case 463: 10222 yyDollar = yyS[yypt-2 : yypt+1] 10223 //line mysql_sql.y:2971 10224 { 10225 } 10226 case 464: 10227 yyDollar = yyS[yypt-0 : yypt+1] 10228 //line mysql_sql.y:2974 10229 { 10230 } 10231 case 469: 10232 yyDollar = yyS[yypt-0 : yypt+1] 10233 //line mysql_sql.y:2983 10234 { 10235 } 10236 case 471: 10237 yyDollar = yyS[yypt-0 : yypt+1] 10238 //line mysql_sql.y:2987 10239 { 10240 } 10241 case 473: 10242 yyDollar = yyS[yypt-4 : yypt+1] 10243 var yyLOCAL tree.Statement 10244 //line mysql_sql.y:2992 10245 { 10246 rep := yyDollar[4].replaceUnion() 10247 rep.Table = yyDollar[2].tableExprUnion() 10248 rep.PartitionNames = yyDollar[3].identifierListUnion() 10249 yyLOCAL = rep 10250 } 10251 yyVAL.union = yyLOCAL 10252 case 474: 10253 yyDollar = yyS[yypt-2 : yypt+1] 10254 var yyLOCAL *tree.Replace 10255 //line mysql_sql.y:3001 10256 { 10257 vc := tree.NewValuesClause(yyDollar[2].rowsExprsUnion()) 10258 yyLOCAL = &tree.Replace{ 10259 Rows: tree.NewSelect(vc, nil, nil), 10260 } 10261 } 10262 yyVAL.union = yyLOCAL 10263 case 475: 10264 yyDollar = yyS[yypt-1 : yypt+1] 10265 var yyLOCAL *tree.Replace 10266 //line mysql_sql.y:3008 10267 { 10268 yyLOCAL = &tree.Replace{ 10269 Rows: yyDollar[1].selectUnion(), 10270 } 10271 } 10272 yyVAL.union = yyLOCAL 10273 case 476: 10274 yyDollar = yyS[yypt-5 : yypt+1] 10275 var yyLOCAL *tree.Replace 10276 //line mysql_sql.y:3014 10277 { 10278 vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) 10279 yyLOCAL = &tree.Replace{ 10280 Columns: yyDollar[2].identifierListUnion(), 10281 Rows: tree.NewSelect(vc, nil, nil), 10282 } 10283 } 10284 yyVAL.union = yyLOCAL 10285 case 477: 10286 yyDollar = yyS[yypt-4 : yypt+1] 10287 var yyLOCAL *tree.Replace 10288 //line mysql_sql.y:3022 10289 { 10290 vc := tree.NewValuesClause(yyDollar[4].rowsExprsUnion()) 10291 yyLOCAL = &tree.Replace{ 10292 Rows: tree.NewSelect(vc, nil, nil), 10293 } 10294 } 10295 yyVAL.union = yyLOCAL 10296 case 478: 10297 yyDollar = yyS[yypt-4 : yypt+1] 10298 var yyLOCAL *tree.Replace 10299 //line mysql_sql.y:3029 10300 { 10301 yyLOCAL = &tree.Replace{ 10302 Columns: yyDollar[2].identifierListUnion(), 10303 Rows: yyDollar[4].selectUnion(), 10304 } 10305 } 10306 yyVAL.union = yyLOCAL 10307 case 479: 10308 yyDollar = yyS[yypt-2 : yypt+1] 10309 var yyLOCAL *tree.Replace 10310 //line mysql_sql.y:3036 10311 { 10312 if yyDollar[2].assignmentsUnion() == nil { 10313 yylex.Error("the set list of replace can not be empty") 10314 return 1 10315 } 10316 var identList tree.IdentifierList 10317 var valueList tree.Exprs 10318 for _, a := range yyDollar[2].assignmentsUnion() { 10319 identList = append(identList, a.Column) 10320 valueList = append(valueList, a.Expr) 10321 } 10322 vc := tree.NewValuesClause([]tree.Exprs{valueList}) 10323 yyLOCAL = &tree.Replace{ 10324 Columns: identList, 10325 Rows: tree.NewSelect(vc, nil, nil), 10326 } 10327 } 10328 yyVAL.union = yyLOCAL 10329 case 480: 10330 yyDollar = yyS[yypt-5 : yypt+1] 10331 var yyLOCAL tree.Statement 10332 //line mysql_sql.y:3056 10333 { 10334 ins := yyDollar[4].insertUnion() 10335 ins.Table = yyDollar[2].tableExprUnion() 10336 ins.PartitionNames = yyDollar[3].identifierListUnion() 10337 ins.OnDuplicateUpdate = yyDollar[5].updateExprsUnion() 10338 yyLOCAL = ins 10339 } 10340 yyVAL.union = yyLOCAL 10341 case 481: 10342 yyDollar = yyS[yypt-0 : yypt+1] 10343 var yyLOCAL tree.IdentifierList 10344 //line mysql_sql.y:3065 10345 { 10346 yyLOCAL = nil 10347 } 10348 yyVAL.union = yyLOCAL 10349 case 482: 10350 yyDollar = yyS[yypt-4 : yypt+1] 10351 var yyLOCAL tree.IdentifierList 10352 //line mysql_sql.y:3069 10353 { 10354 yyLOCAL = yyDollar[3].identifierListUnion() 10355 } 10356 yyVAL.union = yyLOCAL 10357 case 483: 10358 yyDollar = yyS[yypt-1 : yypt+1] 10359 var yyLOCAL tree.IdentifierList 10360 //line mysql_sql.y:3075 10361 { 10362 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} 10363 } 10364 yyVAL.union = yyLOCAL 10365 case 484: 10366 yyDollar = yyS[yypt-3 : yypt+1] 10367 var yyLOCAL tree.IdentifierList 10368 //line mysql_sql.y:3079 10369 { 10370 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) 10371 } 10372 yyVAL.union = yyLOCAL 10373 case 485: 10374 yyDollar = yyS[yypt-3 : yypt+1] 10375 var yyLOCAL *tree.Insert 10376 //line mysql_sql.y:3085 10377 { 10378 vc := tree.NewValuesClause(yyDollar[3].rowsExprsUnion()) 10379 yyLOCAL = &tree.Insert{ 10380 Accounts: yyDollar[1].identifierListUnion(), 10381 Rows: tree.NewSelect(vc, nil, nil), 10382 } 10383 } 10384 yyVAL.union = yyLOCAL 10385 case 486: 10386 yyDollar = yyS[yypt-1 : yypt+1] 10387 var yyLOCAL *tree.Insert 10388 //line mysql_sql.y:3093 10389 { 10390 yyLOCAL = &tree.Insert{ 10391 Rows: yyDollar[1].selectUnion(), 10392 } 10393 } 10394 yyVAL.union = yyLOCAL 10395 case 487: 10396 yyDollar = yyS[yypt-5 : yypt+1] 10397 var yyLOCAL *tree.Insert 10398 //line mysql_sql.y:3099 10399 { 10400 yyLOCAL = &tree.Insert{ 10401 Accounts: yyDollar[3].identifierListUnion(), 10402 Rows: yyDollar[5].selectUnion(), 10403 } 10404 } 10405 yyVAL.union = yyLOCAL 10406 case 488: 10407 yyDollar = yyS[yypt-6 : yypt+1] 10408 var yyLOCAL *tree.Insert 10409 //line mysql_sql.y:3106 10410 { 10411 vc := tree.NewValuesClause(yyDollar[6].rowsExprsUnion()) 10412 yyLOCAL = &tree.Insert{ 10413 Columns: yyDollar[2].identifierListUnion(), 10414 Accounts: yyDollar[4].identifierListUnion(), 10415 Rows: tree.NewSelect(vc, nil, nil), 10416 } 10417 } 10418 yyVAL.union = yyLOCAL 10419 case 489: 10420 yyDollar = yyS[yypt-5 : yypt+1] 10421 var yyLOCAL *tree.Insert 10422 //line mysql_sql.y:3115 10423 { 10424 vc := tree.NewValuesClause(yyDollar[5].rowsExprsUnion()) 10425 yyLOCAL = &tree.Insert{ 10426 Accounts: yyDollar[3].identifierListUnion(), 10427 Rows: tree.NewSelect(vc, nil, nil), 10428 } 10429 } 10430 yyVAL.union = yyLOCAL 10431 case 490: 10432 yyDollar = yyS[yypt-5 : yypt+1] 10433 var yyLOCAL *tree.Insert 10434 //line mysql_sql.y:3123 10435 { 10436 yyLOCAL = &tree.Insert{ 10437 Columns: yyDollar[2].identifierListUnion(), 10438 Accounts: yyDollar[4].identifierListUnion(), 10439 Rows: yyDollar[5].selectUnion(), 10440 } 10441 } 10442 yyVAL.union = yyLOCAL 10443 case 491: 10444 yyDollar = yyS[yypt-3 : yypt+1] 10445 var yyLOCAL *tree.Insert 10446 //line mysql_sql.y:3131 10447 { 10448 if yyDollar[3].assignmentsUnion() == nil { 10449 yylex.Error("the set list of insert can not be empty") 10450 return 1 10451 } 10452 var identList tree.IdentifierList 10453 var valueList tree.Exprs 10454 for _, a := range yyDollar[3].assignmentsUnion() { 10455 identList = append(identList, a.Column) 10456 valueList = append(valueList, a.Expr) 10457 } 10458 vc := tree.NewValuesClause([]tree.Exprs{valueList}) 10459 yyLOCAL = &tree.Insert{ 10460 Columns: identList, 10461 Accounts: yyDollar[1].identifierListUnion(), 10462 Rows: tree.NewSelect(vc, nil, nil), 10463 } 10464 } 10465 yyVAL.union = yyLOCAL 10466 case 492: 10467 yyDollar = yyS[yypt-0 : yypt+1] 10468 var yyLOCAL tree.UpdateExprs 10469 //line mysql_sql.y:3151 10470 { 10471 yyLOCAL = []*tree.UpdateExpr{} 10472 } 10473 yyVAL.union = yyLOCAL 10474 case 493: 10475 yyDollar = yyS[yypt-5 : yypt+1] 10476 var yyLOCAL tree.UpdateExprs 10477 //line mysql_sql.y:3155 10478 { 10479 yyLOCAL = yyDollar[5].updateExprsUnion() 10480 } 10481 yyVAL.union = yyLOCAL 10482 case 494: 10483 yyDollar = yyS[yypt-0 : yypt+1] 10484 var yyLOCAL []*tree.Assignment 10485 //line mysql_sql.y:3160 10486 { 10487 yyLOCAL = nil 10488 } 10489 yyVAL.union = yyLOCAL 10490 case 495: 10491 yyDollar = yyS[yypt-1 : yypt+1] 10492 var yyLOCAL []*tree.Assignment 10493 //line mysql_sql.y:3164 10494 { 10495 yyLOCAL = []*tree.Assignment{yyDollar[1].assignmentUnion()} 10496 } 10497 yyVAL.union = yyLOCAL 10498 case 496: 10499 yyDollar = yyS[yypt-3 : yypt+1] 10500 var yyLOCAL []*tree.Assignment 10501 //line mysql_sql.y:3168 10502 { 10503 yyLOCAL = append(yyDollar[1].assignmentsUnion(), yyDollar[3].assignmentUnion()) 10504 } 10505 yyVAL.union = yyLOCAL 10506 case 497: 10507 yyDollar = yyS[yypt-3 : yypt+1] 10508 var yyLOCAL *tree.Assignment 10509 //line mysql_sql.y:3174 10510 { 10511 yyLOCAL = &tree.Assignment{ 10512 Column: tree.Identifier(yyDollar[1].str), 10513 Expr: yyDollar[3].exprUnion(), 10514 } 10515 } 10516 yyVAL.union = yyLOCAL 10517 case 498: 10518 yyDollar = yyS[yypt-1 : yypt+1] 10519 var yyLOCAL tree.IdentifierList 10520 //line mysql_sql.y:3183 10521 { 10522 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} 10523 } 10524 yyVAL.union = yyLOCAL 10525 case 499: 10526 yyDollar = yyS[yypt-3 : yypt+1] 10527 var yyLOCAL tree.IdentifierList 10528 //line mysql_sql.y:3187 10529 { 10530 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) 10531 } 10532 yyVAL.union = yyLOCAL 10533 case 500: 10534 yyDollar = yyS[yypt-1 : yypt+1] 10535 //line mysql_sql.y:3193 10536 { 10537 yyVAL.str = yyDollar[1].str 10538 } 10539 case 501: 10540 yyDollar = yyS[yypt-3 : yypt+1] 10541 //line mysql_sql.y:3197 10542 { 10543 yyVAL.str = yyDollar[3].str 10544 } 10545 case 502: 10546 yyDollar = yyS[yypt-1 : yypt+1] 10547 var yyLOCAL []tree.Exprs 10548 //line mysql_sql.y:3203 10549 { 10550 yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} 10551 } 10552 yyVAL.union = yyLOCAL 10553 case 503: 10554 yyDollar = yyS[yypt-3 : yypt+1] 10555 var yyLOCAL []tree.Exprs 10556 //line mysql_sql.y:3207 10557 { 10558 yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) 10559 } 10560 yyVAL.union = yyLOCAL 10561 case 504: 10562 yyDollar = yyS[yypt-4 : yypt+1] 10563 var yyLOCAL tree.Exprs 10564 //line mysql_sql.y:3213 10565 { 10566 yyLOCAL = yyDollar[3].exprsUnion() 10567 } 10568 yyVAL.union = yyLOCAL 10569 case 505: 10570 yyDollar = yyS[yypt-0 : yypt+1] 10571 //line mysql_sql.y:3218 10572 { 10573 } 10574 case 507: 10575 yyDollar = yyS[yypt-0 : yypt+1] 10576 var yyLOCAL tree.Exprs 10577 //line mysql_sql.y:3222 10578 { 10579 yyLOCAL = nil 10580 } 10581 yyVAL.union = yyLOCAL 10582 case 509: 10583 yyDollar = yyS[yypt-1 : yypt+1] 10584 var yyLOCAL tree.Exprs 10585 //line mysql_sql.y:3229 10586 { 10587 yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} 10588 } 10589 yyVAL.union = yyLOCAL 10590 case 510: 10591 yyDollar = yyS[yypt-3 : yypt+1] 10592 var yyLOCAL tree.Exprs 10593 //line mysql_sql.y:3233 10594 { 10595 yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) 10596 } 10597 yyVAL.union = yyLOCAL 10598 case 512: 10599 yyDollar = yyS[yypt-1 : yypt+1] 10600 var yyLOCAL tree.Expr 10601 //line mysql_sql.y:3240 10602 { 10603 yyLOCAL = &tree.DefaultVal{} 10604 } 10605 yyVAL.union = yyLOCAL 10606 case 513: 10607 yyDollar = yyS[yypt-0 : yypt+1] 10608 var yyLOCAL tree.IdentifierList 10609 //line mysql_sql.y:3245 10610 { 10611 yyLOCAL = nil 10612 } 10613 yyVAL.union = yyLOCAL 10614 case 514: 10615 yyDollar = yyS[yypt-4 : yypt+1] 10616 var yyLOCAL tree.IdentifierList 10617 //line mysql_sql.y:3249 10618 { 10619 yyLOCAL = yyDollar[3].identifierListUnion() 10620 } 10621 yyVAL.union = yyLOCAL 10622 case 515: 10623 yyDollar = yyS[yypt-1 : yypt+1] 10624 var yyLOCAL tree.IdentifierList 10625 //line mysql_sql.y:3255 10626 { 10627 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} 10628 } 10629 yyVAL.union = yyLOCAL 10630 case 516: 10631 yyDollar = yyS[yypt-3 : yypt+1] 10632 var yyLOCAL tree.IdentifierList 10633 //line mysql_sql.y:3259 10634 { 10635 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) 10636 } 10637 yyVAL.union = yyLOCAL 10638 case 517: 10639 yyDollar = yyS[yypt-2 : yypt+1] 10640 var yyLOCAL tree.TableExpr 10641 //line mysql_sql.y:3265 10642 { 10643 yyLOCAL = yyDollar[2].tableNameUnion() 10644 } 10645 yyVAL.union = yyLOCAL 10646 case 518: 10647 yyDollar = yyS[yypt-1 : yypt+1] 10648 var yyLOCAL tree.TableExpr 10649 //line mysql_sql.y:3269 10650 { 10651 yyLOCAL = yyDollar[1].tableNameUnion() 10652 } 10653 yyVAL.union = yyLOCAL 10654 case 519: 10655 yyDollar = yyS[yypt-0 : yypt+1] 10656 var yyLOCAL *tree.ExportParam 10657 //line mysql_sql.y:3274 10658 { 10659 yyLOCAL = nil 10660 } 10661 yyVAL.union = yyLOCAL 10662 case 520: 10663 yyDollar = yyS[yypt-8 : yypt+1] 10664 var yyLOCAL *tree.ExportParam 10665 //line mysql_sql.y:3278 10666 { 10667 yyLOCAL = &tree.ExportParam{ 10668 Outfile: true, 10669 FilePath: yyDollar[3].str, 10670 Fields: yyDollar[4].fieldsUnion(), 10671 Lines: yyDollar[5].linesUnion(), 10672 Header: yyDollar[6].unsignedOptUnion(), 10673 MaxFileSize: uint64(yyDollar[7].int64ValUnion()) * 1024, 10674 ForceQuote: yyDollar[8].strsUnion(), 10675 } 10676 } 10677 yyVAL.union = yyLOCAL 10678 case 521: 10679 yyDollar = yyS[yypt-0 : yypt+1] 10680 var yyLOCAL *tree.Fields 10681 //line mysql_sql.y:3291 10682 { 10683 yyLOCAL = &tree.Fields{ 10684 Terminated: ",", 10685 EnclosedBy: '"', 10686 } 10687 } 10688 yyVAL.union = yyLOCAL 10689 case 522: 10690 yyDollar = yyS[yypt-4 : yypt+1] 10691 var yyLOCAL *tree.Fields 10692 //line mysql_sql.y:3298 10693 { 10694 yyLOCAL = &tree.Fields{ 10695 Terminated: yyDollar[4].str, 10696 EnclosedBy: '"', 10697 } 10698 } 10699 yyVAL.union = yyLOCAL 10700 case 523: 10701 yyDollar = yyS[yypt-7 : yypt+1] 10702 var yyLOCAL *tree.Fields 10703 //line mysql_sql.y:3305 10704 { 10705 str := yyDollar[7].str 10706 if str != "\\" && len(str) > 1 { 10707 yylex.Error("export1 error field terminator") 10708 return 1 10709 } 10710 var b byte 10711 if len(str) != 0 { 10712 b = byte(str[0]) 10713 } else { 10714 b = 0 10715 } 10716 yyLOCAL = &tree.Fields{ 10717 Terminated: yyDollar[4].str, 10718 EnclosedBy: b, 10719 } 10720 } 10721 yyVAL.union = yyLOCAL 10722 case 524: 10723 yyDollar = yyS[yypt-4 : yypt+1] 10724 var yyLOCAL *tree.Fields 10725 //line mysql_sql.y:3323 10726 { 10727 str := yyDollar[4].str 10728 if str != "\\" && len(str) > 1 { 10729 yylex.Error("export2 error field terminator") 10730 return 1 10731 } 10732 var b byte 10733 if len(str) != 0 { 10734 b = byte(str[0]) 10735 } else { 10736 b = 0 10737 } 10738 yyLOCAL = &tree.Fields{ 10739 Terminated: ",", 10740 EnclosedBy: b, 10741 } 10742 } 10743 yyVAL.union = yyLOCAL 10744 case 525: 10745 yyDollar = yyS[yypt-0 : yypt+1] 10746 var yyLOCAL *tree.Lines 10747 //line mysql_sql.y:3342 10748 { 10749 yyLOCAL = &tree.Lines{ 10750 TerminatedBy: "\n", 10751 } 10752 } 10753 yyVAL.union = yyLOCAL 10754 case 526: 10755 yyDollar = yyS[yypt-2 : yypt+1] 10756 var yyLOCAL *tree.Lines 10757 //line mysql_sql.y:3348 10758 { 10759 yyLOCAL = &tree.Lines{ 10760 TerminatedBy: yyDollar[2].str, 10761 } 10762 } 10763 yyVAL.union = yyLOCAL 10764 case 527: 10765 yyDollar = yyS[yypt-0 : yypt+1] 10766 var yyLOCAL bool 10767 //line mysql_sql.y:3355 10768 { 10769 yyLOCAL = true 10770 } 10771 yyVAL.union = yyLOCAL 10772 case 528: 10773 yyDollar = yyS[yypt-2 : yypt+1] 10774 var yyLOCAL bool 10775 //line mysql_sql.y:3359 10776 { 10777 str := strings.ToLower(yyDollar[2].str) 10778 if str == "true" { 10779 yyLOCAL = true 10780 } else if str == "false" { 10781 yyLOCAL = false 10782 } else { 10783 yylex.Error("error header flag") 10784 return 1 10785 } 10786 } 10787 yyVAL.union = yyLOCAL 10788 case 529: 10789 yyDollar = yyS[yypt-0 : yypt+1] 10790 var yyLOCAL int64 10791 //line mysql_sql.y:3372 10792 { 10793 yyLOCAL = 0 10794 } 10795 yyVAL.union = yyLOCAL 10796 case 530: 10797 yyDollar = yyS[yypt-2 : yypt+1] 10798 var yyLOCAL int64 10799 //line mysql_sql.y:3376 10800 { 10801 yyLOCAL = yyDollar[2].item.(int64) 10802 } 10803 yyVAL.union = yyLOCAL 10804 case 531: 10805 yyDollar = yyS[yypt-0 : yypt+1] 10806 var yyLOCAL []string 10807 //line mysql_sql.y:3381 10808 { 10809 yyLOCAL = []string{} 10810 } 10811 yyVAL.union = yyLOCAL 10812 case 532: 10813 yyDollar = yyS[yypt-4 : yypt+1] 10814 var yyLOCAL []string 10815 //line mysql_sql.y:3385 10816 { 10817 yyLOCAL = yyDollar[3].strsUnion() 10818 } 10819 yyVAL.union = yyLOCAL 10820 case 533: 10821 yyDollar = yyS[yypt-1 : yypt+1] 10822 var yyLOCAL []string 10823 //line mysql_sql.y:3392 10824 { 10825 yyLOCAL = make([]string, 0, 4) 10826 yyLOCAL = append(yyLOCAL, yyDollar[1].str) 10827 } 10828 yyVAL.union = yyLOCAL 10829 case 534: 10830 yyDollar = yyS[yypt-3 : yypt+1] 10831 var yyLOCAL []string 10832 //line mysql_sql.y:3397 10833 { 10834 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 10835 } 10836 yyVAL.union = yyLOCAL 10837 case 536: 10838 yyDollar = yyS[yypt-1 : yypt+1] 10839 var yyLOCAL *tree.Select 10840 //line mysql_sql.y:3404 10841 { 10842 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion()} 10843 } 10844 yyVAL.union = yyLOCAL 10845 case 537: 10846 yyDollar = yyS[yypt-4 : yypt+1] 10847 var yyLOCAL *tree.Select 10848 //line mysql_sql.y:3410 10849 { 10850 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), OrderBy: yyDollar[2].orderByUnion(), Limit: yyDollar[3].limitUnion(), Ep: yyDollar[4].exportParmUnion()} 10851 } 10852 yyVAL.union = yyLOCAL 10853 case 538: 10854 yyDollar = yyS[yypt-3 : yypt+1] 10855 var yyLOCAL *tree.Select 10856 //line mysql_sql.y:3414 10857 { 10858 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), OrderBy: yyDollar[2].orderByUnion(), Ep: yyDollar[3].exportParmUnion()} 10859 } 10860 yyVAL.union = yyLOCAL 10861 case 539: 10862 yyDollar = yyS[yypt-4 : yypt+1] 10863 var yyLOCAL *tree.Select 10864 //line mysql_sql.y:3418 10865 { 10866 yyLOCAL = &tree.Select{Select: yyDollar[1].selectStatementUnion(), OrderBy: yyDollar[2].orderByUnion(), Limit: yyDollar[3].limitUnion(), Ep: yyDollar[4].exportParmUnion()} 10867 } 10868 yyVAL.union = yyLOCAL 10869 case 540: 10870 yyDollar = yyS[yypt-5 : yypt+1] 10871 var yyLOCAL *tree.Select 10872 //line mysql_sql.y:3422 10873 { 10874 yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), With: yyDollar[1].withClauseUnion()} 10875 } 10876 yyVAL.union = yyLOCAL 10877 case 541: 10878 yyDollar = yyS[yypt-4 : yypt+1] 10879 var yyLOCAL *tree.Select 10880 //line mysql_sql.y:3426 10881 { 10882 yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Ep: yyDollar[4].exportParmUnion(), With: yyDollar[1].withClauseUnion()} 10883 } 10884 yyVAL.union = yyLOCAL 10885 case 542: 10886 yyDollar = yyS[yypt-5 : yypt+1] 10887 var yyLOCAL *tree.Select 10888 //line mysql_sql.y:3430 10889 { 10890 yyLOCAL = &tree.Select{Select: yyDollar[2].selectStatementUnion(), OrderBy: yyDollar[3].orderByUnion(), Limit: yyDollar[4].limitUnion(), Ep: yyDollar[5].exportParmUnion(), With: yyDollar[1].withClauseUnion()} 10891 } 10892 yyVAL.union = yyLOCAL 10893 case 543: 10894 yyDollar = yyS[yypt-2 : yypt+1] 10895 var yyLOCAL *tree.With 10896 //line mysql_sql.y:3436 10897 { 10898 yyLOCAL = &tree.With{ 10899 IsRecursive: false, 10900 CTEs: yyDollar[2].cteListUnion(), 10901 } 10902 } 10903 yyVAL.union = yyLOCAL 10904 case 544: 10905 yyDollar = yyS[yypt-3 : yypt+1] 10906 var yyLOCAL *tree.With 10907 //line mysql_sql.y:3443 10908 { 10909 yyLOCAL = &tree.With{ 10910 IsRecursive: true, 10911 CTEs: yyDollar[3].cteListUnion(), 10912 } 10913 } 10914 yyVAL.union = yyLOCAL 10915 case 545: 10916 yyDollar = yyS[yypt-1 : yypt+1] 10917 var yyLOCAL []*tree.CTE 10918 //line mysql_sql.y:3452 10919 { 10920 yyLOCAL = []*tree.CTE{yyDollar[1].cteUnion()} 10921 } 10922 yyVAL.union = yyLOCAL 10923 case 546: 10924 yyDollar = yyS[yypt-3 : yypt+1] 10925 var yyLOCAL []*tree.CTE 10926 //line mysql_sql.y:3456 10927 { 10928 yyLOCAL = append(yyDollar[1].cteListUnion(), yyDollar[3].cteUnion()) 10929 } 10930 yyVAL.union = yyLOCAL 10931 case 547: 10932 yyDollar = yyS[yypt-6 : yypt+1] 10933 var yyLOCAL *tree.CTE 10934 //line mysql_sql.y:3462 10935 { 10936 yyLOCAL = &tree.CTE{ 10937 Name: &tree.AliasClause{Alias: tree.Identifier(yyDollar[1].str), Cols: yyDollar[2].identifierListUnion()}, 10938 Stmt: yyDollar[5].statementUnion(), 10939 } 10940 } 10941 yyVAL.union = yyLOCAL 10942 case 548: 10943 yyDollar = yyS[yypt-0 : yypt+1] 10944 var yyLOCAL tree.IdentifierList 10945 //line mysql_sql.y:3470 10946 { 10947 yyLOCAL = nil 10948 } 10949 yyVAL.union = yyLOCAL 10950 case 549: 10951 yyDollar = yyS[yypt-3 : yypt+1] 10952 var yyLOCAL tree.IdentifierList 10953 //line mysql_sql.y:3474 10954 { 10955 yyLOCAL = yyDollar[2].identifierListUnion() 10956 } 10957 yyVAL.union = yyLOCAL 10958 case 550: 10959 yyDollar = yyS[yypt-0 : yypt+1] 10960 var yyLOCAL *tree.Limit 10961 //line mysql_sql.y:3479 10962 { 10963 yyLOCAL = nil 10964 } 10965 yyVAL.union = yyLOCAL 10966 case 551: 10967 yyDollar = yyS[yypt-1 : yypt+1] 10968 var yyLOCAL *tree.Limit 10969 //line mysql_sql.y:3483 10970 { 10971 yyLOCAL = yyDollar[1].limitUnion() 10972 } 10973 yyVAL.union = yyLOCAL 10974 case 552: 10975 yyDollar = yyS[yypt-2 : yypt+1] 10976 var yyLOCAL *tree.Limit 10977 //line mysql_sql.y:3489 10978 { 10979 yyLOCAL = &tree.Limit{Count: yyDollar[2].exprUnion()} 10980 } 10981 yyVAL.union = yyLOCAL 10982 case 553: 10983 yyDollar = yyS[yypt-4 : yypt+1] 10984 var yyLOCAL *tree.Limit 10985 //line mysql_sql.y:3493 10986 { 10987 yyLOCAL = &tree.Limit{Offset: yyDollar[2].exprUnion(), Count: yyDollar[4].exprUnion()} 10988 } 10989 yyVAL.union = yyLOCAL 10990 case 554: 10991 yyDollar = yyS[yypt-4 : yypt+1] 10992 var yyLOCAL *tree.Limit 10993 //line mysql_sql.y:3497 10994 { 10995 yyLOCAL = &tree.Limit{Offset: yyDollar[4].exprUnion(), Count: yyDollar[2].exprUnion()} 10996 } 10997 yyVAL.union = yyLOCAL 10998 case 555: 10999 yyDollar = yyS[yypt-0 : yypt+1] 11000 var yyLOCAL tree.OrderBy 11001 //line mysql_sql.y:3502 11002 { 11003 yyLOCAL = nil 11004 } 11005 yyVAL.union = yyLOCAL 11006 case 556: 11007 yyDollar = yyS[yypt-1 : yypt+1] 11008 var yyLOCAL tree.OrderBy 11009 //line mysql_sql.y:3506 11010 { 11011 yyLOCAL = yyDollar[1].orderByUnion() 11012 } 11013 yyVAL.union = yyLOCAL 11014 case 557: 11015 yyDollar = yyS[yypt-3 : yypt+1] 11016 var yyLOCAL tree.OrderBy 11017 //line mysql_sql.y:3512 11018 { 11019 yyLOCAL = yyDollar[3].orderByUnion() 11020 } 11021 yyVAL.union = yyLOCAL 11022 case 558: 11023 yyDollar = yyS[yypt-1 : yypt+1] 11024 var yyLOCAL tree.OrderBy 11025 //line mysql_sql.y:3518 11026 { 11027 yyLOCAL = tree.OrderBy{yyDollar[1].orderUnion()} 11028 } 11029 yyVAL.union = yyLOCAL 11030 case 559: 11031 yyDollar = yyS[yypt-3 : yypt+1] 11032 var yyLOCAL tree.OrderBy 11033 //line mysql_sql.y:3522 11034 { 11035 yyLOCAL = append(yyDollar[1].orderByUnion(), yyDollar[3].orderUnion()) 11036 } 11037 yyVAL.union = yyLOCAL 11038 case 560: 11039 yyDollar = yyS[yypt-3 : yypt+1] 11040 var yyLOCAL *tree.Order 11041 //line mysql_sql.y:3528 11042 { 11043 yyLOCAL = &tree.Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].directionUnion(), NullsPosition: yyDollar[3].nullsPositionUnion()} 11044 } 11045 yyVAL.union = yyLOCAL 11046 case 561: 11047 yyDollar = yyS[yypt-0 : yypt+1] 11048 var yyLOCAL tree.Direction 11049 //line mysql_sql.y:3533 11050 { 11051 yyLOCAL = tree.DefaultDirection 11052 } 11053 yyVAL.union = yyLOCAL 11054 case 562: 11055 yyDollar = yyS[yypt-1 : yypt+1] 11056 var yyLOCAL tree.Direction 11057 //line mysql_sql.y:3537 11058 { 11059 yyLOCAL = tree.Ascending 11060 } 11061 yyVAL.union = yyLOCAL 11062 case 563: 11063 yyDollar = yyS[yypt-1 : yypt+1] 11064 var yyLOCAL tree.Direction 11065 //line mysql_sql.y:3541 11066 { 11067 yyLOCAL = tree.Descending 11068 } 11069 yyVAL.union = yyLOCAL 11070 case 564: 11071 yyDollar = yyS[yypt-0 : yypt+1] 11072 var yyLOCAL tree.NullsPosition 11073 //line mysql_sql.y:3546 11074 { 11075 yyLOCAL = tree.DefaultNullsPosition 11076 } 11077 yyVAL.union = yyLOCAL 11078 case 565: 11079 yyDollar = yyS[yypt-2 : yypt+1] 11080 var yyLOCAL tree.NullsPosition 11081 //line mysql_sql.y:3550 11082 { 11083 yyLOCAL = tree.NullsFirst 11084 } 11085 yyVAL.union = yyLOCAL 11086 case 566: 11087 yyDollar = yyS[yypt-2 : yypt+1] 11088 var yyLOCAL tree.NullsPosition 11089 //line mysql_sql.y:3554 11090 { 11091 yyLOCAL = tree.NullsLast 11092 } 11093 yyVAL.union = yyLOCAL 11094 case 567: 11095 yyDollar = yyS[yypt-3 : yypt+1] 11096 var yyLOCAL tree.SelectStatement 11097 //line mysql_sql.y:3560 11098 { 11099 yyLOCAL = &tree.ParenSelect{Select: yyDollar[2].selectUnion()} 11100 } 11101 yyVAL.union = yyLOCAL 11102 case 568: 11103 yyDollar = yyS[yypt-3 : yypt+1] 11104 var yyLOCAL tree.SelectStatement 11105 //line mysql_sql.y:3564 11106 { 11107 yyLOCAL = &tree.ParenSelect{Select: &tree.Select{Select: yyDollar[2].selectStatementUnion()}} 11108 } 11109 yyVAL.union = yyLOCAL 11110 case 569: 11111 yyDollar = yyS[yypt-3 : yypt+1] 11112 var yyLOCAL tree.SelectStatement 11113 //line mysql_sql.y:3568 11114 { 11115 valuesStmt := yyDollar[2].statementUnion().(*tree.ValuesStatement) 11116 yyLOCAL = &tree.ParenSelect{Select: &tree.Select{ 11117 Select: &tree.ValuesClause{ 11118 Rows: valuesStmt.Rows, 11119 RowWord: true, 11120 }, 11121 OrderBy: valuesStmt.OrderBy, 11122 Limit: valuesStmt.Limit, 11123 }} 11124 } 11125 yyVAL.union = yyLOCAL 11126 case 570: 11127 yyDollar = yyS[yypt-1 : yypt+1] 11128 var yyLOCAL tree.SelectStatement 11129 //line mysql_sql.y:3582 11130 { 11131 yyLOCAL = yyDollar[1].selectStatementUnion() 11132 } 11133 yyVAL.union = yyLOCAL 11134 case 571: 11135 yyDollar = yyS[yypt-3 : yypt+1] 11136 var yyLOCAL tree.SelectStatement 11137 //line mysql_sql.y:3586 11138 { 11139 yyLOCAL = &tree.UnionClause{ 11140 Type: yyDollar[2].unionTypeRecordUnion().Type, 11141 Left: yyDollar[1].selectStatementUnion(), 11142 Right: yyDollar[3].selectStatementUnion(), 11143 All: yyDollar[2].unionTypeRecordUnion().All, 11144 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 11145 } 11146 } 11147 yyVAL.union = yyLOCAL 11148 case 572: 11149 yyDollar = yyS[yypt-3 : yypt+1] 11150 var yyLOCAL tree.SelectStatement 11151 //line mysql_sql.y:3596 11152 { 11153 yyLOCAL = &tree.UnionClause{ 11154 Type: yyDollar[2].unionTypeRecordUnion().Type, 11155 Left: yyDollar[1].selectStatementUnion(), 11156 Right: yyDollar[3].selectStatementUnion(), 11157 All: yyDollar[2].unionTypeRecordUnion().All, 11158 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 11159 } 11160 } 11161 yyVAL.union = yyLOCAL 11162 case 573: 11163 yyDollar = yyS[yypt-3 : yypt+1] 11164 var yyLOCAL tree.SelectStatement 11165 //line mysql_sql.y:3606 11166 { 11167 yyLOCAL = &tree.UnionClause{ 11168 Type: yyDollar[2].unionTypeRecordUnion().Type, 11169 Left: yyDollar[1].selectStatementUnion(), 11170 Right: yyDollar[3].selectStatementUnion(), 11171 All: yyDollar[2].unionTypeRecordUnion().All, 11172 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 11173 } 11174 } 11175 yyVAL.union = yyLOCAL 11176 case 574: 11177 yyDollar = yyS[yypt-3 : yypt+1] 11178 var yyLOCAL tree.SelectStatement 11179 //line mysql_sql.y:3616 11180 { 11181 yyLOCAL = &tree.UnionClause{ 11182 Type: yyDollar[2].unionTypeRecordUnion().Type, 11183 Left: yyDollar[1].selectStatementUnion(), 11184 Right: yyDollar[3].selectStatementUnion(), 11185 All: yyDollar[2].unionTypeRecordUnion().All, 11186 Distinct: yyDollar[2].unionTypeRecordUnion().Distinct, 11187 } 11188 } 11189 yyVAL.union = yyLOCAL 11190 case 575: 11191 yyDollar = yyS[yypt-1 : yypt+1] 11192 var yyLOCAL *tree.UnionTypeRecord 11193 //line mysql_sql.y:3628 11194 { 11195 yyLOCAL = &tree.UnionTypeRecord{ 11196 Type: tree.UNION, 11197 All: false, 11198 Distinct: false, 11199 } 11200 } 11201 yyVAL.union = yyLOCAL 11202 case 576: 11203 yyDollar = yyS[yypt-2 : yypt+1] 11204 var yyLOCAL *tree.UnionTypeRecord 11205 //line mysql_sql.y:3636 11206 { 11207 yyLOCAL = &tree.UnionTypeRecord{ 11208 Type: tree.UNION, 11209 All: true, 11210 Distinct: false, 11211 } 11212 } 11213 yyVAL.union = yyLOCAL 11214 case 577: 11215 yyDollar = yyS[yypt-2 : yypt+1] 11216 var yyLOCAL *tree.UnionTypeRecord 11217 //line mysql_sql.y:3644 11218 { 11219 yyLOCAL = &tree.UnionTypeRecord{ 11220 Type: tree.UNION, 11221 All: false, 11222 Distinct: true, 11223 } 11224 } 11225 yyVAL.union = yyLOCAL 11226 case 578: 11227 yyDollar = yyS[yypt-1 : yypt+1] 11228 var yyLOCAL *tree.UnionTypeRecord 11229 //line mysql_sql.y:3653 11230 { 11231 yyLOCAL = &tree.UnionTypeRecord{ 11232 Type: tree.EXCEPT, 11233 All: false, 11234 Distinct: false, 11235 } 11236 } 11237 yyVAL.union = yyLOCAL 11238 case 579: 11239 yyDollar = yyS[yypt-2 : yypt+1] 11240 var yyLOCAL *tree.UnionTypeRecord 11241 //line mysql_sql.y:3661 11242 { 11243 yyLOCAL = &tree.UnionTypeRecord{ 11244 Type: tree.EXCEPT, 11245 All: true, 11246 Distinct: false, 11247 } 11248 } 11249 yyVAL.union = yyLOCAL 11250 case 580: 11251 yyDollar = yyS[yypt-2 : yypt+1] 11252 var yyLOCAL *tree.UnionTypeRecord 11253 //line mysql_sql.y:3669 11254 { 11255 yyLOCAL = &tree.UnionTypeRecord{ 11256 Type: tree.EXCEPT, 11257 All: false, 11258 Distinct: true, 11259 } 11260 } 11261 yyVAL.union = yyLOCAL 11262 case 581: 11263 yyDollar = yyS[yypt-1 : yypt+1] 11264 var yyLOCAL *tree.UnionTypeRecord 11265 //line mysql_sql.y:3677 11266 { 11267 yyLOCAL = &tree.UnionTypeRecord{ 11268 Type: tree.INTERSECT, 11269 All: false, 11270 Distinct: false, 11271 } 11272 } 11273 yyVAL.union = yyLOCAL 11274 case 582: 11275 yyDollar = yyS[yypt-2 : yypt+1] 11276 var yyLOCAL *tree.UnionTypeRecord 11277 //line mysql_sql.y:3685 11278 { 11279 yyLOCAL = &tree.UnionTypeRecord{ 11280 Type: tree.INTERSECT, 11281 All: true, 11282 Distinct: false, 11283 } 11284 } 11285 yyVAL.union = yyLOCAL 11286 case 583: 11287 yyDollar = yyS[yypt-2 : yypt+1] 11288 var yyLOCAL *tree.UnionTypeRecord 11289 //line mysql_sql.y:3693 11290 { 11291 yyLOCAL = &tree.UnionTypeRecord{ 11292 Type: tree.INTERSECT, 11293 All: false, 11294 Distinct: true, 11295 } 11296 } 11297 yyVAL.union = yyLOCAL 11298 case 584: 11299 yyDollar = yyS[yypt-1 : yypt+1] 11300 var yyLOCAL *tree.UnionTypeRecord 11301 //line mysql_sql.y:3701 11302 { 11303 yyLOCAL = &tree.UnionTypeRecord{ 11304 Type: tree.UT_MINUS, 11305 All: false, 11306 Distinct: false, 11307 } 11308 } 11309 yyVAL.union = yyLOCAL 11310 case 585: 11311 yyDollar = yyS[yypt-2 : yypt+1] 11312 var yyLOCAL *tree.UnionTypeRecord 11313 //line mysql_sql.y:3709 11314 { 11315 yyLOCAL = &tree.UnionTypeRecord{ 11316 Type: tree.UT_MINUS, 11317 All: true, 11318 Distinct: false, 11319 } 11320 } 11321 yyVAL.union = yyLOCAL 11322 case 586: 11323 yyDollar = yyS[yypt-2 : yypt+1] 11324 var yyLOCAL *tree.UnionTypeRecord 11325 //line mysql_sql.y:3717 11326 { 11327 yyLOCAL = &tree.UnionTypeRecord{ 11328 Type: tree.UT_MINUS, 11329 All: false, 11330 Distinct: true, 11331 } 11332 } 11333 yyVAL.union = yyLOCAL 11334 case 587: 11335 yyDollar = yyS[yypt-7 : yypt+1] 11336 var yyLOCAL tree.SelectStatement 11337 //line mysql_sql.y:3727 11338 { 11339 yyLOCAL = &tree.SelectClause{ 11340 Distinct: yyDollar[2].boolValUnion(), 11341 Exprs: yyDollar[3].selectExprsUnion(), 11342 From: yyDollar[4].fromUnion(), 11343 Where: yyDollar[5].whereUnion(), 11344 GroupBy: yyDollar[6].groupByUnion(), 11345 Having: yyDollar[7].whereUnion(), 11346 } 11347 } 11348 yyVAL.union = yyLOCAL 11349 case 588: 11350 yyDollar = yyS[yypt-7 : yypt+1] 11351 var yyLOCAL tree.SelectStatement 11352 //line mysql_sql.y:3738 11353 { 11354 yyLOCAL = &tree.SelectClause{ 11355 Distinct: false, 11356 Exprs: yyDollar[3].selectExprsUnion(), 11357 From: yyDollar[4].fromUnion(), 11358 Where: yyDollar[5].whereUnion(), 11359 GroupBy: yyDollar[6].groupByUnion(), 11360 Having: yyDollar[7].whereUnion(), 11361 Option: yyDollar[2].str, 11362 } 11363 } 11364 yyVAL.union = yyLOCAL 11365 case 592: 11366 yyDollar = yyS[yypt-0 : yypt+1] 11367 var yyLOCAL bool 11368 //line mysql_sql.y:3756 11369 { 11370 yyLOCAL = false 11371 } 11372 yyVAL.union = yyLOCAL 11373 case 593: 11374 yyDollar = yyS[yypt-1 : yypt+1] 11375 var yyLOCAL bool 11376 //line mysql_sql.y:3760 11377 { 11378 yyLOCAL = false 11379 } 11380 yyVAL.union = yyLOCAL 11381 case 594: 11382 yyDollar = yyS[yypt-1 : yypt+1] 11383 var yyLOCAL bool 11384 //line mysql_sql.y:3764 11385 { 11386 yyLOCAL = true 11387 } 11388 yyVAL.union = yyLOCAL 11389 case 597: 11390 yyDollar = yyS[yypt-0 : yypt+1] 11391 var yyLOCAL *tree.Where 11392 //line mysql_sql.y:3773 11393 { 11394 yyLOCAL = nil 11395 } 11396 yyVAL.union = yyLOCAL 11397 case 598: 11398 yyDollar = yyS[yypt-2 : yypt+1] 11399 var yyLOCAL *tree.Where 11400 //line mysql_sql.y:3777 11401 { 11402 yyLOCAL = &tree.Where{Type: tree.AstHaving, Expr: yyDollar[2].exprUnion()} 11403 } 11404 yyVAL.union = yyLOCAL 11405 case 599: 11406 yyDollar = yyS[yypt-0 : yypt+1] 11407 var yyLOCAL tree.GroupBy 11408 //line mysql_sql.y:3782 11409 { 11410 yyLOCAL = nil 11411 } 11412 yyVAL.union = yyLOCAL 11413 case 600: 11414 yyDollar = yyS[yypt-3 : yypt+1] 11415 var yyLOCAL tree.GroupBy 11416 //line mysql_sql.y:3786 11417 { 11418 yyLOCAL = tree.GroupBy(yyDollar[3].exprsUnion()) 11419 } 11420 yyVAL.union = yyLOCAL 11421 case 601: 11422 yyDollar = yyS[yypt-0 : yypt+1] 11423 var yyLOCAL *tree.Where 11424 //line mysql_sql.y:3791 11425 { 11426 yyLOCAL = nil 11427 } 11428 yyVAL.union = yyLOCAL 11429 case 602: 11430 yyDollar = yyS[yypt-2 : yypt+1] 11431 var yyLOCAL *tree.Where 11432 //line mysql_sql.y:3795 11433 { 11434 yyLOCAL = &tree.Where{Type: tree.AstWhere, Expr: yyDollar[2].exprUnion()} 11435 } 11436 yyVAL.union = yyLOCAL 11437 case 603: 11438 yyDollar = yyS[yypt-1 : yypt+1] 11439 var yyLOCAL tree.SelectExprs 11440 //line mysql_sql.y:3801 11441 { 11442 yyLOCAL = tree.SelectExprs{yyDollar[1].selectExprUnion()} 11443 } 11444 yyVAL.union = yyLOCAL 11445 case 604: 11446 yyDollar = yyS[yypt-3 : yypt+1] 11447 var yyLOCAL tree.SelectExprs 11448 //line mysql_sql.y:3805 11449 { 11450 yyLOCAL = append(yyDollar[1].selectExprsUnion(), yyDollar[3].selectExprUnion()) 11451 } 11452 yyVAL.union = yyLOCAL 11453 case 605: 11454 yyDollar = yyS[yypt-1 : yypt+1] 11455 var yyLOCAL tree.SelectExpr 11456 //line mysql_sql.y:3811 11457 { 11458 yyLOCAL = tree.SelectExpr{Expr: tree.StarExpr()} 11459 } 11460 yyVAL.union = yyLOCAL 11461 case 606: 11462 yyDollar = yyS[yypt-2 : yypt+1] 11463 var yyLOCAL tree.SelectExpr 11464 //line mysql_sql.y:3815 11465 { 11466 yyLOCAL = tree.SelectExpr{Expr: yyDollar[1].exprUnion(), As: tree.UnrestrictedIdentifier(yyDollar[2].str)} 11467 } 11468 yyVAL.union = yyLOCAL 11469 case 607: 11470 yyDollar = yyS[yypt-3 : yypt+1] 11471 var yyLOCAL tree.SelectExpr 11472 //line mysql_sql.y:3819 11473 { 11474 yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[1].str)} 11475 } 11476 yyVAL.union = yyLOCAL 11477 case 608: 11478 yyDollar = yyS[yypt-5 : yypt+1] 11479 var yyLOCAL tree.SelectExpr 11480 //line mysql_sql.y:3823 11481 { 11482 yyLOCAL = tree.SelectExpr{Expr: tree.SetUnresolvedNameWithStar(yyDollar[3].str, yyDollar[1].str)} 11483 } 11484 yyVAL.union = yyLOCAL 11485 case 609: 11486 yyDollar = yyS[yypt-0 : yypt+1] 11487 var yyLOCAL *tree.From 11488 //line mysql_sql.y:3828 11489 { 11490 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 11491 tn := tree.NewTableName(tree.Identifier(""), prefix) 11492 yyLOCAL = &tree.From{ 11493 Tables: tree.TableExprs{&tree.AliasedTableExpr{Expr: tn}}, 11494 } 11495 } 11496 yyVAL.union = yyLOCAL 11497 case 610: 11498 yyDollar = yyS[yypt-1 : yypt+1] 11499 var yyLOCAL *tree.From 11500 //line mysql_sql.y:3836 11501 { 11502 yyLOCAL = yyDollar[1].fromUnion() 11503 } 11504 yyVAL.union = yyLOCAL 11505 case 611: 11506 yyDollar = yyS[yypt-2 : yypt+1] 11507 var yyLOCAL *tree.From 11508 //line mysql_sql.y:3842 11509 { 11510 yyLOCAL = &tree.From{ 11511 Tables: tree.TableExprs{yyDollar[2].joinTableExprUnion()}, 11512 } 11513 } 11514 yyVAL.union = yyLOCAL 11515 case 612: 11516 yyDollar = yyS[yypt-1 : yypt+1] 11517 var yyLOCAL *tree.JoinTableExpr 11518 //line mysql_sql.y:3850 11519 { 11520 if t, ok := yyDollar[1].tableExprUnion().(*tree.JoinTableExpr); ok { 11521 yyLOCAL = t 11522 } else { 11523 yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].tableExprUnion(), Right: nil, JoinType: tree.JOIN_TYPE_CROSS} 11524 } 11525 } 11526 yyVAL.union = yyLOCAL 11527 case 613: 11528 yyDollar = yyS[yypt-3 : yypt+1] 11529 var yyLOCAL *tree.JoinTableExpr 11530 //line mysql_sql.y:3858 11531 { 11532 yyLOCAL = &tree.JoinTableExpr{Left: yyDollar[1].joinTableExprUnion(), Right: yyDollar[3].tableExprUnion(), JoinType: tree.JOIN_TYPE_CROSS} 11533 } 11534 yyVAL.union = yyLOCAL 11535 case 616: 11536 yyDollar = yyS[yypt-1 : yypt+1] 11537 var yyLOCAL tree.TableExpr 11538 //line mysql_sql.y:3868 11539 { 11540 yyLOCAL = yyDollar[1].joinTableExprUnion() 11541 } 11542 yyVAL.union = yyLOCAL 11543 case 617: 11544 yyDollar = yyS[yypt-4 : yypt+1] 11545 var yyLOCAL *tree.JoinTableExpr 11546 //line mysql_sql.y:3874 11547 { 11548 yyLOCAL = &tree.JoinTableExpr{ 11549 Left: yyDollar[1].tableExprUnion(), 11550 JoinType: yyDollar[2].str, 11551 Right: yyDollar[3].tableExprUnion(), 11552 Cond: yyDollar[4].joinCondUnion(), 11553 } 11554 } 11555 yyVAL.union = yyLOCAL 11556 case 618: 11557 yyDollar = yyS[yypt-4 : yypt+1] 11558 var yyLOCAL *tree.JoinTableExpr 11559 //line mysql_sql.y:3883 11560 { 11561 yyLOCAL = &tree.JoinTableExpr{ 11562 Left: yyDollar[1].tableExprUnion(), 11563 JoinType: yyDollar[2].str, 11564 Right: yyDollar[3].tableExprUnion(), 11565 Cond: yyDollar[4].joinCondUnion(), 11566 } 11567 } 11568 yyVAL.union = yyLOCAL 11569 case 619: 11570 yyDollar = yyS[yypt-4 : yypt+1] 11571 var yyLOCAL *tree.JoinTableExpr 11572 //line mysql_sql.y:3892 11573 { 11574 yyLOCAL = &tree.JoinTableExpr{ 11575 Left: yyDollar[1].tableExprUnion(), 11576 JoinType: yyDollar[2].str, 11577 Right: yyDollar[3].tableExprUnion(), 11578 Cond: yyDollar[4].joinCondUnion(), 11579 } 11580 } 11581 yyVAL.union = yyLOCAL 11582 case 620: 11583 yyDollar = yyS[yypt-3 : yypt+1] 11584 var yyLOCAL *tree.JoinTableExpr 11585 //line mysql_sql.y:3901 11586 { 11587 yyLOCAL = &tree.JoinTableExpr{ 11588 Left: yyDollar[1].tableExprUnion(), 11589 JoinType: yyDollar[2].str, 11590 Right: yyDollar[3].tableExprUnion(), 11591 } 11592 } 11593 yyVAL.union = yyLOCAL 11594 case 621: 11595 yyDollar = yyS[yypt-2 : yypt+1] 11596 //line mysql_sql.y:3911 11597 { 11598 yyVAL.str = tree.JOIN_TYPE_NATURAL 11599 } 11600 case 622: 11601 yyDollar = yyS[yypt-2 : yypt+1] 11602 //line mysql_sql.y:3915 11603 { 11604 if yyDollar[2].str == tree.JOIN_TYPE_LEFT { 11605 yyVAL.str = tree.JOIN_TYPE_NATURAL_LEFT 11606 } else { 11607 yyVAL.str = tree.JOIN_TYPE_NATURAL_RIGHT 11608 } 11609 } 11610 case 623: 11611 yyDollar = yyS[yypt-2 : yypt+1] 11612 //line mysql_sql.y:3925 11613 { 11614 yyVAL.str = tree.JOIN_TYPE_LEFT 11615 } 11616 case 624: 11617 yyDollar = yyS[yypt-3 : yypt+1] 11618 //line mysql_sql.y:3929 11619 { 11620 yyVAL.str = tree.JOIN_TYPE_LEFT 11621 } 11622 case 625: 11623 yyDollar = yyS[yypt-2 : yypt+1] 11624 //line mysql_sql.y:3933 11625 { 11626 yyVAL.str = tree.JOIN_TYPE_RIGHT 11627 } 11628 case 626: 11629 yyDollar = yyS[yypt-3 : yypt+1] 11630 //line mysql_sql.y:3937 11631 { 11632 yyVAL.str = tree.JOIN_TYPE_RIGHT 11633 } 11634 case 627: 11635 yyDollar = yyS[yypt-4 : yypt+1] 11636 var yyLOCAL tree.Statement 11637 //line mysql_sql.y:3943 11638 { 11639 yyLOCAL = &tree.ValuesStatement{ 11640 Rows: yyDollar[2].rowsExprsUnion(), 11641 OrderBy: yyDollar[3].orderByUnion(), 11642 Limit: yyDollar[4].limitUnion(), 11643 } 11644 } 11645 yyVAL.union = yyLOCAL 11646 case 628: 11647 yyDollar = yyS[yypt-1 : yypt+1] 11648 var yyLOCAL []tree.Exprs 11649 //line mysql_sql.y:3953 11650 { 11651 yyLOCAL = []tree.Exprs{yyDollar[1].exprsUnion()} 11652 } 11653 yyVAL.union = yyLOCAL 11654 case 629: 11655 yyDollar = yyS[yypt-3 : yypt+1] 11656 var yyLOCAL []tree.Exprs 11657 //line mysql_sql.y:3957 11658 { 11659 yyLOCAL = append(yyDollar[1].rowsExprsUnion(), yyDollar[3].exprsUnion()) 11660 } 11661 yyVAL.union = yyLOCAL 11662 case 630: 11663 yyDollar = yyS[yypt-4 : yypt+1] 11664 var yyLOCAL tree.Exprs 11665 //line mysql_sql.y:3963 11666 { 11667 yyLOCAL = yyDollar[3].exprsUnion() 11668 } 11669 yyVAL.union = yyLOCAL 11670 case 631: 11671 yyDollar = yyS[yypt-0 : yypt+1] 11672 var yyLOCAL tree.JoinCond 11673 //line mysql_sql.y:3969 11674 { 11675 yyLOCAL = nil 11676 } 11677 yyVAL.union = yyLOCAL 11678 case 632: 11679 yyDollar = yyS[yypt-2 : yypt+1] 11680 var yyLOCAL tree.JoinCond 11681 //line mysql_sql.y:3973 11682 { 11683 yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} 11684 } 11685 yyVAL.union = yyLOCAL 11686 case 633: 11687 yyDollar = yyS[yypt-1 : yypt+1] 11688 //line mysql_sql.y:3979 11689 { 11690 yyVAL.str = tree.JOIN_TYPE_STRAIGHT 11691 } 11692 case 634: 11693 yyDollar = yyS[yypt-1 : yypt+1] 11694 //line mysql_sql.y:3985 11695 { 11696 yyVAL.str = tree.JOIN_TYPE_INNER 11697 } 11698 case 635: 11699 yyDollar = yyS[yypt-2 : yypt+1] 11700 //line mysql_sql.y:3989 11701 { 11702 yyVAL.str = tree.JOIN_TYPE_INNER 11703 } 11704 case 636: 11705 yyDollar = yyS[yypt-2 : yypt+1] 11706 //line mysql_sql.y:3993 11707 { 11708 yyVAL.str = tree.JOIN_TYPE_CROSS 11709 } 11710 case 637: 11711 yyDollar = yyS[yypt-0 : yypt+1] 11712 var yyLOCAL tree.JoinCond 11713 //line mysql_sql.y:3999 11714 { 11715 yyLOCAL = nil 11716 } 11717 yyVAL.union = yyLOCAL 11718 case 638: 11719 yyDollar = yyS[yypt-1 : yypt+1] 11720 var yyLOCAL tree.JoinCond 11721 //line mysql_sql.y:4003 11722 { 11723 yyLOCAL = yyDollar[1].joinCondUnion() 11724 } 11725 yyVAL.union = yyLOCAL 11726 case 639: 11727 yyDollar = yyS[yypt-2 : yypt+1] 11728 var yyLOCAL tree.JoinCond 11729 //line mysql_sql.y:4009 11730 { 11731 yyLOCAL = &tree.OnJoinCond{Expr: yyDollar[2].exprUnion()} 11732 } 11733 yyVAL.union = yyLOCAL 11734 case 640: 11735 yyDollar = yyS[yypt-4 : yypt+1] 11736 var yyLOCAL tree.JoinCond 11737 //line mysql_sql.y:4013 11738 { 11739 yyLOCAL = &tree.UsingJoinCond{Cols: yyDollar[3].identifierListUnion()} 11740 } 11741 yyVAL.union = yyLOCAL 11742 case 641: 11743 yyDollar = yyS[yypt-1 : yypt+1] 11744 var yyLOCAL tree.IdentifierList 11745 //line mysql_sql.y:4019 11746 { 11747 yyLOCAL = tree.IdentifierList{tree.Identifier(yyDollar[1].str)} 11748 } 11749 yyVAL.union = yyLOCAL 11750 case 642: 11751 yyDollar = yyS[yypt-3 : yypt+1] 11752 var yyLOCAL tree.IdentifierList 11753 //line mysql_sql.y:4023 11754 { 11755 yyLOCAL = append(yyDollar[1].identifierListUnion(), tree.Identifier(yyDollar[3].str)) 11756 } 11757 yyVAL.union = yyLOCAL 11758 case 643: 11759 yyDollar = yyS[yypt-1 : yypt+1] 11760 var yyLOCAL tree.TableExpr 11761 //line mysql_sql.y:4029 11762 { 11763 yyLOCAL = yyDollar[1].aliasedTableExprUnion() 11764 } 11765 yyVAL.union = yyLOCAL 11766 case 644: 11767 yyDollar = yyS[yypt-3 : yypt+1] 11768 var yyLOCAL tree.TableExpr 11769 //line mysql_sql.y:4033 11770 { 11771 yyLOCAL = &tree.AliasedTableExpr{ 11772 Expr: yyDollar[1].parenTableExprUnion(), 11773 As: tree.AliasClause{ 11774 Alias: tree.Identifier(yyDollar[2].str), 11775 Cols: yyDollar[3].identifierListUnion(), 11776 }, 11777 } 11778 } 11779 yyVAL.union = yyLOCAL 11780 case 645: 11781 yyDollar = yyS[yypt-2 : yypt+1] 11782 var yyLOCAL tree.TableExpr 11783 //line mysql_sql.y:4043 11784 { 11785 if yyDollar[2].str != "" { 11786 yyLOCAL = &tree.AliasedTableExpr{ 11787 Expr: yyDollar[1].tableExprUnion(), 11788 As: tree.AliasClause{ 11789 Alias: tree.Identifier(yyDollar[2].str), 11790 }, 11791 } 11792 } else { 11793 yyLOCAL = yyDollar[1].tableExprUnion() 11794 } 11795 } 11796 yyVAL.union = yyLOCAL 11797 case 646: 11798 yyDollar = yyS[yypt-3 : yypt+1] 11799 var yyLOCAL tree.TableExpr 11800 //line mysql_sql.y:4056 11801 { 11802 yyLOCAL = yyDollar[2].joinTableExprUnion() 11803 } 11804 yyVAL.union = yyLOCAL 11805 case 647: 11806 yyDollar = yyS[yypt-1 : yypt+1] 11807 var yyLOCAL *tree.ParenTableExpr 11808 //line mysql_sql.y:4062 11809 { 11810 yyLOCAL = &tree.ParenTableExpr{Expr: yyDollar[1].selectStatementUnion().(*tree.ParenSelect).Select} 11811 } 11812 yyVAL.union = yyLOCAL 11813 case 648: 11814 yyDollar = yyS[yypt-4 : yypt+1] 11815 var yyLOCAL tree.TableExpr 11816 //line mysql_sql.y:4068 11817 { 11818 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 11819 yyLOCAL = &tree.TableFunction{ 11820 Func: &tree.FuncExpr{ 11821 Func: tree.FuncName2ResolvableFunctionReference(name), 11822 Exprs: yyDollar[3].exprsUnion(), 11823 Type: tree.FUNC_TYPE_TABLE, 11824 }, 11825 } 11826 } 11827 yyVAL.union = yyLOCAL 11828 case 649: 11829 yyDollar = yyS[yypt-3 : yypt+1] 11830 var yyLOCAL *tree.AliasedTableExpr 11831 //line mysql_sql.y:4081 11832 { 11833 yyLOCAL = &tree.AliasedTableExpr{ 11834 Expr: yyDollar[1].tableNameUnion(), 11835 As: tree.AliasClause{ 11836 Alias: tree.Identifier(yyDollar[2].str), 11837 }, 11838 IndexHints: yyDollar[3].indexHintListUnion(), 11839 } 11840 } 11841 yyVAL.union = yyLOCAL 11842 case 650: 11843 yyDollar = yyS[yypt-0 : yypt+1] 11844 var yyLOCAL []*tree.IndexHint 11845 //line mysql_sql.y:4092 11846 { 11847 yyLOCAL = nil 11848 } 11849 yyVAL.union = yyLOCAL 11850 case 652: 11851 yyDollar = yyS[yypt-1 : yypt+1] 11852 var yyLOCAL []*tree.IndexHint 11853 //line mysql_sql.y:4099 11854 { 11855 yyLOCAL = []*tree.IndexHint{yyDollar[1].indexHintUnion()} 11856 } 11857 yyVAL.union = yyLOCAL 11858 case 653: 11859 yyDollar = yyS[yypt-2 : yypt+1] 11860 var yyLOCAL []*tree.IndexHint 11861 //line mysql_sql.y:4103 11862 { 11863 yyLOCAL = append(yyDollar[1].indexHintListUnion(), yyDollar[2].indexHintUnion()) 11864 } 11865 yyVAL.union = yyLOCAL 11866 case 654: 11867 yyDollar = yyS[yypt-5 : yypt+1] 11868 var yyLOCAL *tree.IndexHint 11869 //line mysql_sql.y:4109 11870 { 11871 yyLOCAL = &tree.IndexHint{ 11872 IndexNames: yyDollar[4].strsUnion(), 11873 HintType: yyDollar[1].indexHintTypeUnion(), 11874 HintScope: yyDollar[2].indexHintScopeUnion(), 11875 } 11876 } 11877 yyVAL.union = yyLOCAL 11878 case 655: 11879 yyDollar = yyS[yypt-2 : yypt+1] 11880 var yyLOCAL tree.IndexHintType 11881 //line mysql_sql.y:4119 11882 { 11883 yyLOCAL = tree.HintUse 11884 } 11885 yyVAL.union = yyLOCAL 11886 case 656: 11887 yyDollar = yyS[yypt-2 : yypt+1] 11888 var yyLOCAL tree.IndexHintType 11889 //line mysql_sql.y:4123 11890 { 11891 yyLOCAL = tree.HintIgnore 11892 } 11893 yyVAL.union = yyLOCAL 11894 case 657: 11895 yyDollar = yyS[yypt-2 : yypt+1] 11896 var yyLOCAL tree.IndexHintType 11897 //line mysql_sql.y:4127 11898 { 11899 yyLOCAL = tree.HintForce 11900 } 11901 yyVAL.union = yyLOCAL 11902 case 658: 11903 yyDollar = yyS[yypt-0 : yypt+1] 11904 var yyLOCAL tree.IndexHintScope 11905 //line mysql_sql.y:4132 11906 { 11907 yyLOCAL = tree.HintForScan 11908 } 11909 yyVAL.union = yyLOCAL 11910 case 659: 11911 yyDollar = yyS[yypt-2 : yypt+1] 11912 var yyLOCAL tree.IndexHintScope 11913 //line mysql_sql.y:4136 11914 { 11915 yyLOCAL = tree.HintForJoin 11916 } 11917 yyVAL.union = yyLOCAL 11918 case 660: 11919 yyDollar = yyS[yypt-3 : yypt+1] 11920 var yyLOCAL tree.IndexHintScope 11921 //line mysql_sql.y:4140 11922 { 11923 yyLOCAL = tree.HintForOrderBy 11924 } 11925 yyVAL.union = yyLOCAL 11926 case 661: 11927 yyDollar = yyS[yypt-3 : yypt+1] 11928 var yyLOCAL tree.IndexHintScope 11929 //line mysql_sql.y:4144 11930 { 11931 yyLOCAL = tree.HintForGroupBy 11932 } 11933 yyVAL.union = yyLOCAL 11934 case 662: 11935 yyDollar = yyS[yypt-0 : yypt+1] 11936 var yyLOCAL []string 11937 //line mysql_sql.y:4149 11938 { 11939 yyLOCAL = nil 11940 } 11941 yyVAL.union = yyLOCAL 11942 case 663: 11943 yyDollar = yyS[yypt-1 : yypt+1] 11944 var yyLOCAL []string 11945 //line mysql_sql.y:4153 11946 { 11947 yyLOCAL = []string{yyDollar[1].str} 11948 } 11949 yyVAL.union = yyLOCAL 11950 case 664: 11951 yyDollar = yyS[yypt-3 : yypt+1] 11952 var yyLOCAL []string 11953 //line mysql_sql.y:4157 11954 { 11955 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 11956 } 11957 yyVAL.union = yyLOCAL 11958 case 665: 11959 yyDollar = yyS[yypt-1 : yypt+1] 11960 var yyLOCAL []string 11961 //line mysql_sql.y:4161 11962 { 11963 yyLOCAL = []string{yyDollar[1].str} 11964 } 11965 yyVAL.union = yyLOCAL 11966 case 666: 11967 yyDollar = yyS[yypt-3 : yypt+1] 11968 var yyLOCAL []string 11969 //line mysql_sql.y:4165 11970 { 11971 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 11972 } 11973 yyVAL.union = yyLOCAL 11974 case 667: 11975 yyDollar = yyS[yypt-0 : yypt+1] 11976 //line mysql_sql.y:4170 11977 { 11978 yyVAL.str = "" 11979 } 11980 case 668: 11981 yyDollar = yyS[yypt-1 : yypt+1] 11982 //line mysql_sql.y:4174 11983 { 11984 yyVAL.str = yyDollar[1].str 11985 } 11986 case 669: 11987 yyDollar = yyS[yypt-2 : yypt+1] 11988 //line mysql_sql.y:4178 11989 { 11990 yyVAL.str = yyDollar[2].str 11991 } 11992 case 672: 11993 yyDollar = yyS[yypt-0 : yypt+1] 11994 //line mysql_sql.y:4187 11995 { 11996 yyVAL.str = "" 11997 } 11998 case 673: 11999 yyDollar = yyS[yypt-1 : yypt+1] 12000 //line mysql_sql.y:4191 12001 { 12002 yyVAL.str = yyDollar[1].str 12003 } 12004 case 674: 12005 yyDollar = yyS[yypt-2 : yypt+1] 12006 //line mysql_sql.y:4195 12007 { 12008 yyVAL.str = yyDollar[2].str 12009 } 12010 case 675: 12011 yyDollar = yyS[yypt-1 : yypt+1] 12012 //line mysql_sql.y:4199 12013 { 12014 yyVAL.str = yyDollar[1].str 12015 } 12016 case 676: 12017 yyDollar = yyS[yypt-2 : yypt+1] 12018 //line mysql_sql.y:4203 12019 { 12020 yyVAL.str = yyDollar[2].str 12021 } 12022 case 695: 12023 yyDollar = yyS[yypt-7 : yypt+1] 12024 var yyLOCAL tree.Statement 12025 //line mysql_sql.y:4239 12026 { 12027 yyLOCAL = &tree.CreateExtension{ 12028 Language: yyDollar[3].str, 12029 Name: tree.Identifier(yyDollar[5].str), 12030 Filename: tree.Identifier(yyDollar[7].str), 12031 } 12032 } 12033 yyVAL.union = yyLOCAL 12034 case 696: 12035 yyDollar = yyS[yypt-1 : yypt+1] 12036 //line mysql_sql.y:4249 12037 { 12038 yyVAL.str = yyDollar[1].str 12039 } 12040 case 697: 12041 yyDollar = yyS[yypt-1 : yypt+1] 12042 //line mysql_sql.y:4255 12043 { 12044 yyVAL.str = yyDollar[1].str 12045 } 12046 case 698: 12047 yyDollar = yyS[yypt-12 : yypt+1] 12048 var yyLOCAL tree.Statement 12049 //line mysql_sql.y:4262 12050 { 12051 yyLOCAL = &tree.CreateFunction{ 12052 Name: yyDollar[3].functionNameUnion(), 12053 Args: yyDollar[5].funcArgsUnion(), 12054 ReturnType: yyDollar[8].funcReturnUnion(), 12055 Language: yyDollar[10].str, 12056 Body: yyDollar[12].str, 12057 } 12058 } 12059 yyVAL.union = yyLOCAL 12060 case 699: 12061 yyDollar = yyS[yypt-1 : yypt+1] 12062 var yyLOCAL *tree.FunctionName 12063 //line mysql_sql.y:4274 12064 { 12065 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 12066 yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[1].str), prefix) 12067 } 12068 yyVAL.union = yyLOCAL 12069 case 700: 12070 yyDollar = yyS[yypt-3 : yypt+1] 12071 var yyLOCAL *tree.FunctionName 12072 //line mysql_sql.y:4279 12073 { 12074 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].str), ExplicitSchema: true} 12075 yyLOCAL = tree.NewFuncName(tree.Identifier(yyDollar[3].str), prefix) 12076 } 12077 yyVAL.union = yyLOCAL 12078 case 701: 12079 yyDollar = yyS[yypt-0 : yypt+1] 12080 var yyLOCAL tree.FunctionArgs 12081 //line mysql_sql.y:4285 12082 { 12083 yyLOCAL = tree.FunctionArgs(nil) 12084 } 12085 yyVAL.union = yyLOCAL 12086 case 703: 12087 yyDollar = yyS[yypt-1 : yypt+1] 12088 var yyLOCAL tree.FunctionArgs 12089 //line mysql_sql.y:4292 12090 { 12091 yyLOCAL = tree.FunctionArgs{yyDollar[1].funcArgUnion()} 12092 } 12093 yyVAL.union = yyLOCAL 12094 case 704: 12095 yyDollar = yyS[yypt-3 : yypt+1] 12096 var yyLOCAL tree.FunctionArgs 12097 //line mysql_sql.y:4296 12098 { 12099 yyLOCAL = append(yyDollar[1].funcArgsUnion(), yyDollar[3].funcArgUnion()) 12100 } 12101 yyVAL.union = yyLOCAL 12102 case 705: 12103 yyDollar = yyS[yypt-1 : yypt+1] 12104 var yyLOCAL tree.FunctionArg 12105 //line mysql_sql.y:4302 12106 { 12107 yyLOCAL = tree.FunctionArg(yyDollar[1].funcArgDeclUnion()) 12108 } 12109 yyVAL.union = yyLOCAL 12110 case 706: 12111 yyDollar = yyS[yypt-1 : yypt+1] 12112 var yyLOCAL *tree.FunctionArgDecl 12113 //line mysql_sql.y:4308 12114 { 12115 yyLOCAL = tree.NewFunctionArgDecl(nil, yyDollar[1].columnTypeUnion(), nil) 12116 } 12117 yyVAL.union = yyLOCAL 12118 case 707: 12119 yyDollar = yyS[yypt-2 : yypt+1] 12120 var yyLOCAL *tree.FunctionArgDecl 12121 //line mysql_sql.y:4312 12122 { 12123 yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), nil) 12124 } 12125 yyVAL.union = yyLOCAL 12126 case 708: 12127 yyDollar = yyS[yypt-4 : yypt+1] 12128 var yyLOCAL *tree.FunctionArgDecl 12129 //line mysql_sql.y:4316 12130 { 12131 yyLOCAL = tree.NewFunctionArgDecl(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[4].exprUnion()) 12132 } 12133 yyVAL.union = yyLOCAL 12134 case 709: 12135 yyDollar = yyS[yypt-1 : yypt+1] 12136 //line mysql_sql.y:4322 12137 { 12138 yyVAL.str = yyDollar[1].str 12139 } 12140 case 710: 12141 yyDollar = yyS[yypt-1 : yypt+1] 12142 var yyLOCAL *tree.ReturnType 12143 //line mysql_sql.y:4328 12144 { 12145 yyLOCAL = tree.NewReturnType(yyDollar[1].columnTypeUnion()) 12146 } 12147 yyVAL.union = yyLOCAL 12148 case 711: 12149 yyDollar = yyS[yypt-7 : yypt+1] 12150 var yyLOCAL tree.Statement 12151 //line mysql_sql.y:4334 12152 { 12153 yyLOCAL = &tree.CreateView{ 12154 Name: yyDollar[4].tableNameUnion(), 12155 ColNames: yyDollar[5].identifierListUnion(), 12156 AsSource: yyDollar[7].selectUnion(), 12157 IfNotExists: yyDollar[3].ifNotExistsUnion(), 12158 } 12159 } 12160 yyVAL.union = yyLOCAL 12161 case 712: 12162 yyDollar = yyS[yypt-7 : yypt+1] 12163 var yyLOCAL tree.Statement 12164 //line mysql_sql.y:4345 12165 { 12166 yyLOCAL = &tree.CreateAccount{ 12167 IfNotExists: yyDollar[3].ifNotExistsUnion(), 12168 Name: yyDollar[4].str, 12169 AuthOption: yyDollar[5].accountAuthOptionUnion(), 12170 StatusOption: yyDollar[6].accountStatusUnion(), 12171 Comment: yyDollar[7].accountCommentUnion(), 12172 } 12173 } 12174 yyVAL.union = yyLOCAL 12175 case 713: 12176 yyDollar = yyS[yypt-1 : yypt+1] 12177 //line mysql_sql.y:4357 12178 { 12179 yyVAL.str = yyDollar[1].str 12180 } 12181 case 714: 12182 yyDollar = yyS[yypt-4 : yypt+1] 12183 var yyLOCAL tree.AccountAuthOption 12184 //line mysql_sql.y:4363 12185 { 12186 yyLOCAL = tree.AccountAuthOption{ 12187 Equal: yyDollar[2].str, 12188 AdminName: yyDollar[3].str, 12189 IdentifiedType: yyDollar[4].accountIdentifiedUnion(), 12190 } 12191 } 12192 yyVAL.union = yyLOCAL 12193 case 715: 12194 yyDollar = yyS[yypt-1 : yypt+1] 12195 //line mysql_sql.y:4373 12196 { 12197 yyVAL.str = yyDollar[1].str 12198 } 12199 case 716: 12200 yyDollar = yyS[yypt-1 : yypt+1] 12201 //line mysql_sql.y:4377 12202 { 12203 yyVAL.str = yyDollar[1].str 12204 } 12205 case 717: 12206 yyDollar = yyS[yypt-3 : yypt+1] 12207 var yyLOCAL tree.AccountIdentified 12208 //line mysql_sql.y:4383 12209 { 12210 yyLOCAL = tree.AccountIdentified{ 12211 Typ: tree.AccountIdentifiedByPassword, 12212 Str: yyDollar[3].str, 12213 } 12214 } 12215 yyVAL.union = yyLOCAL 12216 case 718: 12217 yyDollar = yyS[yypt-4 : yypt+1] 12218 var yyLOCAL tree.AccountIdentified 12219 //line mysql_sql.y:4390 12220 { 12221 yyLOCAL = tree.AccountIdentified{ 12222 Typ: tree.AccountIdentifiedByRandomPassword, 12223 } 12224 } 12225 yyVAL.union = yyLOCAL 12226 case 719: 12227 yyDollar = yyS[yypt-3 : yypt+1] 12228 var yyLOCAL tree.AccountIdentified 12229 //line mysql_sql.y:4396 12230 { 12231 yyLOCAL = tree.AccountIdentified{ 12232 Typ: tree.AccountIdentifiedWithSSL, 12233 Str: yyDollar[3].str, 12234 } 12235 } 12236 yyVAL.union = yyLOCAL 12237 case 720: 12238 yyDollar = yyS[yypt-0 : yypt+1] 12239 var yyLOCAL tree.AccountStatus 12240 //line mysql_sql.y:4404 12241 { 12242 yyLOCAL = tree.AccountStatus{ 12243 Exist: false, 12244 } 12245 } 12246 yyVAL.union = yyLOCAL 12247 case 721: 12248 yyDollar = yyS[yypt-1 : yypt+1] 12249 var yyLOCAL tree.AccountStatus 12250 //line mysql_sql.y:4410 12251 { 12252 yyLOCAL = tree.AccountStatus{ 12253 Exist: true, 12254 Option: tree.AccountStatusOpen, 12255 } 12256 } 12257 yyVAL.union = yyLOCAL 12258 case 722: 12259 yyDollar = yyS[yypt-1 : yypt+1] 12260 var yyLOCAL tree.AccountStatus 12261 //line mysql_sql.y:4417 12262 { 12263 yyLOCAL = tree.AccountStatus{ 12264 Exist: true, 12265 Option: tree.AccountStatusSuspend, 12266 } 12267 } 12268 yyVAL.union = yyLOCAL 12269 case 723: 12270 yyDollar = yyS[yypt-0 : yypt+1] 12271 var yyLOCAL tree.AccountComment 12272 //line mysql_sql.y:4425 12273 { 12274 yyLOCAL = tree.AccountComment{ 12275 Exist: false, 12276 } 12277 } 12278 yyVAL.union = yyLOCAL 12279 case 724: 12280 yyDollar = yyS[yypt-2 : yypt+1] 12281 var yyLOCAL tree.AccountComment 12282 //line mysql_sql.y:4431 12283 { 12284 yyLOCAL = tree.AccountComment{ 12285 Exist: true, 12286 Comment: yyDollar[2].str, 12287 } 12288 } 12289 yyVAL.union = yyLOCAL 12290 case 725: 12291 yyDollar = yyS[yypt-7 : yypt+1] 12292 var yyLOCAL tree.Statement 12293 //line mysql_sql.y:4440 12294 { 12295 yyLOCAL = &tree.CreateUser{ 12296 IfNotExists: yyDollar[3].ifNotExistsUnion(), 12297 Users: yyDollar[4].usersUnion(), 12298 Role: yyDollar[5].accountRoleUnion(), 12299 MiscOpt: yyDollar[6].userMiscOptionUnion(), 12300 CommentOrAttribute: yyDollar[7].accountCommentOrAttributeUnion(), 12301 } 12302 } 12303 yyVAL.union = yyLOCAL 12304 case 726: 12305 yyDollar = yyS[yypt-1 : yypt+1] 12306 //line mysql_sql.y:4452 12307 { 12308 yyVAL.str = yyDollar[1].str 12309 } 12310 case 727: 12311 yyDollar = yyS[yypt-0 : yypt+1] 12312 var yyLOCAL tree.AccountCommentOrAttribute 12313 //line mysql_sql.y:4457 12314 { 12315 yyLOCAL = tree.AccountCommentOrAttribute{ 12316 Exist: false, 12317 } 12318 } 12319 yyVAL.union = yyLOCAL 12320 case 728: 12321 yyDollar = yyS[yypt-2 : yypt+1] 12322 var yyLOCAL tree.AccountCommentOrAttribute 12323 //line mysql_sql.y:4463 12324 { 12325 yyLOCAL = tree.AccountCommentOrAttribute{ 12326 Exist: true, 12327 IsComment: true, 12328 Str: yyDollar[2].str, 12329 } 12330 } 12331 yyVAL.union = yyLOCAL 12332 case 729: 12333 yyDollar = yyS[yypt-2 : yypt+1] 12334 var yyLOCAL tree.AccountCommentOrAttribute 12335 //line mysql_sql.y:4471 12336 { 12337 yyLOCAL = tree.AccountCommentOrAttribute{ 12338 Exist: true, 12339 IsComment: false, 12340 Str: yyDollar[2].str, 12341 } 12342 } 12343 yyVAL.union = yyLOCAL 12344 case 730: 12345 yyDollar = yyS[yypt-1 : yypt+1] 12346 var yyLOCAL []*tree.User 12347 //line mysql_sql.y:4577 12348 { 12349 yyLOCAL = []*tree.User{yyDollar[1].userUnion()} 12350 } 12351 yyVAL.union = yyLOCAL 12352 case 731: 12353 yyDollar = yyS[yypt-3 : yypt+1] 12354 var yyLOCAL []*tree.User 12355 //line mysql_sql.y:4581 12356 { 12357 yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) 12358 } 12359 yyVAL.union = yyLOCAL 12360 case 732: 12361 yyDollar = yyS[yypt-2 : yypt+1] 12362 var yyLOCAL *tree.User 12363 //line mysql_sql.y:4587 12364 { 12365 yyLOCAL = &tree.User{ 12366 Username: yyDollar[1].usernameRecordUnion().Username, 12367 Hostname: yyDollar[1].usernameRecordUnion().Hostname, 12368 AuthOption: yyDollar[2].userIdentifiedUnion(), 12369 } 12370 } 12371 yyVAL.union = yyLOCAL 12372 case 733: 12373 yyDollar = yyS[yypt-1 : yypt+1] 12374 var yyLOCAL []*tree.User 12375 //line mysql_sql.y:4597 12376 { 12377 yyLOCAL = []*tree.User{yyDollar[1].userUnion()} 12378 } 12379 yyVAL.union = yyLOCAL 12380 case 734: 12381 yyDollar = yyS[yypt-3 : yypt+1] 12382 var yyLOCAL []*tree.User 12383 //line mysql_sql.y:4601 12384 { 12385 yyLOCAL = append(yyDollar[1].usersUnion(), yyDollar[3].userUnion()) 12386 } 12387 yyVAL.union = yyLOCAL 12388 case 735: 12389 yyDollar = yyS[yypt-2 : yypt+1] 12390 var yyLOCAL *tree.User 12391 //line mysql_sql.y:4607 12392 { 12393 yyLOCAL = &tree.User{ 12394 Username: yyDollar[1].usernameRecordUnion().Username, 12395 Hostname: yyDollar[1].usernameRecordUnion().Hostname, 12396 AuthOption: yyDollar[2].userIdentifiedUnion(), 12397 } 12398 } 12399 yyVAL.union = yyLOCAL 12400 case 736: 12401 yyDollar = yyS[yypt-1 : yypt+1] 12402 var yyLOCAL *tree.UsernameRecord 12403 //line mysql_sql.y:4617 12404 { 12405 yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: "%"} 12406 } 12407 yyVAL.union = yyLOCAL 12408 case 737: 12409 yyDollar = yyS[yypt-3 : yypt+1] 12410 var yyLOCAL *tree.UsernameRecord 12411 //line mysql_sql.y:4621 12412 { 12413 yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[3].str} 12414 } 12415 yyVAL.union = yyLOCAL 12416 case 738: 12417 yyDollar = yyS[yypt-2 : yypt+1] 12418 var yyLOCAL *tree.UsernameRecord 12419 //line mysql_sql.y:4625 12420 { 12421 yyLOCAL = &tree.UsernameRecord{Username: yyDollar[1].str, Hostname: yyDollar[2].str} 12422 } 12423 yyVAL.union = yyLOCAL 12424 case 739: 12425 yyDollar = yyS[yypt-0 : yypt+1] 12426 var yyLOCAL *tree.AccountIdentified 12427 //line mysql_sql.y:4630 12428 { 12429 yyLOCAL = nil 12430 } 12431 yyVAL.union = yyLOCAL 12432 case 740: 12433 yyDollar = yyS[yypt-1 : yypt+1] 12434 var yyLOCAL *tree.AccountIdentified 12435 //line mysql_sql.y:4634 12436 { 12437 yyLOCAL = yyDollar[1].userIdentifiedUnion() 12438 } 12439 yyVAL.union = yyLOCAL 12440 case 741: 12441 yyDollar = yyS[yypt-3 : yypt+1] 12442 var yyLOCAL *tree.AccountIdentified 12443 //line mysql_sql.y:4640 12444 { 12445 yyLOCAL = &tree.AccountIdentified{ 12446 Typ: tree.AccountIdentifiedByPassword, 12447 Str: yyDollar[3].str, 12448 } 12449 } 12450 yyVAL.union = yyLOCAL 12451 case 742: 12452 yyDollar = yyS[yypt-4 : yypt+1] 12453 var yyLOCAL *tree.AccountIdentified 12454 //line mysql_sql.y:4647 12455 { 12456 yyLOCAL = &tree.AccountIdentified{ 12457 Typ: tree.AccountIdentifiedByRandomPassword, 12458 } 12459 } 12460 yyVAL.union = yyLOCAL 12461 case 743: 12462 yyDollar = yyS[yypt-3 : yypt+1] 12463 var yyLOCAL *tree.AccountIdentified 12464 //line mysql_sql.y:4653 12465 { 12466 yyLOCAL = &tree.AccountIdentified{ 12467 Typ: tree.AccountIdentifiedWithSSL, 12468 Str: yyDollar[3].str, 12469 } 12470 } 12471 yyVAL.union = yyLOCAL 12472 case 746: 12473 yyDollar = yyS[yypt-4 : yypt+1] 12474 var yyLOCAL tree.Statement 12475 //line mysql_sql.y:4666 12476 { 12477 yyLOCAL = &tree.CreateRole{ 12478 IfNotExists: yyDollar[3].ifNotExistsUnion(), 12479 Roles: yyDollar[4].rolesUnion(), 12480 } 12481 } 12482 yyVAL.union = yyLOCAL 12483 case 747: 12484 yyDollar = yyS[yypt-1 : yypt+1] 12485 var yyLOCAL []*tree.Role 12486 //line mysql_sql.y:4675 12487 { 12488 yyLOCAL = []*tree.Role{yyDollar[1].roleUnion()} 12489 } 12490 yyVAL.union = yyLOCAL 12491 case 748: 12492 yyDollar = yyS[yypt-3 : yypt+1] 12493 var yyLOCAL []*tree.Role 12494 //line mysql_sql.y:4679 12495 { 12496 yyLOCAL = append(yyDollar[1].rolesUnion(), yyDollar[3].roleUnion()) 12497 } 12498 yyVAL.union = yyLOCAL 12499 case 749: 12500 yyDollar = yyS[yypt-1 : yypt+1] 12501 var yyLOCAL *tree.Role 12502 //line mysql_sql.y:4685 12503 { 12504 yyLOCAL = &tree.Role{UserName: yyDollar[1].str} 12505 } 12506 yyVAL.union = yyLOCAL 12507 case 752: 12508 yyDollar = yyS[yypt-0 : yypt+1] 12509 var yyLOCAL tree.IndexCategory 12510 //line mysql_sql.y:4702 12511 { 12512 yyLOCAL = tree.INDEX_CATEGORY_NONE 12513 } 12514 yyVAL.union = yyLOCAL 12515 case 753: 12516 yyDollar = yyS[yypt-1 : yypt+1] 12517 var yyLOCAL tree.IndexCategory 12518 //line mysql_sql.y:4706 12519 { 12520 yyLOCAL = tree.INDEX_CATEGORY_FULLTEXT 12521 } 12522 yyVAL.union = yyLOCAL 12523 case 754: 12524 yyDollar = yyS[yypt-1 : yypt+1] 12525 var yyLOCAL tree.IndexCategory 12526 //line mysql_sql.y:4710 12527 { 12528 yyLOCAL = tree.INDEX_CATEGORY_SPATIAL 12529 } 12530 yyVAL.union = yyLOCAL 12531 case 755: 12532 yyDollar = yyS[yypt-1 : yypt+1] 12533 var yyLOCAL tree.IndexCategory 12534 //line mysql_sql.y:4714 12535 { 12536 yyLOCAL = tree.INDEX_CATEGORY_UNIQUE 12537 } 12538 yyVAL.union = yyLOCAL 12539 case 756: 12540 yyDollar = yyS[yypt-11 : yypt+1] 12541 var yyLOCAL tree.Statement 12542 //line mysql_sql.y:4720 12543 { 12544 var io *tree.IndexOption = nil 12545 if yyDollar[11].indexOptionUnion() == nil && yyDollar[5].indexTypeUnion() != tree.INDEX_TYPE_INVALID { 12546 io = &tree.IndexOption{IType: yyDollar[5].indexTypeUnion()} 12547 } else if yyDollar[11].indexOptionUnion() != nil { 12548 io = yyDollar[11].indexOptionUnion() 12549 io.IType = yyDollar[5].indexTypeUnion() 12550 } 12551 yyLOCAL = &tree.CreateIndex{ 12552 Name: tree.Identifier(yyDollar[4].str), 12553 Table: *yyDollar[7].tableNameUnion(), 12554 IndexCat: yyDollar[2].indexCategoryUnion(), 12555 KeyParts: yyDollar[9].keyPartsUnion(), 12556 IndexOption: io, 12557 MiscOption: nil, 12558 } 12559 } 12560 yyVAL.union = yyLOCAL 12561 case 757: 12562 yyDollar = yyS[yypt-0 : yypt+1] 12563 var yyLOCAL *tree.IndexOption 12564 //line mysql_sql.y:4739 12565 { 12566 yyLOCAL = nil 12567 } 12568 yyVAL.union = yyLOCAL 12569 case 758: 12570 yyDollar = yyS[yypt-2 : yypt+1] 12571 var yyLOCAL *tree.IndexOption 12572 //line mysql_sql.y:4743 12573 { 12574 // Merge the options 12575 if yyDollar[1].indexOptionUnion() == nil { 12576 yyLOCAL = yyDollar[2].indexOptionUnion() 12577 } else { 12578 opt1 := yyDollar[1].indexOptionUnion() 12579 opt2 := yyDollar[2].indexOptionUnion() 12580 if len(opt2.Comment) > 0 { 12581 opt1.Comment = opt2.Comment 12582 } else if opt2.KeyBlockSize > 0 { 12583 opt1.KeyBlockSize = opt2.KeyBlockSize 12584 } else if len(opt2.ParserName) > 0 { 12585 opt1.ParserName = opt2.ParserName 12586 } else if opt2.Visible != tree.VISIBLE_TYPE_INVALID { 12587 opt1.Visible = opt2.Visible 12588 } 12589 yyLOCAL = opt1 12590 } 12591 } 12592 yyVAL.union = yyLOCAL 12593 case 759: 12594 yyDollar = yyS[yypt-3 : yypt+1] 12595 var yyLOCAL *tree.IndexOption 12596 //line mysql_sql.y:4765 12597 { 12598 yyLOCAL = &tree.IndexOption{KeyBlockSize: uint64(yyDollar[3].item.(int64))} 12599 } 12600 yyVAL.union = yyLOCAL 12601 case 760: 12602 yyDollar = yyS[yypt-2 : yypt+1] 12603 var yyLOCAL *tree.IndexOption 12604 //line mysql_sql.y:4769 12605 { 12606 yyLOCAL = &tree.IndexOption{Comment: yyDollar[2].str} 12607 } 12608 yyVAL.union = yyLOCAL 12609 case 761: 12610 yyDollar = yyS[yypt-3 : yypt+1] 12611 var yyLOCAL *tree.IndexOption 12612 //line mysql_sql.y:4773 12613 { 12614 yyLOCAL = &tree.IndexOption{ParserName: yyDollar[3].str} 12615 } 12616 yyVAL.union = yyLOCAL 12617 case 762: 12618 yyDollar = yyS[yypt-1 : yypt+1] 12619 var yyLOCAL *tree.IndexOption 12620 //line mysql_sql.y:4777 12621 { 12622 yyLOCAL = &tree.IndexOption{Visible: tree.VISIBLE_TYPE_VISIBLE} 12623 } 12624 yyVAL.union = yyLOCAL 12625 case 763: 12626 yyDollar = yyS[yypt-1 : yypt+1] 12627 var yyLOCAL *tree.IndexOption 12628 //line mysql_sql.y:4781 12629 { 12630 yyLOCAL = &tree.IndexOption{Visible: tree.VISIBLE_TYPE_INVISIBLE} 12631 } 12632 yyVAL.union = yyLOCAL 12633 case 764: 12634 yyDollar = yyS[yypt-1 : yypt+1] 12635 var yyLOCAL []*tree.KeyPart 12636 //line mysql_sql.y:4787 12637 { 12638 yyLOCAL = []*tree.KeyPart{yyDollar[1].keyPartUnion()} 12639 } 12640 yyVAL.union = yyLOCAL 12641 case 765: 12642 yyDollar = yyS[yypt-3 : yypt+1] 12643 var yyLOCAL []*tree.KeyPart 12644 //line mysql_sql.y:4791 12645 { 12646 yyLOCAL = append(yyDollar[1].keyPartsUnion(), yyDollar[3].keyPartUnion()) 12647 } 12648 yyVAL.union = yyLOCAL 12649 case 766: 12650 yyDollar = yyS[yypt-3 : yypt+1] 12651 var yyLOCAL *tree.KeyPart 12652 //line mysql_sql.y:4797 12653 { 12654 // Order is parsed but just ignored as MySQL did. 12655 yyLOCAL = &tree.KeyPart{ColName: yyDollar[1].unresolvedNameUnion(), Length: int(yyDollar[2].lengthOptUnion()), Direction: yyDollar[3].directionUnion()} 12656 } 12657 yyVAL.union = yyLOCAL 12658 case 767: 12659 yyDollar = yyS[yypt-4 : yypt+1] 12660 var yyLOCAL *tree.KeyPart 12661 //line mysql_sql.y:4802 12662 { 12663 yyLOCAL = &tree.KeyPart{Expr: yyDollar[2].exprUnion(), Direction: yyDollar[4].directionUnion()} 12664 } 12665 yyVAL.union = yyLOCAL 12666 case 768: 12667 yyDollar = yyS[yypt-0 : yypt+1] 12668 var yyLOCAL tree.IndexType 12669 //line mysql_sql.y:4807 12670 { 12671 yyLOCAL = tree.INDEX_TYPE_INVALID 12672 } 12673 yyVAL.union = yyLOCAL 12674 case 769: 12675 yyDollar = yyS[yypt-2 : yypt+1] 12676 var yyLOCAL tree.IndexType 12677 //line mysql_sql.y:4811 12678 { 12679 yyLOCAL = tree.INDEX_TYPE_BTREE 12680 } 12681 yyVAL.union = yyLOCAL 12682 case 770: 12683 yyDollar = yyS[yypt-2 : yypt+1] 12684 var yyLOCAL tree.IndexType 12685 //line mysql_sql.y:4815 12686 { 12687 yyLOCAL = tree.INDEX_TYPE_HASH 12688 } 12689 yyVAL.union = yyLOCAL 12690 case 771: 12691 yyDollar = yyS[yypt-2 : yypt+1] 12692 var yyLOCAL tree.IndexType 12693 //line mysql_sql.y:4819 12694 { 12695 yyLOCAL = tree.INDEX_TYPE_RTREE 12696 } 12697 yyVAL.union = yyLOCAL 12698 case 772: 12699 yyDollar = yyS[yypt-2 : yypt+1] 12700 var yyLOCAL tree.IndexType 12701 //line mysql_sql.y:4823 12702 { 12703 yyLOCAL = tree.INDEX_TYPE_BSI 12704 } 12705 yyVAL.union = yyLOCAL 12706 case 773: 12707 yyDollar = yyS[yypt-5 : yypt+1] 12708 var yyLOCAL tree.Statement 12709 //line mysql_sql.y:4829 12710 { 12711 yyLOCAL = &tree.CreateDatabase{ 12712 IfNotExists: yyDollar[3].ifNotExistsUnion(), 12713 Name: tree.Identifier(yyDollar[4].str), 12714 CreateOptions: yyDollar[5].createOptionsUnion(), 12715 } 12716 } 12717 yyVAL.union = yyLOCAL 12718 case 776: 12719 yyDollar = yyS[yypt-0 : yypt+1] 12720 var yyLOCAL bool 12721 //line mysql_sql.y:4843 12722 { 12723 yyLOCAL = false 12724 } 12725 yyVAL.union = yyLOCAL 12726 case 777: 12727 yyDollar = yyS[yypt-3 : yypt+1] 12728 var yyLOCAL bool 12729 //line mysql_sql.y:4847 12730 { 12731 yyLOCAL = true 12732 } 12733 yyVAL.union = yyLOCAL 12734 case 778: 12735 yyDollar = yyS[yypt-0 : yypt+1] 12736 var yyLOCAL []tree.CreateOption 12737 //line mysql_sql.y:4852 12738 { 12739 yyLOCAL = nil 12740 } 12741 yyVAL.union = yyLOCAL 12742 case 779: 12743 yyDollar = yyS[yypt-1 : yypt+1] 12744 var yyLOCAL []tree.CreateOption 12745 //line mysql_sql.y:4856 12746 { 12747 yyLOCAL = yyDollar[1].createOptionsUnion() 12748 } 12749 yyVAL.union = yyLOCAL 12750 case 780: 12751 yyDollar = yyS[yypt-1 : yypt+1] 12752 var yyLOCAL []tree.CreateOption 12753 //line mysql_sql.y:4862 12754 { 12755 yyLOCAL = []tree.CreateOption{yyDollar[1].createOptionUnion()} 12756 } 12757 yyVAL.union = yyLOCAL 12758 case 781: 12759 yyDollar = yyS[yypt-2 : yypt+1] 12760 var yyLOCAL []tree.CreateOption 12761 //line mysql_sql.y:4866 12762 { 12763 yyLOCAL = append(yyDollar[1].createOptionsUnion(), yyDollar[2].createOptionUnion()) 12764 } 12765 yyVAL.union = yyLOCAL 12766 case 782: 12767 yyDollar = yyS[yypt-4 : yypt+1] 12768 var yyLOCAL tree.CreateOption 12769 //line mysql_sql.y:4872 12770 { 12771 yyLOCAL = &tree.CreateOptionCharset{IsDefault: yyDollar[1].defaultOptionalUnion(), Charset: yyDollar[4].str} 12772 } 12773 yyVAL.union = yyLOCAL 12774 case 783: 12775 yyDollar = yyS[yypt-4 : yypt+1] 12776 var yyLOCAL tree.CreateOption 12777 //line mysql_sql.y:4876 12778 { 12779 yyLOCAL = &tree.CreateOptionCollate{IsDefault: yyDollar[1].defaultOptionalUnion(), Collate: yyDollar[4].str} 12780 } 12781 yyVAL.union = yyLOCAL 12782 case 784: 12783 yyDollar = yyS[yypt-4 : yypt+1] 12784 var yyLOCAL tree.CreateOption 12785 //line mysql_sql.y:4880 12786 { 12787 yyLOCAL = &tree.CreateOptionEncryption{Encrypt: yyDollar[4].str} 12788 } 12789 yyVAL.union = yyLOCAL 12790 case 785: 12791 yyDollar = yyS[yypt-0 : yypt+1] 12792 var yyLOCAL bool 12793 //line mysql_sql.y:4885 12794 { 12795 yyLOCAL = false 12796 } 12797 yyVAL.union = yyLOCAL 12798 case 786: 12799 yyDollar = yyS[yypt-1 : yypt+1] 12800 var yyLOCAL bool 12801 //line mysql_sql.y:4889 12802 { 12803 yyLOCAL = true 12804 } 12805 yyVAL.union = yyLOCAL 12806 case 787: 12807 yyDollar = yyS[yypt-11 : yypt+1] 12808 var yyLOCAL tree.Statement 12809 //line mysql_sql.y:4895 12810 { 12811 yyLOCAL = &tree.CreateTable{ 12812 Temporary: yyDollar[2].boolValUnion(), 12813 IfNotExists: yyDollar[4].ifNotExistsUnion(), 12814 Table: *yyDollar[5].tableNameUnion(), 12815 Defs: yyDollar[7].tableDefsUnion(), 12816 Options: yyDollar[9].tableOptionsUnion(), 12817 PartitionOption: yyDollar[10].partitionOptionUnion(), 12818 ClusterByOption: yyDollar[11].clusterByOptionUnion(), 12819 } 12820 } 12821 yyVAL.union = yyLOCAL 12822 case 788: 12823 yyDollar = yyS[yypt-9 : yypt+1] 12824 var yyLOCAL tree.Statement 12825 //line mysql_sql.y:4907 12826 { 12827 yyLOCAL = &tree.CreateTable{ 12828 IfNotExists: yyDollar[4].ifNotExistsUnion(), 12829 Table: *yyDollar[5].tableNameUnion(), 12830 Defs: yyDollar[7].tableDefsUnion(), 12831 Param: yyDollar[9].loadParamUnion(), 12832 } 12833 } 12834 yyVAL.union = yyLOCAL 12835 case 789: 12836 yyDollar = yyS[yypt-11 : yypt+1] 12837 var yyLOCAL tree.Statement 12838 //line mysql_sql.y:4916 12839 { 12840 yyLOCAL = &tree.CreateTable{ 12841 IsClusterTable: true, 12842 IfNotExists: yyDollar[4].ifNotExistsUnion(), 12843 Table: *yyDollar[5].tableNameUnion(), 12844 Defs: yyDollar[7].tableDefsUnion(), 12845 Options: yyDollar[9].tableOptionsUnion(), 12846 PartitionOption: yyDollar[10].partitionOptionUnion(), 12847 ClusterByOption: yyDollar[11].clusterByOptionUnion(), 12848 } 12849 } 12850 yyVAL.union = yyLOCAL 12851 case 790: 12852 yyDollar = yyS[yypt-2 : yypt+1] 12853 var yyLOCAL *tree.ExternParam 12854 //line mysql_sql.y:4929 12855 { 12856 yyLOCAL = yyDollar[1].loadParamUnion() 12857 yyLOCAL.Tail = yyDollar[2].tailParamUnion() 12858 } 12859 yyVAL.union = yyLOCAL 12860 case 791: 12861 yyDollar = yyS[yypt-2 : yypt+1] 12862 var yyLOCAL *tree.ExternParam 12863 //line mysql_sql.y:4936 12864 { 12865 yyLOCAL = &tree.ExternParam{ 12866 ExParamConst: tree.ExParamConst{ 12867 Filepath: yyDollar[2].str, 12868 CompressType: tree.AUTO, 12869 Format: tree.CSV, 12870 }, 12871 } 12872 } 12873 yyVAL.union = yyLOCAL 12874 case 792: 12875 yyDollar = yyS[yypt-4 : yypt+1] 12876 var yyLOCAL *tree.ExternParam 12877 //line mysql_sql.y:4946 12878 { 12879 yyLOCAL = &tree.ExternParam{ 12880 ExParamConst: tree.ExParamConst{ 12881 Option: yyDollar[3].strsUnion(), 12882 }, 12883 } 12884 } 12885 yyVAL.union = yyLOCAL 12886 case 793: 12887 yyDollar = yyS[yypt-5 : yypt+1] 12888 var yyLOCAL *tree.ExternParam 12889 //line mysql_sql.y:4954 12890 { 12891 yyLOCAL = &tree.ExternParam{ 12892 ExParamConst: tree.ExParamConst{ 12893 ScanType: tree.S3, 12894 Option: yyDollar[4].strsUnion(), 12895 }, 12896 } 12897 } 12898 yyVAL.union = yyLOCAL 12899 case 794: 12900 yyDollar = yyS[yypt-1 : yypt+1] 12901 var yyLOCAL []string 12902 //line mysql_sql.y:4965 12903 { 12904 yyLOCAL = yyDollar[1].strsUnion() 12905 } 12906 yyVAL.union = yyLOCAL 12907 case 795: 12908 yyDollar = yyS[yypt-3 : yypt+1] 12909 var yyLOCAL []string 12910 //line mysql_sql.y:4969 12911 { 12912 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) 12913 } 12914 yyVAL.union = yyLOCAL 12915 case 796: 12916 yyDollar = yyS[yypt-0 : yypt+1] 12917 var yyLOCAL []string 12918 //line mysql_sql.y:4974 12919 { 12920 yyLOCAL = []string{} 12921 } 12922 yyVAL.union = yyLOCAL 12923 case 797: 12924 yyDollar = yyS[yypt-3 : yypt+1] 12925 var yyLOCAL []string 12926 //line mysql_sql.y:4978 12927 { 12928 yyLOCAL = append(yyLOCAL, yyDollar[1].str) 12929 yyLOCAL = append(yyLOCAL, yyDollar[3].str) 12930 } 12931 yyVAL.union = yyLOCAL 12932 case 798: 12933 yyDollar = yyS[yypt-5 : yypt+1] 12934 var yyLOCAL *tree.TailParameter 12935 //line mysql_sql.y:4985 12936 { 12937 yyLOCAL = &tree.TailParameter{ 12938 Fields: yyDollar[1].fieldsUnion(), 12939 Lines: yyDollar[2].linesUnion(), 12940 IgnoredLines: uint64(yyDollar[3].int64ValUnion()), 12941 ColumnList: yyDollar[4].loadColumnsUnion(), 12942 Assignments: yyDollar[5].updateExprsUnion(), 12943 } 12944 } 12945 yyVAL.union = yyLOCAL 12946 case 799: 12947 yyDollar = yyS[yypt-0 : yypt+1] 12948 var yyLOCAL bool 12949 //line mysql_sql.y:4996 12950 { 12951 yyLOCAL = false 12952 } 12953 yyVAL.union = yyLOCAL 12954 case 800: 12955 yyDollar = yyS[yypt-1 : yypt+1] 12956 var yyLOCAL bool 12957 //line mysql_sql.y:5000 12958 { 12959 yyLOCAL = true 12960 } 12961 yyVAL.union = yyLOCAL 12962 case 801: 12963 yyDollar = yyS[yypt-0 : yypt+1] 12964 var yyLOCAL *tree.PartitionOption 12965 //line mysql_sql.y:5005 12966 { 12967 yyLOCAL = nil 12968 } 12969 yyVAL.union = yyLOCAL 12970 case 802: 12971 yyDollar = yyS[yypt-6 : yypt+1] 12972 var yyLOCAL *tree.PartitionOption 12973 //line mysql_sql.y:5009 12974 { 12975 yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) 12976 yyLOCAL = &tree.PartitionOption{ 12977 PartBy: *yyDollar[3].partitionByUnion(), 12978 SubPartBy: yyDollar[5].partitionByUnion(), 12979 Partitions: yyDollar[6].partitionsUnion(), 12980 } 12981 } 12982 yyVAL.union = yyLOCAL 12983 case 803: 12984 yyDollar = yyS[yypt-0 : yypt+1] 12985 var yyLOCAL *tree.ClusterByOption 12986 //line mysql_sql.y:5019 12987 { 12988 yyLOCAL = nil 12989 } 12990 yyVAL.union = yyLOCAL 12991 case 804: 12992 yyDollar = yyS[yypt-3 : yypt+1] 12993 var yyLOCAL *tree.ClusterByOption 12994 //line mysql_sql.y:5023 12995 { 12996 yyLOCAL = &tree.ClusterByOption{ 12997 ColumnList: []*tree.UnresolvedName{yyDollar[3].unresolvedNameUnion()}, 12998 } 12999 13000 } 13001 yyVAL.union = yyLOCAL 13002 case 805: 13003 yyDollar = yyS[yypt-5 : yypt+1] 13004 var yyLOCAL *tree.ClusterByOption 13005 //line mysql_sql.y:5030 13006 { 13007 yyLOCAL = &tree.ClusterByOption{ 13008 ColumnList: yyDollar[4].unresolveNamesUnion(), 13009 } 13010 } 13011 yyVAL.union = yyLOCAL 13012 case 806: 13013 yyDollar = yyS[yypt-0 : yypt+1] 13014 var yyLOCAL *tree.PartitionBy 13015 //line mysql_sql.y:5037 13016 { 13017 yyLOCAL = nil 13018 } 13019 yyVAL.union = yyLOCAL 13020 case 807: 13021 yyDollar = yyS[yypt-4 : yypt+1] 13022 var yyLOCAL *tree.PartitionBy 13023 //line mysql_sql.y:5041 13024 { 13025 yyLOCAL = &tree.PartitionBy{ 13026 IsSubPartition: true, 13027 PType: yyDollar[3].partitionByUnion(), 13028 Num: uint64(yyDollar[4].int64ValUnion()), 13029 } 13030 } 13031 yyVAL.union = yyLOCAL 13032 case 808: 13033 yyDollar = yyS[yypt-0 : yypt+1] 13034 var yyLOCAL []*tree.Partition 13035 //line mysql_sql.y:5050 13036 { 13037 yyLOCAL = nil 13038 } 13039 yyVAL.union = yyLOCAL 13040 case 809: 13041 yyDollar = yyS[yypt-3 : yypt+1] 13042 var yyLOCAL []*tree.Partition 13043 //line mysql_sql.y:5054 13044 { 13045 yyLOCAL = yyDollar[2].partitionsUnion() 13046 } 13047 yyVAL.union = yyLOCAL 13048 case 810: 13049 yyDollar = yyS[yypt-1 : yypt+1] 13050 var yyLOCAL []*tree.Partition 13051 //line mysql_sql.y:5060 13052 { 13053 yyLOCAL = []*tree.Partition{yyDollar[1].partitionUnion()} 13054 } 13055 yyVAL.union = yyLOCAL 13056 case 811: 13057 yyDollar = yyS[yypt-3 : yypt+1] 13058 var yyLOCAL []*tree.Partition 13059 //line mysql_sql.y:5064 13060 { 13061 yyLOCAL = append(yyDollar[1].partitionsUnion(), yyDollar[3].partitionUnion()) 13062 } 13063 yyVAL.union = yyLOCAL 13064 case 812: 13065 yyDollar = yyS[yypt-4 : yypt+1] 13066 var yyLOCAL *tree.Partition 13067 //line mysql_sql.y:5070 13068 { 13069 yyLOCAL = &tree.Partition{ 13070 Name: tree.Identifier(yyDollar[2].str), 13071 Values: yyDollar[3].valuesUnion(), 13072 Options: nil, 13073 Subs: yyDollar[4].subPartitionsUnion(), 13074 } 13075 } 13076 yyVAL.union = yyLOCAL 13077 case 813: 13078 yyDollar = yyS[yypt-5 : yypt+1] 13079 var yyLOCAL *tree.Partition 13080 //line mysql_sql.y:5079 13081 { 13082 yyLOCAL = &tree.Partition{ 13083 Name: tree.Identifier(yyDollar[2].str), 13084 Values: yyDollar[3].valuesUnion(), 13085 Options: yyDollar[4].tableOptionsUnion(), 13086 Subs: yyDollar[5].subPartitionsUnion(), 13087 } 13088 } 13089 yyVAL.union = yyLOCAL 13090 case 814: 13091 yyDollar = yyS[yypt-0 : yypt+1] 13092 var yyLOCAL []*tree.SubPartition 13093 //line mysql_sql.y:5089 13094 { 13095 yyLOCAL = nil 13096 } 13097 yyVAL.union = yyLOCAL 13098 case 815: 13099 yyDollar = yyS[yypt-3 : yypt+1] 13100 var yyLOCAL []*tree.SubPartition 13101 //line mysql_sql.y:5093 13102 { 13103 yyLOCAL = yyDollar[2].subPartitionsUnion() 13104 } 13105 yyVAL.union = yyLOCAL 13106 case 816: 13107 yyDollar = yyS[yypt-1 : yypt+1] 13108 var yyLOCAL []*tree.SubPartition 13109 //line mysql_sql.y:5099 13110 { 13111 yyLOCAL = []*tree.SubPartition{yyDollar[1].subPartitionUnion()} 13112 } 13113 yyVAL.union = yyLOCAL 13114 case 817: 13115 yyDollar = yyS[yypt-3 : yypt+1] 13116 var yyLOCAL []*tree.SubPartition 13117 //line mysql_sql.y:5103 13118 { 13119 yyLOCAL = append(yyDollar[1].subPartitionsUnion(), yyDollar[3].subPartitionUnion()) 13120 } 13121 yyVAL.union = yyLOCAL 13122 case 818: 13123 yyDollar = yyS[yypt-2 : yypt+1] 13124 var yyLOCAL *tree.SubPartition 13125 //line mysql_sql.y:5109 13126 { 13127 yyLOCAL = &tree.SubPartition{ 13128 Name: tree.Identifier(yyDollar[2].str), 13129 Options: nil, 13130 } 13131 } 13132 yyVAL.union = yyLOCAL 13133 case 819: 13134 yyDollar = yyS[yypt-3 : yypt+1] 13135 var yyLOCAL *tree.SubPartition 13136 //line mysql_sql.y:5116 13137 { 13138 yyLOCAL = &tree.SubPartition{ 13139 Name: tree.Identifier(yyDollar[2].str), 13140 Options: yyDollar[3].tableOptionsUnion(), 13141 } 13142 } 13143 yyVAL.union = yyLOCAL 13144 case 820: 13145 yyDollar = yyS[yypt-1 : yypt+1] 13146 var yyLOCAL []tree.TableOption 13147 //line mysql_sql.y:5125 13148 { 13149 yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} 13150 } 13151 yyVAL.union = yyLOCAL 13152 case 821: 13153 yyDollar = yyS[yypt-2 : yypt+1] 13154 var yyLOCAL []tree.TableOption 13155 //line mysql_sql.y:5129 13156 { 13157 yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) 13158 } 13159 yyVAL.union = yyLOCAL 13160 case 822: 13161 yyDollar = yyS[yypt-0 : yypt+1] 13162 var yyLOCAL tree.Values 13163 //line mysql_sql.y:5134 13164 { 13165 yyLOCAL = nil 13166 } 13167 yyVAL.union = yyLOCAL 13168 case 823: 13169 yyDollar = yyS[yypt-4 : yypt+1] 13170 var yyLOCAL tree.Values 13171 //line mysql_sql.y:5138 13172 { 13173 expr := tree.NewMaxValue() 13174 yyLOCAL = &tree.ValuesLessThan{ValueList: tree.Exprs{expr}} 13175 } 13176 yyVAL.union = yyLOCAL 13177 case 824: 13178 yyDollar = yyS[yypt-6 : yypt+1] 13179 var yyLOCAL tree.Values 13180 //line mysql_sql.y:5143 13181 { 13182 yyLOCAL = &tree.ValuesLessThan{ValueList: yyDollar[5].exprsUnion()} 13183 } 13184 yyVAL.union = yyLOCAL 13185 case 825: 13186 yyDollar = yyS[yypt-5 : yypt+1] 13187 var yyLOCAL tree.Values 13188 //line mysql_sql.y:5147 13189 { 13190 yyLOCAL = &tree.ValuesIn{ValueList: yyDollar[4].exprsUnion()} 13191 } 13192 yyVAL.union = yyLOCAL 13193 case 826: 13194 yyDollar = yyS[yypt-0 : yypt+1] 13195 var yyLOCAL int64 13196 //line mysql_sql.y:5152 13197 { 13198 yyLOCAL = 0 13199 } 13200 yyVAL.union = yyLOCAL 13201 case 827: 13202 yyDollar = yyS[yypt-2 : yypt+1] 13203 var yyLOCAL int64 13204 //line mysql_sql.y:5156 13205 { 13206 res := yyDollar[2].item.(int64) 13207 if res == 0 { 13208 yylex.Error("partitions can not be 0") 13209 return 1 13210 } 13211 yyLOCAL = res 13212 } 13213 yyVAL.union = yyLOCAL 13214 case 828: 13215 yyDollar = yyS[yypt-0 : yypt+1] 13216 var yyLOCAL int64 13217 //line mysql_sql.y:5166 13218 { 13219 yyLOCAL = 0 13220 } 13221 yyVAL.union = yyLOCAL 13222 case 829: 13223 yyDollar = yyS[yypt-2 : yypt+1] 13224 var yyLOCAL int64 13225 //line mysql_sql.y:5170 13226 { 13227 res := yyDollar[2].item.(int64) 13228 if res == 0 { 13229 yylex.Error("partitions can not be 0") 13230 return 1 13231 } 13232 yyLOCAL = res 13233 } 13234 yyVAL.union = yyLOCAL 13235 case 830: 13236 yyDollar = yyS[yypt-4 : yypt+1] 13237 var yyLOCAL *tree.PartitionBy 13238 //line mysql_sql.y:5181 13239 { 13240 yyLOCAL = &tree.PartitionBy{ 13241 PType: &tree.RangeType{ 13242 Expr: yyDollar[3].exprUnion(), 13243 }, 13244 } 13245 } 13246 yyVAL.union = yyLOCAL 13247 case 831: 13248 yyDollar = yyS[yypt-5 : yypt+1] 13249 var yyLOCAL *tree.PartitionBy 13250 //line mysql_sql.y:5189 13251 { 13252 yyLOCAL = &tree.PartitionBy{ 13253 PType: &tree.RangeType{ 13254 ColumnList: yyDollar[4].unresolveNamesUnion(), 13255 }, 13256 } 13257 } 13258 yyVAL.union = yyLOCAL 13259 case 832: 13260 yyDollar = yyS[yypt-4 : yypt+1] 13261 var yyLOCAL *tree.PartitionBy 13262 //line mysql_sql.y:5197 13263 { 13264 yyLOCAL = &tree.PartitionBy{ 13265 PType: &tree.ListType{ 13266 Expr: yyDollar[3].exprUnion(), 13267 }, 13268 } 13269 } 13270 yyVAL.union = yyLOCAL 13271 case 833: 13272 yyDollar = yyS[yypt-5 : yypt+1] 13273 var yyLOCAL *tree.PartitionBy 13274 //line mysql_sql.y:5205 13275 { 13276 yyLOCAL = &tree.PartitionBy{ 13277 PType: &tree.ListType{ 13278 ColumnList: yyDollar[4].unresolveNamesUnion(), 13279 }, 13280 } 13281 } 13282 yyVAL.union = yyLOCAL 13283 case 835: 13284 yyDollar = yyS[yypt-5 : yypt+1] 13285 var yyLOCAL *tree.PartitionBy 13286 //line mysql_sql.y:5216 13287 { 13288 yyLOCAL = &tree.PartitionBy{ 13289 PType: &tree.KeyType{ 13290 Linear: yyDollar[1].boolValUnion(), 13291 Algorithm: yyDollar[3].int64ValUnion(), 13292 }, 13293 } 13294 } 13295 yyVAL.union = yyLOCAL 13296 case 836: 13297 yyDollar = yyS[yypt-6 : yypt+1] 13298 var yyLOCAL *tree.PartitionBy 13299 //line mysql_sql.y:5225 13300 { 13301 yyLOCAL = &tree.PartitionBy{ 13302 PType: &tree.KeyType{ 13303 Linear: yyDollar[1].boolValUnion(), 13304 ColumnList: yyDollar[5].unresolveNamesUnion(), 13305 Algorithm: yyDollar[3].int64ValUnion(), 13306 }, 13307 } 13308 } 13309 yyVAL.union = yyLOCAL 13310 case 837: 13311 yyDollar = yyS[yypt-5 : yypt+1] 13312 var yyLOCAL *tree.PartitionBy 13313 //line mysql_sql.y:5235 13314 { 13315 yyLOCAL = &tree.PartitionBy{ 13316 PType: &tree.HashType{ 13317 Linear: yyDollar[1].boolValUnion(), 13318 Expr: yyDollar[4].exprUnion(), 13319 }, 13320 } 13321 } 13322 yyVAL.union = yyLOCAL 13323 case 838: 13324 yyDollar = yyS[yypt-0 : yypt+1] 13325 var yyLOCAL int64 13326 //line mysql_sql.y:5245 13327 { 13328 yyLOCAL = 2 13329 } 13330 yyVAL.union = yyLOCAL 13331 case 839: 13332 yyDollar = yyS[yypt-3 : yypt+1] 13333 var yyLOCAL int64 13334 //line mysql_sql.y:5249 13335 { 13336 yyLOCAL = yyDollar[3].item.(int64) 13337 } 13338 yyVAL.union = yyLOCAL 13339 case 840: 13340 yyDollar = yyS[yypt-0 : yypt+1] 13341 var yyLOCAL bool 13342 //line mysql_sql.y:5254 13343 { 13344 yyLOCAL = false 13345 } 13346 yyVAL.union = yyLOCAL 13347 case 841: 13348 yyDollar = yyS[yypt-1 : yypt+1] 13349 var yyLOCAL bool 13350 //line mysql_sql.y:5258 13351 { 13352 yyLOCAL = true 13353 } 13354 yyVAL.union = yyLOCAL 13355 case 842: 13356 yyDollar = yyS[yypt-0 : yypt+1] 13357 var yyLOCAL []tree.TableOption 13358 //line mysql_sql.y:5263 13359 { 13360 yyLOCAL = nil 13361 } 13362 yyVAL.union = yyLOCAL 13363 case 843: 13364 yyDollar = yyS[yypt-1 : yypt+1] 13365 var yyLOCAL []tree.TableOption 13366 //line mysql_sql.y:5267 13367 { 13368 yyLOCAL = yyDollar[1].tableOptionsUnion() 13369 } 13370 yyVAL.union = yyLOCAL 13371 case 844: 13372 yyDollar = yyS[yypt-1 : yypt+1] 13373 var yyLOCAL []tree.TableOption 13374 //line mysql_sql.y:5273 13375 { 13376 yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} 13377 } 13378 yyVAL.union = yyLOCAL 13379 case 845: 13380 yyDollar = yyS[yypt-3 : yypt+1] 13381 var yyLOCAL []tree.TableOption 13382 //line mysql_sql.y:5277 13383 { 13384 yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) 13385 } 13386 yyVAL.union = yyLOCAL 13387 case 846: 13388 yyDollar = yyS[yypt-2 : yypt+1] 13389 var yyLOCAL []tree.TableOption 13390 //line mysql_sql.y:5281 13391 { 13392 yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) 13393 } 13394 yyVAL.union = yyLOCAL 13395 case 847: 13396 yyDollar = yyS[yypt-3 : yypt+1] 13397 var yyLOCAL tree.TableOption 13398 //line mysql_sql.y:5287 13399 { 13400 yyLOCAL = tree.NewTableOptionAutoIncrement(uint64(yyDollar[3].item.(int64))) 13401 } 13402 yyVAL.union = yyLOCAL 13403 case 848: 13404 yyDollar = yyS[yypt-3 : yypt+1] 13405 var yyLOCAL tree.TableOption 13406 //line mysql_sql.y:5291 13407 { 13408 yyLOCAL = tree.NewTableOptionAvgRowLength(uint64(yyDollar[3].item.(int64))) 13409 } 13410 yyVAL.union = yyLOCAL 13411 case 849: 13412 yyDollar = yyS[yypt-4 : yypt+1] 13413 var yyLOCAL tree.TableOption 13414 //line mysql_sql.y:5295 13415 { 13416 yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) 13417 } 13418 yyVAL.union = yyLOCAL 13419 case 850: 13420 yyDollar = yyS[yypt-4 : yypt+1] 13421 var yyLOCAL tree.TableOption 13422 //line mysql_sql.y:5299 13423 { 13424 yyLOCAL = tree.NewTableOptionCollate(yyDollar[4].str) 13425 } 13426 yyVAL.union = yyLOCAL 13427 case 851: 13428 yyDollar = yyS[yypt-3 : yypt+1] 13429 var yyLOCAL tree.TableOption 13430 //line mysql_sql.y:5303 13431 { 13432 yyLOCAL = tree.NewTableOptionChecksum(uint64(yyDollar[3].item.(int64))) 13433 } 13434 yyVAL.union = yyLOCAL 13435 case 852: 13436 yyDollar = yyS[yypt-3 : yypt+1] 13437 var yyLOCAL tree.TableOption 13438 //line mysql_sql.y:5307 13439 { 13440 str := util.DealCommentString(yyDollar[3].str) 13441 yyLOCAL = tree.NewTableOptionComment(str) 13442 } 13443 yyVAL.union = yyLOCAL 13444 case 853: 13445 yyDollar = yyS[yypt-3 : yypt+1] 13446 var yyLOCAL tree.TableOption 13447 //line mysql_sql.y:5312 13448 { 13449 yyLOCAL = tree.NewTableOptionCompression(yyDollar[3].str) 13450 } 13451 yyVAL.union = yyLOCAL 13452 case 854: 13453 yyDollar = yyS[yypt-3 : yypt+1] 13454 var yyLOCAL tree.TableOption 13455 //line mysql_sql.y:5316 13456 { 13457 yyLOCAL = tree.NewTableOptionConnection(yyDollar[3].str) 13458 } 13459 yyVAL.union = yyLOCAL 13460 case 855: 13461 yyDollar = yyS[yypt-4 : yypt+1] 13462 var yyLOCAL tree.TableOption 13463 //line mysql_sql.y:5320 13464 { 13465 yyLOCAL = tree.NewTableOptionDataDirectory(yyDollar[4].str) 13466 } 13467 yyVAL.union = yyLOCAL 13468 case 856: 13469 yyDollar = yyS[yypt-4 : yypt+1] 13470 var yyLOCAL tree.TableOption 13471 //line mysql_sql.y:5324 13472 { 13473 yyLOCAL = tree.NewTableOptionIndexDirectory(yyDollar[4].str) 13474 } 13475 yyVAL.union = yyLOCAL 13476 case 857: 13477 yyDollar = yyS[yypt-3 : yypt+1] 13478 var yyLOCAL tree.TableOption 13479 //line mysql_sql.y:5328 13480 { 13481 yyLOCAL = tree.NewTableOptionDelayKeyWrite(uint64(yyDollar[3].item.(int64))) 13482 } 13483 yyVAL.union = yyLOCAL 13484 case 858: 13485 yyDollar = yyS[yypt-3 : yypt+1] 13486 var yyLOCAL tree.TableOption 13487 //line mysql_sql.y:5332 13488 { 13489 yyLOCAL = tree.NewTableOptionEncryption(yyDollar[3].str) 13490 } 13491 yyVAL.union = yyLOCAL 13492 case 859: 13493 yyDollar = yyS[yypt-3 : yypt+1] 13494 var yyLOCAL tree.TableOption 13495 //line mysql_sql.y:5336 13496 { 13497 yyLOCAL = tree.NewTableOptionEngine(yyDollar[3].str) 13498 } 13499 yyVAL.union = yyLOCAL 13500 case 860: 13501 yyDollar = yyS[yypt-3 : yypt+1] 13502 var yyLOCAL tree.TableOption 13503 //line mysql_sql.y:5340 13504 { 13505 yyLOCAL = tree.NewTableOptionKeyBlockSize(uint64(yyDollar[3].item.(int64))) 13506 } 13507 yyVAL.union = yyLOCAL 13508 case 861: 13509 yyDollar = yyS[yypt-3 : yypt+1] 13510 var yyLOCAL tree.TableOption 13511 //line mysql_sql.y:5344 13512 { 13513 yyLOCAL = tree.NewTableOptionMaxRows(uint64(yyDollar[3].item.(int64))) 13514 } 13515 yyVAL.union = yyLOCAL 13516 case 862: 13517 yyDollar = yyS[yypt-3 : yypt+1] 13518 var yyLOCAL tree.TableOption 13519 //line mysql_sql.y:5348 13520 { 13521 yyLOCAL = tree.NewTableOptionMinRows(uint64(yyDollar[3].item.(int64))) 13522 } 13523 yyVAL.union = yyLOCAL 13524 case 863: 13525 yyDollar = yyS[yypt-3 : yypt+1] 13526 var yyLOCAL tree.TableOption 13527 //line mysql_sql.y:5352 13528 { 13529 yyLOCAL = &tree.TableOptionPackKeys{Value: yyDollar[3].item.(int64)} 13530 } 13531 yyVAL.union = yyLOCAL 13532 case 864: 13533 yyDollar = yyS[yypt-3 : yypt+1] 13534 var yyLOCAL tree.TableOption 13535 //line mysql_sql.y:5356 13536 { 13537 yyLOCAL = &tree.TableOptionPackKeys{Default: true} 13538 } 13539 yyVAL.union = yyLOCAL 13540 case 865: 13541 yyDollar = yyS[yypt-3 : yypt+1] 13542 var yyLOCAL tree.TableOption 13543 //line mysql_sql.y:5360 13544 { 13545 yyLOCAL = tree.NewTableOptionPassword(yyDollar[3].str) 13546 } 13547 yyVAL.union = yyLOCAL 13548 case 866: 13549 yyDollar = yyS[yypt-3 : yypt+1] 13550 var yyLOCAL tree.TableOption 13551 //line mysql_sql.y:5364 13552 { 13553 yyLOCAL = tree.NewTableOptionRowFormat(yyDollar[3].rowFormatTypeUnion()) 13554 } 13555 yyVAL.union = yyLOCAL 13556 case 867: 13557 yyDollar = yyS[yypt-3 : yypt+1] 13558 var yyLOCAL tree.TableOption 13559 //line mysql_sql.y:5368 13560 { 13561 yyLOCAL = &tree.TableOptionStatsAutoRecalc{Value: uint64(yyDollar[3].item.(int64))} 13562 } 13563 yyVAL.union = yyLOCAL 13564 case 868: 13565 yyDollar = yyS[yypt-3 : yypt+1] 13566 var yyLOCAL tree.TableOption 13567 //line mysql_sql.y:5372 13568 { 13569 yyLOCAL = &tree.TableOptionStatsAutoRecalc{Default: true} 13570 } 13571 yyVAL.union = yyLOCAL 13572 case 869: 13573 yyDollar = yyS[yypt-3 : yypt+1] 13574 var yyLOCAL tree.TableOption 13575 //line mysql_sql.y:5376 13576 { 13577 yyLOCAL = &tree.TableOptionStatsPersistent{Value: uint64(yyDollar[3].item.(int64))} 13578 } 13579 yyVAL.union = yyLOCAL 13580 case 870: 13581 yyDollar = yyS[yypt-3 : yypt+1] 13582 var yyLOCAL tree.TableOption 13583 //line mysql_sql.y:5380 13584 { 13585 yyLOCAL = &tree.TableOptionStatsPersistent{Default: true} 13586 } 13587 yyVAL.union = yyLOCAL 13588 case 871: 13589 yyDollar = yyS[yypt-3 : yypt+1] 13590 var yyLOCAL tree.TableOption 13591 //line mysql_sql.y:5384 13592 { 13593 yyLOCAL = &tree.TableOptionStatsSamplePages{Value: uint64(yyDollar[3].item.(int64))} 13594 } 13595 yyVAL.union = yyLOCAL 13596 case 872: 13597 yyDollar = yyS[yypt-3 : yypt+1] 13598 var yyLOCAL tree.TableOption 13599 //line mysql_sql.y:5388 13600 { 13601 yyLOCAL = &tree.TableOptionStatsSamplePages{Default: true} 13602 } 13603 yyVAL.union = yyLOCAL 13604 case 873: 13605 yyDollar = yyS[yypt-4 : yypt+1] 13606 var yyLOCAL tree.TableOption 13607 //line mysql_sql.y:5392 13608 { 13609 yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].str, yyDollar[4].str) 13610 } 13611 yyVAL.union = yyLOCAL 13612 case 874: 13613 yyDollar = yyS[yypt-5 : yypt+1] 13614 var yyLOCAL tree.TableOption 13615 //line mysql_sql.y:5396 13616 { 13617 yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion()) 13618 } 13619 yyVAL.union = yyLOCAL 13620 case 875: 13621 yyDollar = yyS[yypt-4 : yypt+1] 13622 var yyLOCAL tree.TableOption 13623 //line mysql_sql.y:5400 13624 { 13625 yyLOCAL = &tree.TableOptionProperties{Preperties: yyDollar[3].propertiesUnion()} 13626 } 13627 yyVAL.union = yyLOCAL 13628 case 876: 13629 yyDollar = yyS[yypt-1 : yypt+1] 13630 var yyLOCAL []tree.Property 13631 //line mysql_sql.y:5407 13632 { 13633 yyLOCAL = []tree.Property{yyDollar[1].propertyUnion()} 13634 } 13635 yyVAL.union = yyLOCAL 13636 case 877: 13637 yyDollar = yyS[yypt-3 : yypt+1] 13638 var yyLOCAL []tree.Property 13639 //line mysql_sql.y:5411 13640 { 13641 yyLOCAL = append(yyDollar[1].propertiesUnion(), yyDollar[3].propertyUnion()) 13642 } 13643 yyVAL.union = yyLOCAL 13644 case 878: 13645 yyDollar = yyS[yypt-3 : yypt+1] 13646 var yyLOCAL tree.Property 13647 //line mysql_sql.y:5417 13648 { 13649 yyLOCAL = tree.Property{Key: yyDollar[1].str, Value: yyDollar[3].str} 13650 } 13651 yyVAL.union = yyLOCAL 13652 case 879: 13653 yyDollar = yyS[yypt-0 : yypt+1] 13654 //line mysql_sql.y:5422 13655 { 13656 yyVAL.str = "" 13657 } 13658 case 880: 13659 yyDollar = yyS[yypt-2 : yypt+1] 13660 //line mysql_sql.y:5426 13661 { 13662 yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str 13663 } 13664 case 881: 13665 yyDollar = yyS[yypt-2 : yypt+1] 13666 //line mysql_sql.y:5430 13667 { 13668 yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str 13669 } 13670 case 882: 13671 yyDollar = yyS[yypt-1 : yypt+1] 13672 var yyLOCAL tree.RowFormatType 13673 //line mysql_sql.y:5436 13674 { 13675 yyLOCAL = tree.ROW_FORMAT_DEFAULT 13676 } 13677 yyVAL.union = yyLOCAL 13678 case 883: 13679 yyDollar = yyS[yypt-1 : yypt+1] 13680 var yyLOCAL tree.RowFormatType 13681 //line mysql_sql.y:5440 13682 { 13683 yyLOCAL = tree.ROW_FORMAT_DYNAMIC 13684 } 13685 yyVAL.union = yyLOCAL 13686 case 884: 13687 yyDollar = yyS[yypt-1 : yypt+1] 13688 var yyLOCAL tree.RowFormatType 13689 //line mysql_sql.y:5444 13690 { 13691 yyLOCAL = tree.ROW_FORMAT_FIXED 13692 } 13693 yyVAL.union = yyLOCAL 13694 case 885: 13695 yyDollar = yyS[yypt-1 : yypt+1] 13696 var yyLOCAL tree.RowFormatType 13697 //line mysql_sql.y:5448 13698 { 13699 yyLOCAL = tree.ROW_FORMAT_COMPRESSED 13700 } 13701 yyVAL.union = yyLOCAL 13702 case 886: 13703 yyDollar = yyS[yypt-1 : yypt+1] 13704 var yyLOCAL tree.RowFormatType 13705 //line mysql_sql.y:5452 13706 { 13707 yyLOCAL = tree.ROW_FORMAT_REDUNDANT 13708 } 13709 yyVAL.union = yyLOCAL 13710 case 887: 13711 yyDollar = yyS[yypt-1 : yypt+1] 13712 var yyLOCAL tree.RowFormatType 13713 //line mysql_sql.y:5456 13714 { 13715 yyLOCAL = tree.ROW_FORMAT_COMPACT 13716 } 13717 yyVAL.union = yyLOCAL 13718 case 892: 13719 yyDollar = yyS[yypt-1 : yypt+1] 13720 var yyLOCAL tree.TableNames 13721 //line mysql_sql.y:5470 13722 { 13723 yyLOCAL = tree.TableNames{yyDollar[1].tableNameUnion()} 13724 } 13725 yyVAL.union = yyLOCAL 13726 case 893: 13727 yyDollar = yyS[yypt-3 : yypt+1] 13728 var yyLOCAL tree.TableNames 13729 //line mysql_sql.y:5474 13730 { 13731 yyLOCAL = append(yyDollar[1].tableNamesUnion(), yyDollar[3].tableNameUnion()) 13732 } 13733 yyVAL.union = yyLOCAL 13734 case 894: 13735 yyDollar = yyS[yypt-1 : yypt+1] 13736 var yyLOCAL *tree.TableName 13737 //line mysql_sql.y:5483 13738 { 13739 prefix := tree.ObjectNamePrefix{ExplicitSchema: false} 13740 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].str), prefix) 13741 } 13742 yyVAL.union = yyLOCAL 13743 case 895: 13744 yyDollar = yyS[yypt-3 : yypt+1] 13745 var yyLOCAL *tree.TableName 13746 //line mysql_sql.y:5488 13747 { 13748 prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].str), ExplicitSchema: true} 13749 yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].str), prefix) 13750 } 13751 yyVAL.union = yyLOCAL 13752 case 896: 13753 yyDollar = yyS[yypt-0 : yypt+1] 13754 var yyLOCAL tree.TableDefs 13755 //line mysql_sql.y:5494 13756 { 13757 yyLOCAL = tree.TableDefs(nil) 13758 } 13759 yyVAL.union = yyLOCAL 13760 case 898: 13761 yyDollar = yyS[yypt-1 : yypt+1] 13762 var yyLOCAL tree.TableDefs 13763 //line mysql_sql.y:5501 13764 { 13765 yyLOCAL = tree.TableDefs{yyDollar[1].tableDefUnion()} 13766 } 13767 yyVAL.union = yyLOCAL 13768 case 899: 13769 yyDollar = yyS[yypt-3 : yypt+1] 13770 var yyLOCAL tree.TableDefs 13771 //line mysql_sql.y:5505 13772 { 13773 yyLOCAL = append(yyDollar[1].tableDefsUnion(), yyDollar[3].tableDefUnion()) 13774 } 13775 yyVAL.union = yyLOCAL 13776 case 900: 13777 yyDollar = yyS[yypt-1 : yypt+1] 13778 var yyLOCAL tree.TableDef 13779 //line mysql_sql.y:5511 13780 { 13781 yyLOCAL = tree.TableDef(yyDollar[1].columnTableDefUnion()) 13782 } 13783 yyVAL.union = yyLOCAL 13784 case 901: 13785 yyDollar = yyS[yypt-1 : yypt+1] 13786 var yyLOCAL tree.TableDef 13787 //line mysql_sql.y:5515 13788 { 13789 yyLOCAL = yyDollar[1].tableDefUnion() 13790 } 13791 yyVAL.union = yyLOCAL 13792 case 902: 13793 yyDollar = yyS[yypt-2 : yypt+1] 13794 var yyLOCAL tree.TableDef 13795 //line mysql_sql.y:5521 13796 { 13797 if yyDollar[1].str != "" { 13798 switch v := yyDollar[2].tableDefUnion().(type) { 13799 case *tree.PrimaryKeyIndex: 13800 v.Name = yyDollar[1].str 13801 case *tree.ForeignKey: 13802 v.Name = yyDollar[1].str 13803 } 13804 } 13805 yyLOCAL = yyDollar[2].tableDefUnion() 13806 } 13807 yyVAL.union = yyLOCAL 13808 case 903: 13809 yyDollar = yyS[yypt-1 : yypt+1] 13810 var yyLOCAL tree.TableDef 13811 //line mysql_sql.y:5533 13812 { 13813 yyLOCAL = yyDollar[1].tableDefUnion() 13814 } 13815 yyVAL.union = yyLOCAL 13816 case 904: 13817 yyDollar = yyS[yypt-7 : yypt+1] 13818 var yyLOCAL tree.TableDef 13819 //line mysql_sql.y:5539 13820 { 13821 yyLOCAL = &tree.PrimaryKeyIndex{ 13822 KeyParts: yyDollar[5].keyPartsUnion(), 13823 Name: yyDollar[3].strsUnion()[0], 13824 Empty: yyDollar[3].strsUnion()[1] == "", 13825 IndexOption: yyDollar[7].indexOptionUnion(), 13826 } 13827 } 13828 yyVAL.union = yyLOCAL 13829 case 905: 13830 yyDollar = yyS[yypt-7 : yypt+1] 13831 var yyLOCAL tree.TableDef 13832 //line mysql_sql.y:5548 13833 { 13834 yyLOCAL = &tree.FullTextIndex{ 13835 KeyParts: yyDollar[5].keyPartsUnion(), 13836 Name: yyDollar[3].str, 13837 Empty: true, 13838 IndexOption: yyDollar[7].indexOptionUnion(), 13839 } 13840 } 13841 yyVAL.union = yyLOCAL 13842 case 906: 13843 yyDollar = yyS[yypt-7 : yypt+1] 13844 var yyLOCAL tree.TableDef 13845 //line mysql_sql.y:5557 13846 { 13847 keyTyp := tree.INDEX_TYPE_INVALID 13848 if yyDollar[3].strsUnion()[1] != "" { 13849 t := strings.ToLower(yyDollar[3].strsUnion()[1]) 13850 switch t { 13851 case "zonemap": 13852 keyTyp = tree.INDEX_TYPE_ZONEMAP 13853 case "bsi": 13854 keyTyp = tree.INDEX_TYPE_BSI 13855 default: 13856 yylex.Error("Invail the type of index") 13857 return 1 13858 } 13859 } 13860 yyLOCAL = &tree.Index{ 13861 IfNotExists: yyDollar[2].ifNotExistsUnion(), 13862 KeyParts: yyDollar[5].keyPartsUnion(), 13863 Name: yyDollar[3].strsUnion()[0], 13864 KeyType: keyTyp, 13865 IndexOption: yyDollar[7].indexOptionUnion(), 13866 } 13867 } 13868 yyVAL.union = yyLOCAL 13869 case 907: 13870 yyDollar = yyS[yypt-7 : yypt+1] 13871 var yyLOCAL tree.TableDef 13872 //line mysql_sql.y:5580 13873 { 13874 yyLOCAL = &tree.UniqueIndex{ 13875 KeyParts: yyDollar[5].keyPartsUnion(), 13876 Name: yyDollar[3].strsUnion()[0], 13877 Empty: yyDollar[3].strsUnion()[1] == "", 13878 IndexOption: yyDollar[7].indexOptionUnion(), 13879 } 13880 } 13881 yyVAL.union = yyLOCAL 13882 case 908: 13883 yyDollar = yyS[yypt-8 : yypt+1] 13884 var yyLOCAL tree.TableDef 13885 //line mysql_sql.y:5589 13886 { 13887 yyLOCAL = &tree.ForeignKey{ 13888 IfNotExists: yyDollar[3].ifNotExistsUnion(), 13889 KeyParts: yyDollar[6].keyPartsUnion(), 13890 Name: yyDollar[4].str, 13891 Refer: yyDollar[8].attributeReferenceUnion(), 13892 Empty: true, 13893 } 13894 } 13895 yyVAL.union = yyLOCAL 13896 case 909: 13897 yyDollar = yyS[yypt-5 : yypt+1] 13898 var yyLOCAL tree.TableDef 13899 //line mysql_sql.y:5599 13900 { 13901 yyLOCAL = &tree.CheckIndex{ 13902 Expr: yyDollar[3].exprUnion(), 13903 Enforced: yyDollar[5].boolValUnion(), 13904 } 13905 } 13906 yyVAL.union = yyLOCAL 13907 case 910: 13908 yyDollar = yyS[yypt-0 : yypt+1] 13909 var yyLOCAL bool 13910 //line mysql_sql.y:5607 13911 { 13912 yyLOCAL = false 13913 } 13914 yyVAL.union = yyLOCAL 13915 case 912: 13916 yyDollar = yyS[yypt-0 : yypt+1] 13917 //line mysql_sql.y:5613 13918 { 13919 yyVAL.str = "" 13920 } 13921 case 913: 13922 yyDollar = yyS[yypt-1 : yypt+1] 13923 //line mysql_sql.y:5617 13924 { 13925 yyVAL.str = yyDollar[1].str 13926 } 13927 case 916: 13928 yyDollar = yyS[yypt-1 : yypt+1] 13929 var yyLOCAL []string 13930 //line mysql_sql.y:5627 13931 { 13932 yyLOCAL = make([]string, 2) 13933 yyLOCAL[0] = yyDollar[1].str 13934 yyLOCAL[1] = "" 13935 } 13936 yyVAL.union = yyLOCAL 13937 case 917: 13938 yyDollar = yyS[yypt-3 : yypt+1] 13939 var yyLOCAL []string 13940 //line mysql_sql.y:5633 13941 { 13942 yyLOCAL = make([]string, 2) 13943 yyLOCAL[0] = yyDollar[1].str 13944 yyLOCAL[1] = yyDollar[3].str 13945 } 13946 yyVAL.union = yyLOCAL 13947 case 918: 13948 yyDollar = yyS[yypt-3 : yypt+1] 13949 var yyLOCAL []string 13950 //line mysql_sql.y:5639 13951 { 13952 yyLOCAL = make([]string, 2) 13953 yyLOCAL[0] = yyDollar[1].str 13954 yyLOCAL[1] = yyDollar[3].str 13955 } 13956 yyVAL.union = yyLOCAL 13957 case 924: 13958 yyDollar = yyS[yypt-0 : yypt+1] 13959 //line mysql_sql.y:5653 13960 { 13961 yyVAL.str = "" 13962 } 13963 case 926: 13964 yyDollar = yyS[yypt-3 : yypt+1] 13965 var yyLOCAL *tree.ColumnTableDef 13966 //line mysql_sql.y:5660 13967 { 13968 yyLOCAL = tree.NewColumnTableDef(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[3].columnAttributesUnion()) 13969 } 13970 yyVAL.union = yyLOCAL 13971 case 927: 13972 yyDollar = yyS[yypt-1 : yypt+1] 13973 var yyLOCAL *tree.UnresolvedName 13974 //line mysql_sql.y:5666 13975 { 13976 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) 13977 } 13978 yyVAL.union = yyLOCAL 13979 case 928: 13980 yyDollar = yyS[yypt-3 : yypt+1] 13981 var yyLOCAL *tree.UnresolvedName 13982 //line mysql_sql.y:5670 13983 { 13984 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) 13985 } 13986 yyVAL.union = yyLOCAL 13987 case 929: 13988 yyDollar = yyS[yypt-5 : yypt+1] 13989 var yyLOCAL *tree.UnresolvedName 13990 //line mysql_sql.y:5674 13991 { 13992 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) 13993 } 13994 yyVAL.union = yyLOCAL 13995 case 933: 13996 yyDollar = yyS[yypt-1 : yypt+1] 13997 var yyLOCAL *tree.UnresolvedName 13998 //line mysql_sql.y:5685 13999 { 14000 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) 14001 } 14002 yyVAL.union = yyLOCAL 14003 case 934: 14004 yyDollar = yyS[yypt-3 : yypt+1] 14005 var yyLOCAL *tree.UnresolvedName 14006 //line mysql_sql.y:5689 14007 { 14008 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) 14009 } 14010 yyVAL.union = yyLOCAL 14011 case 935: 14012 yyDollar = yyS[yypt-5 : yypt+1] 14013 var yyLOCAL *tree.UnresolvedName 14014 //line mysql_sql.y:5693 14015 { 14016 yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) 14017 } 14018 yyVAL.union = yyLOCAL 14019 case 936: 14020 yyDollar = yyS[yypt-0 : yypt+1] 14021 var yyLOCAL []tree.ColumnAttribute 14022 //line mysql_sql.y:5698 14023 { 14024 yyLOCAL = nil 14025 } 14026 yyVAL.union = yyLOCAL 14027 case 937: 14028 yyDollar = yyS[yypt-1 : yypt+1] 14029 var yyLOCAL []tree.ColumnAttribute 14030 //line mysql_sql.y:5702 14031 { 14032 yyLOCAL = yyDollar[1].columnAttributesUnion() 14033 } 14034 yyVAL.union = yyLOCAL 14035 case 938: 14036 yyDollar = yyS[yypt-1 : yypt+1] 14037 var yyLOCAL []tree.ColumnAttribute 14038 //line mysql_sql.y:5708 14039 { 14040 yyLOCAL = []tree.ColumnAttribute{yyDollar[1].columnAttributeUnion()} 14041 } 14042 yyVAL.union = yyLOCAL 14043 case 939: 14044 yyDollar = yyS[yypt-2 : yypt+1] 14045 var yyLOCAL []tree.ColumnAttribute 14046 //line mysql_sql.y:5712 14047 { 14048 yyLOCAL = append(yyDollar[1].columnAttributesUnion(), yyDollar[2].columnAttributeUnion()) 14049 } 14050 yyVAL.union = yyLOCAL 14051 case 940: 14052 yyDollar = yyS[yypt-1 : yypt+1] 14053 var yyLOCAL tree.ColumnAttribute 14054 //line mysql_sql.y:5718 14055 { 14056 yyLOCAL = tree.NewAttributeNull(true) 14057 } 14058 yyVAL.union = yyLOCAL 14059 case 941: 14060 yyDollar = yyS[yypt-2 : yypt+1] 14061 var yyLOCAL tree.ColumnAttribute 14062 //line mysql_sql.y:5722 14063 { 14064 yyLOCAL = tree.NewAttributeNull(false) 14065 } 14066 yyVAL.union = yyLOCAL 14067 case 942: 14068 yyDollar = yyS[yypt-2 : yypt+1] 14069 var yyLOCAL tree.ColumnAttribute 14070 //line mysql_sql.y:5726 14071 { 14072 yyLOCAL = tree.NewAttributeDefault(yyDollar[2].exprUnion()) 14073 } 14074 yyVAL.union = yyLOCAL 14075 case 943: 14076 yyDollar = yyS[yypt-1 : yypt+1] 14077 var yyLOCAL tree.ColumnAttribute 14078 //line mysql_sql.y:5730 14079 { 14080 yyLOCAL = tree.NewAttributeAutoIncrement() 14081 } 14082 yyVAL.union = yyLOCAL 14083 case 944: 14084 yyDollar = yyS[yypt-1 : yypt+1] 14085 var yyLOCAL tree.ColumnAttribute 14086 //line mysql_sql.y:5734 14087 { 14088 yyLOCAL = yyDollar[1].columnAttributeUnion() 14089 } 14090 yyVAL.union = yyLOCAL 14091 case 945: 14092 yyDollar = yyS[yypt-2 : yypt+1] 14093 var yyLOCAL tree.ColumnAttribute 14094 //line mysql_sql.y:5738 14095 { 14096 str := util.DealCommentString(yyDollar[2].str) 14097 yyLOCAL = tree.NewAttributeComment(tree.NewNumValWithType(constant.MakeString(str), str, false, tree.P_char)) 14098 } 14099 yyVAL.union = yyLOCAL 14100 case 946: 14101 yyDollar = yyS[yypt-2 : yypt+1] 14102 var yyLOCAL tree.ColumnAttribute 14103 //line mysql_sql.y:5743 14104 { 14105 yyLOCAL = tree.NewAttributeCollate(yyDollar[2].str) 14106 } 14107 yyVAL.union = yyLOCAL 14108 case 947: 14109 yyDollar = yyS[yypt-2 : yypt+1] 14110 var yyLOCAL tree.ColumnAttribute 14111 //line mysql_sql.y:5747 14112 { 14113 yyLOCAL = tree.NewAttributeColumnFormat(yyDollar[2].str) 14114 } 14115 yyVAL.union = yyLOCAL 14116 case 948: 14117 yyDollar = yyS[yypt-2 : yypt+1] 14118 var yyLOCAL tree.ColumnAttribute 14119 //line mysql_sql.y:5751 14120 { 14121 yyLOCAL = tree.NewAttributeStorage(yyDollar[2].str) 14122 } 14123 yyVAL.union = yyLOCAL 14124 case 949: 14125 yyDollar = yyS[yypt-2 : yypt+1] 14126 var yyLOCAL tree.ColumnAttribute 14127 //line mysql_sql.y:5755 14128 { 14129 yyLOCAL = tree.NewAttributeAutoRandom(int(yyDollar[2].int64ValUnion())) 14130 } 14131 yyVAL.union = yyLOCAL 14132 case 950: 14133 yyDollar = yyS[yypt-1 : yypt+1] 14134 var yyLOCAL tree.ColumnAttribute 14135 //line mysql_sql.y:5759 14136 { 14137 yyLOCAL = yyDollar[1].attributeReferenceUnion() 14138 } 14139 yyVAL.union = yyLOCAL 14140 case 951: 14141 yyDollar = yyS[yypt-5 : yypt+1] 14142 var yyLOCAL tree.ColumnAttribute 14143 //line mysql_sql.y:5763 14144 { 14145 yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), false, yyDollar[1].str) 14146 } 14147 yyVAL.union = yyLOCAL 14148 case 952: 14149 yyDollar = yyS[yypt-6 : yypt+1] 14150 var yyLOCAL tree.ColumnAttribute 14151 //line mysql_sql.y:5767 14152 { 14153 yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), yyDollar[6].boolValUnion(), yyDollar[1].str) 14154 } 14155 yyVAL.union = yyLOCAL 14156 case 953: 14157 yyDollar = yyS[yypt-4 : yypt+1] 14158 var yyLOCAL tree.ColumnAttribute 14159 //line mysql_sql.y:5771 14160 { 14161 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[3].str)) 14162 var es tree.Exprs = nil 14163 if yyDollar[4].exprUnion() != nil { 14164 es = append(es, yyDollar[4].exprUnion()) 14165 } 14166 expr := &tree.FuncExpr{ 14167 Func: tree.FuncName2ResolvableFunctionReference(name), 14168 Exprs: es, 14169 } 14170 yyLOCAL = tree.NewAttributeOnUpdate(expr) 14171 } 14172 yyVAL.union = yyLOCAL 14173 case 954: 14174 yyDollar = yyS[yypt-1 : yypt+1] 14175 var yyLOCAL tree.ColumnAttribute 14176 //line mysql_sql.y:5784 14177 { 14178 yyLOCAL = tree.NewAttributeLowCardinality() 14179 } 14180 yyVAL.union = yyLOCAL 14181 case 955: 14182 yyDollar = yyS[yypt-1 : yypt+1] 14183 var yyLOCAL bool 14184 //line mysql_sql.y:5790 14185 { 14186 yyLOCAL = true 14187 } 14188 yyVAL.union = yyLOCAL 14189 case 956: 14190 yyDollar = yyS[yypt-2 : yypt+1] 14191 var yyLOCAL bool 14192 //line mysql_sql.y:5794 14193 { 14194 yyLOCAL = false 14195 } 14196 yyVAL.union = yyLOCAL 14197 case 957: 14198 yyDollar = yyS[yypt-0 : yypt+1] 14199 //line mysql_sql.y:5799 14200 { 14201 yyVAL.str = "" 14202 } 14203 case 958: 14204 yyDollar = yyS[yypt-1 : yypt+1] 14205 //line mysql_sql.y:5803 14206 { 14207 yyVAL.str = yyDollar[1].str 14208 } 14209 case 959: 14210 yyDollar = yyS[yypt-1 : yypt+1] 14211 //line mysql_sql.y:5809 14212 { 14213 yyVAL.str = "" 14214 } 14215 case 960: 14216 yyDollar = yyS[yypt-2 : yypt+1] 14217 //line mysql_sql.y:5813 14218 { 14219 yyVAL.str = yyDollar[2].str 14220 } 14221 case 961: 14222 yyDollar = yyS[yypt-5 : yypt+1] 14223 var yyLOCAL *tree.AttributeReference 14224 //line mysql_sql.y:5819 14225 { 14226 yyLOCAL = &tree.AttributeReference{ 14227 TableName: yyDollar[2].tableNameUnion(), 14228 KeyParts: yyDollar[3].keyPartsUnion(), 14229 Match: yyDollar[4].matchTypeUnion(), 14230 OnDelete: yyDollar[5].referenceOnRecordUnion().OnDelete, 14231 OnUpdate: yyDollar[5].referenceOnRecordUnion().OnUpdate, 14232 } 14233 } 14234 yyVAL.union = yyLOCAL 14235 case 962: 14236 yyDollar = yyS[yypt-0 : yypt+1] 14237 var yyLOCAL *tree.ReferenceOnRecord 14238 //line mysql_sql.y:5831 14239 { 14240 yyLOCAL = &tree.ReferenceOnRecord{ 14241 OnDelete: tree.REFERENCE_OPTION_INVALID, 14242 OnUpdate: tree.REFERENCE_OPTION_INVALID, 14243 } 14244 } 14245 yyVAL.union = yyLOCAL 14246 case 963: 14247 yyDollar = yyS[yypt-1 : yypt+1] 14248 var yyLOCAL *tree.ReferenceOnRecord 14249 //line mysql_sql.y:5838 14250 { 14251 yyLOCAL = &tree.ReferenceOnRecord{ 14252 OnDelete: yyDollar[1].referenceOptionTypeUnion(), 14253 OnUpdate: tree.REFERENCE_OPTION_INVALID, 14254 } 14255 } 14256 yyVAL.union = yyLOCAL 14257 case 964: 14258 yyDollar = yyS[yypt-1 : yypt+1] 14259 var yyLOCAL *tree.ReferenceOnRecord 14260 //line mysql_sql.y:5845 14261 { 14262 yyLOCAL = &tree.ReferenceOnRecord{ 14263 OnDelete: tree.REFERENCE_OPTION_INVALID, 14264 OnUpdate: yyDollar[1].referenceOptionTypeUnion(), 14265 } 14266 } 14267 yyVAL.union = yyLOCAL 14268 case 965: 14269 yyDollar = yyS[yypt-2 : yypt+1] 14270 var yyLOCAL *tree.ReferenceOnRecord 14271 //line mysql_sql.y:5852 14272 { 14273 yyLOCAL = &tree.ReferenceOnRecord{ 14274 OnDelete: yyDollar[1].referenceOptionTypeUnion(), 14275 OnUpdate: yyDollar[2].referenceOptionTypeUnion(), 14276 } 14277 } 14278 yyVAL.union = yyLOCAL 14279 case 966: 14280 yyDollar = yyS[yypt-2 : yypt+1] 14281 var yyLOCAL *tree.ReferenceOnRecord 14282 //line mysql_sql.y:5859 14283 { 14284 yyLOCAL = &tree.ReferenceOnRecord{ 14285 OnDelete: yyDollar[2].referenceOptionTypeUnion(), 14286 OnUpdate: yyDollar[1].referenceOptionTypeUnion(), 14287 } 14288 } 14289 yyVAL.union = yyLOCAL 14290 case 967: 14291 yyDollar = yyS[yypt-3 : yypt+1] 14292 var yyLOCAL tree.ReferenceOptionType 14293 //line mysql_sql.y:5868 14294 { 14295 yyLOCAL = yyDollar[3].referenceOptionTypeUnion() 14296 } 14297 yyVAL.union = yyLOCAL 14298 case 968: 14299 yyDollar = yyS[yypt-3 : yypt+1] 14300 var yyLOCAL tree.ReferenceOptionType 14301 //line mysql_sql.y:5874 14302 { 14303 yyLOCAL = yyDollar[3].referenceOptionTypeUnion() 14304 } 14305 yyVAL.union = yyLOCAL 14306 case 969: 14307 yyDollar = yyS[yypt-1 : yypt+1] 14308 var yyLOCAL tree.ReferenceOptionType 14309 //line mysql_sql.y:5880 14310 { 14311 yyLOCAL = tree.REFERENCE_OPTION_RESTRICT 14312 } 14313 yyVAL.union = yyLOCAL 14314 case 970: 14315 yyDollar = yyS[yypt-1 : yypt+1] 14316 var yyLOCAL tree.ReferenceOptionType 14317 //line mysql_sql.y:5884 14318 { 14319 yyLOCAL = tree.REFERENCE_OPTION_CASCADE 14320 } 14321 yyVAL.union = yyLOCAL 14322 case 971: 14323 yyDollar = yyS[yypt-2 : yypt+1] 14324 var yyLOCAL tree.ReferenceOptionType 14325 //line mysql_sql.y:5888 14326 { 14327 yyLOCAL = tree.REFERENCE_OPTION_SET_NULL 14328 } 14329 yyVAL.union = yyLOCAL 14330 case 972: 14331 yyDollar = yyS[yypt-2 : yypt+1] 14332 var yyLOCAL tree.ReferenceOptionType 14333 //line mysql_sql.y:5892 14334 { 14335 yyLOCAL = tree.REFERENCE_OPTION_NO_ACTION 14336 } 14337 yyVAL.union = yyLOCAL 14338 case 973: 14339 yyDollar = yyS[yypt-2 : yypt+1] 14340 var yyLOCAL tree.ReferenceOptionType 14341 //line mysql_sql.y:5896 14342 { 14343 yyLOCAL = tree.REFERENCE_OPTION_SET_DEFAULT 14344 } 14345 yyVAL.union = yyLOCAL 14346 case 974: 14347 yyDollar = yyS[yypt-0 : yypt+1] 14348 var yyLOCAL tree.MatchType 14349 //line mysql_sql.y:5901 14350 { 14351 yyLOCAL = tree.MATCH_INVALID 14352 } 14353 yyVAL.union = yyLOCAL 14354 case 976: 14355 yyDollar = yyS[yypt-2 : yypt+1] 14356 var yyLOCAL tree.MatchType 14357 //line mysql_sql.y:5908 14358 { 14359 yyLOCAL = tree.MATCH_FULL 14360 } 14361 yyVAL.union = yyLOCAL 14362 case 977: 14363 yyDollar = yyS[yypt-2 : yypt+1] 14364 var yyLOCAL tree.MatchType 14365 //line mysql_sql.y:5912 14366 { 14367 yyLOCAL = tree.MATCH_PARTIAL 14368 } 14369 yyVAL.union = yyLOCAL 14370 case 978: 14371 yyDollar = yyS[yypt-2 : yypt+1] 14372 var yyLOCAL tree.MatchType 14373 //line mysql_sql.y:5916 14374 { 14375 yyLOCAL = tree.MATCH_SIMPLE 14376 } 14377 yyVAL.union = yyLOCAL 14378 case 979: 14379 yyDollar = yyS[yypt-0 : yypt+1] 14380 var yyLOCAL []*tree.KeyPart 14381 //line mysql_sql.y:5921 14382 { 14383 yyLOCAL = nil 14384 } 14385 yyVAL.union = yyLOCAL 14386 case 980: 14387 yyDollar = yyS[yypt-3 : yypt+1] 14388 var yyLOCAL []*tree.KeyPart 14389 //line mysql_sql.y:5925 14390 { 14391 yyLOCAL = yyDollar[2].keyPartsUnion() 14392 } 14393 yyVAL.union = yyLOCAL 14394 case 981: 14395 yyDollar = yyS[yypt-0 : yypt+1] 14396 var yyLOCAL int64 14397 //line mysql_sql.y:5930 14398 { 14399 yyLOCAL = -1 14400 } 14401 yyVAL.union = yyLOCAL 14402 case 982: 14403 yyDollar = yyS[yypt-3 : yypt+1] 14404 var yyLOCAL int64 14405 //line mysql_sql.y:5934 14406 { 14407 yyLOCAL = yyDollar[2].item.(int64) 14408 } 14409 yyVAL.union = yyLOCAL 14410 case 989: 14411 yyDollar = yyS[yypt-1 : yypt+1] 14412 var yyLOCAL *tree.Subquery 14413 //line mysql_sql.y:5950 14414 { 14415 yyLOCAL = &tree.Subquery{Select: yyDollar[1].selectStatementUnion(), Exists: false} 14416 } 14417 yyVAL.union = yyLOCAL 14418 case 990: 14419 yyDollar = yyS[yypt-3 : yypt+1] 14420 var yyLOCAL tree.Expr 14421 //line mysql_sql.y:5956 14422 { 14423 yyLOCAL = tree.NewBinaryExpr(tree.BIT_AND, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14424 } 14425 yyVAL.union = yyLOCAL 14426 case 991: 14427 yyDollar = yyS[yypt-3 : yypt+1] 14428 var yyLOCAL tree.Expr 14429 //line mysql_sql.y:5960 14430 { 14431 yyLOCAL = tree.NewBinaryExpr(tree.BIT_OR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14432 } 14433 yyVAL.union = yyLOCAL 14434 case 992: 14435 yyDollar = yyS[yypt-3 : yypt+1] 14436 var yyLOCAL tree.Expr 14437 //line mysql_sql.y:5964 14438 { 14439 yyLOCAL = tree.NewBinaryExpr(tree.BIT_XOR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14440 } 14441 yyVAL.union = yyLOCAL 14442 case 993: 14443 yyDollar = yyS[yypt-3 : yypt+1] 14444 var yyLOCAL tree.Expr 14445 //line mysql_sql.y:5968 14446 { 14447 yyLOCAL = tree.NewBinaryExpr(tree.PLUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14448 } 14449 yyVAL.union = yyLOCAL 14450 case 994: 14451 yyDollar = yyS[yypt-3 : yypt+1] 14452 var yyLOCAL tree.Expr 14453 //line mysql_sql.y:5972 14454 { 14455 yyLOCAL = tree.NewBinaryExpr(tree.MINUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14456 } 14457 yyVAL.union = yyLOCAL 14458 case 995: 14459 yyDollar = yyS[yypt-3 : yypt+1] 14460 var yyLOCAL tree.Expr 14461 //line mysql_sql.y:5976 14462 { 14463 yyLOCAL = tree.NewBinaryExpr(tree.MULTI, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14464 } 14465 yyVAL.union = yyLOCAL 14466 case 996: 14467 yyDollar = yyS[yypt-3 : yypt+1] 14468 var yyLOCAL tree.Expr 14469 //line mysql_sql.y:5980 14470 { 14471 yyLOCAL = tree.NewBinaryExpr(tree.DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14472 } 14473 yyVAL.union = yyLOCAL 14474 case 997: 14475 yyDollar = yyS[yypt-3 : yypt+1] 14476 var yyLOCAL tree.Expr 14477 //line mysql_sql.y:5984 14478 { 14479 yyLOCAL = tree.NewBinaryExpr(tree.INTEGER_DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14480 } 14481 yyVAL.union = yyLOCAL 14482 case 998: 14483 yyDollar = yyS[yypt-3 : yypt+1] 14484 var yyLOCAL tree.Expr 14485 //line mysql_sql.y:5988 14486 { 14487 yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14488 } 14489 yyVAL.union = yyLOCAL 14490 case 999: 14491 yyDollar = yyS[yypt-3 : yypt+1] 14492 var yyLOCAL tree.Expr 14493 //line mysql_sql.y:5992 14494 { 14495 yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14496 } 14497 yyVAL.union = yyLOCAL 14498 case 1000: 14499 yyDollar = yyS[yypt-3 : yypt+1] 14500 var yyLOCAL tree.Expr 14501 //line mysql_sql.y:5996 14502 { 14503 yyLOCAL = tree.NewBinaryExpr(tree.LEFT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14504 } 14505 yyVAL.union = yyLOCAL 14506 case 1001: 14507 yyDollar = yyS[yypt-3 : yypt+1] 14508 var yyLOCAL tree.Expr 14509 //line mysql_sql.y:6000 14510 { 14511 yyLOCAL = tree.NewBinaryExpr(tree.RIGHT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 14512 } 14513 yyVAL.union = yyLOCAL 14514 case 1002: 14515 yyDollar = yyS[yypt-1 : yypt+1] 14516 var yyLOCAL tree.Expr 14517 //line mysql_sql.y:6004 14518 { 14519 yyLOCAL = yyDollar[1].exprUnion() 14520 } 14521 yyVAL.union = yyLOCAL 14522 case 1003: 14523 yyDollar = yyS[yypt-1 : yypt+1] 14524 var yyLOCAL tree.Expr 14525 //line mysql_sql.y:6010 14526 { 14527 yyLOCAL = yyDollar[1].unresolvedNameUnion() 14528 } 14529 yyVAL.union = yyLOCAL 14530 case 1004: 14531 yyDollar = yyS[yypt-1 : yypt+1] 14532 var yyLOCAL tree.Expr 14533 //line mysql_sql.y:6014 14534 { 14535 yyLOCAL = yyDollar[1].varExprUnion() 14536 } 14537 yyVAL.union = yyLOCAL 14538 case 1005: 14539 yyDollar = yyS[yypt-1 : yypt+1] 14540 var yyLOCAL tree.Expr 14541 //line mysql_sql.y:6018 14542 { 14543 yyLOCAL = yyDollar[1].exprUnion() 14544 } 14545 yyVAL.union = yyLOCAL 14546 case 1006: 14547 yyDollar = yyS[yypt-3 : yypt+1] 14548 var yyLOCAL tree.Expr 14549 //line mysql_sql.y:6022 14550 { 14551 yyLOCAL = tree.NewParenExpr(yyDollar[2].exprUnion()) 14552 } 14553 yyVAL.union = yyLOCAL 14554 case 1007: 14555 yyDollar = yyS[yypt-5 : yypt+1] 14556 var yyLOCAL tree.Expr 14557 //line mysql_sql.y:6026 14558 { 14559 yyLOCAL = tree.NewTuple(append(yyDollar[2].exprsUnion(), yyDollar[4].exprUnion())) 14560 } 14561 yyVAL.union = yyLOCAL 14562 case 1008: 14563 yyDollar = yyS[yypt-2 : yypt+1] 14564 var yyLOCAL tree.Expr 14565 //line mysql_sql.y:6030 14566 { 14567 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_PLUS, yyDollar[2].exprUnion()) 14568 } 14569 yyVAL.union = yyLOCAL 14570 case 1009: 14571 yyDollar = yyS[yypt-2 : yypt+1] 14572 var yyLOCAL tree.Expr 14573 //line mysql_sql.y:6034 14574 { 14575 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MINUS, yyDollar[2].exprUnion()) 14576 } 14577 yyVAL.union = yyLOCAL 14578 case 1010: 14579 yyDollar = yyS[yypt-2 : yypt+1] 14580 var yyLOCAL tree.Expr 14581 //line mysql_sql.y:6038 14582 { 14583 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_TILDE, yyDollar[2].exprUnion()) 14584 } 14585 yyVAL.union = yyLOCAL 14586 case 1011: 14587 yyDollar = yyS[yypt-2 : yypt+1] 14588 var yyLOCAL tree.Expr 14589 //line mysql_sql.y:6042 14590 { 14591 yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MARK, yyDollar[2].exprUnion()) 14592 } 14593 yyVAL.union = yyLOCAL 14594 case 1012: 14595 yyDollar = yyS[yypt-1 : yypt+1] 14596 var yyLOCAL tree.Expr 14597 //line mysql_sql.y:6046 14598 { 14599 yyLOCAL = yyDollar[1].exprUnion() 14600 } 14601 yyVAL.union = yyLOCAL 14602 case 1013: 14603 yyDollar = yyS[yypt-1 : yypt+1] 14604 var yyLOCAL tree.Expr 14605 //line mysql_sql.y:6050 14606 { 14607 yyLOCAL = yyDollar[1].subqueryUnion() 14608 } 14609 yyVAL.union = yyLOCAL 14610 case 1014: 14611 yyDollar = yyS[yypt-2 : yypt+1] 14612 var yyLOCAL tree.Expr 14613 //line mysql_sql.y:6054 14614 { 14615 yyDollar[2].subqueryUnion().Exists = true 14616 yyLOCAL = yyDollar[2].subqueryUnion() 14617 } 14618 yyVAL.union = yyLOCAL 14619 case 1015: 14620 yyDollar = yyS[yypt-5 : yypt+1] 14621 var yyLOCAL tree.Expr 14622 //line mysql_sql.y:6059 14623 { 14624 yyLOCAL = &tree.CaseExpr{ 14625 Expr: yyDollar[2].exprUnion(), 14626 Whens: yyDollar[3].whenClauseListUnion(), 14627 Else: yyDollar[4].exprUnion(), 14628 } 14629 } 14630 yyVAL.union = yyLOCAL 14631 case 1016: 14632 yyDollar = yyS[yypt-6 : yypt+1] 14633 var yyLOCAL tree.Expr 14634 //line mysql_sql.y:6067 14635 { 14636 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) 14637 } 14638 yyVAL.union = yyLOCAL 14639 case 1017: 14640 yyDollar = yyS[yypt-4 : yypt+1] 14641 var yyLOCAL tree.Expr 14642 //line mysql_sql.y:6071 14643 { 14644 locale := "" 14645 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), &tree.T{ 14646 InternalType: tree.InternalType{ 14647 Family: tree.StringFamily, 14648 FamilyString: "BINARY", 14649 Locale: &locale, 14650 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 14651 }, 14652 }) 14653 } 14654 yyVAL.union = yyLOCAL 14655 case 1018: 14656 yyDollar = yyS[yypt-6 : yypt+1] 14657 var yyLOCAL tree.Expr 14658 //line mysql_sql.y:6083 14659 { 14660 yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) 14661 } 14662 yyVAL.union = yyLOCAL 14663 case 1019: 14664 yyDollar = yyS[yypt-6 : yypt+1] 14665 var yyLOCAL tree.Expr 14666 //line mysql_sql.y:6087 14667 { 14668 name := tree.SetUnresolvedName("convert") 14669 es := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) 14670 yyLOCAL = &tree.FuncExpr{ 14671 Func: tree.FuncName2ResolvableFunctionReference(name), 14672 Exprs: tree.Exprs{yyDollar[3].exprUnion(), es}, 14673 } 14674 } 14675 yyVAL.union = yyLOCAL 14676 case 1020: 14677 yyDollar = yyS[yypt-1 : yypt+1] 14678 var yyLOCAL tree.Expr 14679 //line mysql_sql.y:6096 14680 { 14681 yyLOCAL = yyDollar[1].funcExprUnion() 14682 } 14683 yyVAL.union = yyLOCAL 14684 case 1021: 14685 yyDollar = yyS[yypt-1 : yypt+1] 14686 var yyLOCAL tree.Expr 14687 //line mysql_sql.y:6100 14688 { 14689 yyLOCAL = yyDollar[1].funcExprUnion() 14690 } 14691 yyVAL.union = yyLOCAL 14692 case 1022: 14693 yyDollar = yyS[yypt-1 : yypt+1] 14694 var yyLOCAL tree.Expr 14695 //line mysql_sql.y:6104 14696 { 14697 yyLOCAL = yyDollar[1].funcExprUnion() 14698 } 14699 yyVAL.union = yyLOCAL 14700 case 1023: 14701 yyDollar = yyS[yypt-1 : yypt+1] 14702 var yyLOCAL tree.Expr 14703 //line mysql_sql.y:6108 14704 { 14705 yyLOCAL = yyDollar[1].funcExprUnion() 14706 } 14707 yyVAL.union = yyLOCAL 14708 case 1024: 14709 yyDollar = yyS[yypt-0 : yypt+1] 14710 var yyLOCAL tree.Expr 14711 //line mysql_sql.y:6113 14712 { 14713 yyLOCAL = nil 14714 } 14715 yyVAL.union = yyLOCAL 14716 case 1025: 14717 yyDollar = yyS[yypt-2 : yypt+1] 14718 var yyLOCAL tree.Expr 14719 //line mysql_sql.y:6117 14720 { 14721 yyLOCAL = yyDollar[2].exprUnion() 14722 } 14723 yyVAL.union = yyLOCAL 14724 case 1026: 14725 yyDollar = yyS[yypt-0 : yypt+1] 14726 var yyLOCAL tree.Expr 14727 //line mysql_sql.y:6122 14728 { 14729 yyLOCAL = nil 14730 } 14731 yyVAL.union = yyLOCAL 14732 case 1027: 14733 yyDollar = yyS[yypt-1 : yypt+1] 14734 var yyLOCAL tree.Expr 14735 //line mysql_sql.y:6126 14736 { 14737 yyLOCAL = yyDollar[1].exprUnion() 14738 } 14739 yyVAL.union = yyLOCAL 14740 case 1028: 14741 yyDollar = yyS[yypt-1 : yypt+1] 14742 var yyLOCAL []*tree.When 14743 //line mysql_sql.y:6132 14744 { 14745 yyLOCAL = []*tree.When{yyDollar[1].whenClauseUnion()} 14746 } 14747 yyVAL.union = yyLOCAL 14748 case 1029: 14749 yyDollar = yyS[yypt-2 : yypt+1] 14750 var yyLOCAL []*tree.When 14751 //line mysql_sql.y:6136 14752 { 14753 yyLOCAL = append(yyDollar[1].whenClauseListUnion(), yyDollar[2].whenClauseUnion()) 14754 } 14755 yyVAL.union = yyLOCAL 14756 case 1030: 14757 yyDollar = yyS[yypt-4 : yypt+1] 14758 var yyLOCAL *tree.When 14759 //line mysql_sql.y:6142 14760 { 14761 yyLOCAL = &tree.When{ 14762 Cond: yyDollar[2].exprUnion(), 14763 Val: yyDollar[4].exprUnion(), 14764 } 14765 } 14766 yyVAL.union = yyLOCAL 14767 case 1032: 14768 yyDollar = yyS[yypt-2 : yypt+1] 14769 var yyLOCAL *tree.T 14770 //line mysql_sql.y:6152 14771 { 14772 name := yyDollar[1].str 14773 if yyDollar[2].str != "" { 14774 name = yyDollar[2].str 14775 } 14776 locale := "" 14777 yyLOCAL = &tree.T{ 14778 InternalType: tree.InternalType{ 14779 Family: tree.IntFamily, 14780 FamilyString: name, 14781 Width: 64, 14782 Locale: &locale, 14783 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 14784 }, 14785 } 14786 } 14787 yyVAL.union = yyLOCAL 14788 case 1033: 14789 yyDollar = yyS[yypt-2 : yypt+1] 14790 var yyLOCAL *tree.T 14791 //line mysql_sql.y:6169 14792 { 14793 locale := "" 14794 yyLOCAL = &tree.T{ 14795 InternalType: tree.InternalType{ 14796 Family: tree.IntFamily, 14797 FamilyString: yyDollar[2].str, 14798 Width: 64, 14799 Locale: &locale, 14800 Unsigned: true, 14801 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 14802 }, 14803 } 14804 } 14805 yyVAL.union = yyLOCAL 14806 case 1035: 14807 yyDollar = yyS[yypt-2 : yypt+1] 14808 var yyLOCAL *tree.T 14809 //line mysql_sql.y:6186 14810 { 14811 locale := "" 14812 yyLOCAL = &tree.T{ 14813 InternalType: tree.InternalType{ 14814 Family: tree.StringFamily, 14815 FamilyString: yyDollar[1].str, 14816 Locale: &locale, 14817 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 14818 DisplayWith: yyDollar[2].lengthOptUnion(), 14819 }, 14820 } 14821 } 14822 yyVAL.union = yyLOCAL 14823 case 1036: 14824 yyDollar = yyS[yypt-2 : yypt+1] 14825 var yyLOCAL *tree.T 14826 //line mysql_sql.y:6199 14827 { 14828 locale := "" 14829 yyLOCAL = &tree.T{ 14830 InternalType: tree.InternalType{ 14831 Family: tree.StringFamily, 14832 FamilyString: yyDollar[1].str, 14833 Locale: &locale, 14834 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 14835 DisplayWith: yyDollar[2].lengthOptUnion(), 14836 }, 14837 } 14838 } 14839 yyVAL.union = yyLOCAL 14840 case 1037: 14841 yyDollar = yyS[yypt-1 : yypt+1] 14842 var yyLOCAL *tree.T 14843 //line mysql_sql.y:6212 14844 { 14845 locale := "" 14846 yyLOCAL = &tree.T{ 14847 InternalType: tree.InternalType{ 14848 Family: tree.DateFamily, 14849 FamilyString: yyDollar[1].str, 14850 Locale: &locale, 14851 Oid: uint32(defines.MYSQL_TYPE_DATE), 14852 }, 14853 } 14854 } 14855 yyVAL.union = yyLOCAL 14856 case 1038: 14857 yyDollar = yyS[yypt-2 : yypt+1] 14858 var yyLOCAL *tree.T 14859 //line mysql_sql.y:6224 14860 { 14861 locale := "" 14862 yyLOCAL = &tree.T{ 14863 InternalType: tree.InternalType{ 14864 Family: tree.IntFamily, 14865 FamilyString: yyDollar[1].str, 14866 DisplayWith: yyDollar[2].lengthOptUnion(), 14867 Width: 16, 14868 Locale: &locale, 14869 Oid: uint32(defines.MYSQL_TYPE_YEAR), 14870 }, 14871 } 14872 } 14873 yyVAL.union = yyLOCAL 14874 case 1039: 14875 yyDollar = yyS[yypt-2 : yypt+1] 14876 var yyLOCAL *tree.T 14877 //line mysql_sql.y:6238 14878 { 14879 locale := "" 14880 yyLOCAL = &tree.T{ 14881 InternalType: tree.InternalType{ 14882 Family: tree.TimestampFamily, 14883 Precision: yyDollar[2].lengthOptUnion(), 14884 FamilyString: yyDollar[1].str, 14885 DisplayWith: yyDollar[2].lengthOptUnion(), 14886 TimePrecisionIsSet: false, 14887 Locale: &locale, 14888 Oid: uint32(defines.MYSQL_TYPE_DATETIME), 14889 }, 14890 } 14891 } 14892 yyVAL.union = yyLOCAL 14893 case 1040: 14894 yyDollar = yyS[yypt-2 : yypt+1] 14895 var yyLOCAL *tree.T 14896 //line mysql_sql.y:6253 14897 { 14898 locale := "" 14899 yyLOCAL = &tree.T{ 14900 InternalType: tree.InternalType{ 14901 Family: tree.TimeFamily, 14902 FamilyString: yyDollar[1].str, 14903 DisplayWith: yyDollar[2].lengthOptUnion(), 14904 Precision: yyDollar[2].lengthOptUnion(), 14905 TimePrecisionIsSet: false, 14906 Locale: &locale, 14907 Oid: uint32(defines.MYSQL_TYPE_TIME), 14908 }, 14909 } 14910 } 14911 yyVAL.union = yyLOCAL 14912 case 1041: 14913 yyDollar = yyS[yypt-2 : yypt+1] 14914 var yyLOCAL *tree.T 14915 //line mysql_sql.y:6268 14916 { 14917 name := yyDollar[1].str 14918 if yyDollar[2].str != "" { 14919 name = yyDollar[2].str 14920 } 14921 locale := "" 14922 yyLOCAL = &tree.T{ 14923 InternalType: tree.InternalType{ 14924 Family: tree.IntFamily, 14925 FamilyString: name, 14926 Width: 64, 14927 Locale: &locale, 14928 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 14929 }, 14930 } 14931 } 14932 yyVAL.union = yyLOCAL 14933 case 1042: 14934 yyDollar = yyS[yypt-2 : yypt+1] 14935 var yyLOCAL *tree.T 14936 //line mysql_sql.y:6285 14937 { 14938 locale := "" 14939 yyLOCAL = &tree.T{ 14940 InternalType: tree.InternalType{ 14941 Family: tree.IntFamily, 14942 FamilyString: yyDollar[2].str, 14943 Width: 64, 14944 Locale: &locale, 14945 Unsigned: true, 14946 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 14947 }, 14948 } 14949 } 14950 yyVAL.union = yyLOCAL 14951 case 1043: 14952 yyDollar = yyS[yypt-0 : yypt+1] 14953 //line mysql_sql.y:6300 14954 { 14955 } 14956 case 1046: 14957 yyDollar = yyS[yypt-2 : yypt+1] 14958 var yyLOCAL tree.WindowFrameBound 14959 //line mysql_sql.y:6306 14960 { 14961 yyLOCAL = &tree.WindowFrameBoundCurrentRow{} 14962 } 14963 yyVAL.union = yyLOCAL 14964 case 1047: 14965 yyDollar = yyS[yypt-2 : yypt+1] 14966 var yyLOCAL tree.WindowFrameBound 14967 //line mysql_sql.y:6310 14968 { 14969 yyLOCAL = &tree.WindowFrameBoundPreceding{} 14970 } 14971 yyVAL.union = yyLOCAL 14972 case 1048: 14973 yyDollar = yyS[yypt-2 : yypt+1] 14974 var yyLOCAL tree.WindowFrameBound 14975 //line mysql_sql.y:6314 14976 { 14977 yyLOCAL = &tree.WindowFrameBoundPreceding{ 14978 Expr: yyDollar[1].exprUnion(), 14979 } 14980 } 14981 yyVAL.union = yyLOCAL 14982 case 1049: 14983 yyDollar = yyS[yypt-2 : yypt+1] 14984 var yyLOCAL tree.WindowFrameBound 14985 //line mysql_sql.y:6320 14986 { 14987 yyLOCAL = &tree.WindowFrameBoundFollowing{} 14988 } 14989 yyVAL.union = yyLOCAL 14990 case 1050: 14991 yyDollar = yyS[yypt-2 : yypt+1] 14992 var yyLOCAL tree.WindowFrameBound 14993 //line mysql_sql.y:6324 14994 { 14995 yyLOCAL = &tree.WindowFrameBoundFollowing{ 14996 Expr: yyDollar[1].exprUnion(), 14997 } 14998 } 14999 yyVAL.union = yyLOCAL 15000 case 1051: 15001 yyDollar = yyS[yypt-1 : yypt+1] 15002 var yyLOCAL tree.WindowFrameUnits 15003 //line mysql_sql.y:6332 15004 { 15005 yyLOCAL = tree.WIN_FRAME_UNIT_ROWS 15006 } 15007 yyVAL.union = yyLOCAL 15008 case 1052: 15009 yyDollar = yyS[yypt-1 : yypt+1] 15010 var yyLOCAL tree.WindowFrameUnits 15011 //line mysql_sql.y:6336 15012 { 15013 yyLOCAL = tree.WIN_FRAME_UNIT_RANGE 15014 } 15015 yyVAL.union = yyLOCAL 15016 case 1053: 15017 yyDollar = yyS[yypt-1 : yypt+1] 15018 var yyLOCAL tree.WindowFrameUnits 15019 //line mysql_sql.y:6340 15020 { 15021 yyLOCAL = tree.WIN_FRAME_UNIT_GROUPS 15022 } 15023 yyVAL.union = yyLOCAL 15024 case 1054: 15025 yyDollar = yyS[yypt-2 : yypt+1] 15026 var yyLOCAL *tree.WindowFrame 15027 //line mysql_sql.y:6346 15028 { 15029 yyLOCAL = &tree.WindowFrame{ 15030 Unit: yyDollar[1].windowFrameUnitUnion(), 15031 StartBound: yyDollar[2].windowFrameBoundUnion(), 15032 } 15033 } 15034 yyVAL.union = yyLOCAL 15035 case 1055: 15036 yyDollar = yyS[yypt-5 : yypt+1] 15037 var yyLOCAL *tree.WindowFrame 15038 //line mysql_sql.y:6353 15039 { 15040 yyLOCAL = &tree.WindowFrame{ 15041 Unit: yyDollar[1].windowFrameUnitUnion(), 15042 StartBound: yyDollar[3].windowFrameBoundUnion(), 15043 EndBound: yyDollar[5].windowFrameBoundUnion(), 15044 } 15045 } 15046 yyVAL.union = yyLOCAL 15047 case 1056: 15048 yyDollar = yyS[yypt-0 : yypt+1] 15049 var yyLOCAL *tree.WindowFrame 15050 //line mysql_sql.y:6362 15051 { 15052 yyLOCAL = nil 15053 } 15054 yyVAL.union = yyLOCAL 15055 case 1057: 15056 yyDollar = yyS[yypt-1 : yypt+1] 15057 var yyLOCAL *tree.WindowFrame 15058 //line mysql_sql.y:6366 15059 { 15060 yyLOCAL = yyDollar[1].windowFrameUnion() 15061 } 15062 yyVAL.union = yyLOCAL 15063 case 1058: 15064 yyDollar = yyS[yypt-3 : yypt+1] 15065 var yyLOCAL tree.Exprs 15066 //line mysql_sql.y:6373 15067 { 15068 yyLOCAL = yyDollar[3].exprsUnion() 15069 } 15070 yyVAL.union = yyLOCAL 15071 case 1059: 15072 yyDollar = yyS[yypt-0 : yypt+1] 15073 var yyLOCAL tree.Exprs 15074 //line mysql_sql.y:6378 15075 { 15076 yyLOCAL = nil 15077 } 15078 yyVAL.union = yyLOCAL 15079 case 1060: 15080 yyDollar = yyS[yypt-1 : yypt+1] 15081 var yyLOCAL tree.Exprs 15082 //line mysql_sql.y:6382 15083 { 15084 yyLOCAL = yyDollar[1].exprsUnion() 15085 } 15086 yyVAL.union = yyLOCAL 15087 case 1061: 15088 yyDollar = yyS[yypt-0 : yypt+1] 15089 //line mysql_sql.y:6387 15090 { 15091 yyVAL.str = "," 15092 } 15093 case 1062: 15094 yyDollar = yyS[yypt-2 : yypt+1] 15095 //line mysql_sql.y:6391 15096 { 15097 yyVAL.str = yyDollar[2].str 15098 } 15099 case 1063: 15100 yyDollar = yyS[yypt-0 : yypt+1] 15101 var yyLOCAL *tree.WindowSpec 15102 //line mysql_sql.y:6396 15103 { 15104 yyLOCAL = nil 15105 } 15106 yyVAL.union = yyLOCAL 15107 case 1064: 15108 yyDollar = yyS[yypt-6 : yypt+1] 15109 var yyLOCAL *tree.WindowSpec 15110 //line mysql_sql.y:6400 15111 { 15112 yyLOCAL = &tree.WindowSpec{ 15113 PartitionBy: yyDollar[3].exprsUnion(), 15114 OrderBy: yyDollar[4].orderByUnion(), 15115 WindowFrame: yyDollar[5].windowFrameUnion(), 15116 } 15117 } 15118 yyVAL.union = yyLOCAL 15119 case 1065: 15120 yyDollar = yyS[yypt-8 : yypt+1] 15121 var yyLOCAL *tree.FuncExpr 15122 //line mysql_sql.y:6410 15123 { 15124 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15125 yyLOCAL = &tree.FuncExpr{ 15126 Func: tree.FuncName2ResolvableFunctionReference(name), 15127 Exprs: append(yyDollar[4].exprsUnion(), tree.NewNumValWithType(constant.MakeString(yyDollar[6].str), yyDollar[6].str, false, tree.P_char)), 15128 Type: yyDollar[3].funcTypeUnion(), 15129 WindowSpec: yyDollar[8].windowSpecUnion(), 15130 AggType: 2, 15131 } 15132 } 15133 yyVAL.union = yyLOCAL 15134 case 1066: 15135 yyDollar = yyS[yypt-6 : yypt+1] 15136 var yyLOCAL *tree.FuncExpr 15137 //line mysql_sql.y:6421 15138 { 15139 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15140 yyLOCAL = &tree.FuncExpr{ 15141 Func: tree.FuncName2ResolvableFunctionReference(name), 15142 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15143 Type: yyDollar[3].funcTypeUnion(), 15144 WindowSpec: yyDollar[6].windowSpecUnion(), 15145 } 15146 } 15147 yyVAL.union = yyLOCAL 15148 case 1067: 15149 yyDollar = yyS[yypt-5 : yypt+1] 15150 var yyLOCAL *tree.FuncExpr 15151 //line mysql_sql.y:6431 15152 { 15153 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15154 yyLOCAL = &tree.FuncExpr{ 15155 Func: tree.FuncName2ResolvableFunctionReference(name), 15156 Exprs: yyDollar[3].exprsUnion(), 15157 WindowSpec: yyDollar[5].windowSpecUnion(), 15158 } 15159 } 15160 yyVAL.union = yyLOCAL 15161 case 1068: 15162 yyDollar = yyS[yypt-5 : yypt+1] 15163 var yyLOCAL *tree.FuncExpr 15164 //line mysql_sql.y:6440 15165 { 15166 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15167 yyLOCAL = &tree.FuncExpr{ 15168 Func: tree.FuncName2ResolvableFunctionReference(name), 15169 Exprs: yyDollar[3].exprsUnion(), 15170 WindowSpec: yyDollar[5].windowSpecUnion(), 15171 } 15172 } 15173 yyVAL.union = yyLOCAL 15174 case 1069: 15175 yyDollar = yyS[yypt-6 : yypt+1] 15176 var yyLOCAL *tree.FuncExpr 15177 //line mysql_sql.y:6449 15178 { 15179 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15180 yyLOCAL = &tree.FuncExpr{ 15181 Func: tree.FuncName2ResolvableFunctionReference(name), 15182 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15183 Type: yyDollar[3].funcTypeUnion(), 15184 WindowSpec: yyDollar[6].windowSpecUnion(), 15185 } 15186 } 15187 yyVAL.union = yyLOCAL 15188 case 1070: 15189 yyDollar = yyS[yypt-6 : yypt+1] 15190 var yyLOCAL *tree.FuncExpr 15191 //line mysql_sql.y:6459 15192 { 15193 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15194 yyLOCAL = &tree.FuncExpr{ 15195 Func: tree.FuncName2ResolvableFunctionReference(name), 15196 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15197 Type: yyDollar[3].funcTypeUnion(), 15198 WindowSpec: yyDollar[6].windowSpecUnion(), 15199 } 15200 } 15201 yyVAL.union = yyLOCAL 15202 case 1071: 15203 yyDollar = yyS[yypt-6 : yypt+1] 15204 var yyLOCAL *tree.FuncExpr 15205 //line mysql_sql.y:6469 15206 { 15207 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15208 yyLOCAL = &tree.FuncExpr{ 15209 Func: tree.FuncName2ResolvableFunctionReference(name), 15210 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15211 Type: yyDollar[3].funcTypeUnion(), 15212 WindowSpec: yyDollar[6].windowSpecUnion(), 15213 } 15214 } 15215 yyVAL.union = yyLOCAL 15216 case 1072: 15217 yyDollar = yyS[yypt-6 : yypt+1] 15218 var yyLOCAL *tree.FuncExpr 15219 //line mysql_sql.y:6479 15220 { 15221 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15222 yyLOCAL = &tree.FuncExpr{ 15223 Func: tree.FuncName2ResolvableFunctionReference(name), 15224 Exprs: yyDollar[4].exprsUnion(), 15225 Type: yyDollar[3].funcTypeUnion(), 15226 WindowSpec: yyDollar[6].windowSpecUnion(), 15227 } 15228 } 15229 yyVAL.union = yyLOCAL 15230 case 1073: 15231 yyDollar = yyS[yypt-5 : yypt+1] 15232 var yyLOCAL *tree.FuncExpr 15233 //line mysql_sql.y:6489 15234 { 15235 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15236 es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char) 15237 yyLOCAL = &tree.FuncExpr{ 15238 Func: tree.FuncName2ResolvableFunctionReference(name), 15239 Exprs: tree.Exprs{es}, 15240 WindowSpec: yyDollar[5].windowSpecUnion(), 15241 } 15242 } 15243 yyVAL.union = yyLOCAL 15244 case 1074: 15245 yyDollar = yyS[yypt-6 : yypt+1] 15246 var yyLOCAL *tree.FuncExpr 15247 //line mysql_sql.y:6499 15248 { 15249 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15250 yyLOCAL = &tree.FuncExpr{ 15251 Func: tree.FuncName2ResolvableFunctionReference(name), 15252 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15253 Type: yyDollar[3].funcTypeUnion(), 15254 WindowSpec: yyDollar[6].windowSpecUnion(), 15255 } 15256 } 15257 yyVAL.union = yyLOCAL 15258 case 1075: 15259 yyDollar = yyS[yypt-6 : yypt+1] 15260 var yyLOCAL *tree.FuncExpr 15261 //line mysql_sql.y:6509 15262 { 15263 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15264 yyLOCAL = &tree.FuncExpr{ 15265 Func: tree.FuncName2ResolvableFunctionReference(name), 15266 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15267 Type: yyDollar[3].funcTypeUnion(), 15268 WindowSpec: yyDollar[6].windowSpecUnion(), 15269 } 15270 } 15271 yyVAL.union = yyLOCAL 15272 case 1076: 15273 yyDollar = yyS[yypt-6 : yypt+1] 15274 var yyLOCAL *tree.FuncExpr 15275 //line mysql_sql.y:6519 15276 { 15277 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15278 yyLOCAL = &tree.FuncExpr{ 15279 Func: tree.FuncName2ResolvableFunctionReference(name), 15280 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15281 Type: yyDollar[3].funcTypeUnion(), 15282 WindowSpec: yyDollar[6].windowSpecUnion(), 15283 } 15284 } 15285 yyVAL.union = yyLOCAL 15286 case 1077: 15287 yyDollar = yyS[yypt-6 : yypt+1] 15288 var yyLOCAL *tree.FuncExpr 15289 //line mysql_sql.y:6529 15290 { 15291 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15292 yyLOCAL = &tree.FuncExpr{ 15293 Func: tree.FuncName2ResolvableFunctionReference(name), 15294 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15295 Type: yyDollar[3].funcTypeUnion(), 15296 WindowSpec: yyDollar[6].windowSpecUnion(), 15297 } 15298 } 15299 yyVAL.union = yyLOCAL 15300 case 1078: 15301 yyDollar = yyS[yypt-6 : yypt+1] 15302 var yyLOCAL *tree.FuncExpr 15303 //line mysql_sql.y:6539 15304 { 15305 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15306 yyLOCAL = &tree.FuncExpr{ 15307 Func: tree.FuncName2ResolvableFunctionReference(name), 15308 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15309 Type: yyDollar[3].funcTypeUnion(), 15310 WindowSpec: yyDollar[6].windowSpecUnion(), 15311 } 15312 } 15313 yyVAL.union = yyLOCAL 15314 case 1079: 15315 yyDollar = yyS[yypt-6 : yypt+1] 15316 var yyLOCAL *tree.FuncExpr 15317 //line mysql_sql.y:6549 15318 { 15319 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15320 yyLOCAL = &tree.FuncExpr{ 15321 Func: tree.FuncName2ResolvableFunctionReference(name), 15322 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15323 Type: yyDollar[3].funcTypeUnion(), 15324 WindowSpec: yyDollar[6].windowSpecUnion(), 15325 } 15326 } 15327 yyVAL.union = yyLOCAL 15328 case 1080: 15329 yyDollar = yyS[yypt-6 : yypt+1] 15330 var yyLOCAL *tree.FuncExpr 15331 //line mysql_sql.y:6559 15332 { 15333 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15334 yyLOCAL = &tree.FuncExpr{ 15335 Func: tree.FuncName2ResolvableFunctionReference(name), 15336 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15337 Type: yyDollar[3].funcTypeUnion(), 15338 WindowSpec: yyDollar[6].windowSpecUnion(), 15339 } 15340 } 15341 yyVAL.union = yyLOCAL 15342 case 1081: 15343 yyDollar = yyS[yypt-6 : yypt+1] 15344 var yyLOCAL *tree.FuncExpr 15345 //line mysql_sql.y:6569 15346 { 15347 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15348 yyLOCAL = &tree.FuncExpr{ 15349 Func: tree.FuncName2ResolvableFunctionReference(name), 15350 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15351 Type: yyDollar[3].funcTypeUnion(), 15352 WindowSpec: yyDollar[6].windowSpecUnion(), 15353 } 15354 } 15355 yyVAL.union = yyLOCAL 15356 case 1085: 15357 yyDollar = yyS[yypt-4 : yypt+1] 15358 var yyLOCAL *tree.FuncExpr 15359 //line mysql_sql.y:6586 15360 { 15361 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15362 yyLOCAL = &tree.FuncExpr{ 15363 Func: tree.FuncName2ResolvableFunctionReference(name), 15364 Exprs: yyDollar[3].exprsUnion(), 15365 } 15366 } 15367 yyVAL.union = yyLOCAL 15368 case 1086: 15369 yyDollar = yyS[yypt-4 : yypt+1] 15370 var yyLOCAL *tree.FuncExpr 15371 //line mysql_sql.y:6594 15372 { 15373 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15374 yyLOCAL = &tree.FuncExpr{ 15375 Func: tree.FuncName2ResolvableFunctionReference(name), 15376 Exprs: yyDollar[3].exprsUnion(), 15377 } 15378 } 15379 yyVAL.union = yyLOCAL 15380 case 1087: 15381 yyDollar = yyS[yypt-6 : yypt+1] 15382 var yyLOCAL *tree.FuncExpr 15383 //line mysql_sql.y:6602 15384 { 15385 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15386 yyLOCAL = &tree.FuncExpr{ 15387 Func: tree.FuncName2ResolvableFunctionReference(name), 15388 Exprs: tree.Exprs{yyDollar[3].exprUnion(), yyDollar[5].exprUnion()}, 15389 } 15390 } 15391 yyVAL.union = yyLOCAL 15392 case 1088: 15393 yyDollar = yyS[yypt-8 : yypt+1] 15394 var yyLOCAL *tree.FuncExpr 15395 //line mysql_sql.y:6610 15396 { 15397 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15398 yyLOCAL = &tree.FuncExpr{ 15399 Func: tree.FuncName2ResolvableFunctionReference(name), 15400 Exprs: tree.Exprs{yyDollar[3].exprUnion(), yyDollar[5].exprUnion(), yyDollar[7].exprUnion()}, 15401 } 15402 } 15403 yyVAL.union = yyLOCAL 15404 case 1089: 15405 yyDollar = yyS[yypt-6 : yypt+1] 15406 var yyLOCAL *tree.FuncExpr 15407 //line mysql_sql.y:6618 15408 { 15409 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15410 timeUinit := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) 15411 yyLOCAL = &tree.FuncExpr{ 15412 Func: tree.FuncName2ResolvableFunctionReference(name), 15413 Exprs: tree.Exprs{timeUinit, yyDollar[5].exprUnion()}, 15414 } 15415 } 15416 yyVAL.union = yyLOCAL 15417 case 1090: 15418 yyDollar = yyS[yypt-4 : yypt+1] 15419 var yyLOCAL *tree.FuncExpr 15420 //line mysql_sql.y:6627 15421 { 15422 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15423 yyLOCAL = &tree.FuncExpr{ 15424 Func: tree.FuncName2ResolvableFunctionReference(name), 15425 Exprs: yyDollar[3].exprsUnion(), 15426 } 15427 } 15428 yyVAL.union = yyLOCAL 15429 case 1091: 15430 yyDollar = yyS[yypt-5 : yypt+1] 15431 var yyLOCAL *tree.FuncExpr 15432 //line mysql_sql.y:6635 15433 { 15434 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15435 yyLOCAL = &tree.FuncExpr{ 15436 Func: tree.FuncName2ResolvableFunctionReference(name), 15437 Exprs: tree.Exprs{yyDollar[4].exprUnion()}, 15438 Type: yyDollar[3].funcTypeUnion(), 15439 } 15440 } 15441 yyVAL.union = yyLOCAL 15442 case 1092: 15443 yyDollar = yyS[yypt-4 : yypt+1] 15444 var yyLOCAL *tree.FuncExpr 15445 //line mysql_sql.y:6644 15446 { 15447 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15448 arg0 := tree.NewNumValWithType(constant.MakeInt64(0), "0", false, tree.P_int64) 15449 arg1 := tree.NewNumValWithType(constant.MakeString("both"), "both", false, tree.P_char) 15450 arg2 := tree.NewNumValWithType(constant.MakeString(" "), " ", false, tree.P_char) 15451 yyLOCAL = &tree.FuncExpr{ 15452 Func: tree.FuncName2ResolvableFunctionReference(name), 15453 Exprs: tree.Exprs{arg0, arg1, arg2, yyDollar[3].exprUnion()}, 15454 } 15455 } 15456 yyVAL.union = yyLOCAL 15457 case 1093: 15458 yyDollar = yyS[yypt-6 : yypt+1] 15459 var yyLOCAL *tree.FuncExpr 15460 //line mysql_sql.y:6655 15461 { 15462 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15463 arg0 := tree.NewNumValWithType(constant.MakeInt64(1), "1", false, tree.P_int64) 15464 arg1 := tree.NewNumValWithType(constant.MakeString("both"), "both", false, tree.P_char) 15465 yyLOCAL = &tree.FuncExpr{ 15466 Func: tree.FuncName2ResolvableFunctionReference(name), 15467 Exprs: tree.Exprs{arg0, arg1, yyDollar[3].exprUnion(), yyDollar[5].exprUnion()}, 15468 } 15469 } 15470 yyVAL.union = yyLOCAL 15471 case 1094: 15472 yyDollar = yyS[yypt-6 : yypt+1] 15473 var yyLOCAL *tree.FuncExpr 15474 //line mysql_sql.y:6665 15475 { 15476 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15477 arg0 := tree.NewNumValWithType(constant.MakeInt64(2), "2", false, tree.P_int64) 15478 arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) 15479 arg2 := tree.NewNumValWithType(constant.MakeString(" "), " ", false, tree.P_char) 15480 yyLOCAL = &tree.FuncExpr{ 15481 Func: tree.FuncName2ResolvableFunctionReference(name), 15482 Exprs: tree.Exprs{arg0, arg1, arg2, yyDollar[5].exprUnion()}, 15483 } 15484 } 15485 yyVAL.union = yyLOCAL 15486 case 1095: 15487 yyDollar = yyS[yypt-7 : yypt+1] 15488 var yyLOCAL *tree.FuncExpr 15489 //line mysql_sql.y:6676 15490 { 15491 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15492 arg0 := tree.NewNumValWithType(constant.MakeInt64(3), "3", false, tree.P_int64) 15493 arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) 15494 yyLOCAL = &tree.FuncExpr{ 15495 Func: tree.FuncName2ResolvableFunctionReference(name), 15496 Exprs: tree.Exprs{arg0, arg1, yyDollar[4].exprUnion(), yyDollar[6].exprUnion()}, 15497 } 15498 } 15499 yyVAL.union = yyLOCAL 15500 case 1096: 15501 yyDollar = yyS[yypt-4 : yypt+1] 15502 var yyLOCAL *tree.FuncExpr 15503 //line mysql_sql.y:6686 15504 { 15505 column := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) 15506 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15507 yyLOCAL = &tree.FuncExpr{ 15508 Func: tree.FuncName2ResolvableFunctionReference(name), 15509 Exprs: tree.Exprs{column}, 15510 } 15511 } 15512 yyVAL.union = yyLOCAL 15513 case 1103: 15514 yyDollar = yyS[yypt-1 : yypt+1] 15515 //line mysql_sql.y:6708 15516 { 15517 yyVAL.str = yyDollar[1].str 15518 } 15519 case 1132: 15520 yyDollar = yyS[yypt-2 : yypt+1] 15521 var yyLOCAL *tree.FuncExpr 15522 //line mysql_sql.y:6744 15523 { 15524 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15525 var es tree.Exprs = nil 15526 if yyDollar[2].exprUnion() != nil { 15527 es = append(es, yyDollar[2].exprUnion()) 15528 } 15529 yyLOCAL = &tree.FuncExpr{ 15530 Func: tree.FuncName2ResolvableFunctionReference(name), 15531 Exprs: es, 15532 } 15533 } 15534 yyVAL.union = yyLOCAL 15535 case 1133: 15536 yyDollar = yyS[yypt-2 : yypt+1] 15537 var yyLOCAL *tree.FuncExpr 15538 //line mysql_sql.y:6756 15539 { 15540 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15541 var es tree.Exprs = nil 15542 if yyDollar[2].exprUnion() != nil { 15543 es = append(es, yyDollar[2].exprUnion()) 15544 } 15545 yyLOCAL = &tree.FuncExpr{ 15546 Func: tree.FuncName2ResolvableFunctionReference(name), 15547 Exprs: es, 15548 } 15549 } 15550 yyVAL.union = yyLOCAL 15551 case 1134: 15552 yyDollar = yyS[yypt-8 : yypt+1] 15553 var yyLOCAL *tree.FuncExpr 15554 //line mysql_sql.y:6768 15555 { 15556 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15557 arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) 15558 yyLOCAL = &tree.FuncExpr{ 15559 Func: tree.FuncName2ResolvableFunctionReference(name), 15560 Exprs: tree.Exprs{arg1, yyDollar[5].exprUnion(), yyDollar[7].exprUnion()}, 15561 } 15562 } 15563 yyVAL.union = yyLOCAL 15564 case 1135: 15565 yyDollar = yyS[yypt-4 : yypt+1] 15566 var yyLOCAL *tree.FuncExpr 15567 //line mysql_sql.y:6778 15568 { 15569 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15570 yyLOCAL = &tree.FuncExpr{ 15571 Func: tree.FuncName2ResolvableFunctionReference(name), 15572 Exprs: yyDollar[3].exprsUnion(), 15573 } 15574 } 15575 yyVAL.union = yyLOCAL 15576 case 1136: 15577 yyDollar = yyS[yypt-2 : yypt+1] 15578 var yyLOCAL *tree.FuncExpr 15579 //line mysql_sql.y:6786 15580 { 15581 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15582 yyLOCAL = &tree.FuncExpr{ 15583 Func: tree.FuncName2ResolvableFunctionReference(name), 15584 } 15585 } 15586 yyVAL.union = yyLOCAL 15587 case 1137: 15588 yyDollar = yyS[yypt-3 : yypt+1] 15589 var yyLOCAL *tree.FuncExpr 15590 //line mysql_sql.y:6793 15591 { 15592 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15593 yyLOCAL = &tree.FuncExpr{ 15594 Func: tree.FuncName2ResolvableFunctionReference(name), 15595 } 15596 } 15597 yyVAL.union = yyLOCAL 15598 case 1138: 15599 yyDollar = yyS[yypt-2 : yypt+1] 15600 var yyLOCAL *tree.FuncExpr 15601 //line mysql_sql.y:6800 15602 { 15603 name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) 15604 var es tree.Exprs = nil 15605 if yyDollar[2].exprUnion() != nil { 15606 es = append(es, yyDollar[2].exprUnion()) 15607 } 15608 yyLOCAL = &tree.FuncExpr{ 15609 Func: tree.FuncName2ResolvableFunctionReference(name), 15610 Exprs: es, 15611 } 15612 } 15613 yyVAL.union = yyLOCAL 15614 case 1139: 15615 yyDollar = yyS[yypt-4 : yypt+1] 15616 var yyLOCAL *tree.FuncExpr 15617 //line mysql_sql.y:6812 15618 { 15619 name := tree.SetUnresolvedName("char") 15620 yyLOCAL = &tree.FuncExpr{ 15621 Func: tree.FuncName2ResolvableFunctionReference(name), 15622 Exprs: yyDollar[3].exprsUnion(), 15623 } 15624 } 15625 yyVAL.union = yyLOCAL 15626 case 1140: 15627 yyDollar = yyS[yypt-6 : yypt+1] 15628 var yyLOCAL *tree.FuncExpr 15629 //line mysql_sql.y:6820 15630 { 15631 cn := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) 15632 es := yyDollar[3].exprsUnion() 15633 es = append(es, cn) 15634 name := tree.SetUnresolvedName("char") 15635 yyLOCAL = &tree.FuncExpr{ 15636 Func: tree.FuncName2ResolvableFunctionReference(name), 15637 Exprs: es, 15638 } 15639 } 15640 yyVAL.union = yyLOCAL 15641 case 1141: 15642 yyDollar = yyS[yypt-2 : yypt+1] 15643 var yyLOCAL *tree.FuncExpr 15644 //line mysql_sql.y:6831 15645 { 15646 val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) 15647 name := tree.SetUnresolvedName("date") 15648 yyLOCAL = &tree.FuncExpr{ 15649 Func: tree.FuncName2ResolvableFunctionReference(name), 15650 Exprs: tree.Exprs{val}, 15651 } 15652 } 15653 yyVAL.union = yyLOCAL 15654 case 1142: 15655 yyDollar = yyS[yypt-2 : yypt+1] 15656 var yyLOCAL *tree.FuncExpr 15657 //line mysql_sql.y:6840 15658 { 15659 val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) 15660 name := tree.SetUnresolvedName("time") 15661 yyLOCAL = &tree.FuncExpr{ 15662 Func: tree.FuncName2ResolvableFunctionReference(name), 15663 Exprs: tree.Exprs{val}, 15664 } 15665 } 15666 yyVAL.union = yyLOCAL 15667 case 1143: 15668 yyDollar = yyS[yypt-4 : yypt+1] 15669 var yyLOCAL *tree.FuncExpr 15670 //line mysql_sql.y:6849 15671 { 15672 name := tree.SetUnresolvedName("insert") 15673 yyLOCAL = &tree.FuncExpr{ 15674 Func: tree.FuncName2ResolvableFunctionReference(name), 15675 Exprs: yyDollar[3].exprsUnion(), 15676 } 15677 } 15678 yyVAL.union = yyLOCAL 15679 case 1144: 15680 yyDollar = yyS[yypt-6 : yypt+1] 15681 var yyLOCAL *tree.FuncExpr 15682 //line mysql_sql.y:6857 15683 { 15684 es := tree.Exprs{yyDollar[3].exprUnion()} 15685 es = append(es, yyDollar[5].exprUnion()) 15686 name := tree.SetUnresolvedName("mod") 15687 yyLOCAL = &tree.FuncExpr{ 15688 Func: tree.FuncName2ResolvableFunctionReference(name), 15689 Exprs: es, 15690 } 15691 } 15692 yyVAL.union = yyLOCAL 15693 case 1145: 15694 yyDollar = yyS[yypt-4 : yypt+1] 15695 var yyLOCAL *tree.FuncExpr 15696 //line mysql_sql.y:6867 15697 { 15698 name := tree.SetUnresolvedName("password") 15699 yyLOCAL = &tree.FuncExpr{ 15700 Func: tree.FuncName2ResolvableFunctionReference(name), 15701 Exprs: yyDollar[3].exprsUnion(), 15702 } 15703 } 15704 yyVAL.union = yyLOCAL 15705 case 1146: 15706 yyDollar = yyS[yypt-2 : yypt+1] 15707 var yyLOCAL *tree.FuncExpr 15708 //line mysql_sql.y:6875 15709 { 15710 val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) 15711 name := tree.SetUnresolvedName("timestamp") 15712 yyLOCAL = &tree.FuncExpr{ 15713 Func: tree.FuncName2ResolvableFunctionReference(name), 15714 Exprs: tree.Exprs{val}, 15715 } 15716 } 15717 yyVAL.union = yyLOCAL 15718 case 1147: 15719 yyDollar = yyS[yypt-0 : yypt+1] 15720 var yyLOCAL tree.Expr 15721 //line mysql_sql.y:6885 15722 { 15723 yyLOCAL = nil 15724 } 15725 yyVAL.union = yyLOCAL 15726 case 1148: 15727 yyDollar = yyS[yypt-1 : yypt+1] 15728 var yyLOCAL tree.Expr 15729 //line mysql_sql.y:6889 15730 { 15731 yyLOCAL = yyDollar[1].exprUnion() 15732 } 15733 yyVAL.union = yyLOCAL 15734 case 1149: 15735 yyDollar = yyS[yypt-2 : yypt+1] 15736 var yyLOCAL tree.Expr 15737 //line mysql_sql.y:6895 15738 { 15739 yyLOCAL = nil 15740 } 15741 yyVAL.union = yyLOCAL 15742 case 1150: 15743 yyDollar = yyS[yypt-3 : yypt+1] 15744 var yyLOCAL tree.Expr 15745 //line mysql_sql.y:6899 15746 { 15747 ival, errStr := util.GetInt64(yyDollar[2].item) 15748 if errStr != "" { 15749 yylex.Error(errStr) 15750 return 1 15751 } 15752 str := fmt.Sprintf("%v", yyDollar[2].item) 15753 yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(ival), str, false, tree.P_int64) 15754 } 15755 yyVAL.union = yyLOCAL 15756 case 1157: 15757 yyDollar = yyS[yypt-0 : yypt+1] 15758 //line mysql_sql.y:6918 15759 { 15760 } 15761 case 1158: 15762 yyDollar = yyS[yypt-2 : yypt+1] 15763 //line mysql_sql.y:6920 15764 { 15765 } 15766 case 1192: 15767 yyDollar = yyS[yypt-3 : yypt+1] 15768 var yyLOCAL tree.Expr 15769 //line mysql_sql.y:6961 15770 { 15771 name := tree.SetUnresolvedName("interval") 15772 arg2 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) 15773 yyLOCAL = &tree.FuncExpr{ 15774 Func: tree.FuncName2ResolvableFunctionReference(name), 15775 Exprs: tree.Exprs{yyDollar[2].exprUnion(), arg2}, 15776 } 15777 } 15778 yyVAL.union = yyLOCAL 15779 case 1193: 15780 yyDollar = yyS[yypt-0 : yypt+1] 15781 var yyLOCAL tree.FuncType 15782 //line mysql_sql.y:6971 15783 { 15784 yyLOCAL = tree.FUNC_TYPE_DEFAULT 15785 } 15786 yyVAL.union = yyLOCAL 15787 case 1194: 15788 yyDollar = yyS[yypt-1 : yypt+1] 15789 var yyLOCAL tree.FuncType 15790 //line mysql_sql.y:6975 15791 { 15792 yyLOCAL = tree.FUNC_TYPE_DISTINCT 15793 } 15794 yyVAL.union = yyLOCAL 15795 case 1195: 15796 yyDollar = yyS[yypt-1 : yypt+1] 15797 var yyLOCAL tree.FuncType 15798 //line mysql_sql.y:6979 15799 { 15800 yyLOCAL = tree.FUNC_TYPE_ALL 15801 } 15802 yyVAL.union = yyLOCAL 15803 case 1196: 15804 yyDollar = yyS[yypt-3 : yypt+1] 15805 var yyLOCAL *tree.Tuple 15806 //line mysql_sql.y:6985 15807 { 15808 yyLOCAL = tree.NewTuple(yyDollar[2].exprsUnion()) 15809 } 15810 yyVAL.union = yyLOCAL 15811 case 1197: 15812 yyDollar = yyS[yypt-0 : yypt+1] 15813 var yyLOCAL tree.Exprs 15814 //line mysql_sql.y:6990 15815 { 15816 yyLOCAL = nil 15817 } 15818 yyVAL.union = yyLOCAL 15819 case 1198: 15820 yyDollar = yyS[yypt-1 : yypt+1] 15821 var yyLOCAL tree.Exprs 15822 //line mysql_sql.y:6994 15823 { 15824 yyLOCAL = yyDollar[1].exprsUnion() 15825 } 15826 yyVAL.union = yyLOCAL 15827 case 1199: 15828 yyDollar = yyS[yypt-1 : yypt+1] 15829 var yyLOCAL tree.Exprs 15830 //line mysql_sql.y:7000 15831 { 15832 yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} 15833 } 15834 yyVAL.union = yyLOCAL 15835 case 1200: 15836 yyDollar = yyS[yypt-3 : yypt+1] 15837 var yyLOCAL tree.Exprs 15838 //line mysql_sql.y:7004 15839 { 15840 yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) 15841 } 15842 yyVAL.union = yyLOCAL 15843 case 1201: 15844 yyDollar = yyS[yypt-3 : yypt+1] 15845 var yyLOCAL tree.Expr 15846 //line mysql_sql.y:7011 15847 { 15848 yyLOCAL = tree.NewAndExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 15849 } 15850 yyVAL.union = yyLOCAL 15851 case 1202: 15852 yyDollar = yyS[yypt-3 : yypt+1] 15853 var yyLOCAL tree.Expr 15854 //line mysql_sql.y:7015 15855 { 15856 yyLOCAL = tree.NewOrExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 15857 } 15858 yyVAL.union = yyLOCAL 15859 case 1203: 15860 yyDollar = yyS[yypt-3 : yypt+1] 15861 var yyLOCAL tree.Expr 15862 //line mysql_sql.y:7019 15863 { 15864 name := tree.SetUnresolvedName(strings.ToLower("concat")) 15865 yyLOCAL = &tree.FuncExpr{ 15866 Func: tree.FuncName2ResolvableFunctionReference(name), 15867 Exprs: tree.Exprs{yyDollar[1].exprUnion(), yyDollar[3].exprUnion()}, 15868 } 15869 } 15870 yyVAL.union = yyLOCAL 15871 case 1204: 15872 yyDollar = yyS[yypt-3 : yypt+1] 15873 var yyLOCAL tree.Expr 15874 //line mysql_sql.y:7027 15875 { 15876 yyLOCAL = tree.NewXorExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 15877 } 15878 yyVAL.union = yyLOCAL 15879 case 1205: 15880 yyDollar = yyS[yypt-2 : yypt+1] 15881 var yyLOCAL tree.Expr 15882 //line mysql_sql.y:7031 15883 { 15884 yyLOCAL = tree.NewNotExpr(yyDollar[2].exprUnion()) 15885 } 15886 yyVAL.union = yyLOCAL 15887 case 1206: 15888 yyDollar = yyS[yypt-1 : yypt+1] 15889 var yyLOCAL tree.Expr 15890 //line mysql_sql.y:7035 15891 { 15892 yyLOCAL = tree.NewMaxValue() 15893 } 15894 yyVAL.union = yyLOCAL 15895 case 1207: 15896 yyDollar = yyS[yypt-1 : yypt+1] 15897 var yyLOCAL tree.Expr 15898 //line mysql_sql.y:7039 15899 { 15900 yyLOCAL = yyDollar[1].exprUnion() 15901 } 15902 yyVAL.union = yyLOCAL 15903 case 1208: 15904 yyDollar = yyS[yypt-3 : yypt+1] 15905 var yyLOCAL tree.Expr 15906 //line mysql_sql.y:7045 15907 { 15908 yyLOCAL = tree.NewIsNullExpr(yyDollar[1].exprUnion()) 15909 } 15910 yyVAL.union = yyLOCAL 15911 case 1209: 15912 yyDollar = yyS[yypt-4 : yypt+1] 15913 var yyLOCAL tree.Expr 15914 //line mysql_sql.y:7049 15915 { 15916 yyLOCAL = tree.NewIsNotNullExpr(yyDollar[1].exprUnion()) 15917 } 15918 yyVAL.union = yyLOCAL 15919 case 1210: 15920 yyDollar = yyS[yypt-3 : yypt+1] 15921 var yyLOCAL tree.Expr 15922 //line mysql_sql.y:7053 15923 { 15924 yyLOCAL = tree.NewIsUnknownExpr(yyDollar[1].exprUnion()) 15925 } 15926 yyVAL.union = yyLOCAL 15927 case 1211: 15928 yyDollar = yyS[yypt-4 : yypt+1] 15929 var yyLOCAL tree.Expr 15930 //line mysql_sql.y:7057 15931 { 15932 yyLOCAL = tree.NewIsNotUnknownExpr(yyDollar[1].exprUnion()) 15933 } 15934 yyVAL.union = yyLOCAL 15935 case 1212: 15936 yyDollar = yyS[yypt-3 : yypt+1] 15937 var yyLOCAL tree.Expr 15938 //line mysql_sql.y:7061 15939 { 15940 yyLOCAL = tree.NewIsTrueExpr(yyDollar[1].exprUnion()) 15941 } 15942 yyVAL.union = yyLOCAL 15943 case 1213: 15944 yyDollar = yyS[yypt-4 : yypt+1] 15945 var yyLOCAL tree.Expr 15946 //line mysql_sql.y:7065 15947 { 15948 yyLOCAL = tree.NewIsNotTrueExpr(yyDollar[1].exprUnion()) 15949 } 15950 yyVAL.union = yyLOCAL 15951 case 1214: 15952 yyDollar = yyS[yypt-3 : yypt+1] 15953 var yyLOCAL tree.Expr 15954 //line mysql_sql.y:7069 15955 { 15956 yyLOCAL = tree.NewIsFalseExpr(yyDollar[1].exprUnion()) 15957 } 15958 yyVAL.union = yyLOCAL 15959 case 1215: 15960 yyDollar = yyS[yypt-4 : yypt+1] 15961 var yyLOCAL tree.Expr 15962 //line mysql_sql.y:7073 15963 { 15964 yyLOCAL = tree.NewIsNotFalseExpr(yyDollar[1].exprUnion()) 15965 } 15966 yyVAL.union = yyLOCAL 15967 case 1216: 15968 yyDollar = yyS[yypt-3 : yypt+1] 15969 var yyLOCAL tree.Expr 15970 //line mysql_sql.y:7077 15971 { 15972 yyLOCAL = tree.NewComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 15973 } 15974 yyVAL.union = yyLOCAL 15975 case 1217: 15976 yyDollar = yyS[yypt-4 : yypt+1] 15977 var yyLOCAL tree.Expr 15978 //line mysql_sql.y:7081 15979 { 15980 yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) 15981 yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) 15982 } 15983 yyVAL.union = yyLOCAL 15984 case 1219: 15985 yyDollar = yyS[yypt-3 : yypt+1] 15986 var yyLOCAL tree.Expr 15987 //line mysql_sql.y:7089 15988 { 15989 yyLOCAL = tree.NewComparisonExpr(tree.IN, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 15990 } 15991 yyVAL.union = yyLOCAL 15992 case 1220: 15993 yyDollar = yyS[yypt-4 : yypt+1] 15994 var yyLOCAL tree.Expr 15995 //line mysql_sql.y:7093 15996 { 15997 yyLOCAL = tree.NewComparisonExpr(tree.NOT_IN, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) 15998 } 15999 yyVAL.union = yyLOCAL 16000 case 1221: 16001 yyDollar = yyS[yypt-4 : yypt+1] 16002 var yyLOCAL tree.Expr 16003 //line mysql_sql.y:7097 16004 { 16005 yyLOCAL = tree.NewComparisonExprWithEscape(tree.LIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) 16006 } 16007 yyVAL.union = yyLOCAL 16008 case 1222: 16009 yyDollar = yyS[yypt-5 : yypt+1] 16010 var yyLOCAL tree.Expr 16011 //line mysql_sql.y:7101 16012 { 16013 yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_LIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) 16014 } 16015 yyVAL.union = yyLOCAL 16016 case 1223: 16017 yyDollar = yyS[yypt-4 : yypt+1] 16018 var yyLOCAL tree.Expr 16019 //line mysql_sql.y:7105 16020 { 16021 yyLOCAL = tree.NewComparisonExprWithEscape(tree.ILIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) 16022 } 16023 yyVAL.union = yyLOCAL 16024 case 1224: 16025 yyDollar = yyS[yypt-5 : yypt+1] 16026 var yyLOCAL tree.Expr 16027 //line mysql_sql.y:7109 16028 { 16029 yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_ILIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) 16030 } 16031 yyVAL.union = yyLOCAL 16032 case 1225: 16033 yyDollar = yyS[yypt-3 : yypt+1] 16034 var yyLOCAL tree.Expr 16035 //line mysql_sql.y:7113 16036 { 16037 yyLOCAL = tree.NewComparisonExpr(tree.REG_MATCH, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) 16038 } 16039 yyVAL.union = yyLOCAL 16040 case 1226: 16041 yyDollar = yyS[yypt-4 : yypt+1] 16042 var yyLOCAL tree.Expr 16043 //line mysql_sql.y:7117 16044 { 16045 yyLOCAL = tree.NewComparisonExpr(tree.NOT_REG_MATCH, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) 16046 } 16047 yyVAL.union = yyLOCAL 16048 case 1227: 16049 yyDollar = yyS[yypt-5 : yypt+1] 16050 var yyLOCAL tree.Expr 16051 //line mysql_sql.y:7121 16052 { 16053 yyLOCAL = tree.NewRangeCond(false, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[5].exprUnion()) 16054 } 16055 yyVAL.union = yyLOCAL 16056 case 1228: 16057 yyDollar = yyS[yypt-6 : yypt+1] 16058 var yyLOCAL tree.Expr 16059 //line mysql_sql.y:7125 16060 { 16061 yyLOCAL = tree.NewRangeCond(true, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[6].exprUnion()) 16062 } 16063 yyVAL.union = yyLOCAL 16064 case 1230: 16065 yyDollar = yyS[yypt-0 : yypt+1] 16066 var yyLOCAL tree.Expr 16067 //line mysql_sql.y:7131 16068 { 16069 yyLOCAL = nil 16070 } 16071 yyVAL.union = yyLOCAL 16072 case 1231: 16073 yyDollar = yyS[yypt-2 : yypt+1] 16074 var yyLOCAL tree.Expr 16075 //line mysql_sql.y:7135 16076 { 16077 yyLOCAL = yyDollar[2].exprUnion() 16078 } 16079 yyVAL.union = yyLOCAL 16080 case 1232: 16081 yyDollar = yyS[yypt-1 : yypt+1] 16082 var yyLOCAL tree.Expr 16083 //line mysql_sql.y:7141 16084 { 16085 yyLOCAL = yyDollar[1].tupleUnion() 16086 } 16087 yyVAL.union = yyLOCAL 16088 case 1233: 16089 yyDollar = yyS[yypt-1 : yypt+1] 16090 var yyLOCAL tree.Expr 16091 //line mysql_sql.y:7145 16092 { 16093 yyLOCAL = yyDollar[1].subqueryUnion() 16094 } 16095 yyVAL.union = yyLOCAL 16096 case 1234: 16097 yyDollar = yyS[yypt-1 : yypt+1] 16098 var yyLOCAL tree.ComparisonOp 16099 //line mysql_sql.y:7152 16100 { 16101 yyLOCAL = tree.ALL 16102 } 16103 yyVAL.union = yyLOCAL 16104 case 1235: 16105 yyDollar = yyS[yypt-1 : yypt+1] 16106 var yyLOCAL tree.ComparisonOp 16107 //line mysql_sql.y:7156 16108 { 16109 yyLOCAL = tree.ANY 16110 } 16111 yyVAL.union = yyLOCAL 16112 case 1236: 16113 yyDollar = yyS[yypt-1 : yypt+1] 16114 var yyLOCAL tree.ComparisonOp 16115 //line mysql_sql.y:7160 16116 { 16117 yyLOCAL = tree.SOME 16118 } 16119 yyVAL.union = yyLOCAL 16120 case 1237: 16121 yyDollar = yyS[yypt-1 : yypt+1] 16122 var yyLOCAL tree.ComparisonOp 16123 //line mysql_sql.y:7166 16124 { 16125 yyLOCAL = tree.EQUAL 16126 } 16127 yyVAL.union = yyLOCAL 16128 case 1238: 16129 yyDollar = yyS[yypt-1 : yypt+1] 16130 var yyLOCAL tree.ComparisonOp 16131 //line mysql_sql.y:7170 16132 { 16133 yyLOCAL = tree.LESS_THAN 16134 } 16135 yyVAL.union = yyLOCAL 16136 case 1239: 16137 yyDollar = yyS[yypt-1 : yypt+1] 16138 var yyLOCAL tree.ComparisonOp 16139 //line mysql_sql.y:7174 16140 { 16141 yyLOCAL = tree.GREAT_THAN 16142 } 16143 yyVAL.union = yyLOCAL 16144 case 1240: 16145 yyDollar = yyS[yypt-1 : yypt+1] 16146 var yyLOCAL tree.ComparisonOp 16147 //line mysql_sql.y:7178 16148 { 16149 yyLOCAL = tree.LESS_THAN_EQUAL 16150 } 16151 yyVAL.union = yyLOCAL 16152 case 1241: 16153 yyDollar = yyS[yypt-1 : yypt+1] 16154 var yyLOCAL tree.ComparisonOp 16155 //line mysql_sql.y:7182 16156 { 16157 yyLOCAL = tree.GREAT_THAN_EQUAL 16158 } 16159 yyVAL.union = yyLOCAL 16160 case 1242: 16161 yyDollar = yyS[yypt-1 : yypt+1] 16162 var yyLOCAL tree.ComparisonOp 16163 //line mysql_sql.y:7186 16164 { 16165 yyLOCAL = tree.NOT_EQUAL 16166 } 16167 yyVAL.union = yyLOCAL 16168 case 1243: 16169 yyDollar = yyS[yypt-1 : yypt+1] 16170 var yyLOCAL tree.ComparisonOp 16171 //line mysql_sql.y:7190 16172 { 16173 yyLOCAL = tree.NULL_SAFE_EQUAL 16174 } 16175 yyVAL.union = yyLOCAL 16176 case 1244: 16177 yyDollar = yyS[yypt-2 : yypt+1] 16178 var yyLOCAL tree.ColumnAttribute 16179 //line mysql_sql.y:7196 16180 { 16181 yyLOCAL = tree.NewAttributePrimaryKey() 16182 } 16183 yyVAL.union = yyLOCAL 16184 case 1245: 16185 yyDollar = yyS[yypt-2 : yypt+1] 16186 var yyLOCAL tree.ColumnAttribute 16187 //line mysql_sql.y:7200 16188 { 16189 yyLOCAL = tree.NewAttributeUniqueKey() 16190 } 16191 yyVAL.union = yyLOCAL 16192 case 1246: 16193 yyDollar = yyS[yypt-1 : yypt+1] 16194 var yyLOCAL tree.ColumnAttribute 16195 //line mysql_sql.y:7204 16196 { 16197 yyLOCAL = tree.NewAttributeUnique() 16198 } 16199 yyVAL.union = yyLOCAL 16200 case 1247: 16201 yyDollar = yyS[yypt-1 : yypt+1] 16202 var yyLOCAL tree.ColumnAttribute 16203 //line mysql_sql.y:7208 16204 { 16205 yyLOCAL = tree.NewAttributeKey() 16206 } 16207 yyVAL.union = yyLOCAL 16208 case 1248: 16209 yyDollar = yyS[yypt-1 : yypt+1] 16210 var yyLOCAL tree.Expr 16211 //line mysql_sql.y:7214 16212 { 16213 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) 16214 } 16215 yyVAL.union = yyLOCAL 16216 case 1249: 16217 yyDollar = yyS[yypt-1 : yypt+1] 16218 var yyLOCAL tree.Expr 16219 //line mysql_sql.y:7218 16220 { 16221 str := fmt.Sprintf("%v", yyDollar[1].item) 16222 switch v := yyDollar[1].item.(type) { 16223 case uint64: 16224 yyLOCAL = tree.NewNumValWithType(constant.MakeUint64(v), str, false, tree.P_uint64) 16225 case int64: 16226 yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(v), str, false, tree.P_int64) 16227 default: 16228 yylex.Error("parse integral fail") 16229 return 1 16230 } 16231 } 16232 yyVAL.union = yyLOCAL 16233 case 1250: 16234 yyDollar = yyS[yypt-1 : yypt+1] 16235 var yyLOCAL tree.Expr 16236 //line mysql_sql.y:7231 16237 { 16238 fval := yyDollar[1].item.(float64) 16239 yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) 16240 } 16241 yyVAL.union = yyLOCAL 16242 case 1251: 16243 yyDollar = yyS[yypt-1 : yypt+1] 16244 var yyLOCAL tree.Expr 16245 //line mysql_sql.y:7236 16246 { 16247 yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "true", false, tree.P_bool) 16248 } 16249 yyVAL.union = yyLOCAL 16250 case 1252: 16251 yyDollar = yyS[yypt-1 : yypt+1] 16252 var yyLOCAL tree.Expr 16253 //line mysql_sql.y:7240 16254 { 16255 yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "false", false, tree.P_bool) 16256 } 16257 yyVAL.union = yyLOCAL 16258 case 1253: 16259 yyDollar = yyS[yypt-1 : yypt+1] 16260 var yyLOCAL tree.Expr 16261 //line mysql_sql.y:7244 16262 { 16263 yyLOCAL = tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null) 16264 } 16265 yyVAL.union = yyLOCAL 16266 case 1254: 16267 yyDollar = yyS[yypt-1 : yypt+1] 16268 var yyLOCAL tree.Expr 16269 //line mysql_sql.y:7248 16270 { 16271 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_hexnum) 16272 } 16273 yyVAL.union = yyLOCAL 16274 case 1255: 16275 yyDollar = yyS[yypt-1 : yypt+1] 16276 var yyLOCAL tree.Expr 16277 //line mysql_sql.y:7252 16278 { 16279 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal) 16280 } 16281 yyVAL.union = yyLOCAL 16282 case 1256: 16283 yyDollar = yyS[yypt-1 : yypt+1] 16284 var yyLOCAL tree.Expr 16285 //line mysql_sql.y:7256 16286 { 16287 switch v := yyDollar[1].item.(type) { 16288 case uint64: 16289 yyLOCAL = tree.NewNumValWithType(constant.MakeUint64(v), yylex.(*Lexer).scanner.LastToken, false, tree.P_uint64) 16290 case int64: 16291 yyLOCAL = tree.NewNumValWithType(constant.MakeInt64(v), yylex.(*Lexer).scanner.LastToken, false, tree.P_int64) 16292 case string: 16293 yyLOCAL = tree.NewNumValWithType(constant.MakeString(v), v, false, tree.P_bit) 16294 default: 16295 yylex.Error("parse integral fail") 16296 return 1 16297 } 16298 } 16299 yyVAL.union = yyLOCAL 16300 case 1257: 16301 yyDollar = yyS[yypt-1 : yypt+1] 16302 var yyLOCAL tree.Expr 16303 //line mysql_sql.y:7270 16304 { 16305 yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) 16306 } 16307 yyVAL.union = yyLOCAL 16308 case 1258: 16309 yyDollar = yyS[yypt-2 : yypt+1] 16310 var yyLOCAL tree.Expr 16311 //line mysql_sql.y:7274 16312 { 16313 yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_ScoreBinary) 16314 } 16315 yyVAL.union = yyLOCAL 16316 case 1259: 16317 yyDollar = yyS[yypt-3 : yypt+1] 16318 var yyLOCAL *tree.T 16319 //line mysql_sql.y:7281 16320 { 16321 yyLOCAL = yyDollar[1].columnTypeUnion() 16322 yyLOCAL.InternalType.Unsigned = yyDollar[2].unsignedOptUnion() 16323 yyLOCAL.InternalType.Zerofill = yyDollar[3].zeroFillOptUnion() 16324 } 16325 yyVAL.union = yyLOCAL 16326 case 1263: 16327 yyDollar = yyS[yypt-2 : yypt+1] 16328 var yyLOCAL *tree.T 16329 //line mysql_sql.y:7292 16330 { 16331 yyLOCAL = yyDollar[1].columnTypeUnion() 16332 yyLOCAL.InternalType.DisplayWith = yyDollar[2].lengthOptUnion() 16333 } 16334 yyVAL.union = yyLOCAL 16335 case 1264: 16336 yyDollar = yyS[yypt-1 : yypt+1] 16337 var yyLOCAL *tree.T 16338 //line mysql_sql.y:7297 16339 { 16340 yyLOCAL = yyDollar[1].columnTypeUnion() 16341 } 16342 yyVAL.union = yyLOCAL 16343 case 1265: 16344 yyDollar = yyS[yypt-1 : yypt+1] 16345 var yyLOCAL *tree.T 16346 //line mysql_sql.y:7303 16347 { 16348 locale := "" 16349 yyLOCAL = &tree.T{ 16350 InternalType: tree.InternalType{ 16351 Family: tree.BitFamily, 16352 FamilyString: yyDollar[1].str, 16353 Locale: &locale, 16354 Oid: uint32(defines.MYSQL_TYPE_BIT), 16355 }, 16356 } 16357 } 16358 yyVAL.union = yyLOCAL 16359 case 1266: 16360 yyDollar = yyS[yypt-1 : yypt+1] 16361 var yyLOCAL *tree.T 16362 //line mysql_sql.y:7315 16363 { 16364 locale := "" 16365 yyLOCAL = &tree.T{ 16366 InternalType: tree.InternalType{ 16367 Family: tree.BoolFamily, 16368 FamilyString: yyDollar[1].str, 16369 Locale: &locale, 16370 Oid: uint32(defines.MYSQL_TYPE_BOOL), 16371 }, 16372 } 16373 } 16374 yyVAL.union = yyLOCAL 16375 case 1267: 16376 yyDollar = yyS[yypt-1 : yypt+1] 16377 var yyLOCAL *tree.T 16378 //line mysql_sql.y:7327 16379 { 16380 locale := "" 16381 yyLOCAL = &tree.T{ 16382 InternalType: tree.InternalType{ 16383 Family: tree.BoolFamily, 16384 FamilyString: yyDollar[1].str, 16385 Locale: &locale, 16386 Oid: uint32(defines.MYSQL_TYPE_BOOL), 16387 }, 16388 } 16389 } 16390 yyVAL.union = yyLOCAL 16391 case 1268: 16392 yyDollar = yyS[yypt-1 : yypt+1] 16393 var yyLOCAL *tree.T 16394 //line mysql_sql.y:7339 16395 { 16396 locale := "" 16397 yyLOCAL = &tree.T{ 16398 InternalType: tree.InternalType{ 16399 Family: tree.IntFamily, 16400 FamilyString: yyDollar[1].str, 16401 Width: 8, 16402 Locale: &locale, 16403 Oid: uint32(defines.MYSQL_TYPE_TINY), 16404 }, 16405 } 16406 } 16407 yyVAL.union = yyLOCAL 16408 case 1269: 16409 yyDollar = yyS[yypt-1 : yypt+1] 16410 var yyLOCAL *tree.T 16411 //line mysql_sql.y:7352 16412 { 16413 locale := "" 16414 yyLOCAL = &tree.T{ 16415 InternalType: tree.InternalType{ 16416 Family: tree.IntFamily, 16417 FamilyString: yyDollar[1].str, 16418 Width: 8, 16419 Locale: &locale, 16420 Oid: uint32(defines.MYSQL_TYPE_TINY), 16421 }, 16422 } 16423 } 16424 yyVAL.union = yyLOCAL 16425 case 1270: 16426 yyDollar = yyS[yypt-1 : yypt+1] 16427 var yyLOCAL *tree.T 16428 //line mysql_sql.y:7365 16429 { 16430 locale := "" 16431 yyLOCAL = &tree.T{ 16432 InternalType: tree.InternalType{ 16433 Family: tree.IntFamily, 16434 FamilyString: yyDollar[1].str, 16435 Width: 16, 16436 Locale: &locale, 16437 Oid: uint32(defines.MYSQL_TYPE_SHORT), 16438 }, 16439 } 16440 } 16441 yyVAL.union = yyLOCAL 16442 case 1271: 16443 yyDollar = yyS[yypt-1 : yypt+1] 16444 var yyLOCAL *tree.T 16445 //line mysql_sql.y:7378 16446 { 16447 locale := "" 16448 yyLOCAL = &tree.T{ 16449 InternalType: tree.InternalType{ 16450 Family: tree.IntFamily, 16451 FamilyString: yyDollar[1].str, 16452 Width: 16, 16453 Locale: &locale, 16454 Oid: uint32(defines.MYSQL_TYPE_SHORT), 16455 }, 16456 } 16457 } 16458 yyVAL.union = yyLOCAL 16459 case 1272: 16460 yyDollar = yyS[yypt-1 : yypt+1] 16461 var yyLOCAL *tree.T 16462 //line mysql_sql.y:7391 16463 { 16464 locale := "" 16465 yyLOCAL = &tree.T{ 16466 InternalType: tree.InternalType{ 16467 Family: tree.IntFamily, 16468 FamilyString: yyDollar[1].str, 16469 Width: 24, 16470 Locale: &locale, 16471 Oid: uint32(defines.MYSQL_TYPE_INT24), 16472 }, 16473 } 16474 } 16475 yyVAL.union = yyLOCAL 16476 case 1273: 16477 yyDollar = yyS[yypt-1 : yypt+1] 16478 var yyLOCAL *tree.T 16479 //line mysql_sql.y:7404 16480 { 16481 locale := "" 16482 yyLOCAL = &tree.T{ 16483 InternalType: tree.InternalType{ 16484 Family: tree.IntFamily, 16485 FamilyString: yyDollar[1].str, 16486 Width: 24, 16487 Locale: &locale, 16488 Oid: uint32(defines.MYSQL_TYPE_INT24), 16489 }, 16490 } 16491 } 16492 yyVAL.union = yyLOCAL 16493 case 1274: 16494 yyDollar = yyS[yypt-1 : yypt+1] 16495 var yyLOCAL *tree.T 16496 //line mysql_sql.y:7417 16497 { 16498 locale := "" 16499 yyLOCAL = &tree.T{ 16500 InternalType: tree.InternalType{ 16501 Family: tree.IntFamily, 16502 FamilyString: yyDollar[1].str, 16503 Width: 32, 16504 Locale: &locale, 16505 Oid: uint32(defines.MYSQL_TYPE_LONG), 16506 }, 16507 } 16508 } 16509 yyVAL.union = yyLOCAL 16510 case 1275: 16511 yyDollar = yyS[yypt-1 : yypt+1] 16512 var yyLOCAL *tree.T 16513 //line mysql_sql.y:7430 16514 { 16515 locale := "" 16516 yyLOCAL = &tree.T{ 16517 InternalType: tree.InternalType{ 16518 Family: tree.IntFamily, 16519 FamilyString: yyDollar[1].str, 16520 Width: 32, 16521 Locale: &locale, 16522 Oid: uint32(defines.MYSQL_TYPE_LONG), 16523 }, 16524 } 16525 } 16526 yyVAL.union = yyLOCAL 16527 case 1276: 16528 yyDollar = yyS[yypt-1 : yypt+1] 16529 var yyLOCAL *tree.T 16530 //line mysql_sql.y:7443 16531 { 16532 locale := "" 16533 yyLOCAL = &tree.T{ 16534 InternalType: tree.InternalType{ 16535 Family: tree.IntFamily, 16536 FamilyString: yyDollar[1].str, 16537 Width: 32, 16538 Locale: &locale, 16539 Oid: uint32(defines.MYSQL_TYPE_LONG), 16540 }, 16541 } 16542 } 16543 yyVAL.union = yyLOCAL 16544 case 1277: 16545 yyDollar = yyS[yypt-1 : yypt+1] 16546 var yyLOCAL *tree.T 16547 //line mysql_sql.y:7456 16548 { 16549 locale := "" 16550 yyLOCAL = &tree.T{ 16551 InternalType: tree.InternalType{ 16552 Family: tree.IntFamily, 16553 FamilyString: yyDollar[1].str, 16554 Width: 64, 16555 Locale: &locale, 16556 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 16557 }, 16558 } 16559 } 16560 yyVAL.union = yyLOCAL 16561 case 1278: 16562 yyDollar = yyS[yypt-1 : yypt+1] 16563 var yyLOCAL *tree.T 16564 //line mysql_sql.y:7469 16565 { 16566 locale := "" 16567 yyLOCAL = &tree.T{ 16568 InternalType: tree.InternalType{ 16569 Family: tree.IntFamily, 16570 FamilyString: yyDollar[1].str, 16571 Width: 64, 16572 Locale: &locale, 16573 Oid: uint32(defines.MYSQL_TYPE_LONGLONG), 16574 }, 16575 } 16576 } 16577 yyVAL.union = yyLOCAL 16578 case 1279: 16579 yyDollar = yyS[yypt-2 : yypt+1] 16580 var yyLOCAL *tree.T 16581 //line mysql_sql.y:7484 16582 { 16583 locale := "" 16584 if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { 16585 yylex.Error("Display width for double out of range (max = 255)") 16586 return 1 16587 } 16588 if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { 16589 yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))") 16590 return 1 16591 } 16592 yyLOCAL = &tree.T{ 16593 InternalType: tree.InternalType{ 16594 Family: tree.FloatFamily, 16595 FamilyString: yyDollar[1].str, 16596 Width: 64, 16597 Locale: &locale, 16598 Oid: uint32(defines.MYSQL_TYPE_DOUBLE), 16599 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 16600 Precision: yyDollar[2].lengthScaleOptUnion().Precision, 16601 }, 16602 } 16603 } 16604 yyVAL.union = yyLOCAL 16605 case 1280: 16606 yyDollar = yyS[yypt-2 : yypt+1] 16607 var yyLOCAL *tree.T 16608 //line mysql_sql.y:7507 16609 { 16610 locale := "" 16611 if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { 16612 yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))") 16613 return 1 16614 } 16615 if yyDollar[2].lengthScaleOptUnion().DisplayWith >= 24 { 16616 yyLOCAL = &tree.T{ 16617 InternalType: tree.InternalType{ 16618 Family: tree.FloatFamily, 16619 FamilyString: yyDollar[1].str, 16620 Width: 64, 16621 Locale: &locale, 16622 Oid: uint32(defines.MYSQL_TYPE_DOUBLE), 16623 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 16624 Precision: yyDollar[2].lengthScaleOptUnion().Precision, 16625 }, 16626 } 16627 } else { 16628 yyLOCAL = &tree.T{ 16629 InternalType: tree.InternalType{ 16630 Family: tree.FloatFamily, 16631 FamilyString: yyDollar[1].str, 16632 Width: 32, 16633 Locale: &locale, 16634 Oid: uint32(defines.MYSQL_TYPE_FLOAT), 16635 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 16636 Precision: yyDollar[2].lengthScaleOptUnion().Precision, 16637 }, 16638 } 16639 } 16640 } 16641 yyVAL.union = yyLOCAL 16642 case 1281: 16643 yyDollar = yyS[yypt-2 : yypt+1] 16644 var yyLOCAL *tree.T 16645 //line mysql_sql.y:7541 16646 { 16647 locale := "" 16648 if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { 16649 yylex.Error("For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'a'))") 16650 return 1 16651 } 16652 if yyDollar[2].lengthScaleOptUnion().DisplayWith > 38 || yyDollar[2].lengthScaleOptUnion().DisplayWith < 0 { 16653 yylex.Error("For decimal(M), M must between 0 and 38.") 16654 return 1 16655 } else if yyDollar[2].lengthScaleOptUnion().DisplayWith <= 16 { 16656 yyLOCAL = &tree.T{ 16657 InternalType: tree.InternalType{ 16658 Family: tree.FloatFamily, 16659 FamilyString: yyDollar[1].str, 16660 Width: 64, 16661 Locale: &locale, 16662 Oid: uint32(defines.MYSQL_TYPE_DECIMAL), 16663 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 16664 Precision: yyDollar[2].lengthScaleOptUnion().Precision, 16665 }, 16666 } 16667 } else { 16668 yyLOCAL = &tree.T{ 16669 InternalType: tree.InternalType{ 16670 Family: tree.FloatFamily, 16671 FamilyString: yyDollar[1].str, 16672 Width: 128, 16673 Locale: &locale, 16674 Oid: uint32(defines.MYSQL_TYPE_DECIMAL), 16675 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 16676 Precision: yyDollar[2].lengthScaleOptUnion().Precision, 16677 }, 16678 } 16679 } 16680 } 16681 yyVAL.union = yyLOCAL 16682 case 1282: 16683 yyDollar = yyS[yypt-2 : yypt+1] 16684 var yyLOCAL *tree.T 16685 //line mysql_sql.y:7589 16686 { 16687 locale := "" 16688 yyLOCAL = &tree.T{ 16689 InternalType: tree.InternalType{ 16690 Family: tree.FloatFamily, 16691 FamilyString: yyDollar[1].str, 16692 Width: 64, 16693 Locale: &locale, 16694 Oid: uint32(defines.MYSQL_TYPE_DOUBLE), 16695 DisplayWith: yyDollar[2].lengthScaleOptUnion().DisplayWith, 16696 Precision: yyDollar[2].lengthScaleOptUnion().Precision, 16697 }, 16698 } 16699 } 16700 yyVAL.union = yyLOCAL 16701 case 1283: 16702 yyDollar = yyS[yypt-1 : yypt+1] 16703 var yyLOCAL *tree.T 16704 //line mysql_sql.y:7606 16705 { 16706 locale := "" 16707 yyLOCAL = &tree.T{ 16708 InternalType: tree.InternalType{ 16709 Family: tree.DateFamily, 16710 FamilyString: yyDollar[1].str, 16711 Locale: &locale, 16712 Oid: uint32(defines.MYSQL_TYPE_DATE), 16713 }, 16714 } 16715 } 16716 yyVAL.union = yyLOCAL 16717 case 1284: 16718 yyDollar = yyS[yypt-2 : yypt+1] 16719 var yyLOCAL *tree.T 16720 //line mysql_sql.y:7618 16721 { 16722 locale := "" 16723 if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { 16724 yylex.Error("For Time(fsp), fsp must in [0, 6]") 16725 return 1 16726 } else { 16727 yyLOCAL = &tree.T{ 16728 InternalType: tree.InternalType{ 16729 Family: tree.TimeFamily, 16730 Precision: yyDollar[2].lengthOptUnion(), 16731 FamilyString: yyDollar[1].str, 16732 DisplayWith: 26, 16733 TimePrecisionIsSet: true, 16734 Locale: &locale, 16735 Oid: uint32(defines.MYSQL_TYPE_TIME), 16736 }, 16737 } 16738 } 16739 } 16740 yyVAL.union = yyLOCAL 16741 case 1285: 16742 yyDollar = yyS[yypt-2 : yypt+1] 16743 var yyLOCAL *tree.T 16744 //line mysql_sql.y:7638 16745 { 16746 locale := "" 16747 if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { 16748 yylex.Error("For Timestamp(fsp), fsp must in [0, 6]") 16749 return 1 16750 } else { 16751 yyLOCAL = &tree.T{ 16752 InternalType: tree.InternalType{ 16753 Family: tree.TimestampFamily, 16754 Precision: yyDollar[2].lengthOptUnion(), 16755 FamilyString: yyDollar[1].str, 16756 DisplayWith: 26, 16757 TimePrecisionIsSet: true, 16758 Locale: &locale, 16759 Oid: uint32(defines.MYSQL_TYPE_TIMESTAMP), 16760 }, 16761 } 16762 } 16763 } 16764 yyVAL.union = yyLOCAL 16765 case 1286: 16766 yyDollar = yyS[yypt-2 : yypt+1] 16767 var yyLOCAL *tree.T 16768 //line mysql_sql.y:7658 16769 { 16770 locale := "" 16771 if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { 16772 yylex.Error("For Datetime(fsp), fsp must in [0, 6]") 16773 return 1 16774 } else { 16775 yyLOCAL = &tree.T{ 16776 InternalType: tree.InternalType{ 16777 Family: tree.TimestampFamily, 16778 Precision: yyDollar[2].lengthOptUnion(), 16779 FamilyString: yyDollar[1].str, 16780 DisplayWith: 26, 16781 TimePrecisionIsSet: true, 16782 Locale: &locale, 16783 Oid: uint32(defines.MYSQL_TYPE_DATETIME), 16784 }, 16785 } 16786 } 16787 } 16788 yyVAL.union = yyLOCAL 16789 case 1287: 16790 yyDollar = yyS[yypt-2 : yypt+1] 16791 var yyLOCAL *tree.T 16792 //line mysql_sql.y:7678 16793 { 16794 locale := "" 16795 yyLOCAL = &tree.T{ 16796 InternalType: tree.InternalType{ 16797 Family: tree.IntFamily, 16798 FamilyString: yyDollar[1].str, 16799 DisplayWith: yyDollar[2].lengthOptUnion(), 16800 Width: 16, 16801 Locale: &locale, 16802 Oid: uint32(defines.MYSQL_TYPE_YEAR), 16803 }, 16804 } 16805 } 16806 yyVAL.union = yyLOCAL 16807 case 1288: 16808 yyDollar = yyS[yypt-2 : yypt+1] 16809 var yyLOCAL *tree.T 16810 //line mysql_sql.y:7694 16811 { 16812 locale := "" 16813 yyLOCAL = &tree.T{ 16814 InternalType: tree.InternalType{ 16815 Family: tree.StringFamily, 16816 FamilyString: yyDollar[1].str, 16817 Locale: &locale, 16818 Oid: uint32(defines.MYSQL_TYPE_STRING), 16819 DisplayWith: yyDollar[2].lengthOptUnion(), 16820 }, 16821 } 16822 } 16823 yyVAL.union = yyLOCAL 16824 case 1289: 16825 yyDollar = yyS[yypt-2 : yypt+1] 16826 var yyLOCAL *tree.T 16827 //line mysql_sql.y:7707 16828 { 16829 locale := "" 16830 yyLOCAL = &tree.T{ 16831 InternalType: tree.InternalType{ 16832 Family: tree.StringFamily, 16833 Locale: &locale, 16834 FamilyString: yyDollar[1].str, 16835 DisplayWith: yyDollar[2].lengthOptUnion(), 16836 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 16837 }, 16838 } 16839 } 16840 yyVAL.union = yyLOCAL 16841 case 1290: 16842 yyDollar = yyS[yypt-2 : yypt+1] 16843 var yyLOCAL *tree.T 16844 //line mysql_sql.y:7720 16845 { 16846 locale := "" 16847 yyLOCAL = &tree.T{ 16848 InternalType: tree.InternalType{ 16849 Family: tree.StringFamily, 16850 FamilyString: yyDollar[1].str, 16851 Locale: &locale, 16852 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 16853 DisplayWith: yyDollar[2].lengthOptUnion(), 16854 }, 16855 } 16856 } 16857 yyVAL.union = yyLOCAL 16858 case 1291: 16859 yyDollar = yyS[yypt-2 : yypt+1] 16860 var yyLOCAL *tree.T 16861 //line mysql_sql.y:7733 16862 { 16863 locale := "" 16864 yyLOCAL = &tree.T{ 16865 InternalType: tree.InternalType{ 16866 Family: tree.StringFamily, 16867 Locale: &locale, 16868 FamilyString: yyDollar[1].str, 16869 DisplayWith: yyDollar[2].lengthOptUnion(), 16870 Oid: uint32(defines.MYSQL_TYPE_VARCHAR), 16871 }, 16872 } 16873 } 16874 yyVAL.union = yyLOCAL 16875 case 1292: 16876 yyDollar = yyS[yypt-1 : yypt+1] 16877 var yyLOCAL *tree.T 16878 //line mysql_sql.y:7746 16879 { 16880 locale := "" 16881 yyLOCAL = &tree.T{ 16882 InternalType: tree.InternalType{ 16883 Family: tree.BlobFamily, 16884 FamilyString: yyDollar[1].str, 16885 Locale: &locale, 16886 Oid: uint32(defines.MYSQL_TYPE_TEXT), 16887 }, 16888 } 16889 } 16890 yyVAL.union = yyLOCAL 16891 case 1293: 16892 yyDollar = yyS[yypt-1 : yypt+1] 16893 var yyLOCAL *tree.T 16894 //line mysql_sql.y:7758 16895 { 16896 locale := "" 16897 yyLOCAL = &tree.T{ 16898 InternalType: tree.InternalType{ 16899 Family: tree.BlobFamily, 16900 FamilyString: yyDollar[1].str, 16901 Locale: &locale, 16902 Oid: uint32(defines.MYSQL_TYPE_TEXT), 16903 }, 16904 } 16905 } 16906 yyVAL.union = yyLOCAL 16907 case 1294: 16908 yyDollar = yyS[yypt-1 : yypt+1] 16909 var yyLOCAL *tree.T 16910 //line mysql_sql.y:7770 16911 { 16912 locale := "" 16913 yyLOCAL = &tree.T{ 16914 InternalType: tree.InternalType{ 16915 Family: tree.BlobFamily, 16916 FamilyString: yyDollar[1].str, 16917 Locale: &locale, 16918 Oid: uint32(defines.MYSQL_TYPE_TEXT), 16919 }, 16920 } 16921 } 16922 yyVAL.union = yyLOCAL 16923 case 1295: 16924 yyDollar = yyS[yypt-1 : yypt+1] 16925 var yyLOCAL *tree.T 16926 //line mysql_sql.y:7782 16927 { 16928 locale := "" 16929 yyLOCAL = &tree.T{ 16930 InternalType: tree.InternalType{ 16931 Family: tree.BlobFamily, 16932 FamilyString: yyDollar[1].str, 16933 Locale: &locale, 16934 Oid: uint32(defines.MYSQL_TYPE_TEXT), 16935 }, 16936 } 16937 } 16938 yyVAL.union = yyLOCAL 16939 case 1296: 16940 yyDollar = yyS[yypt-1 : yypt+1] 16941 var yyLOCAL *tree.T 16942 //line mysql_sql.y:7794 16943 { 16944 locale := "" 16945 yyLOCAL = &tree.T{ 16946 InternalType: tree.InternalType{ 16947 Family: tree.BlobFamily, 16948 FamilyString: yyDollar[1].str, 16949 Locale: &locale, 16950 Oid: uint32(defines.MYSQL_TYPE_BLOB), 16951 }, 16952 } 16953 } 16954 yyVAL.union = yyLOCAL 16955 case 1297: 16956 yyDollar = yyS[yypt-1 : yypt+1] 16957 var yyLOCAL *tree.T 16958 //line mysql_sql.y:7806 16959 { 16960 locale := "" 16961 yyLOCAL = &tree.T{ 16962 InternalType: tree.InternalType{ 16963 Family: tree.BlobFamily, 16964 FamilyString: yyDollar[1].str, 16965 Locale: &locale, 16966 Oid: uint32(defines.MYSQL_TYPE_TINY_BLOB), 16967 }, 16968 } 16969 } 16970 yyVAL.union = yyLOCAL 16971 case 1298: 16972 yyDollar = yyS[yypt-1 : yypt+1] 16973 var yyLOCAL *tree.T 16974 //line mysql_sql.y:7818 16975 { 16976 locale := "" 16977 yyLOCAL = &tree.T{ 16978 InternalType: tree.InternalType{ 16979 Family: tree.BlobFamily, 16980 FamilyString: yyDollar[1].str, 16981 Locale: &locale, 16982 Oid: uint32(defines.MYSQL_TYPE_MEDIUM_BLOB), 16983 }, 16984 } 16985 } 16986 yyVAL.union = yyLOCAL 16987 case 1299: 16988 yyDollar = yyS[yypt-1 : yypt+1] 16989 var yyLOCAL *tree.T 16990 //line mysql_sql.y:7830 16991 { 16992 locale := "" 16993 yyLOCAL = &tree.T{ 16994 InternalType: tree.InternalType{ 16995 Family: tree.BlobFamily, 16996 FamilyString: yyDollar[1].str, 16997 Locale: &locale, 16998 Oid: uint32(defines.MYSQL_TYPE_LONG_BLOB), 16999 }, 17000 } 17001 } 17002 yyVAL.union = yyLOCAL 17003 case 1300: 17004 yyDollar = yyS[yypt-1 : yypt+1] 17005 var yyLOCAL *tree.T 17006 //line mysql_sql.y:7842 17007 { 17008 locale := "" 17009 yyLOCAL = &tree.T{ 17010 InternalType: tree.InternalType{ 17011 Family: tree.JsonFamily, 17012 FamilyString: yyDollar[1].str, 17013 Locale: &locale, 17014 Oid: uint32(defines.MYSQL_TYPE_JSON), 17015 }, 17016 } 17017 } 17018 yyVAL.union = yyLOCAL 17019 case 1301: 17020 yyDollar = yyS[yypt-4 : yypt+1] 17021 var yyLOCAL *tree.T 17022 //line mysql_sql.y:7854 17023 { 17024 locale := "" 17025 yyLOCAL = &tree.T{ 17026 InternalType: tree.InternalType{ 17027 Family: tree.EnumFamily, 17028 FamilyString: yyDollar[1].str, 17029 Locale: &locale, 17030 Oid: uint32(defines.MYSQL_TYPE_ENUM), 17031 EnumValues: yyDollar[3].strsUnion(), 17032 }, 17033 } 17034 } 17035 yyVAL.union = yyLOCAL 17036 case 1302: 17037 yyDollar = yyS[yypt-4 : yypt+1] 17038 var yyLOCAL *tree.T 17039 //line mysql_sql.y:7867 17040 { 17041 locale := "" 17042 yyLOCAL = &tree.T{ 17043 InternalType: tree.InternalType{ 17044 Family: tree.SetFamily, 17045 FamilyString: yyDollar[1].str, 17046 Locale: &locale, 17047 Oid: uint32(defines.MYSQL_TYPE_SET), 17048 EnumValues: yyDollar[3].strsUnion(), 17049 }, 17050 } 17051 } 17052 yyVAL.union = yyLOCAL 17053 case 1303: 17054 yyDollar = yyS[yypt-1 : yypt+1] 17055 var yyLOCAL *tree.T 17056 //line mysql_sql.y:7880 17057 { 17058 locale := "" 17059 yyLOCAL = &tree.T{ 17060 InternalType: tree.InternalType{ 17061 Family: tree.UuidFamily, 17062 FamilyString: yyDollar[1].str, 17063 Width: 128, 17064 Locale: &locale, 17065 Oid: uint32(defines.MYSQL_TYPE_UUID), 17066 }, 17067 } 17068 } 17069 yyVAL.union = yyLOCAL 17070 case 1304: 17071 yyDollar = yyS[yypt-2 : yypt+1] 17072 var yyLOCAL tree.Statement 17073 //line mysql_sql.y:7895 17074 { 17075 yyLOCAL = &tree.Do{ 17076 Exprs: yyDollar[2].exprsUnion(), 17077 } 17078 } 17079 yyVAL.union = yyLOCAL 17080 case 1305: 17081 yyDollar = yyS[yypt-3 : yypt+1] 17082 var yyLOCAL tree.Statement 17083 //line mysql_sql.y:7903 17084 { 17085 yyLOCAL = &tree.Declare{ 17086 Variables: yyDollar[2].strsUnion(), 17087 ColumnType: yyDollar[3].columnTypeUnion(), 17088 DefaultVal: tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null), 17089 } 17090 } 17091 yyVAL.union = yyLOCAL 17092 case 1306: 17093 yyDollar = yyS[yypt-5 : yypt+1] 17094 var yyLOCAL tree.Statement 17095 //line mysql_sql.y:7912 17096 { 17097 yyLOCAL = &tree.Declare{ 17098 Variables: yyDollar[2].strsUnion(), 17099 ColumnType: yyDollar[3].columnTypeUnion(), 17100 DefaultVal: yyDollar[5].exprUnion(), 17101 } 17102 } 17103 yyVAL.union = yyLOCAL 17104 case 1307: 17105 yyDollar = yyS[yypt-1 : yypt+1] 17106 var yyLOCAL *tree.T 17107 //line mysql_sql.y:7922 17108 { 17109 locale := "" 17110 yyLOCAL = &tree.T{ 17111 InternalType: tree.InternalType{ 17112 Family: tree.GeometryFamily, 17113 FamilyString: yyDollar[1].str, 17114 Locale: &locale, 17115 Oid: uint32(defines.MYSQL_TYPE_GEOMETRY), 17116 }, 17117 } 17118 } 17119 yyVAL.union = yyLOCAL 17120 case 1308: 17121 yyDollar = yyS[yypt-1 : yypt+1] 17122 var yyLOCAL []string 17123 //line mysql_sql.y:7945 17124 { 17125 yyLOCAL = make([]string, 0, 4) 17126 yyLOCAL = append(yyLOCAL, yyDollar[1].str) 17127 } 17128 yyVAL.union = yyLOCAL 17129 case 1309: 17130 yyDollar = yyS[yypt-3 : yypt+1] 17131 var yyLOCAL []string 17132 //line mysql_sql.y:7950 17133 { 17134 yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) 17135 } 17136 yyVAL.union = yyLOCAL 17137 case 1310: 17138 yyDollar = yyS[yypt-0 : yypt+1] 17139 var yyLOCAL int32 17140 //line mysql_sql.y:7956 17141 { 17142 yyLOCAL = 0 17143 } 17144 yyVAL.union = yyLOCAL 17145 case 1312: 17146 yyDollar = yyS[yypt-0 : yypt+1] 17147 var yyLOCAL int32 17148 //line mysql_sql.y:7963 17149 { 17150 yyLOCAL = 0 17151 } 17152 yyVAL.union = yyLOCAL 17153 case 1313: 17154 yyDollar = yyS[yypt-3 : yypt+1] 17155 var yyLOCAL int32 17156 //line mysql_sql.y:7967 17157 { 17158 yyLOCAL = int32(yyDollar[2].item.(int64)) 17159 } 17160 yyVAL.union = yyLOCAL 17161 case 1314: 17162 yyDollar = yyS[yypt-0 : yypt+1] 17163 var yyLOCAL int32 17164 //line mysql_sql.y:7972 17165 { 17166 yyLOCAL = int32(-1) 17167 } 17168 yyVAL.union = yyLOCAL 17169 case 1315: 17170 yyDollar = yyS[yypt-3 : yypt+1] 17171 var yyLOCAL int32 17172 //line mysql_sql.y:7976 17173 { 17174 yyLOCAL = int32(yyDollar[2].item.(int64)) 17175 } 17176 yyVAL.union = yyLOCAL 17177 case 1316: 17178 yyDollar = yyS[yypt-3 : yypt+1] 17179 var yyLOCAL int32 17180 //line mysql_sql.y:7982 17181 { 17182 yyLOCAL = tree.GetDisplayWith(int32(yyDollar[2].item.(int64))) 17183 } 17184 yyVAL.union = yyLOCAL 17185 case 1317: 17186 yyDollar = yyS[yypt-0 : yypt+1] 17187 var yyLOCAL tree.LengthScaleOpt 17188 //line mysql_sql.y:7988 17189 { 17190 yyLOCAL = tree.LengthScaleOpt{ 17191 DisplayWith: tree.NotDefineDisplayWidth, 17192 Precision: tree.NotDefineDec, 17193 } 17194 } 17195 yyVAL.union = yyLOCAL 17196 case 1318: 17197 yyDollar = yyS[yypt-3 : yypt+1] 17198 var yyLOCAL tree.LengthScaleOpt 17199 //line mysql_sql.y:7995 17200 { 17201 yyLOCAL = tree.LengthScaleOpt{ 17202 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 17203 Precision: tree.NotDefineDec, 17204 } 17205 } 17206 yyVAL.union = yyLOCAL 17207 case 1319: 17208 yyDollar = yyS[yypt-5 : yypt+1] 17209 var yyLOCAL tree.LengthScaleOpt 17210 //line mysql_sql.y:8002 17211 { 17212 yyLOCAL = tree.LengthScaleOpt{ 17213 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 17214 Precision: int32(yyDollar[4].item.(int64)), 17215 } 17216 } 17217 yyVAL.union = yyLOCAL 17218 case 1320: 17219 yyDollar = yyS[yypt-0 : yypt+1] 17220 var yyLOCAL tree.LengthScaleOpt 17221 //line mysql_sql.y:8011 17222 { 17223 yyLOCAL = tree.LengthScaleOpt{ 17224 DisplayWith: 34, // this is the default precision for decimal 17225 Precision: 0, 17226 } 17227 } 17228 yyVAL.union = yyLOCAL 17229 case 1321: 17230 yyDollar = yyS[yypt-3 : yypt+1] 17231 var yyLOCAL tree.LengthScaleOpt 17232 //line mysql_sql.y:8018 17233 { 17234 yyLOCAL = tree.LengthScaleOpt{ 17235 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 17236 Precision: 0, 17237 } 17238 } 17239 yyVAL.union = yyLOCAL 17240 case 1322: 17241 yyDollar = yyS[yypt-5 : yypt+1] 17242 var yyLOCAL tree.LengthScaleOpt 17243 //line mysql_sql.y:8025 17244 { 17245 yyLOCAL = tree.LengthScaleOpt{ 17246 DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), 17247 Precision: int32(yyDollar[4].item.(int64)), 17248 } 17249 } 17250 yyVAL.union = yyLOCAL 17251 case 1323: 17252 yyDollar = yyS[yypt-0 : yypt+1] 17253 var yyLOCAL bool 17254 //line mysql_sql.y:8034 17255 { 17256 yyLOCAL = false 17257 } 17258 yyVAL.union = yyLOCAL 17259 case 1324: 17260 yyDollar = yyS[yypt-1 : yypt+1] 17261 var yyLOCAL bool 17262 //line mysql_sql.y:8038 17263 { 17264 yyLOCAL = true 17265 } 17266 yyVAL.union = yyLOCAL 17267 case 1325: 17268 yyDollar = yyS[yypt-1 : yypt+1] 17269 var yyLOCAL bool 17270 //line mysql_sql.y:8042 17271 { 17272 yyLOCAL = false 17273 } 17274 yyVAL.union = yyLOCAL 17275 case 1326: 17276 yyDollar = yyS[yypt-0 : yypt+1] 17277 //line mysql_sql.y:8048 17278 { 17279 } 17280 case 1327: 17281 yyDollar = yyS[yypt-1 : yypt+1] 17282 var yyLOCAL bool 17283 //line mysql_sql.y:8050 17284 { 17285 yyLOCAL = true 17286 } 17287 yyVAL.union = yyLOCAL 17288 case 1331: 17289 yyDollar = yyS[yypt-0 : yypt+1] 17290 //line mysql_sql.y:8060 17291 { 17292 yyVAL.str = "" 17293 } 17294 case 1332: 17295 yyDollar = yyS[yypt-1 : yypt+1] 17296 //line mysql_sql.y:8064 17297 { 17298 yyVAL.str = string(yyDollar[1].str) 17299 } 17300 } 17301 goto yystack /* stack new state and value */ 17302 }