github.com/vedadiyan/sqlparser@v1.0.0/pkg/sqlparser/sql.go (about) 1 // Code generated by goyacc -fo sql.go sql.y. DO NOT EDIT. 2 3 //line sql.y:17 4 package sqlparser 5 6 import ( 7 __yyfmt__ "fmt" 8 __yyunsafe__ "unsafe" 9 ) 10 11 //line sql.y:17 12 13 func setParseTree(yylex yyLexer, stmt Statement) { 14 yylex.(*Tokenizer).ParseTree = stmt 15 } 16 17 func setAllowComments(yylex yyLexer, allow bool) { 18 yylex.(*Tokenizer).AllowComments = allow 19 } 20 21 func setDDL(yylex yyLexer, node Statement) { 22 yylex.(*Tokenizer).partialDDL = node 23 } 24 25 func incNesting(yylex yyLexer) bool { 26 yylex.(*Tokenizer).nesting++ 27 if yylex.(*Tokenizer).nesting == 200 { 28 return true 29 } 30 return false 31 } 32 33 func decNesting(yylex yyLexer) { 34 yylex.(*Tokenizer).nesting-- 35 } 36 37 // skipToEnd forces the lexer to end prematurely. Not all SQL statements 38 // are supported by the Parser, thus calling skipToEnd will make the lexer 39 // return EOF early. 40 func skipToEnd(yylex yyLexer) { 41 yylex.(*Tokenizer).SkipToEnd = true 42 } 43 44 func bindVariable(yylex yyLexer, bvar string) { 45 yylex.(*Tokenizer).BindVars[bvar] = struct{}{} 46 } 47 48 const MEMBER = 57346 49 const FUNCTION_CALL_NON_KEYWORD = 57347 50 const STRING_TYPE_PREFIX_NON_KEYWORD = 57348 51 const LEX_ERROR = 57349 52 const UNION = 57350 53 const SELECT = 57351 54 const STREAM = 57352 55 const VSTREAM = 57353 56 const INSERT = 57354 57 const UPDATE = 57355 58 const DELETE = 57356 59 const FROM = 57357 60 const WHERE = 57358 61 const GROUP = 57359 62 const HAVING = 57360 63 const ORDER = 57361 64 const BY = 57362 65 const LIMIT = 57363 66 const OFFSET = 57364 67 const FOR = 57365 68 const ALL = 57366 69 const DISTINCT = 57367 70 const AS = 57368 71 const EXISTS = 57369 72 const ASC = 57370 73 const DESC = 57371 74 const INTO = 57372 75 const DUPLICATE = 57373 76 const DEFAULT = 57374 77 const SET = 57375 78 const LOCK = 57376 79 const UNLOCK = 57377 80 const KEYS = 57378 81 const DO = 57379 82 const CALL = 57380 83 const DISTINCTROW = 57381 84 const PARSER = 57382 85 const GENERATED = 57383 86 const ALWAYS = 57384 87 const OUTFILE = 57385 88 const S3 = 57386 89 const DATA = 57387 90 const LOAD = 57388 91 const LINES = 57389 92 const TERMINATED = 57390 93 const ESCAPED = 57391 94 const ENCLOSED = 57392 95 const DUMPFILE = 57393 96 const CSV = 57394 97 const HEADER = 57395 98 const MANIFEST = 57396 99 const OVERWRITE = 57397 100 const STARTING = 57398 101 const OPTIONALLY = 57399 102 const VALUES = 57400 103 const LAST_INSERT_ID = 57401 104 const NEXT = 57402 105 const VALUE = 57403 106 const SHARE = 57404 107 const MODE = 57405 108 const SQL_NO_CACHE = 57406 109 const SQL_CACHE = 57407 110 const SQL_CALC_FOUND_ROWS = 57408 111 const JOIN = 57409 112 const STRAIGHT_JOIN = 57410 113 const LEFT = 57411 114 const RIGHT = 57412 115 const INNER = 57413 116 const OUTER = 57414 117 const CROSS = 57415 118 const NATURAL = 57416 119 const USE = 57417 120 const FORCE = 57418 121 const ON = 57419 122 const USING = 57420 123 const INPLACE = 57421 124 const COPY = 57422 125 const INSTANT = 57423 126 const ALGORITHM = 57424 127 const NONE = 57425 128 const SHARED = 57426 129 const EXCLUSIVE = 57427 130 const SUBQUERY_AS_EXPR = 57428 131 const STRING = 57429 132 const ID = 57430 133 const AT_ID = 57431 134 const AT_AT_ID = 57432 135 const HEX = 57433 136 const NCHAR_STRING = 57434 137 const INTEGRAL = 57435 138 const FLOAT = 57436 139 const DECIMAL = 57437 140 const HEXNUM = 57438 141 const COMMENT = 57439 142 const COMMENT_KEYWORD = 57440 143 const BITNUM = 57441 144 const BIT_LITERAL = 57442 145 const COMPRESSION = 57443 146 const VALUE_ARG = 57444 147 const LIST_ARG = 57445 148 const OFFSET_ARG = 57446 149 const JSON_PRETTY = 57447 150 const JSON_STORAGE_SIZE = 57448 151 const JSON_STORAGE_FREE = 57449 152 const JSON_CONTAINS = 57450 153 const JSON_CONTAINS_PATH = 57451 154 const JSON_EXTRACT = 57452 155 const JSON_KEYS = 57453 156 const JSON_OVERLAPS = 57454 157 const JSON_SEARCH = 57455 158 const JSON_VALUE = 57456 159 const EXTRACT = 57457 160 const NULL = 57458 161 const TRUE = 57459 162 const FALSE = 57460 163 const OFF = 57461 164 const DISCARD = 57462 165 const IMPORT = 57463 166 const ENABLE = 57464 167 const DISABLE = 57465 168 const TABLESPACE = 57466 169 const VIRTUAL = 57467 170 const STORED = 57468 171 const BOTH = 57469 172 const LEADING = 57470 173 const TRAILING = 57471 174 const EMPTY_FROM_CLAUSE = 57472 175 const LOWER_THAN_CHARSET = 57473 176 const CHARSET = 57474 177 const UNIQUE = 57475 178 const KEY = 57476 179 const EXPRESSION_PREC_SETTER = 57477 180 const OR = 57478 181 const XOR = 57479 182 const AND = 57480 183 const NOT = 57481 184 const BETWEEN = 57482 185 const CASE = 57483 186 const WHEN = 57484 187 const THEN = 57485 188 const ELSE = 57486 189 const END = 57487 190 const LE = 57488 191 const GE = 57489 192 const NE = 57490 193 const NULL_SAFE_EQUAL = 57491 194 const IS = 57492 195 const LIKE = 57493 196 const REGEXP = 57494 197 const RLIKE = 57495 198 const IN = 57496 199 const SHIFT_LEFT = 57497 200 const SHIFT_RIGHT = 57498 201 const DIV = 57499 202 const MOD = 57500 203 const UNARY = 57501 204 const COLLATE = 57502 205 const BINARY = 57503 206 const UNDERSCORE_ARMSCII8 = 57504 207 const UNDERSCORE_ASCII = 57505 208 const UNDERSCORE_BIG5 = 57506 209 const UNDERSCORE_BINARY = 57507 210 const UNDERSCORE_CP1250 = 57508 211 const UNDERSCORE_CP1251 = 57509 212 const UNDERSCORE_CP1256 = 57510 213 const UNDERSCORE_CP1257 = 57511 214 const UNDERSCORE_CP850 = 57512 215 const UNDERSCORE_CP852 = 57513 216 const UNDERSCORE_CP866 = 57514 217 const UNDERSCORE_CP932 = 57515 218 const UNDERSCORE_DEC8 = 57516 219 const UNDERSCORE_EUCJPMS = 57517 220 const UNDERSCORE_EUCKR = 57518 221 const UNDERSCORE_GB18030 = 57519 222 const UNDERSCORE_GB2312 = 57520 223 const UNDERSCORE_GBK = 57521 224 const UNDERSCORE_GEOSTD8 = 57522 225 const UNDERSCORE_GREEK = 57523 226 const UNDERSCORE_HEBREW = 57524 227 const UNDERSCORE_HP8 = 57525 228 const UNDERSCORE_KEYBCS2 = 57526 229 const UNDERSCORE_KOI8R = 57527 230 const UNDERSCORE_KOI8U = 57528 231 const UNDERSCORE_LATIN1 = 57529 232 const UNDERSCORE_LATIN2 = 57530 233 const UNDERSCORE_LATIN5 = 57531 234 const UNDERSCORE_LATIN7 = 57532 235 const UNDERSCORE_MACCE = 57533 236 const UNDERSCORE_MACROMAN = 57534 237 const UNDERSCORE_SJIS = 57535 238 const UNDERSCORE_SWE7 = 57536 239 const UNDERSCORE_TIS620 = 57537 240 const UNDERSCORE_UCS2 = 57538 241 const UNDERSCORE_UJIS = 57539 242 const UNDERSCORE_UTF16 = 57540 243 const UNDERSCORE_UTF16LE = 57541 244 const UNDERSCORE_UTF32 = 57542 245 const UNDERSCORE_UTF8 = 57543 246 const UNDERSCORE_UTF8MB4 = 57544 247 const UNDERSCORE_UTF8MB3 = 57545 248 const INTERVAL = 57546 249 const WINDOW_EXPR = 57547 250 const JSON_EXTRACT_OP = 57548 251 const JSON_UNQUOTE_EXTRACT_OP = 57549 252 const CREATE = 57550 253 const ALTER = 57551 254 const DROP = 57552 255 const RENAME = 57553 256 const ANALYZE = 57554 257 const ADD = 57555 258 const FLUSH = 57556 259 const CHANGE = 57557 260 const MODIFY = 57558 261 const DEALLOCATE = 57559 262 const REVERT = 57560 263 const QUERIES = 57561 264 const SCHEMA = 57562 265 const TABLE = 57563 266 const INDEX = 57564 267 const VIEW = 57565 268 const TO = 57566 269 const IGNORE = 57567 270 const IF = 57568 271 const PRIMARY = 57569 272 const COLUMN = 57570 273 const SPATIAL = 57571 274 const FULLTEXT = 57572 275 const KEY_BLOCK_SIZE = 57573 276 const CHECK = 57574 277 const INDEXES = 57575 278 const ACTION = 57576 279 const CASCADE = 57577 280 const CONSTRAINT = 57578 281 const FOREIGN = 57579 282 const NO = 57580 283 const REFERENCES = 57581 284 const RESTRICT = 57582 285 const SHOW = 57583 286 const DESCRIBE = 57584 287 const EXPLAIN = 57585 288 const DATE = 57586 289 const ESCAPE = 57587 290 const REPAIR = 57588 291 const OPTIMIZE = 57589 292 const TRUNCATE = 57590 293 const COALESCE = 57591 294 const EXCHANGE = 57592 295 const REBUILD = 57593 296 const PARTITIONING = 57594 297 const REMOVE = 57595 298 const PREPARE = 57596 299 const EXECUTE = 57597 300 const MAXVALUE = 57598 301 const PARTITION = 57599 302 const REORGANIZE = 57600 303 const LESS = 57601 304 const THAN = 57602 305 const PROCEDURE = 57603 306 const TRIGGER = 57604 307 const VINDEX = 57605 308 const VINDEXES = 57606 309 const DIRECTORY = 57607 310 const NAME = 57608 311 const UPGRADE = 57609 312 const STATUS = 57610 313 const VARIABLES = 57611 314 const WARNINGS = 57612 315 const CASCADED = 57613 316 const DEFINER = 57614 317 const OPTION = 57615 318 const SQL = 57616 319 const UNDEFINED = 57617 320 const SEQUENCE = 57618 321 const MERGE = 57619 322 const TEMPORARY = 57620 323 const TEMPTABLE = 57621 324 const INVOKER = 57622 325 const SECURITY = 57623 326 const FIRST = 57624 327 const AFTER = 57625 328 const LAST = 57626 329 const VITESS_MIGRATION = 57627 330 const CANCEL = 57628 331 const RETRY = 57629 332 const LAUNCH = 57630 333 const COMPLETE = 57631 334 const CLEANUP = 57632 335 const THROTTLE = 57633 336 const UNTHROTTLE = 57634 337 const EXPIRE = 57635 338 const RATIO = 57636 339 const VITESS_THROTTLER = 57637 340 const BEGIN = 57638 341 const START = 57639 342 const TRANSACTION = 57640 343 const COMMIT = 57641 344 const ROLLBACK = 57642 345 const SAVEPOINT = 57643 346 const RELEASE = 57644 347 const WORK = 57645 348 const CONSISTENT = 57646 349 const SNAPSHOT = 57647 350 const BIT = 57648 351 const TINYINT = 57649 352 const SMALLINT = 57650 353 const MEDIUMINT = 57651 354 const INT = 57652 355 const INTEGER = 57653 356 const BIGINT = 57654 357 const INTNUM = 57655 358 const REAL = 57656 359 const DOUBLE = 57657 360 const FLOAT_TYPE = 57658 361 const FLOAT4_TYPE = 57659 362 const FLOAT8_TYPE = 57660 363 const DECIMAL_TYPE = 57661 364 const NUMERIC = 57662 365 const TIME = 57663 366 const TIMESTAMP = 57664 367 const DATETIME = 57665 368 const YEAR = 57666 369 const CHAR = 57667 370 const VARCHAR = 57668 371 const BOOL = 57669 372 const CHARACTER = 57670 373 const VARBINARY = 57671 374 const NCHAR = 57672 375 const TEXT = 57673 376 const TINYTEXT = 57674 377 const MEDIUMTEXT = 57675 378 const LONGTEXT = 57676 379 const BLOB = 57677 380 const TINYBLOB = 57678 381 const MEDIUMBLOB = 57679 382 const LONGBLOB = 57680 383 const JSON = 57681 384 const JSON_SCHEMA_VALID = 57682 385 const JSON_SCHEMA_VALIDATION_REPORT = 57683 386 const ENUM = 57684 387 const GEOMETRY = 57685 388 const POINT = 57686 389 const LINESTRING = 57687 390 const POLYGON = 57688 391 const GEOMCOLLECTION = 57689 392 const GEOMETRYCOLLECTION = 57690 393 const MULTIPOINT = 57691 394 const MULTILINESTRING = 57692 395 const MULTIPOLYGON = 57693 396 const ASCII = 57694 397 const UNICODE = 57695 398 const NULLX = 57696 399 const AUTO_INCREMENT = 57697 400 const APPROXNUM = 57698 401 const SIGNED = 57699 402 const UNSIGNED = 57700 403 const ZEROFILL = 57701 404 const CODE = 57702 405 const COLLATION = 57703 406 const COLUMNS = 57704 407 const DATABASES = 57705 408 const ENGINES = 57706 409 const EVENT = 57707 410 const EXTENDED = 57708 411 const FIELDS = 57709 412 const FULL = 57710 413 const FUNCTION = 57711 414 const GTID_EXECUTED = 57712 415 const KEYSPACES = 57713 416 const OPEN = 57714 417 const PLUGINS = 57715 418 const PRIVILEGES = 57716 419 const PROCESSLIST = 57717 420 const SCHEMAS = 57718 421 const TABLES = 57719 422 const TRIGGERS = 57720 423 const USER = 57721 424 const VGTID_EXECUTED = 57722 425 const VITESS_KEYSPACES = 57723 426 const VITESS_METADATA = 57724 427 const VITESS_MIGRATIONS = 57725 428 const VITESS_REPLICATION_STATUS = 57726 429 const VITESS_SHARDS = 57727 430 const VITESS_TABLETS = 57728 431 const VITESS_TARGET = 57729 432 const VSCHEMA = 57730 433 const VITESS_THROTTLED_APPS = 57731 434 const NAMES = 57732 435 const GLOBAL = 57733 436 const SESSION = 57734 437 const ISOLATION = 57735 438 const LEVEL = 57736 439 const READ = 57737 440 const WRITE = 57738 441 const ONLY = 57739 442 const REPEATABLE = 57740 443 const COMMITTED = 57741 444 const UNCOMMITTED = 57742 445 const SERIALIZABLE = 57743 446 const CURRENT_TIMESTAMP = 57744 447 const DATABASE = 57745 448 const CURRENT_DATE = 57746 449 const NOW = 57747 450 const CURRENT_TIME = 57748 451 const LOCALTIME = 57749 452 const LOCALTIMESTAMP = 57750 453 const CURRENT_USER = 57751 454 const UTC_DATE = 57752 455 const UTC_TIME = 57753 456 const UTC_TIMESTAMP = 57754 457 const DAY = 57755 458 const DAY_HOUR = 57756 459 const DAY_MICROSECOND = 57757 460 const DAY_MINUTE = 57758 461 const DAY_SECOND = 57759 462 const HOUR = 57760 463 const HOUR_MICROSECOND = 57761 464 const HOUR_MINUTE = 57762 465 const HOUR_SECOND = 57763 466 const MICROSECOND = 57764 467 const MINUTE = 57765 468 const MINUTE_MICROSECOND = 57766 469 const MINUTE_SECOND = 57767 470 const MONTH = 57768 471 const QUARTER = 57769 472 const SECOND = 57770 473 const SECOND_MICROSECOND = 57771 474 const YEAR_MONTH = 57772 475 const WEEK = 57773 476 const REPLACE = 57774 477 const CONVERT = 57775 478 const CAST = 57776 479 const SUBSTR = 57777 480 const SUBSTRING = 57778 481 const SEPARATOR = 57779 482 const TIMESTAMPADD = 57780 483 const TIMESTAMPDIFF = 57781 484 const WEIGHT_STRING = 57782 485 const LTRIM = 57783 486 const RTRIM = 57784 487 const TRIM = 57785 488 const JSON_ARRAY = 57786 489 const JSON_OBJECT = 57787 490 const JSON_QUOTE = 57788 491 const JSON_DEPTH = 57789 492 const JSON_TYPE = 57790 493 const JSON_LENGTH = 57791 494 const JSON_VALID = 57792 495 const JSON_ARRAY_APPEND = 57793 496 const JSON_ARRAY_INSERT = 57794 497 const JSON_INSERT = 57795 498 const JSON_MERGE = 57796 499 const JSON_MERGE_PATCH = 57797 500 const JSON_MERGE_PRESERVE = 57798 501 const JSON_REMOVE = 57799 502 const JSON_REPLACE = 57800 503 const JSON_SET = 57801 504 const JSON_UNQUOTE = 57802 505 const COUNT = 57803 506 const AVG = 57804 507 const MAX = 57805 508 const MIN = 57806 509 const SUM = 57807 510 const GROUP_CONCAT = 57808 511 const BIT_AND = 57809 512 const BIT_OR = 57810 513 const BIT_XOR = 57811 514 const STD = 57812 515 const STDDEV = 57813 516 const STDDEV_POP = 57814 517 const STDDEV_SAMP = 57815 518 const VAR_POP = 57816 519 const VAR_SAMP = 57817 520 const VARIANCE = 57818 521 const REGEXP_INSTR = 57819 522 const REGEXP_LIKE = 57820 523 const REGEXP_REPLACE = 57821 524 const REGEXP_SUBSTR = 57822 525 const ExtractValue = 57823 526 const UpdateXML = 57824 527 const GET_LOCK = 57825 528 const RELEASE_LOCK = 57826 529 const RELEASE_ALL_LOCKS = 57827 530 const IS_FREE_LOCK = 57828 531 const IS_USED_LOCK = 57829 532 const LOCATE = 57830 533 const POSITION = 57831 534 const MATCH = 57832 535 const AGAINST = 57833 536 const BOOLEAN = 57834 537 const LANGUAGE = 57835 538 const WITH = 57836 539 const QUERY = 57837 540 const EXPANSION = 57838 541 const WITHOUT = 57839 542 const VALIDATION = 57840 543 const UNUSED = 57841 544 const ARRAY = 57842 545 const BYTE = 57843 546 const CUME_DIST = 57844 547 const DESCRIPTION = 57845 548 const DENSE_RANK = 57846 549 const EMPTY = 57847 550 const EXCEPT = 57848 551 const FIRST_VALUE = 57849 552 const GROUPING = 57850 553 const GROUPS = 57851 554 const JSON_TABLE = 57852 555 const LAG = 57853 556 const LAST_VALUE = 57854 557 const LATERAL = 57855 558 const LEAD = 57856 559 const NTH_VALUE = 57857 560 const NTILE = 57858 561 const OF = 57859 562 const OVER = 57860 563 const PERCENT_RANK = 57861 564 const RANK = 57862 565 const RECURSIVE = 57863 566 const ROW_NUMBER = 57864 567 const SYSTEM = 57865 568 const WINDOW = 57866 569 const ACTIVE = 57867 570 const ADMIN = 57868 571 const AUTOEXTEND_SIZE = 57869 572 const BUCKETS = 57870 573 const CLONE = 57871 574 const COLUMN_FORMAT = 57872 575 const COMPONENT = 57873 576 const DEFINITION = 57874 577 const ENFORCED = 57875 578 const ENGINE_ATTRIBUTE = 57876 579 const EXCLUDE = 57877 580 const FOLLOWING = 57878 581 const GET_MASTER_PUBLIC_KEY = 57879 582 const HISTOGRAM = 57880 583 const HISTORY = 57881 584 const INACTIVE = 57882 585 const INVISIBLE = 57883 586 const LOCKED = 57884 587 const MASTER_COMPRESSION_ALGORITHMS = 57885 588 const MASTER_PUBLIC_KEY_PATH = 57886 589 const MASTER_TLS_CIPHERSUITES = 57887 590 const MASTER_ZSTD_COMPRESSION_LEVEL = 57888 591 const NESTED = 57889 592 const NETWORK_NAMESPACE = 57890 593 const NOWAIT = 57891 594 const NULLS = 57892 595 const OJ = 57893 596 const OLD = 57894 597 const OPTIONAL = 57895 598 const ORDINALITY = 57896 599 const ORGANIZATION = 57897 600 const OTHERS = 57898 601 const PARTIAL = 57899 602 const PATH = 57900 603 const PERSIST = 57901 604 const PERSIST_ONLY = 57902 605 const PRECEDING = 57903 606 const PRIVILEGE_CHECKS_USER = 57904 607 const PROCESS = 57905 608 const RANDOM = 57906 609 const REFERENCE = 57907 610 const REQUIRE_ROW_FORMAT = 57908 611 const RESOURCE = 57909 612 const RESPECT = 57910 613 const RESTART = 57911 614 const RETAIN = 57912 615 const REUSE = 57913 616 const ROLE = 57914 617 const SECONDARY = 57915 618 const SECONDARY_ENGINE = 57916 619 const SECONDARY_ENGINE_ATTRIBUTE = 57917 620 const SECONDARY_LOAD = 57918 621 const SECONDARY_UNLOAD = 57919 622 const SIMPLE = 57920 623 const SKIP = 57921 624 const SRID = 57922 625 const THREAD_PRIORITY = 57923 626 const TIES = 57924 627 const UNBOUNDED = 57925 628 const VCPU = 57926 629 const VISIBLE = 57927 630 const RETURNING = 57928 631 const FORMAT_BYTES = 57929 632 const FORMAT_PICO_TIME = 57930 633 const PS_CURRENT_THREAD_ID = 57931 634 const PS_THREAD_ID = 57932 635 const GTID_SUBSET = 57933 636 const GTID_SUBTRACT = 57934 637 const WAIT_FOR_EXECUTED_GTID_SET = 57935 638 const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 57936 639 const FORMAT = 57937 640 const TREE = 57938 641 const VITESS = 57939 642 const TRADITIONAL = 57940 643 const VTEXPLAIN = 57941 644 const VEXPLAIN = 57942 645 const PLAN = 57943 646 const LOCAL = 57944 647 const LOW_PRIORITY = 57945 648 const NO_WRITE_TO_BINLOG = 57946 649 const LOGS = 57947 650 const ERROR = 57948 651 const GENERAL = 57949 652 const HOSTS = 57950 653 const OPTIMIZER_COSTS = 57951 654 const USER_RESOURCES = 57952 655 const SLOW = 57953 656 const CHANNEL = 57954 657 const RELAY = 57955 658 const EXPORT = 57956 659 const CURRENT = 57957 660 const ROW = 57958 661 const ROWS = 57959 662 const AVG_ROW_LENGTH = 57960 663 const CONNECTION = 57961 664 const CHECKSUM = 57962 665 const DELAY_KEY_WRITE = 57963 666 const ENCRYPTION = 57964 667 const ENGINE = 57965 668 const INSERT_METHOD = 57966 669 const MAX_ROWS = 57967 670 const MIN_ROWS = 57968 671 const PACK_KEYS = 57969 672 const PASSWORD = 57970 673 const FIXED = 57971 674 const DYNAMIC = 57972 675 const COMPRESSED = 57973 676 const REDUNDANT = 57974 677 const COMPACT = 57975 678 const ROW_FORMAT = 57976 679 const STATS_AUTO_RECALC = 57977 680 const STATS_PERSISTENT = 57978 681 const STATS_SAMPLE_PAGES = 57979 682 const STORAGE = 57980 683 const MEMORY = 57981 684 const DISK = 57982 685 const PARTITIONS = 57983 686 const LINEAR = 57984 687 const RANGE = 57985 688 const LIST = 57986 689 const SUBPARTITION = 57987 690 const SUBPARTITIONS = 57988 691 const HASH = 57989 692 693 var yyToknames = [...]string{ 694 "$end", 695 "error", 696 "$unk", 697 "MEMBER", 698 "FUNCTION_CALL_NON_KEYWORD", 699 "STRING_TYPE_PREFIX_NON_KEYWORD", 700 "LEX_ERROR", 701 "UNION", 702 "SELECT", 703 "STREAM", 704 "VSTREAM", 705 "INSERT", 706 "UPDATE", 707 "DELETE", 708 "FROM", 709 "WHERE", 710 "GROUP", 711 "HAVING", 712 "ORDER", 713 "BY", 714 "LIMIT", 715 "OFFSET", 716 "FOR", 717 "ALL", 718 "DISTINCT", 719 "AS", 720 "EXISTS", 721 "ASC", 722 "DESC", 723 "INTO", 724 "DUPLICATE", 725 "DEFAULT", 726 "SET", 727 "LOCK", 728 "UNLOCK", 729 "KEYS", 730 "DO", 731 "CALL", 732 "DISTINCTROW", 733 "PARSER", 734 "GENERATED", 735 "ALWAYS", 736 "OUTFILE", 737 "S3", 738 "DATA", 739 "LOAD", 740 "LINES", 741 "TERMINATED", 742 "ESCAPED", 743 "ENCLOSED", 744 "DUMPFILE", 745 "CSV", 746 "HEADER", 747 "MANIFEST", 748 "OVERWRITE", 749 "STARTING", 750 "OPTIONALLY", 751 "VALUES", 752 "LAST_INSERT_ID", 753 "NEXT", 754 "VALUE", 755 "SHARE", 756 "MODE", 757 "SQL_NO_CACHE", 758 "SQL_CACHE", 759 "SQL_CALC_FOUND_ROWS", 760 "JOIN", 761 "STRAIGHT_JOIN", 762 "LEFT", 763 "RIGHT", 764 "INNER", 765 "OUTER", 766 "CROSS", 767 "NATURAL", 768 "USE", 769 "FORCE", 770 "ON", 771 "USING", 772 "INPLACE", 773 "COPY", 774 "INSTANT", 775 "ALGORITHM", 776 "NONE", 777 "SHARED", 778 "EXCLUSIVE", 779 "SUBQUERY_AS_EXPR", 780 "'('", 781 "','", 782 "')'", 783 "STRING", 784 "ID", 785 "AT_ID", 786 "AT_AT_ID", 787 "HEX", 788 "NCHAR_STRING", 789 "INTEGRAL", 790 "FLOAT", 791 "DECIMAL", 792 "HEXNUM", 793 "COMMENT", 794 "COMMENT_KEYWORD", 795 "BITNUM", 796 "BIT_LITERAL", 797 "COMPRESSION", 798 "VALUE_ARG", 799 "LIST_ARG", 800 "OFFSET_ARG", 801 "JSON_PRETTY", 802 "JSON_STORAGE_SIZE", 803 "JSON_STORAGE_FREE", 804 "JSON_CONTAINS", 805 "JSON_CONTAINS_PATH", 806 "JSON_EXTRACT", 807 "JSON_KEYS", 808 "JSON_OVERLAPS", 809 "JSON_SEARCH", 810 "JSON_VALUE", 811 "EXTRACT", 812 "NULL", 813 "TRUE", 814 "FALSE", 815 "OFF", 816 "DISCARD", 817 "IMPORT", 818 "ENABLE", 819 "DISABLE", 820 "TABLESPACE", 821 "VIRTUAL", 822 "STORED", 823 "BOTH", 824 "LEADING", 825 "TRAILING", 826 "EMPTY_FROM_CLAUSE", 827 "LOWER_THAN_CHARSET", 828 "CHARSET", 829 "UNIQUE", 830 "KEY", 831 "EXPRESSION_PREC_SETTER", 832 "OR", 833 "'|'", 834 "XOR", 835 "AND", 836 "NOT", 837 "'!'", 838 "BETWEEN", 839 "CASE", 840 "WHEN", 841 "THEN", 842 "ELSE", 843 "END", 844 "'='", 845 "'<'", 846 "'>'", 847 "LE", 848 "GE", 849 "NE", 850 "NULL_SAFE_EQUAL", 851 "IS", 852 "LIKE", 853 "REGEXP", 854 "RLIKE", 855 "IN", 856 "'&'", 857 "SHIFT_LEFT", 858 "SHIFT_RIGHT", 859 "'+'", 860 "'-'", 861 "'*'", 862 "'/'", 863 "DIV", 864 "'%'", 865 "MOD", 866 "'^'", 867 "'~'", 868 "UNARY", 869 "COLLATE", 870 "BINARY", 871 "UNDERSCORE_ARMSCII8", 872 "UNDERSCORE_ASCII", 873 "UNDERSCORE_BIG5", 874 "UNDERSCORE_BINARY", 875 "UNDERSCORE_CP1250", 876 "UNDERSCORE_CP1251", 877 "UNDERSCORE_CP1256", 878 "UNDERSCORE_CP1257", 879 "UNDERSCORE_CP850", 880 "UNDERSCORE_CP852", 881 "UNDERSCORE_CP866", 882 "UNDERSCORE_CP932", 883 "UNDERSCORE_DEC8", 884 "UNDERSCORE_EUCJPMS", 885 "UNDERSCORE_EUCKR", 886 "UNDERSCORE_GB18030", 887 "UNDERSCORE_GB2312", 888 "UNDERSCORE_GBK", 889 "UNDERSCORE_GEOSTD8", 890 "UNDERSCORE_GREEK", 891 "UNDERSCORE_HEBREW", 892 "UNDERSCORE_HP8", 893 "UNDERSCORE_KEYBCS2", 894 "UNDERSCORE_KOI8R", 895 "UNDERSCORE_KOI8U", 896 "UNDERSCORE_LATIN1", 897 "UNDERSCORE_LATIN2", 898 "UNDERSCORE_LATIN5", 899 "UNDERSCORE_LATIN7", 900 "UNDERSCORE_MACCE", 901 "UNDERSCORE_MACROMAN", 902 "UNDERSCORE_SJIS", 903 "UNDERSCORE_SWE7", 904 "UNDERSCORE_TIS620", 905 "UNDERSCORE_UCS2", 906 "UNDERSCORE_UJIS", 907 "UNDERSCORE_UTF16", 908 "UNDERSCORE_UTF16LE", 909 "UNDERSCORE_UTF32", 910 "UNDERSCORE_UTF8", 911 "UNDERSCORE_UTF8MB4", 912 "UNDERSCORE_UTF8MB3", 913 "INTERVAL", 914 "'.'", 915 "WINDOW_EXPR", 916 "JSON_EXTRACT_OP", 917 "JSON_UNQUOTE_EXTRACT_OP", 918 "CREATE", 919 "ALTER", 920 "DROP", 921 "RENAME", 922 "ANALYZE", 923 "ADD", 924 "FLUSH", 925 "CHANGE", 926 "MODIFY", 927 "DEALLOCATE", 928 "REVERT", 929 "QUERIES", 930 "SCHEMA", 931 "TABLE", 932 "INDEX", 933 "VIEW", 934 "TO", 935 "IGNORE", 936 "IF", 937 "PRIMARY", 938 "COLUMN", 939 "SPATIAL", 940 "FULLTEXT", 941 "KEY_BLOCK_SIZE", 942 "CHECK", 943 "INDEXES", 944 "ACTION", 945 "CASCADE", 946 "CONSTRAINT", 947 "FOREIGN", 948 "NO", 949 "REFERENCES", 950 "RESTRICT", 951 "SHOW", 952 "DESCRIBE", 953 "EXPLAIN", 954 "DATE", 955 "ESCAPE", 956 "REPAIR", 957 "OPTIMIZE", 958 "TRUNCATE", 959 "COALESCE", 960 "EXCHANGE", 961 "REBUILD", 962 "PARTITIONING", 963 "REMOVE", 964 "PREPARE", 965 "EXECUTE", 966 "MAXVALUE", 967 "PARTITION", 968 "REORGANIZE", 969 "LESS", 970 "THAN", 971 "PROCEDURE", 972 "TRIGGER", 973 "VINDEX", 974 "VINDEXES", 975 "DIRECTORY", 976 "NAME", 977 "UPGRADE", 978 "STATUS", 979 "VARIABLES", 980 "WARNINGS", 981 "CASCADED", 982 "DEFINER", 983 "OPTION", 984 "SQL", 985 "UNDEFINED", 986 "SEQUENCE", 987 "MERGE", 988 "TEMPORARY", 989 "TEMPTABLE", 990 "INVOKER", 991 "SECURITY", 992 "FIRST", 993 "AFTER", 994 "LAST", 995 "VITESS_MIGRATION", 996 "CANCEL", 997 "RETRY", 998 "LAUNCH", 999 "COMPLETE", 1000 "CLEANUP", 1001 "THROTTLE", 1002 "UNTHROTTLE", 1003 "EXPIRE", 1004 "RATIO", 1005 "VITESS_THROTTLER", 1006 "BEGIN", 1007 "START", 1008 "TRANSACTION", 1009 "COMMIT", 1010 "ROLLBACK", 1011 "SAVEPOINT", 1012 "RELEASE", 1013 "WORK", 1014 "CONSISTENT", 1015 "SNAPSHOT", 1016 "BIT", 1017 "TINYINT", 1018 "SMALLINT", 1019 "MEDIUMINT", 1020 "INT", 1021 "INTEGER", 1022 "BIGINT", 1023 "INTNUM", 1024 "REAL", 1025 "DOUBLE", 1026 "FLOAT_TYPE", 1027 "FLOAT4_TYPE", 1028 "FLOAT8_TYPE", 1029 "DECIMAL_TYPE", 1030 "NUMERIC", 1031 "TIME", 1032 "TIMESTAMP", 1033 "DATETIME", 1034 "YEAR", 1035 "CHAR", 1036 "VARCHAR", 1037 "BOOL", 1038 "CHARACTER", 1039 "VARBINARY", 1040 "NCHAR", 1041 "TEXT", 1042 "TINYTEXT", 1043 "MEDIUMTEXT", 1044 "LONGTEXT", 1045 "BLOB", 1046 "TINYBLOB", 1047 "MEDIUMBLOB", 1048 "LONGBLOB", 1049 "JSON", 1050 "JSON_SCHEMA_VALID", 1051 "JSON_SCHEMA_VALIDATION_REPORT", 1052 "ENUM", 1053 "GEOMETRY", 1054 "POINT", 1055 "LINESTRING", 1056 "POLYGON", 1057 "GEOMCOLLECTION", 1058 "GEOMETRYCOLLECTION", 1059 "MULTIPOINT", 1060 "MULTILINESTRING", 1061 "MULTIPOLYGON", 1062 "ASCII", 1063 "UNICODE", 1064 "NULLX", 1065 "AUTO_INCREMENT", 1066 "APPROXNUM", 1067 "SIGNED", 1068 "UNSIGNED", 1069 "ZEROFILL", 1070 "CODE", 1071 "COLLATION", 1072 "COLUMNS", 1073 "DATABASES", 1074 "ENGINES", 1075 "EVENT", 1076 "EXTENDED", 1077 "FIELDS", 1078 "FULL", 1079 "FUNCTION", 1080 "GTID_EXECUTED", 1081 "KEYSPACES", 1082 "OPEN", 1083 "PLUGINS", 1084 "PRIVILEGES", 1085 "PROCESSLIST", 1086 "SCHEMAS", 1087 "TABLES", 1088 "TRIGGERS", 1089 "USER", 1090 "VGTID_EXECUTED", 1091 "VITESS_KEYSPACES", 1092 "VITESS_METADATA", 1093 "VITESS_MIGRATIONS", 1094 "VITESS_REPLICATION_STATUS", 1095 "VITESS_SHARDS", 1096 "VITESS_TABLETS", 1097 "VITESS_TARGET", 1098 "VSCHEMA", 1099 "VITESS_THROTTLED_APPS", 1100 "NAMES", 1101 "GLOBAL", 1102 "SESSION", 1103 "ISOLATION", 1104 "LEVEL", 1105 "READ", 1106 "WRITE", 1107 "ONLY", 1108 "REPEATABLE", 1109 "COMMITTED", 1110 "UNCOMMITTED", 1111 "SERIALIZABLE", 1112 "CURRENT_TIMESTAMP", 1113 "DATABASE", 1114 "CURRENT_DATE", 1115 "NOW", 1116 "CURRENT_TIME", 1117 "LOCALTIME", 1118 "LOCALTIMESTAMP", 1119 "CURRENT_USER", 1120 "UTC_DATE", 1121 "UTC_TIME", 1122 "UTC_TIMESTAMP", 1123 "DAY", 1124 "DAY_HOUR", 1125 "DAY_MICROSECOND", 1126 "DAY_MINUTE", 1127 "DAY_SECOND", 1128 "HOUR", 1129 "HOUR_MICROSECOND", 1130 "HOUR_MINUTE", 1131 "HOUR_SECOND", 1132 "MICROSECOND", 1133 "MINUTE", 1134 "MINUTE_MICROSECOND", 1135 "MINUTE_SECOND", 1136 "MONTH", 1137 "QUARTER", 1138 "SECOND", 1139 "SECOND_MICROSECOND", 1140 "YEAR_MONTH", 1141 "WEEK", 1142 "REPLACE", 1143 "CONVERT", 1144 "CAST", 1145 "SUBSTR", 1146 "SUBSTRING", 1147 "SEPARATOR", 1148 "TIMESTAMPADD", 1149 "TIMESTAMPDIFF", 1150 "WEIGHT_STRING", 1151 "LTRIM", 1152 "RTRIM", 1153 "TRIM", 1154 "JSON_ARRAY", 1155 "JSON_OBJECT", 1156 "JSON_QUOTE", 1157 "JSON_DEPTH", 1158 "JSON_TYPE", 1159 "JSON_LENGTH", 1160 "JSON_VALID", 1161 "JSON_ARRAY_APPEND", 1162 "JSON_ARRAY_INSERT", 1163 "JSON_INSERT", 1164 "JSON_MERGE", 1165 "JSON_MERGE_PATCH", 1166 "JSON_MERGE_PRESERVE", 1167 "JSON_REMOVE", 1168 "JSON_REPLACE", 1169 "JSON_SET", 1170 "JSON_UNQUOTE", 1171 "COUNT", 1172 "AVG", 1173 "MAX", 1174 "MIN", 1175 "SUM", 1176 "GROUP_CONCAT", 1177 "BIT_AND", 1178 "BIT_OR", 1179 "BIT_XOR", 1180 "STD", 1181 "STDDEV", 1182 "STDDEV_POP", 1183 "STDDEV_SAMP", 1184 "VAR_POP", 1185 "VAR_SAMP", 1186 "VARIANCE", 1187 "REGEXP_INSTR", 1188 "REGEXP_LIKE", 1189 "REGEXP_REPLACE", 1190 "REGEXP_SUBSTR", 1191 "ExtractValue", 1192 "UpdateXML", 1193 "GET_LOCK", 1194 "RELEASE_LOCK", 1195 "RELEASE_ALL_LOCKS", 1196 "IS_FREE_LOCK", 1197 "IS_USED_LOCK", 1198 "LOCATE", 1199 "POSITION", 1200 "MATCH", 1201 "AGAINST", 1202 "BOOLEAN", 1203 "LANGUAGE", 1204 "WITH", 1205 "QUERY", 1206 "EXPANSION", 1207 "WITHOUT", 1208 "VALIDATION", 1209 "UNUSED", 1210 "ARRAY", 1211 "BYTE", 1212 "CUME_DIST", 1213 "DESCRIPTION", 1214 "DENSE_RANK", 1215 "EMPTY", 1216 "EXCEPT", 1217 "FIRST_VALUE", 1218 "GROUPING", 1219 "GROUPS", 1220 "JSON_TABLE", 1221 "LAG", 1222 "LAST_VALUE", 1223 "LATERAL", 1224 "LEAD", 1225 "NTH_VALUE", 1226 "NTILE", 1227 "OF", 1228 "OVER", 1229 "PERCENT_RANK", 1230 "RANK", 1231 "RECURSIVE", 1232 "ROW_NUMBER", 1233 "SYSTEM", 1234 "WINDOW", 1235 "ACTIVE", 1236 "ADMIN", 1237 "AUTOEXTEND_SIZE", 1238 "BUCKETS", 1239 "CLONE", 1240 "COLUMN_FORMAT", 1241 "COMPONENT", 1242 "DEFINITION", 1243 "ENFORCED", 1244 "ENGINE_ATTRIBUTE", 1245 "EXCLUDE", 1246 "FOLLOWING", 1247 "GET_MASTER_PUBLIC_KEY", 1248 "HISTOGRAM", 1249 "HISTORY", 1250 "INACTIVE", 1251 "INVISIBLE", 1252 "LOCKED", 1253 "MASTER_COMPRESSION_ALGORITHMS", 1254 "MASTER_PUBLIC_KEY_PATH", 1255 "MASTER_TLS_CIPHERSUITES", 1256 "MASTER_ZSTD_COMPRESSION_LEVEL", 1257 "NESTED", 1258 "NETWORK_NAMESPACE", 1259 "NOWAIT", 1260 "NULLS", 1261 "OJ", 1262 "OLD", 1263 "OPTIONAL", 1264 "ORDINALITY", 1265 "ORGANIZATION", 1266 "OTHERS", 1267 "PARTIAL", 1268 "PATH", 1269 "PERSIST", 1270 "PERSIST_ONLY", 1271 "PRECEDING", 1272 "PRIVILEGE_CHECKS_USER", 1273 "PROCESS", 1274 "RANDOM", 1275 "REFERENCE", 1276 "REQUIRE_ROW_FORMAT", 1277 "RESOURCE", 1278 "RESPECT", 1279 "RESTART", 1280 "RETAIN", 1281 "REUSE", 1282 "ROLE", 1283 "SECONDARY", 1284 "SECONDARY_ENGINE", 1285 "SECONDARY_ENGINE_ATTRIBUTE", 1286 "SECONDARY_LOAD", 1287 "SECONDARY_UNLOAD", 1288 "SIMPLE", 1289 "SKIP", 1290 "SRID", 1291 "THREAD_PRIORITY", 1292 "TIES", 1293 "UNBOUNDED", 1294 "VCPU", 1295 "VISIBLE", 1296 "RETURNING", 1297 "FORMAT_BYTES", 1298 "FORMAT_PICO_TIME", 1299 "PS_CURRENT_THREAD_ID", 1300 "PS_THREAD_ID", 1301 "GTID_SUBSET", 1302 "GTID_SUBTRACT", 1303 "WAIT_FOR_EXECUTED_GTID_SET", 1304 "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", 1305 "FORMAT", 1306 "TREE", 1307 "VITESS", 1308 "TRADITIONAL", 1309 "VTEXPLAIN", 1310 "VEXPLAIN", 1311 "PLAN", 1312 "LOCAL", 1313 "LOW_PRIORITY", 1314 "NO_WRITE_TO_BINLOG", 1315 "LOGS", 1316 "ERROR", 1317 "GENERAL", 1318 "HOSTS", 1319 "OPTIMIZER_COSTS", 1320 "USER_RESOURCES", 1321 "SLOW", 1322 "CHANNEL", 1323 "RELAY", 1324 "EXPORT", 1325 "CURRENT", 1326 "ROW", 1327 "ROWS", 1328 "AVG_ROW_LENGTH", 1329 "CONNECTION", 1330 "CHECKSUM", 1331 "DELAY_KEY_WRITE", 1332 "ENCRYPTION", 1333 "ENGINE", 1334 "INSERT_METHOD", 1335 "MAX_ROWS", 1336 "MIN_ROWS", 1337 "PACK_KEYS", 1338 "PASSWORD", 1339 "FIXED", 1340 "DYNAMIC", 1341 "COMPRESSED", 1342 "REDUNDANT", 1343 "COMPACT", 1344 "ROW_FORMAT", 1345 "STATS_AUTO_RECALC", 1346 "STATS_PERSISTENT", 1347 "STATS_SAMPLE_PAGES", 1348 "STORAGE", 1349 "MEMORY", 1350 "DISK", 1351 "PARTITIONS", 1352 "LINEAR", 1353 "RANGE", 1354 "LIST", 1355 "SUBPARTITION", 1356 "SUBPARTITIONS", 1357 "HASH", 1358 "';'", 1359 } 1360 1361 var yyStatenames = [...]string{} 1362 1363 const yyEofCode = 1 1364 const yyErrCode = 2 1365 const yyInitialStackSize = 16 1366 1367 //line yacctab:1 1368 var yyExca = [...]int{ 1369 -1, 1, 1370 1, -1, 1371 -2, 0, 1372 -1, 2, 1373 13, 49, 1374 14, 49, 1375 -2, 38, 1376 -1, 50, 1377 1, 157, 1378 665, 157, 1379 -2, 165, 1380 -1, 51, 1381 135, 165, 1382 176, 165, 1383 345, 165, 1384 -2, 519, 1385 -1, 58, 1386 36, 766, 1387 239, 766, 1388 250, 766, 1389 285, 780, 1390 286, 780, 1391 -2, 768, 1392 -1, 63, 1393 241, 804, 1394 -2, 802, 1395 -1, 118, 1396 238, 1458, 1397 -2, 131, 1398 -1, 120, 1399 1, 158, 1400 665, 158, 1401 -2, 165, 1402 -1, 131, 1403 136, 405, 1404 244, 405, 1405 -2, 508, 1406 -1, 150, 1407 135, 165, 1408 176, 165, 1409 345, 165, 1410 -2, 528, 1411 -1, 812, 1412 87, 1475, 1413 -2, 1329, 1414 -1, 813, 1415 87, 1476, 1416 221, 1480, 1417 -2, 1330, 1418 -1, 814, 1419 221, 1479, 1420 -2, 40, 1421 -1, 894, 1422 60, 878, 1423 -2, 893, 1424 -1, 980, 1425 249, 41, 1426 254, 41, 1427 -2, 416, 1428 -1, 1065, 1429 1, 576, 1430 665, 576, 1431 -2, 165, 1432 -1, 1364, 1433 221, 1480, 1434 -2, 1330, 1435 -1, 1514, 1436 60, 879, 1437 -2, 898, 1438 -1, 1515, 1439 60, 880, 1440 -2, 899, 1441 -1, 1566, 1442 135, 165, 1443 176, 165, 1444 345, 165, 1445 -2, 455, 1446 -1, 1647, 1447 136, 405, 1448 244, 405, 1449 -2, 508, 1450 -1, 1656, 1451 249, 42, 1452 254, 42, 1453 -2, 417, 1454 -1, 2017, 1455 221, 1484, 1456 -2, 1478, 1457 -1, 2018, 1458 221, 1480, 1459 -2, 1476, 1460 -1, 2118, 1461 135, 165, 1462 176, 165, 1463 345, 165, 1464 -2, 456, 1465 -1, 2125, 1466 26, 186, 1467 -2, 188, 1468 -1, 2494, 1469 78, 96, 1470 88, 96, 1471 -2, 957, 1472 -1, 2563, 1473 640, 692, 1474 -2, 666, 1475 -1, 2731, 1476 50, 1426, 1477 -2, 1420, 1478 -1, 3387, 1479 640, 692, 1480 -2, 680, 1481 -1, 3475, 1482 90, 624, 1483 95, 624, 1484 105, 624, 1485 178, 624, 1486 179, 624, 1487 180, 624, 1488 181, 624, 1489 182, 624, 1490 183, 624, 1491 184, 624, 1492 185, 624, 1493 186, 624, 1494 187, 624, 1495 188, 624, 1496 189, 624, 1497 190, 624, 1498 191, 624, 1499 192, 624, 1500 193, 624, 1501 194, 624, 1502 195, 624, 1503 196, 624, 1504 197, 624, 1505 198, 624, 1506 199, 624, 1507 200, 624, 1508 201, 624, 1509 202, 624, 1510 203, 624, 1511 204, 624, 1512 205, 624, 1513 206, 624, 1514 207, 624, 1515 208, 624, 1516 209, 624, 1517 210, 624, 1518 211, 624, 1519 212, 624, 1520 213, 624, 1521 214, 624, 1522 215, 624, 1523 216, 624, 1524 217, 624, 1525 218, 624, 1526 219, 624, 1527 -2, 1837, 1528 } 1529 1530 const yyPrivate = 57344 1531 1532 const yyLast = 46655 1533 1534 var yyAct = [...]int{ 1535 1522, 823, 3133, 3134, 815, 1882, 3132, 3546, 3557, 3368, 1536 3452, 816, 684, 3515, 2115, 3516, 2066, 3473, 1569, 3103, 1537 2960, 3418, 2881, 2783, 3441, 2046, 3352, 3300, 2841, 2790, 1538 663, 2846, 2843, 2842, 2832, 2840, 910, 2845, 2844, 778, 1539 2744, 3350, 3090, 1828, 2394, 3162, 5, 782, 887, 3340, 1540 40, 1129, 2048, 2747, 2428, 1492, 2690, 666, 2189, 1529, 1541 2748, 2745, 2861, 2999, 2860, 3167, 2798, 2624, 2993, 2070, 1542 2467, 777, 776, 694, 2089, 2863, 783, 2086, 3019, 2742, 1543 2732, 2454, 2008, 2152, 2528, 2157, 2985, 662, 2608, 2887, 1544 2220, 664, 2529, 2177, 1625, 2530, 159, 2103, 2560, 2479, 1545 911, 889, 1672, 2091, 41, 2460, 39, 2446, 2090, 1516, 1546 2430, 2013, 2005, 1977, 1976, 2600, 1897, 2198, 2176, 145, 1547 2078, 2237, 2159, 2521, 975, 970, 1836, 658, 1654, 891, 1548 1558, 895, 2496, 988, 1131, 1538, 2093, 676, 1496, 1376, 1549 1855, 100, 101, 1901, 1304, 1775, 2174, 1753, 1289, 949, 1550 913, 2148, 96, 946, 1557, 950, 1543, 978, 671, 976, 1551 977, 1771, 2014, 981, 928, 930, 901, 1973, 95, 1360, 1552 1336, 1127, 1910, 1827, 1120, 898, 1780, 1106, 81, 1061, 1553 2071, 923, 899, 670, 89, 80, 653, 102, 897, 1384, 1554 896, 163, 123, 103, 1380, 3377, 121, 122, 2553, 94, 1555 3547, 2851, 3091, 2829, 186, 2191, 2192, 2193, 3403, 2191, 1556 2583, 2582, 2235, 2551, 2848, 3083, 91, 2851, 3499, 1305, 1557 1878, 2616, 632, 1661, 918, 922, 91, 91, 125, 2617, 1558 147, 1620, 3398, 3399, 3404, 1843, 1842, 1738, 638, 598, 1559 943, 168, 124, 91, 3046, 1858, 128, 1017, 904, 1841, 1560 1646, 129, 1305, 2149, 3137, 1840, 654, 2849, 1839, 832, 1561 833, 834, 1838, 968, 1811, 905, 992, 890, 888, 3137, 1562 1300, 937, 158, 2849, 832, 833, 834, 656, 146, 657, 1563 638, 2043, 2044, 2855, 2280, 2426, 3494, 912, 1025, 1077, 1564 991, 2728, 2573, 938, 936, 780, 781, 165, 942, 2855, 1565 166, 2456, 130, 3519, 2224, 967, 959, 954, 3453, 1018, 1566 1021, 1022, 124, 966, 1321, 2694, 3567, 965, 964, 134, 1567 135, 157, 156, 185, 632, 3503, 1523, 1315, 3501, 2, 1568 3514, 3537, 2965, 3399, 2964, 2222, 2576, 3353, 632, 2395, 1569 1848, 3136, 2906, 3296, 1034, 936, 780, 781, 2223, 3295, 1570 3502, 3096, 1016, 3500, 3097, 3497, 3136, 1015, 3528, 3306, 1571 1315, 82, 3115, 3104, 84, 3442, 629, 3449, 2217, 1291, 1572 82, 632, 107, 108, 109, 3305, 112, 2289, 82, 118, 1573 124, 1887, 187, 3459, 3478, 593, 3114, 2926, 1635, 632, 1574 2427, 2590, 2591, 2779, 2470, 2852, 651, 652, 3459, 2780, 1575 2781, 82, 3382, 659, 2110, 2111, 883, 884, 885, 886, 1576 2109, 2852, 894, 2074, 614, 2505, 2615, 2286, 2504, 2471, 1577 2599, 2506, 151, 132, 154, 139, 131, 612, 152, 153, 1578 1820, 1821, 633, 1311, 2168, 169, 1303, 1101, 1102, 91, 1579 925, 926, 2287, 828, 175, 140, 83, 1124, 91, 1318, 1580 3180, 1319, 1320, 1012, 1096, 3369, 91, 2162, 881, 143, 1581 141, 136, 137, 138, 142, 880, 1311, 609, 1290, 1084, 1582 963, 133, 1070, 1071, 1085, 1559, 624, 1560, 2554, 91, 1583 144, 2517, 1301, 1084, 1097, 2128, 2127, 2996, 1085, 2045, 1584 2914, 619, 3520, 1090, 1060, 2658, 1083, 1113, 1082, 1115, 1585 1819, 622, 2463, 2464, 1073, 2912, 2278, 632, 914, 1823, 1586 632, 920, 920, 3521, 632, 2883, 650, 646, 929, 1555, 1587 2888, 644, 3328, 2601, 3329, 892, 1500, 83, 961, 2561, 1588 2199, 2258, 2876, 2259, 633, 2260, 2586, 1112, 1114, 1103, 1589 2877, 2281, 2282, 2284, 2283, 3549, 892, 2243, 633, 1104, 1590 1754, 1117, 2074, 2238, 1122, 1035, 1099, 1100, 1105, 1066, 1591 1123, 952, 2603, 3085, 3084, 2261, 1759, 599, 160, 601, 1592 615, 1041, 635, 1040, 634, 605, 1098, 603, 607, 616, 1593 608, 633, 602, 2885, 613, 1091, 2240, 604, 617, 618, 1594 621, 625, 626, 627, 623, 620, 3280, 611, 636, 633, 1595 1064, 1014, 2244, 2202, 2161, 2072, 2073, 2884, 1728, 2242, 1596 939, 933, 931, 1001, 1031, 1032, 1033, 3495, 1036, 1037, 1597 1038, 1039, 3141, 2087, 1042, 1043, 1044, 1045, 1046, 1047, 1598 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1599 1058, 1110, 999, 2287, 971, 1111, 155, 958, 972, 1503, 1600 960, 2241, 1729, 962, 1730, 1116, 972, 3081, 2693, 1010, 1601 2659, 939, 933, 931, 1310, 1307, 1308, 1309, 1314, 1316, 1602 1313, 1009, 1312, 1008, 1007, 1006, 1005, 1004, 1003, 1109, 1603 998, 1639, 1306, 2250, 2246, 2248, 2249, 2247, 2251, 2252, 1604 1011, 947, 2802, 3526, 3568, 947, 984, 1310, 1307, 1308, 1605 1309, 1314, 1316, 1313, 1351, 1312, 1337, 148, 1351, 1660, 1606 149, 983, 1772, 2607, 947, 1306, 1372, 633, 945, 1362, 1607 633, 2175, 3376, 3561, 633, 2552, 969, 2588, 2903, 1338, 1608 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345, 1347, 1348, 1609 161, 1094, 2221, 1556, 2072, 2073, 924, 173, 963, 2604, 1610 955, 2228, 1633, 2227, 2519, 963, 1059, 957, 956, 2822, 1611 1002, 1768, 829, 3455, 1354, 1355, 1356, 1357, 1292, 1282, 1612 2555, 3080, 829, 829, 1368, 1027, 2431, 2433, 3455, 1762, 1613 1028, 1760, 1761, 2997, 1763, 1764, 2585, 1020, 181, 1000, 1614 2620, 1632, 1631, 983, 2301, 3454, 1118, 1019, 2853, 2854, 1615 2571, 85, 1283, 1284, 990, 1769, 961, 2610, 637, 990, 1616 3454, 2857, 2609, 1629, 2853, 2854, 1358, 1659, 2575, 597, 1617 1063, 3113, 932, 592, 3365, 2598, 3033, 2857, 2597, 630, 1618 2219, 162, 167, 164, 170, 171, 172, 174, 176, 177, 1619 178, 179, 3015, 3483, 631, 3135, 120, 180, 182, 183, 1620 184, 1740, 1739, 1741, 1742, 1743, 1758, 2625, 3044, 3045, 1621 3135, 3481, 2574, 90, 1299, 2288, 2461, 2165, 1352, 1353, 1622 3487, 3488, 90, 932, 2501, 2466, 1490, 2610, 2800, 2801, 1623 90, 2403, 2609, 1890, 1547, 3482, 990, 1386, 1382, 1080, 1624 1383, 1086, 1087, 1088, 1089, 1455, 1075, 1524, 1526, 2116, 1625 1072, 1069, 1081, 90, 1351, 1348, 989, 2166, 1911, 2778, 1626 1107, 989, 1781, 2948, 2164, 1125, 1126, 983, 986, 987, 1627 907, 947, 1912, 1062, 1504, 980, 984, 1079, 115, 1121, 1628 990, 962, 1902, 3390, 1013, 1491, 1506, 3076, 962, 1507, 1629 1510, 2627, 3559, 2432, 1093, 3560, 891, 3558, 2167, 1343, 1630 1344, 1346, 1345, 1347, 1348, 1095, 1860, 3009, 2163, 1338, 1631 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345, 1347, 1348, 1632 1861, 1349, 1350, 1859, 1461, 1462, 1463, 1464, 1465, 990, 1633 2239, 1832, 1765, 1561, 2644, 1902, 2799, 2318, 989, 2544, 1634 1026, 3529, 1508, 1509, 1023, 1320, 100, 101, 2802, 1491, 1635 116, 1850, 1852, 1853, 1755, 3176, 1756, 1484, 3051, 1757, 1636 2211, 2637, 2636, 2635, 1319, 1320, 2629, 1497, 2633, 3522, 1637 2628, 3050, 2626, 2206, 2218, 1851, 1669, 2631, 1668, 1658, 1638 2211, 1666, 989, 2216, 2214, 1065, 2630, 1001, 983, 986, 1639 987, 999, 947, 3420, 3358, 3034, 980, 984, 103, 2215, 1640 903, 1909, 3563, 3288, 2632, 2634, 3287, 1108, 1701, 1782, 1641 3110, 1704, 3111, 1706, 1322, 1525, 1494, 979, 3278, 2213, 1642 1078, 3126, 1128, 1505, 1128, 1128, 3125, 2904, 888, 3058, 1643 3057, 989, 3047, 1528, 890, 2830, 993, 983, 3421, 3359, 1644 2818, 995, 2526, 1377, 1645, 996, 994, 1723, 1321, 2525, 1645 2524, 1674, 2171, 1675, 1749, 1677, 1679, 1552, 1553, 1683, 1646 1685, 1687, 1689, 1691, 1733, 1732, 997, 1664, 1731, 1721, 1647 1662, 1662, 892, 1361, 1366, 1367, 1715, 1370, 1712, 1371, 1648 1373, 1374, 1375, 1628, 1378, 1379, 1381, 1381, 1711, 1381, 1649 1385, 1385, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1650 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1651 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1652 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1653 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1654 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1655 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1709, 1656 1777, 1663, 1655, 1454, 1321, 1456, 1457, 1458, 1459, 1460, 1657 1643, 990, 1748, 1511, 1642, 1641, 3569, 1746, 1385, 1385, 1658 1385, 1385, 1385, 1318, 1773, 1319, 1320, 2293, 2294, 2295, 1659 1710, 1681, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1660 1474, 1475, 1476, 1477, 1478, 1479, 1735, 124, 966, 1523, 1661 1783, 1784, 965, 964, 2010, 2880, 1907, 1321, 1286, 1787, 1662 832, 833, 834, 1493, 1788, 1908, 638, 1652, 1337, 1321, 1663 2619, 1795, 1796, 1797, 1555, 1523, 1747, 3523, 1808, 1634, 1664 3385, 1745, 1809, 3041, 638, 2508, 638, 3384, 3533, 1523, 1665 3486, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345, 1666 1347, 1348, 2010, 3570, 1321, 3362, 2007, 2187, 2186, 1539, 1667 1734, 1705, 3361, 989, 3360, 2009, 1499, 3283, 993, 983, 1668 2185, 2184, 892, 995, 2183, 2182, 892, 996, 994, 827, 1669 2452, 3548, 892, 40, 3485, 3267, 40, 1532, 3266, 1318, 1670 2355, 1319, 1320, 3378, 1885, 1885, 1627, 1883, 1883, 1886, 1671 1317, 1523, 1321, 3531, 1523, 1863, 3175, 1865, 1866, 1867, 1672 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1673 1785, 2921, 1905, 3510, 1523, 3314, 1906, 1789, 3173, 1791, 1674 1792, 1793, 1794, 1533, 1317, 1523, 1798, 1321, 3465, 1523, 1675 3313, 1362, 1318, 3122, 1319, 1320, 2452, 3448, 1810, 1856, 1676 1337, 2646, 1854, 1333, 1318, 1334, 1319, 1320, 1903, 1490, 1677 1969, 1636, 1637, 1638, 2452, 3428, 3271, 1864, 1489, 1335, 1678 1349, 1350, 1332, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1679 1346, 1345, 1347, 1348, 2452, 3424, 1965, 1523, 3270, 1318, 1680 2003, 1319, 1320, 1816, 1817, 1339, 1340, 1341, 1342, 1343, 1681 1344, 1346, 1345, 1347, 1348, 3411, 1523, 3094, 3375, 1963, 1682 1857, 81, 1833, 97, 81, 2032, 3291, 1523, 1491, 1974, 1683 1321, 3463, 1523, 1779, 98, 106, 1337, 1488, 1713, 1714, 1684 1487, 2353, 1524, 2039, 1719, 1720, 105, 1318, 104, 1319, 1685 1320, 2452, 3279, 2001, 1862, 3094, 1523, 2015, 2357, 1338, 1686 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1345, 1347, 1348, 1687 2452, 3092, 97, 2006, 3055, 3040, 2063, 1321, 2889, 99, 1688 2886, 1889, 1318, 98, 1319, 1320, 1896, 1898, 2821, 1523, 1689 1951, 2211, 1523, 3102, 2056, 2820, 2057, 3013, 1523, 2040, 1690 2535, 2079, 2080, 2366, 1523, 1974, 2811, 2810, 2808, 2809, 1691 1128, 1913, 1914, 1915, 1916, 1523, 1523, 1321, 2522, 2020, 1692 2021, 1321, 2806, 2807, 2562, 1927, 1341, 1342, 1343, 1344, 1693 1346, 1345, 1347, 1348, 2125, 2806, 2805, 2743, 1523, 2345, 1694 2017, 100, 101, 2476, 1523, 1321, 2287, 2584, 3008, 2015, 1695 2097, 2016, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1323, 1696 1486, 100, 101, 1321, 2233, 1318, 2232, 1319, 1320, 2019, 1697 1624, 2565, 2022, 2023, 2558, 2559, 2062, 2069, 2172, 1943, 1698 1932, 1933, 1934, 1935, 1945, 1936, 1937, 1938, 1950, 1946, 1699 1939, 1940, 1947, 1948, 1949, 1941, 1942, 1944, 2452, 2451, 1700 2134, 2135, 2136, 2137, 2051, 3461, 1523, 2311, 1523, 99, 1701 2038, 1812, 1318, 2119, 1319, 1320, 1778, 2050, 2448, 2129, 1702 1744, 2130, 2131, 2132, 2133, 1736, 2061, 1726, 904, 3309, 1703 2101, 2540, 2017, 99, 1888, 1523, 2212, 2140, 2141, 2142, 1704 2143, 1722, 2123, 2084, 2064, 1718, 1717, 3337, 1523, 3008, 1705 1716, 2082, 1318, 2154, 1319, 1320, 1318, 1534, 1319, 1320, 1706 1119, 2107, 2475, 937, 1624, 1623, 2200, 2160, 1523, 2106, 1707 2105, 1844, 1845, 1846, 1847, 1128, 1128, 2122, 2121, 1337, 1708 1318, 2300, 1319, 1320, 2468, 938, 1567, 1566, 2124, 83, 1709 1317, 2311, 83, 3010, 2211, 2468, 2170, 3416, 1318, 3389, 1710 1319, 1320, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1346, 1711 1345, 1347, 1348, 1321, 2452, 2476, 2969, 2476, 1321, 2151, 1712 1891, 1892, 2773, 2808, 2155, 1894, 2173, 920, 920, 1899, 1713 2169, 2181, 2287, 1904, 992, 2306, 105, 2205, 2716, 2108, 1714 2208, 2311, 2209, 2366, 1662, 2342, 1917, 1918, 1919, 1920, 1715 1921, 1922, 1923, 1924, 1925, 1926, 2476, 2204, 991, 2155, 1716 1952, 1953, 1954, 1955, 1956, 1957, 1959, 3008, 1964, 2203, 1717 1966, 1967, 1968, 2226, 1970, 1971, 1972, 2341, 1978, 1979, 1718 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1719 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 1720 2000, 2211, 2002, 1523, 2004, 1317, 2011, 2012, 920, 2194, 1721 920, 920, 920, 920, 920, 2077, 2120, 2144, 2146, 2147, 1722 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2236, 2033, 1723 2034, 2035, 2036, 2037, 2207, 1527, 2497, 2041, 2497, 1888, 1724 2304, 2297, 3059, 2299, 2309, 1834, 1818, 2312, 1318, 2313, 1725 1319, 1320, 1767, 1318, 2320, 1319, 1320, 1554, 2322, 2323, 1726 2324, 974, 973, 91, 893, 1321, 3491, 920, 2330, 2331, 1727 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2303, 3431, 1728 2229, 2264, 1321, 1536, 2230, 2231, 1856, 3302, 1530, 2075, 1729 2076, 3268, 2305, 3060, 3061, 3062, 3187, 2882, 1321, 2498, 1730 2197, 2498, 3075, 2298, 2346, 2347, 2348, 2349, 2350, 2500, 1731 2352, 2287, 1321, 3072, 2354, 2114, 2325, 2277, 2359, 2360, 1732 3053, 2361, 2931, 2930, 2364, 1626, 2365, 2153, 2878, 2285, 1733 2368, 1321, 106, 2340, 2372, 2835, 2831, 1321, 2377, 2378, 1734 2379, 2380, 91, 105, 2566, 104, 2095, 1857, 2833, 1535, 1735 2296, 2391, 2392, 2225, 99, 2396, 2397, 1321, 1697, 2150, 1736 2145, 2139, 2138, 2399, 2401, 2532, 3335, 1523, 1751, 1657, 1737 2404, 2405, 2406, 2407, 2408, 2017, 2156, 2531, 1653, 1622, 1738 1321, 2415, 2416, 3524, 2417, 117, 2016, 2420, 2422, 2063, 1739 3303, 2424, 1064, 2168, 2317, 2054, 3332, 1523, 1321, 3543, 1740 1318, 2436, 1319, 1320, 1885, 1814, 1321, 1883, 2437, 1698, 1741 1699, 1700, 3541, 1523, 3517, 3318, 1523, 1318, 952, 1319, 1742 1320, 2984, 1523, 2271, 2272, 2532, 3020, 3021, 2274, 3397, 1743 1337, 3323, 3023, 1318, 2827, 1319, 1320, 2275, 1321, 2826, 1744 2825, 2977, 1523, 2743, 2545, 2265, 3026, 1318, 2351, 1319, 1745 1320, 952, 2435, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1746 1346, 1345, 1347, 1348, 2974, 1523, 1318, 1815, 1319, 1320, 1747 1321, 2765, 1318, 2763, 1319, 1320, 2766, 1321, 2764, 3025, 1748 2472, 1321, 2972, 1523, 40, 2438, 1321, 2440, 2315, 2453, 1749 2936, 1523, 1318, 2490, 1319, 1320, 2492, 1321, 2767, 3063, 1750 2485, 2486, 1321, 2481, 2484, 2485, 2486, 2482, 2762, 2483, 1751 2487, 2761, 3393, 3020, 3021, 1318, 1321, 1319, 1320, 3157, 1752 2491, 3156, 2449, 3373, 3304, 1321, 2068, 1531, 1497, 2462, 1753 2425, 1693, 2060, 1318, 3014, 1319, 1320, 2721, 2720, 3357, 1754 3166, 1318, 3168, 1319, 1320, 3004, 3064, 3065, 3066, 3001, 1755 2518, 2520, 1491, 2450, 2919, 1523, 2730, 3000, 1766, 1321, 1756 879, 2314, 2557, 2465, 2445, 2511, 3275, 2804, 1321, 3155, 1757 2423, 1523, 2515, 1318, 2536, 1319, 1320, 2495, 1694, 1695, 1758 1696, 2421, 1523, 2733, 2735, 2499, 2400, 1523, 908, 2502, 1759 1911, 2897, 2736, 2509, 2581, 2512, 909, 1030, 1321, 1029, 1760 2381, 1523, 2160, 2531, 1912, 1318, 2613, 1319, 1320, 2373, 1761 1523, 97, 1318, 2523, 1319, 1320, 1318, 2579, 1319, 1320, 1762 1321, 1318, 98, 1319, 1320, 1321, 1285, 2572, 125, 1321, 1763 3006, 2533, 1318, 1321, 1319, 1320, 99, 1318, 3555, 1319, 1764 1320, 2823, 2292, 2541, 3077, 2542, 1321, 2546, 2547, 2548, 1765 1321, 1318, 3028, 1319, 1320, 2268, 2319, 3470, 2079, 2080, 1766 1318, 3374, 1319, 1320, 1645, 1321, 3298, 2326, 2327, 2328, 1767 2329, 2803, 2308, 2489, 2065, 2578, 2648, 2649, 2650, 2651, 1768 2652, 2302, 2307, 2623, 2719, 2567, 2568, 2257, 1321, 916, 1769 917, 2256, 2718, 2577, 1318, 2657, 1319, 1320, 1321, 2255, 1770 97, 2986, 1321, 1318, 2979, 1319, 1320, 99, 2291, 2975, 1771 106, 98, 1377, 2946, 2254, 2253, 2640, 2942, 106, 3345, 1772 1321, 105, 2602, 104, 104, 2638, 3344, 3326, 3174, 105, 1773 2928, 104, 99, 1318, 2927, 1319, 1320, 3172, 2621, 2653, 1774 3171, 2605, 3164, 2622, 3073, 3005, 3003, 2836, 1321, 2924, 1775 2195, 1640, 915, 105, 106, 1318, 3163, 1319, 1320, 2994, 1776 1318, 2468, 1319, 1320, 1318, 105, 1319, 1320, 1318, 1321, 1777 1319, 1320, 3145, 2527, 2448, 2670, 2660, 2672, 2641, 3545, 1778 3544, 1318, 2419, 1319, 1320, 1318, 2418, 1319, 1320, 2343, 1779 2052, 1548, 2695, 2683, 2684, 2685, 2686, 1540, 2611, 3544, 1780 1318, 2612, 1319, 1320, 2414, 2700, 2697, 110, 111, 2402, 1781 3545, 3363, 1321, 3039, 906, 1831, 1829, 1321, 10, 9, 1782 2006, 1321, 2006, 1318, 2752, 1319, 1320, 3, 93, 1, 1783 2668, 1539, 2413, 1318, 1288, 1319, 1320, 1318, 1287, 1319, 1784 1320, 2434, 2770, 3043, 3480, 1321, 2097, 2678, 2679, 2680, 1785 2681, 2682, 610, 2412, 2740, 1318, 2042, 1319, 1320, 892, 1786 2746, 2696, 1321, 2698, 2699, 2746, 2755, 2723, 2700, 1830, 1787 2772, 895, 8, 2724, 2097, 2097, 2097, 2097, 2097, 2639, 1788 2473, 2474, 1495, 1318, 3518, 1319, 1320, 2715, 3476, 2095, 1789 2711, 3477, 892, 2493, 2097, 1737, 2411, 2097, 2749, 1727, 1790 3105, 2410, 1975, 2722, 1318, 2409, 1319, 1320, 3299, 2725, 1791 2839, 2201, 3071, 2737, 2738, 2712, 2713, 2714, 2158, 982, 1792 150, 2774, 2117, 2118, 2775, 3444, 2662, 2754, 897, 2398, 1793 896, 2757, 2758, 2859, 2760, 2756, 114, 2768, 2759, 940, 1794 113, 100, 101, 985, 1092, 2196, 2393, 1318, 2776, 1319, 1795 1320, 2838, 1318, 3095, 1319, 1320, 1318, 2782, 1319, 1320, 1796 2481, 2484, 2485, 2486, 2482, 2534, 2483, 2487, 2813, 2899, 1797 2537, 2538, 2516, 2815, 2126, 2814, 1573, 1571, 1572, 1570, 1798 1318, 1575, 1319, 1320, 1574, 2905, 1777, 2344, 2947, 2916, 1799 2917, 2918, 1822, 2920, 2922, 2866, 2867, 1318, 645, 1319, 1800 1320, 2858, 2488, 639, 188, 1562, 2570, 2929, 1541, 2160, 1801 2961, 1024, 2933, 2934, 2935, 2937, 2938, 2939, 2940, 600, 1802 1321, 2941, 2812, 2943, 2944, 2945, 2873, 2234, 2949, 2950, 1803 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 606, 1804 1369, 2893, 2890, 1813, 2892, 2717, 2618, 2966, 1321, 2503, 1805 2970, 935, 2971, 2973, 927, 2976, 2978, 2900, 2980, 2981, 1806 2982, 2983, 2901, 2910, 2053, 920, 2989, 2439, 2642, 2643, 1807 2907, 2908, 2645, 2909, 934, 2647, 2911, 3276, 2913, 2751, 1808 2915, 2998, 2729, 2731, 2455, 2963, 1321, 2734, 2727, 3356, 1809 3165, 3429, 2967, 2513, 1537, 2654, 2655, 2656, 1321, 2968, 1810 2316, 3011, 3012, 1321, 2390, 3016, 1900, 2661, 1321, 1359, 1811 2663, 2664, 2665, 2094, 3140, 1849, 2666, 2667, 668, 667, 1812 1978, 2669, 1321, 665, 2671, 2441, 2469, 2673, 2674, 2675, 1813 2676, 1324, 2389, 817, 2429, 2677, 1978, 1978, 1978, 1978, 1814 1978, 1549, 1321, 2992, 2480, 2478, 2477, 2687, 2266, 2990, 1815 2987, 2988, 2102, 3022, 3018, 1318, 920, 1319, 1320, 2995, 1816 3472, 2096, 3002, 2701, 2702, 2703, 2704, 2705, 2706, 2092, 1817 2388, 2097, 2707, 2708, 3007, 2709, 3017, 2710, 1321, 3027, 1818 2447, 768, 2387, 1318, 767, 1319, 1320, 2386, 3024, 2688, 1819 677, 669, 2385, 661, 766, 3031, 3032, 765, 3030, 3036, 1820 3029, 2865, 3078, 3079, 1321, 3456, 2384, 2837, 2866, 2867, 1821 3037, 3093, 3038, 2587, 2879, 1321, 2589, 2514, 2875, 1302, 1822 1513, 1318, 2741, 1319, 1320, 3054, 2383, 3056, 655, 953, 1823 3099, 3100, 2902, 1318, 1321, 1319, 1320, 3380, 1318, 2290, 1824 1319, 1320, 2095, 1318, 2925, 1319, 1320, 2771, 1512, 1930, 1825 1931, 2895, 2896, 3112, 1321, 3387, 3116, 1318, 2847, 1319, 1826 1320, 3089, 2382, 1521, 1517, 2750, 2828, 83, 2563, 813, 1827 2095, 2095, 2095, 2095, 2095, 2188, 66, 1318, 1518, 1319, 1828 1320, 44, 3351, 3127, 3101, 3417, 764, 761, 2376, 1321, 1829 2095, 3142, 3143, 2095, 1321, 3144, 2691, 2692, 3131, 2375, 1830 3400, 3401, 760, 2058, 2059, 1520, 3402, 1519, 2834, 1958, 1831 1298, 3139, 3121, 1318, 1295, 1319, 1320, 1321, 2374, 3146, 1832 3493, 1321, 1824, 191, 92, 1321, 191, 35, 3117, 643, 1833 34, 33, 32, 31, 649, 2816, 2817, 25, 2371, 1318, 1834 24, 1319, 1320, 23, 22, 191, 21, 28, 3129, 20, 1835 1318, 19, 1319, 1320, 18, 1521, 1517, 2856, 2850, 1321, 1836 191, 3513, 3554, 119, 53, 3160, 3138, 2864, 50, 1318, 1837 1518, 1319, 1320, 2370, 48, 127, 126, 1321, 2369, 51, 1838 1885, 1321, 47, 1883, 3189, 649, 191, 649, 1067, 1318, 1839 45, 1319, 1320, 30, 1321, 1514, 1515, 1520, 2746, 1519, 1840 2923, 2367, 29, 17, 16, 2363, 3181, 15, 14, 2362, 1841 40, 3161, 3170, 3169, 2932, 13, 3185, 12, 3183, 11, 1842 3177, 3179, 7, 6, 1318, 38, 1319, 1320, 37, 1318, 1843 27, 1319, 1320, 36, 26, 4, 2550, 2749, 2190, 0, 1844 3290, 2749, 3277, 2358, 0, 0, 0, 3193, 0, 3297, 1845 3190, 3191, 1318, 0, 1319, 1320, 1318, 0, 1319, 1320, 1846 1318, 2356, 1319, 1320, 0, 2321, 0, 0, 0, 3307, 1847 3308, 0, 3310, 0, 3311, 3312, 0, 3272, 2310, 3315, 1848 3316, 3317, 3274, 3319, 3322, 3320, 3321, 3273, 0, 1885, 1849 0, 3289, 1883, 3324, 1318, 0, 1319, 1320, 0, 3331, 1850 3333, 3334, 3336, 3338, 3339, 3341, 3301, 3294, 3281, 3293, 1851 0, 0, 1318, 0, 1319, 1320, 1318, 0, 1319, 1320, 1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 1318, 1853 0, 1319, 1320, 0, 0, 0, 0, 0, 0, 3325, 1854 0, 0, 0, 3371, 0, 0, 0, 0, 0, 3327, 1855 0, 0, 0, 3330, 3367, 0, 0, 3349, 3346, 3347, 1856 0, 0, 0, 0, 0, 3348, 0, 2095, 0, 0, 1857 3355, 0, 3366, 0, 0, 0, 0, 0, 0, 0, 1858 3035, 0, 0, 0, 3364, 3074, 0, 0, 0, 3370, 1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1860 3048, 3049, 0, 0, 0, 0, 0, 2749, 186, 0, 1861 0, 0, 0, 0, 0, 0, 0, 0, 3098, 0, 1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1863 0, 0, 125, 0, 0, 3372, 0, 0, 0, 0, 1864 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 1865 0, 0, 0, 3082, 0, 0, 0, 3086, 3087, 3088, 1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 3391, 1867 0, 3396, 0, 3118, 0, 3119, 0, 0, 3120, 0, 1868 0, 3123, 3124, 0, 3386, 0, 0, 3383, 2510, 0, 1869 3128, 3412, 3388, 0, 0, 0, 40, 3413, 3414, 0, 1870 3130, 165, 0, 0, 166, 0, 0, 3379, 0, 0, 1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 3425, 1872 0, 0, 3406, 3147, 3395, 3407, 3148, 185, 3149, 3150, 1873 0, 3151, 3405, 3152, 0, 0, 0, 0, 3153, 0, 1874 0, 3415, 0, 0, 0, 3450, 3451, 0, 0, 0, 1875 0, 0, 0, 2746, 3422, 0, 0, 3427, 0, 3460, 1876 3462, 3464, 3432, 3178, 3457, 3458, 3435, 3443, 3430, 3440, 1877 3437, 3436, 40, 3434, 3186, 3439, 3438, 3188, 0, 3154, 1878 0, 3158, 3159, 0, 3492, 0, 0, 0, 0, 3192, 1879 0, 3301, 3445, 3468, 0, 0, 0, 0, 0, 0, 1880 0, 3471, 0, 3479, 2750, 3489, 83, 3269, 2750, 3484, 1881 0, 0, 0, 0, 3498, 3457, 3458, 0, 0, 0, 1882 0, 3496, 0, 3509, 0, 0, 0, 0, 0, 0, 1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 1884 1372, 3507, 0, 3512, 0, 0, 0, 0, 175, 0, 1885 0, 0, 0, 0, 0, 3530, 3532, 3534, 3525, 0, 1886 0, 0, 191, 0, 191, 1885, 3527, 191, 1883, 3539, 1887 0, 0, 0, 0, 0, 3282, 0, 3538, 3536, 3535, 1888 3542, 3540, 0, 0, 0, 0, 3553, 3284, 3285, 3286, 1889 3550, 3457, 3458, 0, 0, 0, 0, 0, 649, 3556, 1890 649, 649, 3565, 3566, 3562, 0, 3564, 0, 0, 0, 1891 0, 0, 0, 0, 0, 0, 0, 3354, 0, 1885, 1892 649, 191, 1883, 3571, 3573, 3574, 3321, 0, 3572, 0, 1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897 0, 0, 160, 0, 2750, 0, 0, 0, 0, 0, 1898 0, 0, 0, 0, 0, 0, 0, 0, 1387, 1388, 1899 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1900 1399, 1400, 1401, 1402, 1406, 1407, 1408, 1409, 1410, 1411, 1901 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1902 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1903 1432, 1433, 1434, 1435, 1437, 1438, 1439, 1440, 1441, 1442, 1904 1443, 1444, 1445, 1446, 1447, 1448, 1466, 1467, 1468, 1469, 1905 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1906 0, 0, 0, 3394, 0, 0, 0, 0, 0, 0, 1907 0, 0, 0, 0, 3381, 0, 0, 0, 0, 0, 1908 0, 0, 0, 0, 0, 0, 3408, 0, 0, 3409, 1909 0, 3410, 83, 1364, 0, 0, 0, 3211, 3213, 3212, 1910 3230, 3231, 3232, 3233, 3234, 3235, 3236, 716, 0, 0, 1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1914 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 1915 191, 173, 0, 0, 649, 649, 0, 0, 0, 0, 1916 0, 0, 0, 3426, 0, 0, 0, 0, 83, 0, 1917 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1918 0, 0, 0, 0, 0, 3490, 0, 0, 0, 0, 1919 649, 0, 181, 191, 0, 0, 0, 0, 0, 0, 1920 0, 0, 0, 0, 0, 649, 0, 0, 0, 0, 1921 0, 191, 0, 0, 0, 3504, 0, 3505, 0, 3506, 1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1923 0, 0, 0, 0, 0, 162, 167, 164, 170, 171, 1924 172, 174, 176, 177, 178, 179, 0, 0, 649, 0, 1925 0, 180, 182, 183, 184, 0, 0, 0, 812, 0, 1926 0, 1364, 0, 0, 3508, 0, 0, 649, 649, 0, 1927 649, 0, 649, 649, 0, 649, 649, 649, 649, 649, 1928 649, 0, 0, 0, 0, 3551, 0, 3552, 1364, 0, 1929 0, 1364, 649, 1364, 191, 0, 0, 0, 0, 0, 1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1931 0, 0, 0, 0, 191, 0, 0, 628, 0, 0, 1932 0, 0, 0, 648, 0, 0, 0, 649, 0, 191, 1933 0, 3217, 0, 0, 0, 0, 0, 0, 0, 0, 1934 0, 0, 0, 649, 0, 191, 3225, 3226, 0, 0, 1935 3251, 3250, 0, 0, 0, 0, 0, 0, 0, 0, 1936 0, 191, 0, 0, 0, 0, 0, 0, 191, 0, 1937 0, 0, 0, 0, 648, 0, 648, 191, 191, 191, 1938 191, 191, 191, 191, 191, 191, 649, 0, 0, 0, 1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1940 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 1941 695, 788, 697, 785, 786, 0, 693, 696, 787, 0, 1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1944 0, 0, 0, 0, 714, 715, 3210, 3214, 3215, 3216, 1945 3227, 3228, 3229, 3237, 3239, 747, 3238, 3240, 3241, 3242, 1946 3245, 3246, 3247, 3248, 3243, 3244, 3249, 3194, 3198, 3195, 1947 3196, 3197, 3209, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 1948 3206, 3207, 3208, 3252, 3253, 3254, 3255, 3256, 3257, 3220, 1949 3224, 3223, 3221, 3222, 3218, 3219, 0, 0, 0, 2786, 1950 0, 0, 0, 1498, 0, 0, 0, 0, 789, 0, 1951 790, 0, 0, 794, 0, 0, 0, 796, 795, 0, 1952 797, 763, 762, 0, 0, 791, 792, 0, 793, 0, 1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1954 0, 0, 0, 0, 2787, 0, 0, 0, 0, 0, 1955 0, 649, 649, 0, 0, 0, 0, 0, 0, 0, 1956 595, 0, 0, 0, 649, 0, 0, 0, 2789, 0, 1957 0, 0, 0, 191, 0, 0, 0, 0, 0, 882, 1958 0, 0, 0, 0, 0, 0, 2784, 0, 0, 0, 1959 0, 0, 0, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 1960 3265, 0, 0, 2800, 2801, 0, 0, 0, 0, 0, 1961 2785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1962 948, 649, 0, 0, 0, 0, 0, 0, 0, 0, 1963 0, 1364, 0, 0, 0, 0, 0, 0, 0, 0, 1964 0, 0, 649, 2791, 0, 0, 0, 0, 1364, 0, 1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1966 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1967 0, 2556, 0, 649, 649, 0, 0, 0, 0, 0, 1968 0, 0, 0, 0, 125, 0, 147, 0, 0, 0, 1969 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1971 0, 2799, 0, 0, 0, 0, 0, 0, 0, 0, 1972 0, 0, 0, 2802, 0, 2018, 0, 0, 158, 0, 1973 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975 0, 0, 0, 165, 0, 0, 166, 0, 0, 0, 1976 0, 0, 0, 0, 186, 0, 0, 0, 191, 0, 1977 0, 0, 0, 649, 0, 1648, 1649, 157, 156, 185, 1978 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 1979 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 1980 649, 168, 0, 0, 0, 0, 0, 0, 0, 0, 1981 191, 0, 0, 0, 649, 0, 0, 2018, 191, 0, 1982 191, 0, 191, 191, 0, 0, 0, 0, 0, 0, 1983 0, 0, 0, 0, 0, 0, 0, 649, 0, 2788, 1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1985 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 1986 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1987 0, 0, 0, 0, 0, 0, 0, 0, 151, 1650, 1988 154, 0, 1647, 185, 152, 153, 0, 648, 1281, 648, 1989 648, 169, 0, 0, 649, 0, 0, 0, 0, 0, 1990 175, 0, 0, 0, 0, 0, 0, 0, 0, 648, 1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1992 0, 649, 0, 0, 0, 0, 0, 649, 0, 0, 1993 0, 0, 0, 0, 0, 0, 769, 0, 1363, 0, 1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1997 0, 0, 0, 0, 649, 0, 0, 0, 0, 649, 1998 0, 0, 0, 649, 649, 0, 0, 0, 0, 0, 1999 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 2000 0, 647, 0, 0, 175, 0, 0, 0, 0, 0, 2001 0, 0, 0, 0, 2792, 0, 0, 0, 2796, 0, 2002 0, 191, 0, 0, 160, 2795, 0, 0, 191, 0, 2003 0, 0, 0, 0, 0, 0, 0, 191, 191, 0, 2004 0, 191, 0, 191, 0, 0, 0, 0, 0, 0, 2005 191, 0, 944, 0, 951, 0, 0, 191, 0, 2797, 2006 0, 0, 0, 0, 2793, 0, 0, 0, 0, 2794, 2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2008 0, 0, 1363, 191, 0, 0, 0, 0, 0, 0, 2009 0, 0, 649, 0, 0, 0, 1068, 0, 1074, 0, 2010 0, 1076, 155, 0, 0, 0, 0, 0, 0, 0, 2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2012 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2014 0, 0, 0, 648, 648, 0, 0, 0, 0, 0, 2015 0, 0, 0, 0, 0, 1294, 0, 0, 1364, 0, 2016 2018, 0, 0, 148, 0, 0, 149, 0, 0, 0, 2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2019 0, 0, 0, 0, 648, 0, 161, 0, 0, 0, 2020 0, 0, 0, 173, 1621, 0, 0, 0, 0, 0, 2021 0, 0, 0, 0, 1630, 0, 0, 0, 0, 0, 2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2023 0, 0, 0, 0, 0, 0, 0, 648, 0, 1656, 2024 0, 0, 0, 0, 181, 0, 0, 1665, 0, 0, 2025 1363, 1667, 0, 0, 1670, 1671, 648, 648, 0, 648, 2026 0, 648, 648, 0, 648, 648, 648, 648, 648, 648, 2027 0, 0, 0, 0, 0, 0, 0, 1363, 1702, 1703, 2028 1363, 648, 1363, 0, 1708, 0, 0, 162, 167, 164, 2029 170, 171, 172, 174, 176, 177, 178, 179, 0, 0, 2030 161, 0, 0, 180, 182, 183, 184, 173, 0, 0, 2031 0, 191, 0, 0, 0, 0, 648, 0, 0, 191, 2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 1770, 2033 649, 0, 648, 0, 0, 0, 0, 0, 0, 0, 2034 0, 649, 0, 0, 0, 0, 0, 0, 181, 0, 2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2036 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, 2037 191, 0, 0, 0, 0, 648, 0, 0, 0, 0, 2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2039 0, 162, 167, 164, 170, 171, 172, 174, 176, 177, 2040 178, 179, 0, 0, 0, 0, 0, 180, 182, 183, 2041 184, 0, 0, 0, 770, 0, 0, 0, 0, 0, 2042 0, 0, 0, 0, 0, 0, 0, 1551, 0, 0, 2043 0, 0, 0, 0, 0, 0, 0, 0, 649, 0, 2044 0, 0, 0, 0, 191, 1568, 0, 0, 0, 0, 2045 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 2046 0, 0, 0, 0, 0, 649, 0, 0, 189, 0, 2047 0, 596, 649, 0, 0, 0, 0, 0, 0, 0, 2048 0, 649, 0, 0, 0, 0, 0, 0, 0, 0, 2049 596, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 2050 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, 2051 191, 191, 191, 191, 191, 0, 0, 0, 0, 0, 2052 0, 0, 921, 921, 0, 0, 0, 0, 1707, 0, 2053 0, 596, 0, 0, 191, 191, 0, 0, 0, 0, 2054 648, 648, 0, 0, 0, 0, 0, 0, 0, 0, 2055 0, 0, 0, 648, 0, 0, 0, 191, 0, 0, 2056 0, 0, 0, 1752, 0, 1130, 0, 1130, 1130, 0, 2057 0, 0, 0, 0, 0, 0, 0, 0, 649, 0, 2058 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, 2059 0, 0, 0, 0, 0, 1786, 0, 0, 0, 0, 2060 0, 0, 1790, 0, 0, 0, 0, 0, 0, 0, 2061 648, 0, 0, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 2062 1363, 0, 0, 0, 0, 649, 0, 0, 0, 1893, 2063 0, 648, 0, 0, 0, 0, 0, 1363, 0, 0, 2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066 0, 0, 648, 648, 0, 649, 0, 0, 0, 0, 2067 0, 0, 0, 649, 0, 0, 0, 0, 0, 0, 2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 0, 0, 0, 0, 649, 0, 0, 0, 0, 0, 2071 0, 0, 0, 0, 648, 0, 0, 0, 191, 0, 2072 0, 0, 649, 0, 0, 0, 0, 0, 0, 0, 2073 0, 0, 0, 0, 0, 0, 649, 0, 0, 0, 2074 1364, 0, 0, 649, 649, 1364, 191, 191, 191, 191, 2075 191, 0, 0, 0, 0, 0, 0, 0, 191, 0, 2076 0, 0, 648, 0, 191, 0, 191, 0, 0, 191, 2077 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 2078 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2080 0, 0, 0, 648, 0, 0, 648, 1837, 0, 0, 2081 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, 2082 0, 1501, 1502, 0, 0, 0, 648, 0, 649, 0, 2083 0, 1364, 0, 0, 0, 0, 649, 0, 0, 0, 2084 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 2085 0, 0, 0, 0, 0, 191, 0, 1545, 0, 0, 2086 82, 42, 43, 84, 0, 0, 0, 0, 0, 0, 2087 0, 0, 1563, 0, 191, 0, 0, 191, 0, 0, 2088 88, 0, 0, 648, 46, 73, 74, 0, 71, 75, 2089 2178, 2179, 2180, 0, 0, 0, 0, 72, 0, 0, 2090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2091 648, 0, 0, 0, 0, 944, 648, 1665, 0, 0, 2092 1665, 0, 1665, 0, 0, 0, 59, 0, 2210, 0, 2093 0, 0, 0, 0, 1673, 1673, 0, 1673, 91, 1673, 2094 1673, 0, 1682, 1673, 1673, 1673, 1673, 1673, 0, 0, 2095 0, 0, 0, 0, 0, 0, 0, 0, 649, 944, 2096 0, 0, 0, 648, 0, 0, 0, 0, 648, 0, 2097 0, 0, 648, 648, 0, 0, 0, 0, 0, 0, 2098 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 2099 0, 0, 0, 0, 1750, 0, 0, 0, 0, 0, 2100 0, 0, 0, 0, 0, 0, 0, 596, 0, 596, 2101 1774, 0, 596, 0, 0, 0, 0, 0, 0, 0, 2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2104 0, 0, 0, 191, 2081, 0, 0, 0, 0, 0, 2105 0, 0, 2085, 1130, 2088, 0, 0, 1837, 0, 0, 2106 0, 0, 0, 0, 0, 0, 596, 0, 0, 0, 2107 0, 0, 191, 0, 0, 0, 49, 52, 55, 54, 2108 57, 648, 70, 0, 0, 79, 76, 0, 830, 0, 2109 2010, 0, 191, 831, 1365, 191, 191, 191, 0, 0, 2110 0, 0, 0, 1884, 0, 649, 649, 0, 0, 58, 2111 87, 86, 0, 0, 68, 69, 56, 0, 0, 0, 2112 0, 0, 77, 78, 0, 0, 0, 0, 0, 0, 2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2114 0, 0, 0, 0, 0, 0, 0, 1363, 0, 648, 2115 0, 0, 649, 649, 649, 649, 0, 0, 0, 0, 2116 0, 0, 0, 0, 60, 61, 0, 62, 63, 64, 2117 65, 0, 0, 0, 0, 0, 837, 838, 839, 840, 2118 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 2119 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 2120 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 2121 871, 872, 873, 874, 875, 876, 877, 878, 1130, 1130, 2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2123 0, 1825, 0, 0, 0, 0, 0, 0, 1365, 0, 2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2125 0, 0, 0, 0, 0, 1837, 0, 0, 0, 191, 2126 0, 0, 2245, 0, 0, 0, 0, 0, 0, 0, 2127 0, 2262, 2263, 0, 0, 2267, 0, 0, 1364, 0, 2128 0, 0, 0, 649, 2270, 649, 0, 0, 1879, 0, 2129 0, 2273, 0, 0, 0, 596, 0, 0, 0, 0, 2130 85, 0, 0, 0, 0, 0, 0, 0, 0, 1895, 2131 0, 0, 0, 0, 0, 902, 0, 2276, 0, 648, 2132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2133 648, 0, 0, 0, 0, 0, 0, 0, 596, 0, 2134 1928, 1929, 0, 0, 0, 649, 0, 0, 0, 0, 2135 0, 0, 0, 0, 0, 0, 596, 0, 191, 0, 2136 0, 649, 90, 0, 0, 0, 0, 0, 0, 0, 2137 0, 0, 0, 0, 649, 2507, 0, 0, 0, 0, 2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2139 0, 0, 1130, 0, 0, 0, 0, 0, 0, 0, 2140 0, 0, 0, 0, 0, 0, 1365, 0, 0, 0, 2141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2142 0, 0, 0, 0, 649, 0, 0, 648, 649, 649, 2143 0, 0, 0, 1365, 0, 0, 1365, 0, 1365, 596, 2144 2055, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145 0, 0, 0, 0, 648, 0, 0, 649, 0, 1724, 2146 0, 648, 0, 0, 0, 1665, 1665, 2067, 67, 0, 2147 648, 0, 0, 0, 596, 0, 0, 0, 0, 0, 2148 0, 1545, 0, 0, 1130, 0, 1363, 2580, 0, 0, 2149 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2150 0, 0, 0, 0, 944, 0, 596, 0, 0, 0, 2151 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, 2152 0, 0, 1799, 1800, 596, 596, 596, 596, 596, 596, 2153 596, 0, 0, 0, 0, 0, 0, 0, 649, 0, 2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, 2156 0, 951, 0, 0, 0, 0, 0, 648, 0, 0, 2157 0, 0, 649, 191, 0, 0, 0, 0, 0, 0, 2158 0, 0, 0, 0, 0, 0, 0, 0, 944, 0, 2159 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, 2160 0, 0, 0, 0, 2494, 0, 0, 0, 0, 0, 2161 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, 2162 0, 0, 0, 649, 0, 0, 0, 0, 0, 0, 2163 0, 0, 0, 1364, 0, 649, 0, 0, 0, 0, 2164 0, 944, 0, 0, 0, 0, 1879, 0, 0, 0, 2165 1879, 1879, 0, 0, 648, 0, 0, 0, 0, 649, 2166 649, 0, 648, 0, 0, 0, 0, 0, 0, 0, 2167 0, 0, 0, 0, 0, 0, 0, 0, 2543, 0, 2168 0, 649, 0, 0, 0, 0, 0, 0, 0, 0, 2169 0, 0, 0, 648, 0, 191, 649, 0, 0, 0, 2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2171 0, 648, 0, 0, 0, 0, 0, 0, 596, 0, 2172 0, 0, 0, 0, 0, 648, 0, 0, 0, 1363, 2173 0, 0, 648, 648, 1363, 0, 0, 0, 0, 649, 2174 0, 0, 0, 0, 2592, 2593, 2594, 2595, 2596, 0, 2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 2279, 2176 0, 649, 0, 0, 0, 0, 0, 0, 1837, 2606, 2177 0, 0, 0, 0, 0, 0, 1365, 0, 649, 0, 2178 649, 0, 0, 0, 0, 0, 0, 0, 921, 921, 2179 0, 2614, 186, 1365, 0, 2819, 0, 0, 0, 0, 2180 0, 0, 0, 1644, 0, 0, 0, 0, 0, 0, 2181 0, 0, 0, 0, 0, 0, 125, 648, 147, 0, 2182 1363, 0, 0, 0, 0, 648, 0, 1130, 0, 168, 2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2186 158, 0, 0, 0, 0, 0, 146, 0, 0, 921, 2187 1776, 921, 921, 921, 921, 921, 2898, 0, 0, 0, 2188 0, 0, 0, 0, 0, 165, 0, 0, 166, 0, 2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2190 0, 0, 0, 0, 0, 0, 0, 1648, 1649, 157, 2191 156, 185, 0, 1724, 0, 0, 0, 0, 0, 0, 2192 0, 0, 0, 0, 0, 0, 0, 0, 921, 0, 2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2194 0, 0, 902, 0, 0, 0, 0, 648, 0, 0, 2195 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, 2196 0, 0, 1776, 596, 0, 596, 0, 596, 2104, 0, 2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2199 0, 0, 0, 0, 0, 0, 0, 2442, 0, 0, 2200 0, 0, 0, 0, 0, 0, 0, 0, 2457, 0, 2201 151, 1650, 154, 0, 1647, 0, 152, 153, 0, 0, 2202 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 2203 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 2824, 2205 3042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2207 0, 0, 0, 0, 0, 2862, 0, 0, 0, 0, 2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 2874, 2209 0, 0, 0, 0, 648, 648, 0, 0, 0, 0, 2210 0, 0, 0, 0, 0, 2539, 0, 0, 2891, 0, 2211 0, 2894, 0, 0, 0, 0, 0, 0, 0, 0, 2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2213 0, 0, 2067, 0, 0, 0, 0, 0, 0, 2564, 2214 0, 648, 648, 648, 648, 0, 0, 0, 2569, 0, 2215 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 2216 0, 0, 0, 0, 0, 0, 596, 0, 0, 0, 2217 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, 2218 0, 0, 596, 596, 0, 0, 596, 0, 2269, 0, 2219 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, 2220 0, 0, 596, 0, 0, 0, 0, 0, 0, 0, 2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2222 3511, 2991, 0, 0, 0, 0, 0, 0, 596, 0, 2223 1590, 0, 0, 0, 155, 0, 0, 0, 0, 0, 2224 0, 0, 0, 0, 0, 1879, 0, 0, 0, 0, 2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2226 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0, 2227 0, 0, 648, 0, 648, 0, 0, 0, 0, 0, 2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2229 0, 0, 1879, 0, 0, 148, 0, 0, 149, 0, 2230 0, 0, 0, 1365, 0, 1776, 3052, 0, 0, 0, 2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2232 0, 0, 0, 0, 0, 0, 3067, 0, 161, 3068, 2233 3069, 3070, 2689, 0, 648, 173, 0, 0, 0, 0, 2234 1130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2235 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2236 0, 0, 0, 648, 0, 0, 0, 0, 0, 0, 2237 0, 1673, 0, 0, 1578, 0, 181, 0, 0, 0, 2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 2726, 2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2240 0, 0, 0, 1130, 0, 0, 0, 0, 0, 0, 2241 2753, 1673, 0, 648, 0, 0, 0, 648, 648, 162, 2242 167, 164, 170, 171, 172, 174, 176, 177, 178, 179, 2243 0, 0, 0, 0, 0, 180, 182, 183, 184, 0, 2244 0, 0, 0, 0, 0, 0, 648, 0, 0, 0, 2245 0, 0, 0, 0, 0, 0, 596, 0, 1591, 0, 2246 0, 0, 0, 0, 1724, 0, 0, 0, 0, 0, 2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2249 0, 0, 0, 0, 0, 944, 0, 0, 0, 0, 2250 0, 0, 0, 2067, 0, 0, 0, 0, 0, 0, 2251 596, 0, 0, 0, 0, 596, 0, 0, 0, 0, 2252 1604, 1607, 1608, 1609, 1610, 1611, 1612, 648, 1613, 1614, 2253 1616, 1617, 1615, 1618, 1619, 1592, 1593, 1594, 1595, 1576, 2254 1577, 1605, 0, 1579, 0, 1580, 1581, 1582, 1583, 1584, 2255 1585, 1586, 1587, 1588, 0, 0, 1589, 1596, 1597, 1598, 2256 1599, 648, 1600, 1601, 1602, 1603, 0, 0, 0, 0, 2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 2259 0, 0, 0, 0, 0, 0, 2549, 0, 0, 0, 2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261 0, 0, 648, 0, 0, 0, 0, 0, 0, 0, 2262 0, 0, 1363, 0, 648, 2962, 0, 0, 0, 0, 2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2264 0, 0, 1365, 0, 0, 0, 0, 0, 648, 648, 2265 0, 0, 0, 0, 0, 596, 596, 596, 596, 596, 2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2267 648, 0, 0, 0, 0, 0, 0, 0, 0, 596, 2268 596, 0, 0, 0, 0, 648, 0, 0, 0, 0, 2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2270 0, 0, 596, 0, 0, 0, 1606, 0, 0, 0, 2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2272 0, 0, 0, 0, 0, 0, 921, 0, 648, 0, 2273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2274 0, 0, 0, 0, 1590, 0, 0, 0, 0, 0, 2275 648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2276 0, 0, 0, 0, 0, 0, 0, 648, 0, 648, 2277 0, 0, 2067, 2067, 0, 0, 0, 0, 0, 0, 2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2280 0, 0, 0, 0, 0, 0, 0, 3392, 0, 0, 2281 0, 0, 0, 0, 0, 0, 0, 921, 0, 3106, 2282 3107, 3108, 3109, 0, 0, 0, 0, 0, 0, 0, 2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2286 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, 2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2288 0, 0, 0, 0, 0, 1365, 0, 0, 1578, 0, 2289 1365, 596, 596, 596, 596, 596, 0, 0, 0, 0, 2290 0, 0, 0, 2769, 0, 0, 0, 0, 0, 1724, 2291 0, 596, 0, 0, 596, 2777, 1776, 0, 0, 0, 2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2295 3182, 0, 3184, 0, 0, 0, 0, 0, 0, 0, 2296 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2297 0, 0, 1591, 0, 0, 0, 1365, 0, 0, 0, 2298 0, 0, 0, 0, 0, 0, 596, 0, 0, 0, 2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301 0, 0, 2067, 0, 0, 0, 0, 0, 0, 596, 2302 0, 0, 596, 0, 0, 0, 0, 0, 3292, 0, 2303 0, 0, 0, 0, 1604, 1607, 1608, 1609, 1610, 1611, 2304 1612, 1130, 1613, 1614, 1616, 1617, 1615, 1618, 1619, 1592, 2305 1593, 1594, 1595, 1576, 1577, 1605, 0, 1579, 0, 1580, 2306 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 0, 0, 2307 1589, 1596, 1597, 1598, 1599, 0, 1600, 1601, 1602, 1603, 2308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309 0, 3342, 0, 0, 0, 3342, 3342, 0, 0, 0, 2310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2312 0, 0, 0, 0, 2067, 0, 0, 0, 0, 0, 2313 0, 0, 596, 0, 0, 0, 0, 0, 0, 0, 2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2315 0, 0, 0, 0, 0, 830, 0, 0, 0, 0, 2316 831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2317 1884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2318 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 2319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2320 0, 0, 0, 0, 0, 2067, 0, 0, 0, 0, 2321 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 2322 1606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2323 0, 0, 0, 0, 0, 0, 0, 596, 0, 2067, 2324 596, 596, 596, 837, 838, 839, 840, 841, 842, 843, 2325 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 2326 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 2327 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 2328 874, 875, 876, 877, 878, 0, 0, 0, 0, 0, 2329 3419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2330 0, 0, 3423, 0, 0, 0, 0, 0, 0, 0, 2331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2332 0, 0, 0, 0, 0, 0, 1130, 1130, 0, 0, 2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2334 0, 0, 0, 0, 0, 0, 0, 0, 3466, 0, 2335 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 2336 830, 0, 0, 3474, 818, 831, 832, 833, 834, 819, 2337 0, 0, 820, 821, 0, 822, 0, 0, 0, 0, 2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 827, 2339 835, 836, 0, 0, 0, 0, 0, 0, 0, 0, 2340 0, 0, 0, 0, 1724, 0, 3419, 0, 0, 0, 2341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2342 0, 0, 0, 1365, 0, 0, 0, 0, 2067, 0, 2343 0, 0, 0, 0, 0, 0, 2868, 2869, 0, 0, 2344 0, 0, 0, 0, 0, 2962, 0, 3474, 837, 838, 2345 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 2346 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 2347 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 2348 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 2349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2350 0, 0, 0, 1724, 0, 0, 0, 0, 0, 0, 2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353 0, 2870, 0, 0, 0, 0, 0, 0, 0, 0, 2354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2360 0, 0, 0, 0, 0, 0, 0, 0, 2871, 2872, 2361 0, 0, 0, 0, 0, 383, 0, 0, 0, 1264, 2362 1249, 502, 0, 1192, 1267, 1161, 1180, 1277, 1183, 1186, 2363 1228, 1140, 1206, 402, 1177, 1133, 1165, 1135, 1172, 1136, 2364 1163, 1194, 260, 1160, 1251, 1210, 1266, 353, 257, 1142, 2365 1166, 416, 1182, 198, 1230, 471, 244, 364, 361, 510, 2366 272, 263, 259, 242, 306, 372, 414, 492, 408, 1273, 2367 357, 1216, 0, 481, 387, 0, 0, 0, 1196, 1255, 2368 1204, 1242, 1191, 1229, 1150, 1215, 1268, 1178, 1225, 1269, 2369 312, 240, 314, 197, 399, 482, 276, 0, 0, 1724, 2370 0, 3446, 638, 0, 0, 0, 0, 3447, 0, 0, 2371 0, 0, 230, 0, 0, 237, 0, 0, 596, 338, 2372 347, 346, 327, 328, 330, 332, 337, 344, 350, 1174, 2373 1222, 1263, 1175, 1224, 255, 310, 262, 254, 507, 1274, 2374 1254, 1139, 1203, 1262, 0, 0, 221, 1265, 1198, 0, 2375 1227, 0, 1280, 1134, 1218, 0, 1137, 1141, 1276, 1258, 2376 1169, 265, 0, 0, 0, 0, 0, 0, 0, 1195, 2377 1205, 1239, 1243, 1189, 0, 0, 0, 0, 1365, 0, 2378 0, 1167, 0, 1214, 0, 0, 0, 1146, 1138, 0, 2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2383 0, 1193, 0, 0, 0, 0, 1149, 0, 1168, 1240, 2384 1724, 1132, 287, 1143, 388, 247, 0, 438, 1247, 1257, 2385 1190, 549, 1261, 1188, 1187, 1234, 1147, 1253, 1181, 352, 2386 1145, 319, 193, 217, 0, 1179, 398, 446, 458, 1252, 2387 1164, 1173, 245, 1171, 456, 412, 527, 225, 274, 443, 2388 418, 454, 426, 277, 1213, 1232, 455, 359, 512, 436, 2389 524, 550, 551, 253, 392, 536, 496, 544, 568, 218, 2390 250, 406, 489, 530, 478, 384, 508, 509, 318, 477, 2391 285, 196, 356, 556, 216, 464, 358, 234, 223, 514, 2392 533, 279, 441, 563, 205, 491, 522, 231, 468, 0, 2393 0, 570, 239, 488, 207, 519, 487, 380, 315, 316, 2394 206, 0, 442, 258, 283, 0, 0, 248, 401, 516, 2395 517, 246, 571, 220, 543, 212, 1144, 542, 394, 511, 2396 520, 381, 370, 211, 518, 379, 369, 323, 342, 343, 2397 270, 296, 433, 362, 434, 295, 297, 390, 389, 391, 2398 200, 531, 0, 201, 0, 483, 532, 572, 226, 227, 2399 229, 1159, 269, 273, 281, 284, 292, 293, 302, 354, 2400 405, 432, 428, 437, 1248, 506, 525, 537, 548, 554, 2401 555, 557, 558, 559, 560, 561, 564, 562, 393, 300, 2402 479, 322, 360, 1237, 1279, 411, 457, 232, 529, 480, 2403 1154, 1158, 1152, 1219, 1153, 1208, 1209, 1155, 1270, 1271, 2404 1272, 573, 574, 575, 576, 577, 578, 579, 580, 581, 2405 582, 583, 584, 585, 586, 587, 588, 589, 590, 0, 2406 1241, 1148, 0, 1156, 1157, 1250, 1259, 1260, 591, 371, 2407 470, 526, 324, 336, 339, 329, 348, 0, 349, 325, 2408 326, 331, 333, 334, 335, 340, 341, 345, 351, 241, 2409 203, 377, 385, 505, 301, 208, 209, 210, 498, 499, 2410 500, 501, 540, 541, 545, 447, 448, 449, 450, 282, 2411 535, 298, 453, 452, 320, 321, 366, 435, 1212, 192, 2412 213, 355, 1275, 439, 278, 569, 539, 534, 199, 215, 2413 1151, 252, 1162, 1170, 0, 1176, 1184, 1185, 1197, 1199, 2414 1200, 1201, 1202, 1220, 1221, 1223, 1231, 1233, 1236, 1238, 2415 1245, 1256, 1278, 194, 195, 202, 214, 224, 228, 235, 2416 251, 266, 268, 275, 288, 299, 307, 308, 311, 317, 2417 367, 373, 374, 375, 376, 395, 396, 397, 400, 403, 2418 404, 407, 409, 410, 413, 417, 421, 422, 423, 425, 2419 427, 429, 440, 445, 459, 460, 461, 462, 463, 466, 2420 467, 472, 473, 474, 475, 476, 484, 485, 490, 513, 2421 515, 528, 546, 552, 465, 290, 291, 430, 431, 303, 2422 304, 566, 567, 289, 523, 553, 521, 565, 547, 424, 2423 365, 1211, 1217, 368, 271, 294, 309, 1226, 538, 486, 2424 219, 451, 280, 243, 1244, 1246, 204, 238, 222, 249, 2425 264, 267, 313, 378, 386, 415, 420, 286, 261, 236, 2426 444, 233, 469, 493, 494, 495, 497, 382, 256, 419, 2427 1207, 1235, 363, 503, 504, 305, 383, 0, 0, 0, 2428 1264, 1249, 502, 0, 1192, 1267, 1161, 1180, 1277, 1183, 2429 1186, 1228, 1140, 1206, 402, 1177, 1133, 1165, 1135, 1172, 2430 1136, 1163, 1194, 260, 1160, 1251, 1210, 1266, 353, 257, 2431 1142, 1166, 416, 1182, 198, 1230, 471, 244, 364, 361, 2432 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 2433 1273, 357, 1216, 0, 481, 387, 0, 0, 0, 1196, 2434 1255, 1204, 1242, 1191, 1229, 1150, 1215, 1268, 1178, 1225, 2435 1269, 312, 240, 314, 197, 399, 482, 276, 0, 0, 2436 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 2437 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 2438 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 2439 1174, 1222, 1263, 1175, 1224, 255, 310, 262, 254, 507, 2440 1274, 1254, 1139, 1203, 1262, 0, 0, 221, 1265, 1198, 2441 0, 1227, 0, 1280, 1134, 1218, 0, 1137, 1141, 1276, 2442 1258, 1169, 265, 0, 0, 0, 0, 0, 0, 0, 2443 1195, 1205, 1239, 1243, 1189, 0, 0, 0, 0, 0, 2444 2778, 0, 1167, 0, 1214, 0, 0, 0, 1146, 1138, 2445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2449 0, 0, 1193, 0, 0, 0, 0, 1149, 0, 1168, 2450 1240, 0, 1132, 287, 1143, 388, 247, 0, 438, 1247, 2451 1257, 1190, 549, 1261, 1188, 1187, 1234, 1147, 1253, 1181, 2452 352, 1145, 319, 193, 217, 0, 1179, 398, 446, 458, 2453 1252, 1164, 1173, 245, 1171, 456, 412, 527, 225, 274, 2454 443, 418, 454, 426, 277, 1213, 1232, 455, 359, 512, 2455 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 2456 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 2457 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 2458 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 2459 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 2460 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 2461 516, 517, 246, 571, 220, 543, 212, 1144, 542, 394, 2462 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 2463 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 2464 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 2465 227, 229, 1159, 269, 273, 281, 284, 292, 293, 302, 2466 354, 405, 432, 428, 437, 1248, 506, 525, 537, 548, 2467 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 2468 300, 479, 322, 360, 1237, 1279, 411, 457, 232, 529, 2469 480, 1154, 1158, 1152, 1219, 1153, 1208, 1209, 1155, 1270, 2470 1271, 1272, 573, 574, 575, 576, 577, 578, 579, 580, 2471 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 2472 0, 1241, 1148, 0, 1156, 1157, 1250, 1259, 1260, 591, 2473 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 2474 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 2475 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 2476 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 2477 282, 535, 298, 453, 452, 320, 321, 366, 435, 1212, 2478 192, 213, 355, 1275, 439, 278, 569, 539, 534, 199, 2479 215, 1151, 252, 1162, 1170, 0, 1176, 1184, 1185, 1197, 2480 1199, 1200, 1201, 1202, 1220, 1221, 1223, 1231, 1233, 1236, 2481 1238, 1245, 1256, 1278, 194, 195, 202, 214, 224, 228, 2482 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 2483 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 2484 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 2485 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 2486 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 2487 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 2488 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 2489 424, 365, 1211, 1217, 368, 271, 294, 309, 1226, 538, 2490 486, 219, 451, 280, 243, 1244, 1246, 204, 238, 222, 2491 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 2492 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 2493 419, 1207, 1235, 363, 503, 504, 305, 383, 0, 0, 2494 0, 1264, 1249, 502, 0, 1192, 1267, 1161, 1180, 1277, 2495 1183, 1186, 1228, 1140, 1206, 402, 1177, 1133, 1165, 1135, 2496 1172, 1136, 1163, 1194, 260, 1160, 1251, 1210, 1266, 353, 2497 257, 1142, 1166, 416, 1182, 198, 1230, 471, 244, 364, 2498 361, 510, 272, 263, 259, 242, 306, 372, 414, 492, 2499 408, 1273, 357, 1216, 0, 481, 387, 0, 0, 0, 2500 1196, 1255, 1204, 1242, 1191, 1229, 1150, 1215, 1268, 1178, 2501 1225, 1269, 312, 240, 314, 197, 399, 482, 276, 0, 2502 0, 0, 0, 0, 638, 0, 0, 0, 0, 0, 2503 0, 0, 0, 0, 230, 0, 0, 237, 0, 0, 2504 0, 338, 347, 346, 327, 328, 330, 332, 337, 344, 2505 350, 1174, 1222, 1263, 1175, 1224, 255, 310, 262, 254, 2506 507, 1274, 1254, 1139, 1203, 1262, 0, 0, 221, 1265, 2507 1198, 0, 1227, 0, 1280, 1134, 1218, 0, 1137, 1141, 2508 1276, 1258, 1169, 265, 0, 0, 0, 0, 0, 0, 2509 0, 1195, 1205, 1239, 1243, 1189, 0, 0, 0, 0, 2510 0, 2739, 0, 1167, 0, 1214, 0, 0, 0, 1146, 2511 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2515 0, 0, 0, 1193, 0, 0, 0, 0, 1149, 0, 2516 1168, 1240, 0, 1132, 287, 1143, 388, 247, 0, 438, 2517 1247, 1257, 1190, 549, 1261, 1188, 1187, 1234, 1147, 1253, 2518 1181, 352, 1145, 319, 193, 217, 0, 1179, 398, 446, 2519 458, 1252, 1164, 1173, 245, 1171, 456, 412, 527, 225, 2520 274, 443, 418, 454, 426, 277, 1213, 1232, 455, 359, 2521 512, 436, 524, 550, 551, 253, 392, 536, 496, 544, 2522 568, 218, 250, 406, 489, 530, 478, 384, 508, 509, 2523 318, 477, 285, 196, 356, 556, 216, 464, 358, 234, 2524 223, 514, 533, 279, 441, 563, 205, 491, 522, 231, 2525 468, 0, 0, 570, 239, 488, 207, 519, 487, 380, 2526 315, 316, 206, 0, 442, 258, 283, 0, 0, 248, 2527 401, 516, 517, 246, 571, 220, 543, 212, 1144, 542, 2528 394, 511, 520, 381, 370, 211, 518, 379, 369, 323, 2529 342, 343, 270, 296, 433, 362, 434, 295, 297, 390, 2530 389, 391, 200, 531, 0, 201, 0, 483, 532, 572, 2531 226, 227, 229, 1159, 269, 273, 281, 284, 292, 293, 2532 302, 354, 405, 432, 428, 437, 1248, 506, 525, 537, 2533 548, 554, 555, 557, 558, 559, 560, 561, 564, 562, 2534 393, 300, 479, 322, 360, 1237, 1279, 411, 457, 232, 2535 529, 480, 1154, 1158, 1152, 1219, 1153, 1208, 1209, 1155, 2536 1270, 1271, 1272, 573, 574, 575, 576, 577, 578, 579, 2537 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 2538 590, 0, 1241, 1148, 0, 1156, 1157, 1250, 1259, 1260, 2539 591, 371, 470, 526, 324, 336, 339, 329, 348, 0, 2540 349, 325, 326, 331, 333, 334, 335, 340, 341, 345, 2541 351, 241, 203, 377, 385, 505, 301, 208, 209, 210, 2542 498, 499, 500, 501, 540, 541, 545, 447, 448, 449, 2543 450, 282, 535, 298, 453, 452, 320, 321, 366, 435, 2544 1212, 192, 213, 355, 1275, 439, 278, 569, 539, 534, 2545 199, 215, 1151, 252, 1162, 1170, 0, 1176, 1184, 1185, 2546 1197, 1199, 1200, 1201, 1202, 1220, 1221, 1223, 1231, 1233, 2547 1236, 1238, 1245, 1256, 1278, 194, 195, 202, 214, 224, 2548 228, 235, 251, 266, 268, 275, 288, 299, 307, 308, 2549 311, 317, 367, 373, 374, 375, 376, 395, 396, 397, 2550 400, 403, 404, 407, 409, 410, 413, 417, 421, 422, 2551 423, 425, 427, 429, 440, 445, 459, 460, 461, 462, 2552 463, 466, 467, 472, 473, 474, 475, 476, 484, 485, 2553 490, 513, 515, 528, 546, 552, 465, 290, 291, 430, 2554 431, 303, 304, 566, 567, 289, 523, 553, 521, 565, 2555 547, 424, 365, 1211, 1217, 368, 271, 294, 309, 1226, 2556 538, 486, 219, 451, 280, 243, 1244, 1246, 204, 238, 2557 222, 249, 264, 267, 313, 378, 386, 415, 420, 286, 2558 261, 236, 444, 233, 469, 493, 494, 495, 497, 382, 2559 256, 419, 1207, 1235, 363, 503, 504, 305, 383, 0, 2560 0, 0, 1264, 1249, 502, 0, 1192, 1267, 1161, 1180, 2561 1277, 1183, 1186, 1228, 1140, 1206, 402, 1177, 1133, 1165, 2562 1135, 1172, 1136, 1163, 1194, 260, 1160, 1251, 1210, 1266, 2563 353, 257, 1142, 1166, 416, 1182, 198, 1230, 471, 244, 2564 364, 361, 510, 272, 263, 259, 242, 306, 372, 414, 2565 492, 408, 1273, 357, 1216, 0, 481, 387, 0, 0, 2566 0, 1196, 1255, 1204, 1242, 1191, 1229, 1150, 1215, 1268, 2567 1178, 1225, 1269, 312, 240, 314, 197, 399, 482, 276, 2568 0, 0, 0, 0, 0, 814, 0, 0, 0, 0, 2569 0, 0, 0, 0, 0, 230, 0, 0, 237, 0, 2570 0, 0, 338, 347, 346, 327, 328, 330, 332, 337, 2571 344, 350, 1174, 1222, 1263, 1175, 1224, 255, 310, 262, 2572 254, 507, 1274, 1254, 1139, 1203, 1262, 0, 0, 221, 2573 1265, 1198, 0, 1227, 0, 1280, 1134, 1218, 0, 1137, 2574 1141, 1276, 1258, 1169, 265, 0, 0, 0, 0, 0, 2575 0, 0, 1195, 1205, 1239, 1243, 1189, 0, 0, 0, 2576 0, 0, 2083, 0, 1167, 0, 1214, 0, 0, 0, 2577 1146, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2581 0, 0, 0, 0, 1193, 0, 0, 0, 0, 1149, 2582 0, 1168, 1240, 0, 1132, 287, 1143, 388, 247, 0, 2583 438, 1247, 1257, 1190, 549, 1261, 1188, 1187, 1234, 1147, 2584 1253, 1181, 352, 1145, 319, 193, 217, 0, 1179, 398, 2585 446, 458, 1252, 1164, 1173, 245, 1171, 456, 412, 527, 2586 225, 274, 443, 418, 454, 426, 277, 1213, 1232, 455, 2587 359, 512, 436, 524, 550, 551, 253, 392, 536, 496, 2588 544, 568, 218, 250, 406, 489, 530, 478, 384, 508, 2589 509, 318, 477, 285, 196, 356, 556, 216, 464, 358, 2590 234, 223, 514, 533, 279, 441, 563, 205, 491, 522, 2591 231, 468, 0, 0, 570, 239, 488, 207, 519, 487, 2592 380, 315, 316, 206, 0, 442, 258, 283, 0, 0, 2593 248, 401, 516, 517, 246, 571, 220, 543, 212, 1144, 2594 542, 394, 511, 520, 381, 370, 211, 518, 379, 369, 2595 323, 342, 343, 270, 296, 433, 362, 434, 295, 297, 2596 390, 389, 391, 200, 531, 0, 201, 0, 483, 532, 2597 572, 226, 227, 229, 1159, 269, 273, 281, 284, 292, 2598 293, 302, 354, 405, 432, 428, 437, 1248, 506, 525, 2599 537, 548, 554, 555, 557, 558, 559, 560, 561, 564, 2600 562, 393, 300, 479, 322, 360, 1237, 1279, 411, 457, 2601 232, 529, 480, 1154, 1158, 1152, 1219, 1153, 1208, 1209, 2602 1155, 1270, 1271, 1272, 573, 574, 575, 576, 577, 578, 2603 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 2604 589, 590, 0, 1241, 1148, 0, 1156, 1157, 1250, 1259, 2605 1260, 591, 371, 470, 526, 324, 336, 339, 329, 348, 2606 0, 349, 325, 326, 331, 333, 334, 335, 340, 341, 2607 345, 351, 241, 203, 377, 385, 505, 301, 208, 209, 2608 210, 498, 499, 500, 501, 540, 541, 545, 447, 448, 2609 449, 450, 282, 535, 298, 453, 452, 320, 321, 366, 2610 435, 1212, 192, 213, 355, 1275, 439, 278, 569, 539, 2611 534, 199, 215, 1151, 252, 1162, 1170, 0, 1176, 1184, 2612 1185, 1197, 1199, 1200, 1201, 1202, 1220, 1221, 1223, 1231, 2613 1233, 1236, 1238, 1245, 1256, 1278, 194, 195, 202, 214, 2614 224, 228, 235, 251, 266, 268, 275, 288, 299, 307, 2615 308, 311, 317, 367, 373, 374, 375, 376, 395, 396, 2616 397, 400, 403, 404, 407, 409, 410, 413, 417, 421, 2617 422, 423, 425, 427, 429, 440, 445, 459, 460, 461, 2618 462, 463, 466, 467, 472, 473, 474, 475, 476, 484, 2619 485, 490, 513, 515, 528, 546, 552, 465, 290, 291, 2620 430, 431, 303, 304, 566, 567, 289, 523, 553, 521, 2621 565, 547, 424, 365, 1211, 1217, 368, 271, 294, 309, 2622 1226, 538, 486, 219, 451, 280, 243, 1244, 1246, 204, 2623 238, 222, 249, 264, 267, 313, 378, 386, 415, 420, 2624 286, 261, 236, 444, 233, 469, 493, 494, 495, 497, 2625 382, 256, 419, 1207, 1235, 363, 503, 504, 305, 383, 2626 0, 0, 0, 1264, 1249, 502, 0, 1192, 1267, 1161, 2627 1180, 1277, 1183, 1186, 1228, 1140, 1206, 402, 1177, 1133, 2628 1165, 1135, 1172, 1136, 1163, 1194, 260, 1160, 1251, 1210, 2629 1266, 353, 257, 1142, 1166, 416, 1182, 198, 1230, 471, 2630 244, 364, 361, 510, 272, 263, 259, 242, 306, 372, 2631 414, 492, 408, 1273, 357, 1216, 0, 481, 387, 0, 2632 0, 0, 1196, 1255, 1204, 1242, 1191, 1229, 1150, 1215, 2633 1268, 1178, 1225, 1269, 312, 240, 314, 197, 399, 482, 2634 276, 0, 91, 0, 0, 0, 638, 0, 0, 0, 2635 0, 0, 0, 0, 0, 0, 230, 0, 0, 237, 2636 0, 0, 0, 338, 347, 346, 327, 328, 330, 332, 2637 337, 344, 350, 1174, 1222, 1263, 1175, 1224, 255, 310, 2638 262, 254, 507, 1274, 1254, 1139, 1203, 1262, 0, 0, 2639 221, 1265, 1198, 0, 1227, 0, 1280, 1134, 1218, 0, 2640 1137, 1141, 1276, 1258, 1169, 265, 0, 0, 0, 0, 2641 0, 0, 0, 1195, 1205, 1239, 1243, 1189, 0, 0, 2642 0, 0, 0, 0, 0, 1167, 0, 1214, 0, 0, 2643 0, 1146, 1138, 0, 0, 0, 0, 0, 0, 0, 2644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2647 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0, 2648 1149, 0, 1168, 1240, 0, 1132, 287, 1143, 388, 247, 2649 0, 438, 1247, 1257, 1190, 549, 1261, 1188, 1187, 1234, 2650 1147, 1253, 1181, 352, 1145, 319, 193, 217, 0, 1179, 2651 398, 446, 458, 1252, 1164, 1173, 245, 1171, 456, 412, 2652 527, 225, 274, 443, 418, 454, 426, 277, 1213, 1232, 2653 455, 359, 512, 436, 524, 550, 551, 253, 392, 536, 2654 496, 544, 568, 218, 250, 406, 489, 530, 478, 384, 2655 508, 509, 318, 477, 285, 196, 356, 556, 216, 464, 2656 358, 234, 223, 514, 533, 279, 441, 563, 205, 491, 2657 522, 231, 468, 0, 0, 570, 239, 488, 207, 519, 2658 487, 380, 315, 316, 206, 0, 442, 258, 283, 0, 2659 0, 248, 401, 516, 517, 246, 571, 220, 543, 212, 2660 1144, 542, 394, 511, 520, 381, 370, 211, 518, 379, 2661 369, 323, 342, 343, 270, 296, 433, 362, 434, 295, 2662 297, 390, 389, 391, 200, 531, 0, 201, 0, 483, 2663 532, 572, 226, 227, 229, 1159, 269, 273, 281, 284, 2664 292, 293, 302, 354, 405, 432, 428, 437, 1248, 506, 2665 525, 537, 548, 554, 555, 557, 558, 559, 560, 561, 2666 564, 562, 393, 300, 479, 322, 360, 1237, 1279, 411, 2667 457, 232, 529, 480, 1154, 1158, 1152, 1219, 1153, 1208, 2668 1209, 1155, 1270, 1271, 1272, 573, 574, 575, 576, 577, 2669 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 2670 588, 589, 590, 0, 1241, 1148, 0, 1156, 1157, 1250, 2671 1259, 1260, 591, 371, 470, 526, 324, 336, 339, 329, 2672 348, 0, 349, 325, 326, 331, 333, 334, 335, 340, 2673 341, 345, 351, 241, 203, 377, 385, 505, 301, 208, 2674 209, 210, 498, 499, 500, 501, 540, 541, 545, 447, 2675 448, 449, 450, 282, 535, 298, 453, 452, 320, 321, 2676 366, 435, 1212, 192, 213, 355, 1275, 439, 278, 569, 2677 539, 534, 199, 215, 1151, 252, 1162, 1170, 0, 1176, 2678 1184, 1185, 1197, 1199, 1200, 1201, 1202, 1220, 1221, 1223, 2679 1231, 1233, 1236, 1238, 1245, 1256, 1278, 194, 195, 202, 2680 214, 224, 228, 235, 251, 266, 268, 275, 288, 299, 2681 307, 308, 311, 317, 367, 373, 374, 375, 376, 395, 2682 396, 397, 400, 403, 404, 407, 409, 410, 413, 417, 2683 421, 422, 423, 425, 427, 429, 440, 445, 459, 460, 2684 461, 462, 463, 466, 467, 472, 473, 474, 475, 476, 2685 484, 485, 490, 513, 515, 528, 546, 552, 465, 290, 2686 291, 430, 431, 303, 304, 566, 567, 289, 523, 553, 2687 521, 565, 547, 424, 365, 1211, 1217, 368, 271, 294, 2688 309, 1226, 538, 486, 219, 451, 280, 243, 1244, 1246, 2689 204, 238, 222, 249, 264, 267, 313, 378, 386, 415, 2690 420, 286, 261, 236, 444, 233, 469, 493, 494, 495, 2691 497, 382, 256, 419, 1207, 1235, 363, 503, 504, 305, 2692 383, 0, 0, 0, 1264, 1249, 502, 0, 1192, 1267, 2693 1161, 1180, 1277, 1183, 1186, 1228, 1140, 1206, 402, 1177, 2694 1133, 1165, 1135, 1172, 1136, 1163, 1194, 260, 1160, 1251, 2695 1210, 1266, 353, 257, 1142, 1166, 416, 1182, 198, 1230, 2696 471, 244, 364, 361, 510, 272, 263, 259, 242, 306, 2697 372, 414, 492, 408, 1273, 357, 1216, 0, 481, 387, 2698 0, 0, 0, 1196, 1255, 1204, 1242, 1191, 1229, 1150, 2699 1215, 1268, 1178, 1225, 1269, 312, 240, 314, 197, 399, 2700 482, 276, 0, 0, 0, 0, 0, 638, 0, 0, 2701 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, 2702 237, 0, 0, 0, 338, 347, 346, 327, 328, 330, 2703 332, 337, 344, 350, 1174, 1222, 1263, 1175, 1224, 255, 2704 310, 262, 254, 507, 1274, 1254, 1139, 1203, 1262, 0, 2705 0, 221, 1265, 1198, 0, 1227, 0, 1280, 1134, 1218, 2706 0, 1137, 1141, 1276, 1258, 1169, 265, 0, 0, 0, 2707 0, 0, 0, 0, 1195, 1205, 1239, 1243, 1189, 0, 2708 0, 0, 0, 0, 0, 0, 1167, 0, 1214, 0, 2709 0, 0, 1146, 1138, 0, 0, 0, 0, 0, 0, 2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2713 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 2714 0, 1149, 0, 1168, 1240, 0, 1132, 287, 1143, 388, 2715 247, 0, 438, 1247, 1257, 1190, 549, 1261, 1188, 1187, 2716 1234, 1147, 1253, 1181, 352, 1145, 319, 193, 217, 0, 2717 1179, 398, 446, 458, 1252, 1164, 1173, 245, 1171, 456, 2718 412, 527, 225, 274, 443, 418, 454, 426, 277, 1213, 2719 1232, 455, 359, 512, 436, 524, 550, 551, 253, 392, 2720 536, 496, 544, 568, 218, 250, 406, 489, 530, 478, 2721 384, 508, 509, 318, 477, 285, 196, 356, 556, 216, 2722 464, 358, 234, 223, 514, 533, 279, 441, 563, 205, 2723 491, 522, 231, 468, 0, 0, 570, 239, 488, 207, 2724 519, 487, 380, 315, 316, 206, 0, 442, 258, 283, 2725 0, 0, 248, 401, 516, 517, 246, 571, 220, 543, 2726 212, 1144, 542, 394, 511, 520, 381, 370, 211, 518, 2727 379, 369, 323, 342, 343, 270, 296, 433, 362, 434, 2728 295, 297, 390, 389, 391, 200, 531, 0, 201, 0, 2729 483, 532, 572, 226, 227, 229, 1159, 269, 273, 281, 2730 284, 292, 293, 302, 354, 405, 432, 428, 437, 1248, 2731 506, 525, 537, 548, 554, 555, 557, 558, 559, 560, 2732 561, 564, 562, 393, 300, 479, 322, 360, 1237, 1279, 2733 411, 457, 232, 529, 480, 1154, 1158, 1152, 1219, 1153, 2734 1208, 1209, 1155, 1270, 1271, 1272, 573, 574, 575, 576, 2735 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 2736 587, 588, 589, 590, 0, 1241, 1148, 0, 1156, 1157, 2737 1250, 1259, 1260, 591, 371, 470, 526, 324, 336, 339, 2738 329, 348, 0, 349, 325, 326, 331, 333, 334, 335, 2739 340, 341, 345, 351, 241, 203, 377, 385, 505, 301, 2740 208, 209, 210, 498, 499, 500, 501, 540, 541, 545, 2741 447, 448, 449, 450, 282, 535, 298, 453, 452, 320, 2742 321, 366, 435, 1212, 192, 213, 355, 1275, 439, 278, 2743 569, 539, 534, 199, 215, 1151, 252, 1162, 1170, 0, 2744 1176, 1184, 1185, 1197, 1199, 1200, 1201, 1202, 1220, 1221, 2745 1223, 1231, 1233, 1236, 1238, 1245, 1256, 1278, 194, 195, 2746 202, 214, 224, 228, 235, 251, 266, 268, 275, 288, 2747 299, 307, 308, 311, 317, 367, 373, 374, 375, 376, 2748 395, 396, 397, 400, 403, 404, 407, 409, 410, 413, 2749 417, 421, 422, 423, 425, 427, 429, 440, 445, 459, 2750 460, 461, 462, 463, 466, 467, 472, 473, 474, 475, 2751 476, 484, 485, 490, 513, 515, 528, 546, 552, 465, 2752 290, 291, 430, 431, 303, 304, 566, 567, 289, 523, 2753 553, 521, 565, 547, 424, 365, 1211, 1217, 368, 271, 2754 294, 309, 1226, 538, 486, 219, 451, 280, 243, 1244, 2755 1246, 204, 238, 222, 249, 264, 267, 313, 378, 386, 2756 415, 420, 286, 261, 236, 444, 233, 469, 493, 494, 2757 495, 497, 382, 256, 419, 1207, 1235, 363, 503, 504, 2758 305, 383, 0, 0, 0, 1264, 1249, 502, 0, 1192, 2759 1267, 1161, 1180, 1277, 1183, 1186, 1228, 1140, 1206, 402, 2760 1177, 1133, 1165, 1135, 1172, 1136, 1163, 1194, 260, 1160, 2761 1251, 1210, 1266, 353, 257, 1142, 1166, 416, 1182, 198, 2762 1230, 471, 244, 364, 361, 510, 272, 263, 259, 242, 2763 306, 372, 414, 492, 408, 1273, 357, 1216, 0, 481, 2764 387, 0, 0, 0, 1196, 1255, 1204, 1242, 1191, 1229, 2765 1150, 1215, 1268, 1178, 1225, 1269, 312, 240, 314, 197, 2766 399, 482, 276, 0, 0, 0, 0, 0, 814, 0, 2767 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 2768 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 2769 330, 332, 337, 344, 350, 1174, 1222, 1263, 1175, 1224, 2770 255, 310, 262, 254, 507, 1274, 1254, 1139, 1203, 1262, 2771 0, 0, 221, 1265, 1198, 0, 1227, 0, 1280, 1134, 2772 1218, 0, 1137, 1141, 1276, 1258, 1169, 265, 0, 0, 2773 0, 0, 0, 0, 0, 1195, 1205, 1239, 1243, 1189, 2774 0, 0, 0, 0, 0, 0, 0, 1167, 0, 1214, 2775 0, 0, 0, 1146, 1138, 0, 0, 0, 0, 0, 2776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2779 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 2780 0, 0, 1149, 0, 1168, 1240, 0, 1132, 287, 1143, 2781 388, 247, 0, 438, 1247, 1257, 1190, 549, 1261, 1188, 2782 1187, 1234, 1147, 1253, 1181, 352, 1145, 319, 193, 217, 2783 0, 1179, 398, 446, 458, 1252, 1164, 1173, 245, 1171, 2784 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 2785 1213, 1232, 455, 359, 512, 436, 524, 550, 551, 253, 2786 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 2787 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 2788 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 2789 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 2790 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 2791 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 2792 543, 212, 1144, 542, 394, 511, 520, 381, 370, 211, 2793 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 2794 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 2795 0, 483, 532, 572, 226, 227, 229, 1159, 269, 273, 2796 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 2797 1248, 506, 525, 537, 548, 554, 555, 557, 558, 559, 2798 560, 561, 564, 562, 393, 300, 479, 322, 360, 1237, 2799 1279, 411, 457, 232, 529, 480, 1154, 1158, 1152, 1219, 2800 1153, 1208, 1209, 1155, 1270, 1271, 1272, 573, 574, 575, 2801 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 2802 586, 587, 588, 589, 590, 0, 1241, 1148, 0, 1156, 2803 1157, 1250, 1259, 1260, 591, 371, 470, 526, 324, 336, 2804 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 2805 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 2806 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 2807 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 2808 320, 321, 366, 435, 1212, 192, 213, 355, 1275, 439, 2809 278, 569, 539, 534, 199, 215, 1151, 252, 1162, 1170, 2810 0, 1176, 1184, 1185, 1197, 1199, 1200, 1201, 1202, 1220, 2811 1221, 1223, 1231, 1233, 1236, 1238, 1245, 1256, 1278, 194, 2812 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 2813 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 2814 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 2815 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 2816 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 2817 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 2818 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 2819 523, 553, 521, 565, 547, 424, 365, 1211, 1217, 368, 2820 271, 294, 309, 1226, 538, 486, 219, 451, 280, 243, 2821 1244, 1246, 204, 238, 222, 249, 264, 267, 313, 378, 2822 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 2823 494, 495, 497, 382, 256, 419, 1207, 1235, 363, 503, 2824 504, 305, 383, 0, 0, 0, 1264, 1249, 502, 0, 2825 1192, 1267, 1161, 1180, 1277, 1183, 1186, 1228, 1140, 1206, 2826 402, 1177, 1133, 1165, 1135, 1172, 1136, 1163, 1194, 260, 2827 1160, 1251, 1210, 1266, 353, 257, 1142, 1166, 416, 1182, 2828 198, 1230, 471, 244, 364, 361, 510, 272, 263, 259, 2829 242, 306, 372, 414, 492, 408, 1273, 357, 1216, 0, 2830 481, 387, 0, 0, 0, 1196, 1255, 1204, 1242, 1191, 2831 1229, 1150, 1215, 1268, 1178, 1225, 1269, 312, 240, 314, 2832 197, 399, 482, 276, 0, 0, 0, 0, 0, 190, 2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 2834 0, 0, 237, 0, 0, 0, 338, 347, 346, 327, 2835 328, 330, 332, 337, 344, 350, 1174, 1222, 1263, 1175, 2836 1224, 255, 310, 262, 254, 507, 1274, 1254, 1139, 1203, 2837 1262, 0, 0, 221, 1265, 1198, 0, 1227, 0, 1280, 2838 1134, 1218, 0, 1137, 1141, 1276, 1258, 1169, 265, 0, 2839 0, 0, 0, 0, 0, 0, 1195, 1205, 1239, 1243, 2840 1189, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 2841 1214, 0, 0, 0, 1146, 1138, 0, 0, 0, 0, 2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2845 0, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 2846 0, 0, 0, 1149, 0, 1168, 1240, 0, 1132, 287, 2847 1143, 388, 247, 0, 438, 1247, 1257, 1190, 549, 1261, 2848 1188, 1187, 1234, 1147, 1253, 1181, 352, 1145, 319, 193, 2849 217, 0, 1179, 398, 446, 458, 1252, 1164, 1173, 245, 2850 1171, 456, 412, 527, 225, 274, 443, 418, 454, 426, 2851 277, 1213, 1232, 455, 359, 512, 436, 524, 550, 551, 2852 253, 392, 536, 496, 544, 568, 218, 250, 406, 489, 2853 530, 478, 384, 508, 509, 318, 477, 285, 196, 356, 2854 556, 216, 464, 358, 234, 223, 514, 533, 279, 441, 2855 563, 205, 491, 522, 231, 468, 0, 0, 570, 239, 2856 488, 207, 519, 487, 380, 315, 316, 206, 0, 442, 2857 258, 283, 0, 0, 248, 401, 516, 517, 246, 571, 2858 220, 543, 212, 1144, 542, 394, 511, 520, 381, 370, 2859 211, 518, 379, 369, 323, 342, 343, 270, 296, 433, 2860 362, 434, 295, 297, 390, 389, 391, 200, 531, 0, 2861 201, 0, 483, 532, 572, 226, 227, 229, 1159, 269, 2862 273, 281, 284, 292, 293, 302, 354, 405, 432, 428, 2863 437, 1248, 506, 525, 537, 548, 554, 555, 557, 558, 2864 559, 560, 561, 564, 562, 393, 300, 479, 322, 360, 2865 1237, 1279, 411, 457, 232, 529, 480, 1154, 1158, 1152, 2866 1219, 1153, 1208, 1209, 1155, 1270, 1271, 1272, 573, 574, 2867 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 2868 585, 586, 587, 588, 589, 590, 0, 1241, 1148, 0, 2869 1156, 1157, 1250, 1259, 1260, 591, 371, 470, 526, 324, 2870 336, 339, 329, 348, 0, 349, 325, 326, 331, 333, 2871 334, 335, 340, 341, 345, 351, 241, 203, 377, 385, 2872 505, 301, 208, 209, 210, 498, 499, 500, 501, 540, 2873 541, 545, 447, 448, 449, 450, 282, 535, 298, 453, 2874 452, 320, 321, 366, 435, 1212, 192, 213, 355, 1275, 2875 439, 278, 569, 539, 534, 199, 215, 1151, 252, 1162, 2876 1170, 0, 1176, 1184, 1185, 1197, 1199, 1200, 1201, 1202, 2877 1220, 1221, 1223, 1231, 1233, 1236, 1238, 1245, 1256, 1278, 2878 194, 195, 202, 214, 224, 228, 235, 251, 266, 268, 2879 275, 288, 299, 307, 308, 311, 317, 367, 373, 374, 2880 375, 376, 395, 396, 397, 400, 403, 404, 407, 409, 2881 410, 413, 417, 421, 422, 423, 425, 427, 429, 440, 2882 445, 459, 460, 461, 462, 463, 466, 467, 472, 473, 2883 474, 475, 476, 484, 485, 490, 513, 515, 528, 546, 2884 552, 465, 290, 291, 430, 431, 303, 304, 566, 567, 2885 289, 523, 553, 521, 565, 547, 424, 365, 1211, 1217, 2886 368, 271, 294, 309, 1226, 538, 486, 219, 451, 280, 2887 243, 1244, 1246, 204, 238, 222, 249, 264, 267, 313, 2888 378, 386, 415, 420, 286, 261, 236, 444, 233, 469, 2889 493, 494, 495, 497, 382, 256, 419, 1207, 1235, 363, 2890 503, 504, 305, 383, 0, 0, 0, 0, 0, 502, 2891 0, 691, 0, 0, 0, 0, 0, 0, 0, 0, 2892 0, 402, 0, 0, 0, 0, 678, 0, 0, 0, 2893 260, 683, 0, 0, 0, 353, 257, 0, 0, 416, 2894 0, 198, 0, 471, 244, 364, 361, 510, 272, 263, 2895 259, 242, 306, 372, 414, 492, 408, 690, 357, 0, 2896 0, 481, 387, 0, 0, 0, 0, 0, 686, 687, 2897 0, 0, 0, 0, 0, 0, 0, 0, 312, 240, 2898 314, 197, 399, 482, 276, 0, 91, 0, 0, 830, 2899 814, 780, 781, 818, 831, 832, 833, 834, 819, 0, 2900 230, 820, 821, 237, 822, 0, 779, 718, 720, 719, 2901 737, 738, 739, 740, 741, 742, 743, 716, 827, 835, 2902 836, 0, 255, 310, 262, 254, 507, 0, 0, 1960, 2903 1961, 1962, 0, 0, 221, 0, 0, 0, 0, 0, 2904 0, 0, 660, 675, 0, 689, 0, 0, 0, 265, 2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2906 0, 0, 0, 0, 0, 672, 673, 0, 0, 0, 2907 0, 774, 0, 674, 0, 0, 682, 837, 838, 839, 2908 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 2909 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 2910 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 2911 870, 871, 872, 873, 874, 875, 876, 877, 878, 685, 2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2913 287, 0, 388, 247, 0, 438, 773, 0, 0, 549, 2914 0, 0, 771, 0, 0, 0, 0, 352, 0, 319, 2915 193, 217, 0, 0, 398, 446, 458, 0, 0, 0, 2916 824, 0, 456, 412, 527, 225, 274, 443, 418, 454, 2917 426, 277, 0, 0, 455, 359, 512, 436, 524, 550, 2918 551, 253, 392, 536, 496, 544, 568, 218, 250, 406, 2919 489, 530, 478, 384, 508, 509, 318, 477, 285, 196, 2920 356, 556, 216, 464, 358, 234, 223, 514, 533, 279, 2921 441, 563, 205, 491, 522, 231, 468, 0, 0, 570, 2922 239, 488, 207, 519, 487, 380, 315, 316, 206, 0, 2923 442, 258, 283, 0, 0, 248, 401, 825, 826, 246, 2924 571, 724, 543, 212, 0, 542, 394, 511, 520, 381, 2925 370, 211, 518, 379, 369, 323, 732, 733, 270, 296, 2926 759, 758, 434, 295, 297, 390, 389, 391, 200, 531, 2927 0, 201, 0, 483, 532, 572, 226, 227, 229, 0, 2928 269, 273, 281, 284, 292, 293, 302, 354, 405, 432, 2929 428, 437, 0, 506, 525, 537, 548, 554, 555, 557, 2930 558, 559, 560, 561, 564, 562, 393, 300, 479, 322, 2931 360, 0, 0, 411, 457, 232, 529, 480, 784, 772, 2932 695, 788, 697, 785, 786, 692, 693, 696, 787, 573, 2933 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 2934 584, 585, 586, 587, 588, 589, 590, 0, 775, 681, 2935 680, 0, 688, 0, 714, 715, 717, 721, 722, 723, 2936 734, 735, 736, 744, 746, 747, 745, 748, 749, 750, 2937 753, 754, 755, 756, 751, 752, 757, 698, 702, 699, 2938 700, 701, 713, 703, 704, 705, 706, 707, 708, 709, 2939 710, 711, 712, 798, 799, 800, 801, 802, 803, 727, 2940 731, 730, 728, 729, 725, 726, 679, 192, 213, 355, 2941 0, 439, 278, 569, 539, 534, 199, 215, 789, 252, 2942 790, 0, 0, 794, 0, 0, 0, 796, 795, 0, 2943 797, 763, 762, 0, 0, 791, 792, 0, 793, 0, 2944 0, 194, 195, 202, 214, 224, 228, 235, 251, 266, 2945 268, 275, 288, 299, 307, 308, 311, 317, 367, 373, 2946 374, 375, 376, 395, 396, 397, 400, 403, 404, 407, 2947 409, 410, 413, 417, 421, 422, 423, 425, 427, 429, 2948 440, 445, 459, 460, 461, 462, 463, 466, 467, 472, 2949 473, 474, 475, 476, 484, 485, 490, 513, 515, 528, 2950 546, 552, 465, 804, 805, 806, 807, 808, 809, 810, 2951 811, 289, 523, 553, 521, 565, 547, 424, 365, 0, 2952 0, 368, 271, 294, 309, 0, 538, 486, 219, 451, 2953 280, 243, 829, 0, 204, 238, 222, 249, 264, 267, 2954 313, 378, 386, 415, 420, 286, 261, 236, 444, 233, 2955 469, 493, 494, 495, 497, 382, 256, 419, 383, 0, 2956 363, 503, 504, 305, 502, 0, 691, 0, 0, 0, 2957 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 2958 0, 678, 0, 0, 0, 260, 683, 0, 0, 0, 2959 353, 257, 0, 0, 416, 0, 198, 0, 471, 244, 2960 364, 361, 510, 272, 263, 259, 242, 306, 372, 414, 2961 492, 408, 690, 357, 0, 0, 481, 387, 0, 0, 2962 0, 0, 0, 686, 687, 0, 0, 0, 0, 0, 2963 0, 2112, 0, 312, 240, 314, 197, 399, 482, 276, 2964 0, 91, 0, 0, 830, 814, 780, 781, 818, 831, 2965 832, 833, 834, 819, 0, 230, 820, 821, 237, 822, 2966 0, 779, 718, 720, 719, 737, 738, 739, 740, 741, 2967 742, 743, 716, 827, 835, 836, 2113, 255, 310, 262, 2968 254, 507, 0, 0, 0, 0, 0, 0, 0, 221, 2969 0, 0, 0, 0, 0, 0, 0, 660, 675, 0, 2970 689, 0, 0, 0, 265, 0, 0, 0, 0, 0, 2971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2972 672, 673, 0, 0, 0, 0, 774, 0, 674, 0, 2973 0, 682, 837, 838, 839, 840, 841, 842, 843, 844, 2974 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 2975 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 2976 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 2977 875, 876, 877, 878, 685, 0, 0, 0, 0, 0, 2978 0, 0, 0, 0, 0, 287, 0, 388, 247, 0, 2979 438, 773, 0, 0, 549, 0, 0, 771, 0, 0, 2980 0, 0, 352, 0, 319, 193, 217, 0, 0, 398, 2981 446, 458, 0, 0, 0, 824, 0, 456, 412, 527, 2982 225, 274, 443, 418, 454, 426, 277, 0, 0, 455, 2983 359, 512, 436, 524, 550, 551, 253, 392, 536, 496, 2984 544, 568, 218, 250, 406, 489, 530, 478, 384, 508, 2985 509, 318, 477, 285, 196, 356, 556, 216, 464, 358, 2986 234, 223, 514, 533, 279, 441, 563, 205, 491, 522, 2987 231, 468, 0, 0, 570, 239, 488, 207, 519, 487, 2988 380, 315, 316, 206, 0, 442, 258, 283, 0, 0, 2989 248, 401, 825, 826, 246, 571, 724, 543, 212, 0, 2990 542, 394, 511, 520, 381, 370, 211, 518, 379, 369, 2991 323, 732, 733, 270, 296, 759, 758, 434, 295, 297, 2992 390, 389, 391, 200, 531, 0, 201, 0, 483, 532, 2993 572, 226, 227, 229, 0, 269, 273, 281, 284, 292, 2994 293, 302, 354, 405, 432, 428, 437, 0, 506, 525, 2995 537, 548, 554, 555, 557, 558, 559, 560, 561, 564, 2996 562, 393, 300, 479, 322, 360, 0, 0, 411, 457, 2997 232, 529, 480, 784, 772, 695, 788, 697, 785, 786, 2998 692, 693, 696, 787, 573, 574, 575, 576, 577, 578, 2999 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 3000 589, 590, 0, 775, 681, 680, 0, 688, 0, 714, 3001 715, 717, 721, 722, 723, 734, 735, 736, 744, 746, 3002 747, 745, 748, 749, 750, 753, 754, 755, 756, 751, 3003 752, 757, 698, 702, 699, 700, 701, 713, 703, 704, 3004 705, 706, 707, 708, 709, 710, 711, 712, 798, 799, 3005 800, 801, 802, 803, 727, 731, 730, 728, 729, 725, 3006 726, 679, 192, 213, 355, 0, 439, 278, 569, 539, 3007 534, 199, 215, 789, 252, 790, 0, 0, 794, 0, 3008 0, 0, 796, 795, 0, 797, 763, 762, 0, 0, 3009 791, 792, 0, 793, 0, 0, 194, 195, 202, 214, 3010 224, 228, 235, 251, 266, 268, 275, 288, 299, 307, 3011 308, 311, 317, 367, 373, 374, 375, 376, 395, 396, 3012 397, 400, 403, 404, 407, 409, 410, 413, 417, 421, 3013 422, 423, 425, 427, 429, 440, 445, 459, 460, 461, 3014 462, 463, 466, 467, 472, 473, 474, 475, 476, 484, 3015 485, 490, 513, 515, 528, 546, 552, 465, 804, 805, 3016 806, 807, 808, 809, 810, 811, 289, 523, 553, 521, 3017 565, 547, 424, 365, 0, 0, 368, 271, 294, 309, 3018 0, 538, 486, 219, 451, 280, 243, 829, 0, 204, 3019 238, 222, 249, 264, 267, 313, 378, 386, 415, 420, 3020 286, 261, 236, 444, 233, 469, 493, 494, 495, 497, 3021 382, 256, 419, 0, 383, 363, 503, 504, 305, 82, 3022 502, 0, 691, 0, 0, 0, 0, 0, 0, 0, 3023 0, 0, 402, 0, 0, 0, 0, 678, 0, 0, 3024 0, 260, 683, 0, 0, 0, 353, 257, 0, 0, 3025 416, 0, 198, 0, 471, 244, 364, 361, 510, 272, 3026 263, 259, 242, 306, 372, 414, 492, 408, 690, 357, 3027 0, 0, 481, 387, 0, 0, 0, 0, 0, 686, 3028 687, 0, 0, 0, 0, 0, 0, 0, 0, 312, 3029 240, 314, 197, 399, 482, 276, 0, 91, 0, 0, 3030 830, 814, 780, 781, 818, 831, 832, 833, 834, 819, 3031 0, 230, 820, 821, 237, 822, 0, 779, 718, 720, 3032 719, 737, 738, 739, 740, 741, 742, 743, 716, 827, 3033 835, 836, 0, 255, 310, 262, 254, 507, 0, 0, 3034 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 3035 0, 0, 0, 660, 675, 0, 689, 0, 0, 0, 3036 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3037 0, 0, 0, 0, 0, 0, 672, 673, 0, 0, 3038 0, 0, 774, 0, 674, 0, 0, 682, 837, 838, 3039 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 3040 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 3041 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 3042 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 3043 685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3044 0, 287, 0, 388, 247, 0, 438, 773, 0, 0, 3045 549, 0, 0, 771, 0, 0, 0, 0, 352, 0, 3046 319, 193, 217, 0, 0, 398, 446, 458, 0, 0, 3047 0, 824, 0, 456, 412, 527, 225, 274, 443, 418, 3048 454, 426, 277, 0, 0, 455, 359, 512, 436, 524, 3049 550, 551, 253, 392, 536, 496, 544, 568, 218, 250, 3050 406, 489, 530, 478, 384, 508, 509, 318, 477, 285, 3051 196, 356, 556, 216, 464, 358, 234, 223, 514, 533, 3052 279, 441, 563, 205, 491, 522, 231, 468, 0, 0, 3053 570, 239, 488, 207, 519, 487, 380, 315, 316, 206, 3054 0, 442, 258, 283, 0, 0, 248, 401, 825, 826, 3055 246, 571, 724, 543, 212, 0, 542, 394, 511, 520, 3056 381, 370, 211, 518, 379, 369, 323, 732, 733, 270, 3057 296, 759, 758, 434, 295, 297, 390, 389, 391, 200, 3058 531, 0, 201, 0, 483, 532, 572, 226, 227, 229, 3059 0, 269, 273, 281, 284, 292, 293, 302, 354, 405, 3060 432, 428, 437, 0, 506, 525, 537, 548, 554, 555, 3061 557, 558, 559, 560, 561, 564, 562, 393, 300, 479, 3062 322, 360, 0, 0, 411, 457, 232, 529, 480, 784, 3063 772, 695, 788, 697, 785, 786, 692, 693, 696, 787, 3064 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 3065 583, 584, 585, 586, 587, 588, 589, 590, 0, 775, 3066 681, 680, 0, 688, 0, 714, 715, 717, 721, 722, 3067 723, 734, 735, 736, 744, 746, 747, 745, 748, 749, 3068 750, 753, 754, 755, 756, 751, 752, 757, 698, 702, 3069 699, 700, 701, 713, 703, 704, 705, 706, 707, 708, 3070 709, 710, 711, 712, 798, 799, 800, 801, 802, 803, 3071 727, 731, 730, 728, 729, 725, 726, 679, 192, 213, 3072 355, 90, 439, 278, 569, 539, 534, 199, 215, 789, 3073 252, 790, 0, 0, 794, 0, 0, 0, 796, 795, 3074 0, 797, 763, 762, 0, 0, 791, 792, 0, 793, 3075 0, 0, 194, 195, 202, 214, 224, 228, 235, 251, 3076 266, 268, 275, 288, 299, 307, 308, 311, 317, 367, 3077 373, 374, 375, 376, 395, 396, 397, 400, 403, 404, 3078 407, 409, 410, 413, 417, 421, 422, 423, 425, 427, 3079 429, 440, 445, 459, 460, 461, 462, 463, 466, 467, 3080 472, 473, 474, 475, 476, 484, 485, 490, 513, 515, 3081 528, 546, 552, 465, 804, 805, 806, 807, 808, 809, 3082 810, 811, 289, 523, 553, 521, 565, 547, 424, 365, 3083 0, 0, 368, 271, 294, 309, 0, 538, 486, 219, 3084 451, 280, 243, 829, 0, 204, 238, 222, 249, 264, 3085 267, 313, 378, 386, 415, 420, 286, 261, 236, 444, 3086 233, 469, 493, 494, 495, 497, 382, 256, 419, 383, 3087 0, 363, 503, 504, 305, 502, 0, 691, 0, 0, 3088 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 3089 0, 0, 678, 0, 0, 0, 260, 683, 0, 0, 3090 0, 353, 257, 0, 0, 416, 0, 198, 0, 471, 3091 244, 364, 361, 510, 272, 263, 259, 242, 306, 372, 3092 414, 492, 408, 690, 357, 0, 0, 481, 387, 0, 3093 0, 0, 0, 0, 686, 687, 0, 0, 0, 0, 3094 0, 0, 0, 0, 312, 240, 314, 197, 399, 482, 3095 276, 0, 91, 0, 0, 830, 814, 780, 781, 818, 3096 831, 832, 833, 834, 819, 0, 230, 820, 821, 237, 3097 822, 0, 779, 718, 720, 719, 737, 738, 739, 740, 3098 741, 742, 743, 716, 827, 835, 836, 0, 255, 310, 3099 262, 254, 507, 0, 0, 0, 0, 0, 0, 0, 3100 221, 0, 0, 0, 0, 0, 0, 0, 660, 675, 3101 0, 689, 0, 0, 0, 265, 0, 0, 0, 0, 3102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3103 0, 672, 673, 0, 0, 0, 0, 774, 0, 674, 3104 0, 0, 682, 837, 838, 839, 840, 841, 842, 843, 3105 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 3106 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 3107 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 3108 874, 875, 876, 877, 878, 685, 0, 0, 0, 0, 3109 0, 0, 0, 0, 0, 0, 287, 0, 388, 247, 3110 0, 438, 773, 0, 0, 549, 0, 0, 771, 0, 3111 0, 0, 0, 352, 0, 319, 193, 217, 0, 0, 3112 398, 446, 458, 0, 0, 0, 824, 0, 456, 412, 3113 527, 225, 274, 443, 418, 454, 426, 277, 3433, 0, 3114 455, 359, 512, 436, 524, 550, 551, 253, 392, 536, 3115 496, 544, 568, 218, 250, 406, 489, 530, 478, 384, 3116 508, 509, 318, 477, 285, 196, 356, 556, 216, 464, 3117 358, 234, 223, 514, 533, 279, 441, 563, 205, 491, 3118 522, 231, 468, 0, 0, 570, 239, 488, 207, 519, 3119 487, 380, 315, 316, 206, 0, 442, 258, 283, 0, 3120 0, 248, 401, 825, 826, 246, 571, 724, 543, 212, 3121 0, 542, 394, 511, 520, 381, 370, 211, 518, 379, 3122 369, 323, 732, 733, 270, 296, 759, 758, 434, 295, 3123 297, 390, 389, 391, 200, 531, 0, 201, 0, 483, 3124 532, 572, 226, 227, 229, 0, 269, 273, 281, 284, 3125 292, 293, 302, 354, 405, 432, 428, 437, 0, 506, 3126 525, 537, 548, 554, 555, 557, 558, 559, 560, 561, 3127 564, 562, 393, 300, 479, 322, 360, 0, 0, 411, 3128 457, 232, 529, 480, 784, 772, 695, 788, 697, 785, 3129 786, 692, 693, 696, 787, 573, 574, 575, 576, 577, 3130 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 3131 588, 589, 590, 0, 775, 681, 680, 0, 688, 0, 3132 714, 715, 717, 721, 722, 723, 734, 735, 736, 744, 3133 746, 747, 745, 748, 749, 750, 753, 754, 755, 756, 3134 751, 752, 757, 698, 702, 699, 700, 701, 713, 703, 3135 704, 705, 706, 707, 708, 709, 710, 711, 712, 798, 3136 799, 800, 801, 802, 803, 727, 731, 730, 728, 729, 3137 725, 726, 679, 192, 213, 355, 0, 439, 278, 569, 3138 539, 534, 199, 215, 789, 252, 790, 0, 0, 794, 3139 0, 0, 0, 796, 795, 0, 797, 763, 762, 0, 3140 0, 791, 792, 0, 793, 0, 0, 194, 195, 202, 3141 214, 224, 228, 235, 251, 266, 268, 275, 288, 299, 3142 307, 308, 311, 317, 367, 373, 374, 375, 376, 395, 3143 396, 397, 400, 403, 404, 407, 409, 410, 413, 417, 3144 421, 422, 423, 425, 427, 429, 440, 445, 459, 460, 3145 461, 462, 463, 466, 467, 472, 473, 474, 475, 476, 3146 484, 485, 490, 513, 515, 528, 546, 552, 465, 804, 3147 805, 806, 807, 808, 809, 810, 811, 289, 523, 553, 3148 521, 565, 547, 424, 365, 0, 0, 368, 271, 294, 3149 309, 0, 538, 486, 219, 451, 280, 243, 829, 0, 3150 204, 238, 222, 249, 264, 267, 313, 378, 386, 415, 3151 420, 286, 261, 236, 444, 233, 469, 493, 494, 495, 3152 497, 382, 256, 419, 383, 0, 363, 503, 504, 305, 3153 502, 0, 691, 0, 0, 0, 0, 0, 0, 0, 3154 0, 0, 402, 0, 0, 0, 0, 678, 0, 0, 3155 0, 260, 683, 0, 0, 0, 353, 257, 0, 0, 3156 416, 0, 198, 0, 471, 244, 364, 361, 510, 272, 3157 263, 259, 242, 306, 372, 414, 492, 408, 690, 357, 3158 0, 0, 481, 387, 0, 0, 0, 0, 0, 686, 3159 687, 0, 0, 0, 0, 0, 0, 0, 0, 312, 3160 240, 314, 197, 399, 482, 276, 0, 91, 0, 1523, 3161 830, 814, 780, 781, 818, 831, 832, 833, 834, 819, 3162 0, 230, 820, 821, 237, 822, 0, 779, 718, 720, 3163 719, 737, 738, 739, 740, 741, 742, 743, 716, 827, 3164 835, 836, 0, 255, 310, 262, 254, 507, 0, 0, 3165 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 3166 0, 0, 0, 660, 675, 0, 689, 0, 0, 0, 3167 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3168 0, 0, 0, 0, 0, 0, 672, 673, 0, 0, 3169 0, 0, 774, 0, 674, 0, 0, 682, 837, 838, 3170 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 3171 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 3172 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 3173 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 3174 685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3175 0, 287, 0, 388, 247, 0, 438, 773, 0, 0, 3176 549, 0, 0, 771, 0, 0, 0, 0, 352, 0, 3177 319, 193, 217, 0, 0, 398, 446, 458, 0, 0, 3178 0, 824, 0, 456, 412, 527, 225, 274, 443, 418, 3179 454, 426, 277, 0, 0, 455, 359, 512, 436, 524, 3180 550, 551, 253, 392, 536, 496, 544, 568, 218, 250, 3181 406, 489, 530, 478, 384, 508, 509, 318, 477, 285, 3182 196, 356, 556, 216, 464, 358, 234, 223, 514, 533, 3183 279, 441, 563, 205, 491, 522, 231, 468, 0, 0, 3184 570, 239, 488, 207, 519, 487, 380, 315, 316, 206, 3185 0, 442, 258, 283, 0, 0, 248, 401, 825, 826, 3186 246, 571, 724, 543, 212, 0, 542, 394, 511, 520, 3187 381, 370, 211, 518, 379, 369, 323, 732, 733, 270, 3188 296, 759, 758, 434, 295, 297, 390, 389, 391, 200, 3189 531, 0, 201, 0, 483, 532, 572, 226, 227, 229, 3190 0, 269, 273, 281, 284, 292, 293, 302, 354, 405, 3191 432, 428, 437, 0, 506, 525, 537, 548, 554, 555, 3192 557, 558, 559, 560, 561, 564, 562, 393, 300, 479, 3193 322, 360, 0, 0, 411, 457, 232, 529, 480, 784, 3194 772, 695, 788, 697, 785, 786, 692, 693, 696, 787, 3195 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 3196 583, 584, 585, 586, 587, 588, 589, 590, 0, 775, 3197 681, 680, 0, 688, 0, 714, 715, 717, 721, 722, 3198 723, 734, 735, 736, 744, 746, 747, 745, 748, 749, 3199 750, 753, 754, 755, 756, 751, 752, 757, 698, 702, 3200 699, 700, 701, 713, 703, 704, 705, 706, 707, 708, 3201 709, 710, 711, 712, 798, 799, 800, 801, 802, 803, 3202 727, 731, 730, 728, 729, 725, 726, 679, 192, 213, 3203 355, 0, 439, 278, 569, 539, 534, 199, 215, 789, 3204 252, 790, 0, 0, 794, 0, 0, 0, 796, 795, 3205 0, 797, 763, 762, 0, 0, 791, 792, 0, 793, 3206 0, 0, 194, 195, 202, 214, 224, 228, 235, 251, 3207 266, 268, 275, 288, 299, 307, 308, 311, 317, 367, 3208 373, 374, 375, 376, 395, 396, 397, 400, 403, 404, 3209 407, 409, 410, 413, 417, 421, 422, 423, 425, 427, 3210 429, 440, 445, 459, 460, 461, 462, 463, 466, 467, 3211 472, 473, 474, 475, 476, 484, 485, 490, 513, 515, 3212 528, 546, 552, 465, 804, 805, 806, 807, 808, 809, 3213 810, 811, 289, 523, 553, 521, 565, 547, 424, 365, 3214 0, 0, 368, 271, 294, 309, 0, 538, 486, 219, 3215 451, 280, 243, 829, 0, 204, 238, 222, 249, 264, 3216 267, 313, 378, 386, 415, 420, 286, 261, 236, 444, 3217 233, 469, 493, 494, 495, 497, 382, 256, 419, 383, 3218 0, 363, 503, 504, 305, 502, 0, 691, 0, 0, 3219 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 3220 0, 0, 678, 0, 0, 0, 260, 683, 0, 0, 3221 0, 353, 257, 0, 0, 416, 0, 198, 0, 471, 3222 244, 364, 361, 510, 272, 263, 259, 242, 306, 372, 3223 414, 492, 408, 690, 357, 0, 0, 481, 387, 0, 3224 0, 0, 0, 0, 686, 687, 0, 0, 0, 0, 3225 0, 0, 0, 0, 312, 240, 314, 197, 399, 482, 3226 276, 0, 91, 0, 0, 830, 814, 780, 781, 818, 3227 831, 832, 833, 834, 819, 0, 230, 820, 821, 237, 3228 822, 0, 779, 718, 720, 719, 737, 738, 739, 740, 3229 741, 742, 743, 716, 827, 835, 836, 0, 255, 310, 3230 262, 254, 507, 0, 0, 0, 0, 0, 0, 0, 3231 221, 0, 0, 0, 0, 0, 0, 0, 660, 675, 3232 0, 689, 0, 0, 0, 265, 0, 0, 0, 0, 3233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234 0, 672, 673, 919, 0, 0, 0, 774, 0, 674, 3235 0, 0, 682, 837, 838, 839, 840, 841, 842, 843, 3236 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 3237 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 3238 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 3239 874, 875, 876, 877, 878, 685, 0, 0, 0, 0, 3240 0, 0, 0, 0, 0, 0, 287, 0, 388, 247, 3241 0, 438, 773, 0, 0, 549, 0, 0, 771, 0, 3242 0, 0, 0, 352, 0, 319, 193, 217, 0, 0, 3243 398, 446, 458, 0, 0, 0, 824, 0, 456, 412, 3244 527, 225, 274, 443, 418, 454, 426, 277, 0, 0, 3245 455, 359, 512, 436, 524, 550, 551, 253, 392, 536, 3246 496, 544, 568, 218, 250, 406, 489, 530, 478, 384, 3247 508, 509, 318, 477, 285, 196, 356, 556, 216, 464, 3248 358, 234, 223, 514, 533, 279, 441, 563, 205, 491, 3249 522, 231, 468, 0, 0, 570, 239, 488, 207, 519, 3250 487, 380, 315, 316, 206, 0, 442, 258, 283, 0, 3251 0, 248, 401, 825, 826, 246, 571, 724, 543, 212, 3252 0, 542, 394, 511, 520, 381, 370, 211, 518, 379, 3253 369, 323, 732, 733, 270, 296, 759, 758, 434, 295, 3254 297, 390, 389, 391, 200, 531, 0, 201, 0, 483, 3255 532, 572, 226, 227, 229, 0, 269, 273, 281, 284, 3256 292, 293, 302, 354, 405, 432, 428, 437, 0, 506, 3257 525, 537, 548, 554, 555, 557, 558, 559, 560, 561, 3258 564, 562, 393, 300, 479, 322, 360, 0, 0, 411, 3259 457, 232, 529, 480, 784, 772, 695, 788, 697, 785, 3260 786, 692, 693, 696, 787, 573, 574, 575, 576, 577, 3261 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 3262 588, 589, 590, 0, 775, 681, 680, 0, 688, 0, 3263 714, 715, 717, 721, 722, 723, 734, 735, 736, 744, 3264 746, 747, 745, 748, 749, 750, 753, 754, 755, 756, 3265 751, 752, 757, 698, 702, 699, 700, 701, 713, 703, 3266 704, 705, 706, 707, 708, 709, 710, 711, 712, 798, 3267 799, 800, 801, 802, 803, 727, 731, 730, 728, 729, 3268 725, 726, 679, 192, 213, 355, 0, 439, 278, 569, 3269 539, 534, 199, 215, 789, 252, 790, 0, 0, 794, 3270 0, 0, 0, 796, 795, 0, 797, 763, 762, 0, 3271 0, 791, 792, 0, 793, 0, 0, 194, 195, 202, 3272 214, 224, 228, 235, 251, 266, 268, 275, 288, 299, 3273 307, 308, 311, 317, 367, 373, 374, 375, 376, 395, 3274 396, 397, 400, 403, 404, 407, 409, 410, 413, 417, 3275 421, 422, 423, 425, 427, 429, 440, 445, 459, 460, 3276 461, 462, 463, 466, 467, 472, 473, 474, 475, 476, 3277 484, 485, 490, 513, 515, 528, 546, 552, 465, 804, 3278 805, 806, 807, 808, 809, 810, 811, 289, 523, 553, 3279 521, 565, 547, 424, 365, 0, 0, 368, 271, 294, 3280 309, 0, 538, 486, 219, 451, 280, 243, 829, 0, 3281 204, 238, 222, 249, 264, 267, 313, 378, 386, 415, 3282 420, 286, 261, 236, 444, 233, 469, 493, 494, 495, 3283 497, 382, 256, 419, 383, 0, 363, 503, 504, 305, 3284 502, 0, 691, 0, 0, 0, 0, 0, 0, 0, 3285 0, 0, 402, 0, 0, 0, 0, 678, 0, 0, 3286 0, 260, 683, 0, 0, 0, 353, 257, 0, 0, 3287 416, 0, 198, 0, 471, 244, 364, 361, 510, 272, 3288 263, 259, 242, 306, 372, 414, 492, 408, 690, 357, 3289 0, 0, 481, 387, 0, 0, 0, 0, 0, 686, 3290 687, 0, 0, 0, 0, 0, 0, 0, 0, 312, 3291 240, 314, 197, 399, 482, 276, 0, 91, 0, 0, 3292 830, 814, 780, 781, 818, 831, 832, 833, 834, 819, 3293 0, 230, 820, 821, 237, 822, 0, 779, 718, 720, 3294 719, 737, 738, 739, 740, 741, 742, 743, 716, 827, 3295 835, 836, 0, 255, 310, 262, 254, 507, 0, 0, 3296 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 3297 0, 0, 0, 660, 675, 0, 689, 0, 0, 0, 3298 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3299 0, 0, 0, 0, 0, 0, 672, 673, 0, 0, 3300 0, 0, 774, 0, 674, 0, 0, 682, 837, 838, 3301 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 3302 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 3303 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 3304 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 3305 685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3306 0, 287, 0, 388, 247, 0, 438, 773, 0, 0, 3307 549, 0, 0, 771, 0, 0, 0, 0, 352, 0, 3308 319, 193, 217, 0, 0, 398, 446, 458, 0, 0, 3309 0, 824, 0, 456, 412, 527, 225, 274, 443, 418, 3310 454, 426, 277, 0, 0, 455, 359, 512, 436, 524, 3311 550, 551, 253, 392, 536, 496, 544, 568, 218, 250, 3312 406, 489, 530, 478, 384, 508, 509, 318, 477, 285, 3313 196, 356, 556, 216, 464, 358, 234, 223, 514, 533, 3314 279, 441, 563, 205, 491, 522, 231, 468, 0, 0, 3315 570, 239, 488, 207, 519, 487, 380, 315, 316, 206, 3316 0, 442, 258, 283, 0, 0, 248, 401, 825, 826, 3317 246, 571, 724, 543, 212, 0, 542, 394, 511, 520, 3318 381, 370, 211, 518, 379, 369, 323, 732, 733, 270, 3319 296, 759, 758, 434, 295, 297, 390, 389, 391, 200, 3320 531, 0, 201, 0, 483, 532, 572, 226, 227, 229, 3321 0, 269, 273, 281, 284, 292, 293, 302, 354, 405, 3322 432, 428, 437, 0, 506, 525, 537, 548, 554, 555, 3323 557, 558, 559, 560, 561, 564, 562, 393, 300, 479, 3324 322, 360, 0, 0, 411, 457, 232, 529, 480, 784, 3325 772, 695, 788, 697, 785, 786, 692, 693, 696, 787, 3326 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 3327 583, 584, 585, 586, 587, 588, 589, 590, 0, 775, 3328 681, 680, 0, 688, 0, 714, 715, 717, 721, 722, 3329 723, 734, 735, 736, 744, 746, 747, 745, 748, 749, 3330 750, 753, 754, 755, 756, 751, 752, 757, 698, 702, 3331 699, 700, 701, 713, 703, 704, 705, 706, 707, 708, 3332 709, 710, 711, 712, 798, 799, 800, 801, 802, 803, 3333 727, 731, 730, 728, 729, 725, 726, 679, 192, 213, 3334 355, 0, 439, 278, 569, 539, 534, 199, 215, 789, 3335 252, 790, 0, 0, 794, 0, 0, 0, 796, 795, 3336 0, 797, 763, 762, 0, 0, 791, 792, 0, 793, 3337 0, 0, 194, 195, 202, 214, 224, 228, 235, 251, 3338 266, 268, 275, 288, 299, 307, 308, 311, 317, 367, 3339 373, 374, 375, 376, 395, 396, 397, 400, 403, 404, 3340 407, 409, 410, 413, 417, 421, 422, 423, 425, 427, 3341 429, 440, 445, 459, 460, 461, 462, 463, 466, 467, 3342 472, 473, 474, 475, 476, 484, 485, 490, 513, 515, 3343 528, 546, 552, 465, 804, 805, 806, 807, 808, 809, 3344 810, 811, 289, 523, 553, 521, 565, 547, 424, 365, 3345 0, 0, 368, 271, 294, 309, 0, 538, 486, 219, 3346 451, 280, 243, 829, 0, 204, 238, 222, 249, 264, 3347 267, 313, 378, 386, 415, 420, 286, 261, 236, 444, 3348 233, 469, 493, 494, 495, 497, 382, 256, 419, 383, 3349 0, 363, 503, 504, 305, 502, 0, 691, 0, 0, 3350 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 3351 0, 0, 678, 0, 0, 0, 260, 683, 0, 0, 3352 0, 353, 257, 0, 0, 416, 0, 198, 0, 471, 3353 244, 364, 361, 510, 272, 263, 259, 242, 306, 372, 3354 414, 492, 408, 690, 357, 0, 0, 481, 387, 0, 3355 0, 0, 0, 0, 686, 687, 0, 0, 0, 0, 3356 0, 0, 0, 0, 312, 240, 314, 197, 399, 482, 3357 276, 0, 91, 0, 0, 830, 814, 780, 781, 818, 3358 831, 832, 833, 834, 819, 0, 230, 820, 821, 237, 3359 822, 0, 779, 718, 720, 719, 737, 738, 739, 740, 3360 741, 742, 743, 716, 827, 835, 836, 0, 255, 310, 3361 262, 254, 507, 0, 0, 0, 0, 0, 0, 0, 3362 221, 0, 0, 0, 0, 0, 0, 0, 0, 675, 3363 0, 689, 0, 0, 0, 265, 0, 0, 0, 0, 3364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3365 0, 672, 673, 0, 0, 0, 0, 774, 0, 674, 3366 0, 0, 682, 837, 838, 839, 840, 841, 842, 843, 3367 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 3368 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 3369 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 3370 874, 875, 876, 877, 878, 685, 0, 0, 0, 0, 3371 0, 0, 0, 0, 0, 0, 287, 0, 388, 247, 3372 0, 438, 773, 0, 0, 549, 0, 0, 771, 0, 3373 0, 0, 0, 352, 0, 319, 193, 217, 0, 0, 3374 398, 446, 458, 0, 0, 0, 824, 0, 456, 412, 3375 527, 225, 274, 443, 418, 454, 426, 277, 0, 0, 3376 455, 359, 512, 436, 524, 550, 551, 253, 392, 536, 3377 496, 544, 568, 218, 250, 406, 489, 530, 478, 384, 3378 508, 509, 318, 477, 285, 196, 356, 556, 216, 464, 3379 358, 234, 223, 514, 533, 279, 441, 563, 205, 491, 3380 522, 231, 468, 0, 0, 570, 239, 488, 207, 519, 3381 487, 380, 315, 316, 206, 0, 442, 258, 283, 0, 3382 0, 248, 401, 825, 826, 246, 571, 724, 543, 212, 3383 0, 542, 394, 511, 520, 381, 370, 211, 518, 379, 3384 369, 323, 732, 733, 270, 296, 759, 758, 434, 295, 3385 297, 390, 389, 391, 200, 531, 0, 201, 0, 483, 3386 532, 572, 226, 227, 229, 0, 269, 273, 281, 284, 3387 292, 293, 302, 354, 405, 432, 428, 437, 0, 506, 3388 525, 537, 548, 554, 555, 557, 558, 559, 560, 561, 3389 564, 562, 393, 300, 479, 322, 360, 0, 0, 411, 3390 457, 232, 529, 480, 784, 772, 695, 788, 697, 785, 3391 786, 692, 693, 696, 787, 573, 574, 575, 576, 577, 3392 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 3393 588, 589, 590, 0, 775, 681, 680, 0, 688, 0, 3394 714, 715, 717, 721, 722, 723, 734, 735, 736, 744, 3395 746, 747, 745, 748, 749, 750, 753, 754, 755, 756, 3396 751, 752, 757, 698, 702, 699, 700, 701, 713, 703, 3397 704, 705, 706, 707, 708, 709, 710, 711, 712, 798, 3398 799, 800, 801, 802, 803, 727, 731, 730, 728, 729, 3399 725, 726, 679, 192, 213, 355, 0, 439, 278, 569, 3400 539, 534, 199, 215, 789, 252, 790, 0, 0, 794, 3401 0, 0, 0, 796, 795, 0, 797, 763, 762, 0, 3402 0, 791, 792, 0, 793, 0, 0, 194, 195, 202, 3403 214, 224, 228, 235, 251, 266, 268, 275, 288, 299, 3404 307, 308, 311, 317, 367, 373, 374, 375, 376, 395, 3405 396, 397, 400, 403, 404, 407, 409, 410, 413, 417, 3406 421, 422, 423, 425, 427, 429, 440, 445, 459, 460, 3407 461, 462, 463, 466, 467, 472, 473, 474, 475, 476, 3408 484, 485, 490, 513, 515, 528, 546, 552, 465, 804, 3409 805, 806, 807, 808, 809, 810, 811, 289, 523, 553, 3410 521, 565, 547, 424, 365, 0, 0, 368, 271, 294, 3411 309, 0, 538, 486, 219, 451, 280, 243, 829, 0, 3412 204, 238, 222, 249, 264, 267, 313, 378, 386, 415, 3413 420, 286, 261, 236, 444, 233, 469, 493, 494, 495, 3414 497, 382, 256, 419, 383, 0, 363, 503, 504, 305, 3415 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3416 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 3417 0, 260, 0, 0, 0, 0, 353, 257, 0, 0, 3418 416, 0, 198, 0, 471, 244, 364, 361, 510, 272, 3419 263, 259, 242, 306, 372, 414, 492, 408, 0, 357, 3420 0, 0, 481, 387, 0, 0, 0, 0, 0, 0, 3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 3422 240, 314, 197, 399, 482, 276, 0, 0, 0, 0, 3423 0, 638, 0, 0, 0, 0, 0, 0, 0, 0, 3424 0, 230, 0, 0, 237, 0, 0, 0, 338, 347, 3425 346, 327, 328, 330, 332, 337, 344, 350, 0, 0, 3426 0, 0, 0, 255, 310, 262, 254, 507, 0, 0, 3427 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 3428 1337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3429 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3430 0, 0, 0, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 3431 1346, 1345, 1347, 1348, 0, 0, 0, 0, 0, 0, 3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3437 0, 287, 0, 388, 247, 0, 438, 0, 0, 0, 3438 549, 0, 0, 0, 0, 0, 0, 0, 352, 0, 3439 319, 193, 217, 0, 0, 398, 446, 458, 0, 0, 3440 0, 245, 0, 456, 412, 527, 225, 274, 443, 418, 3441 454, 426, 277, 0, 0, 455, 359, 512, 436, 524, 3442 550, 551, 253, 392, 536, 496, 544, 568, 218, 250, 3443 406, 489, 530, 478, 384, 508, 509, 318, 477, 285, 3444 196, 356, 556, 216, 464, 358, 234, 223, 514, 533, 3445 279, 441, 563, 205, 491, 522, 231, 468, 0, 0, 3446 570, 239, 488, 207, 519, 487, 380, 315, 316, 206, 3447 0, 442, 258, 283, 0, 0, 248, 401, 516, 517, 3448 246, 571, 220, 543, 212, 0, 542, 394, 511, 520, 3449 381, 370, 211, 518, 379, 369, 323, 342, 343, 270, 3450 296, 433, 362, 434, 295, 297, 390, 389, 391, 200, 3451 531, 0, 201, 0, 483, 532, 572, 226, 227, 229, 3452 0, 269, 273, 281, 284, 292, 293, 302, 354, 405, 3453 432, 428, 437, 0, 506, 525, 537, 548, 554, 555, 3454 557, 558, 559, 560, 561, 564, 562, 393, 300, 479, 3455 322, 360, 0, 0, 411, 457, 232, 529, 480, 0, 3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3457 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 3458 583, 584, 585, 586, 587, 588, 589, 590, 0, 0, 3459 0, 0, 0, 0, 0, 0, 0, 591, 371, 470, 3460 526, 324, 336, 339, 329, 348, 0, 349, 325, 326, 3461 331, 333, 334, 335, 340, 341, 345, 351, 241, 203, 3462 377, 385, 505, 301, 208, 209, 210, 498, 499, 500, 3463 501, 540, 541, 545, 447, 448, 449, 450, 282, 535, 3464 298, 453, 452, 320, 321, 366, 435, 0, 192, 213, 3465 355, 0, 439, 278, 569, 539, 534, 199, 215, 0, 3466 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3468 0, 0, 194, 195, 202, 214, 224, 228, 235, 251, 3469 266, 268, 275, 288, 299, 307, 308, 311, 317, 367, 3470 373, 374, 375, 376, 395, 396, 397, 400, 403, 404, 3471 407, 409, 410, 413, 417, 421, 422, 423, 425, 427, 3472 429, 440, 445, 459, 460, 461, 462, 463, 466, 467, 3473 472, 473, 474, 475, 476, 484, 485, 490, 513, 515, 3474 528, 546, 552, 465, 290, 291, 430, 431, 303, 304, 3475 566, 567, 289, 523, 553, 521, 565, 547, 424, 365, 3476 0, 0, 368, 271, 294, 309, 0, 538, 486, 219, 3477 451, 280, 243, 0, 0, 204, 238, 222, 249, 264, 3478 267, 313, 378, 386, 415, 420, 286, 261, 236, 444, 3479 233, 469, 493, 494, 495, 497, 382, 256, 419, 383, 3480 0, 363, 503, 504, 305, 502, 0, 0, 0, 0, 3481 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 3482 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, 3483 0, 353, 257, 0, 0, 416, 0, 198, 0, 471, 3484 244, 364, 361, 510, 272, 263, 259, 242, 306, 372, 3485 414, 492, 408, 0, 357, 0, 0, 481, 387, 0, 3486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3487 0, 0, 0, 0, 312, 240, 314, 197, 399, 482, 3488 276, 0, 0, 0, 0, 0, 638, 0, 0, 0, 3489 0, 0, 0, 0, 0, 0, 230, 0, 0, 237, 3490 0, 0, 0, 338, 347, 346, 327, 328, 330, 332, 3491 337, 344, 350, 0, 0, 0, 0, 0, 255, 310, 3492 262, 254, 507, 0, 0, 0, 0, 0, 0, 0, 3493 221, 0, 990, 0, 0, 0, 0, 0, 0, 0, 3494 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 3495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3502 0, 0, 0, 0, 0, 0, 287, 0, 388, 247, 3503 0, 438, 0, 0, 989, 549, 0, 0, 0, 0, 3504 0, 986, 987, 352, 947, 319, 193, 217, 980, 984, 3505 398, 446, 458, 0, 0, 0, 245, 0, 456, 412, 3506 527, 225, 274, 443, 418, 454, 426, 277, 0, 0, 3507 455, 359, 512, 436, 524, 550, 551, 253, 392, 536, 3508 496, 544, 568, 218, 250, 406, 489, 530, 478, 384, 3509 508, 509, 318, 477, 285, 196, 356, 556, 216, 464, 3510 358, 234, 223, 514, 533, 279, 441, 563, 205, 491, 3511 522, 231, 468, 0, 0, 570, 239, 488, 207, 519, 3512 487, 380, 315, 316, 206, 0, 442, 258, 283, 0, 3513 0, 248, 401, 516, 517, 246, 571, 220, 543, 212, 3514 0, 542, 394, 511, 520, 381, 370, 211, 518, 379, 3515 369, 323, 342, 343, 270, 296, 433, 362, 434, 295, 3516 297, 390, 389, 391, 200, 531, 0, 201, 0, 483, 3517 532, 572, 226, 227, 229, 0, 269, 273, 281, 284, 3518 292, 293, 302, 354, 405, 432, 428, 437, 0, 506, 3519 525, 537, 548, 554, 555, 557, 558, 559, 560, 561, 3520 564, 562, 393, 300, 479, 322, 360, 0, 0, 411, 3521 457, 232, 529, 480, 0, 0, 0, 0, 0, 0, 3522 0, 0, 0, 0, 0, 573, 574, 575, 576, 577, 3523 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 3524 588, 589, 590, 0, 0, 0, 0, 0, 0, 0, 3525 0, 0, 591, 371, 470, 526, 324, 336, 339, 329, 3526 348, 0, 349, 325, 326, 331, 333, 334, 335, 340, 3527 341, 345, 351, 241, 203, 377, 385, 505, 301, 208, 3528 209, 210, 498, 499, 500, 501, 540, 541, 545, 447, 3529 448, 449, 450, 282, 535, 298, 453, 452, 320, 321, 3530 366, 435, 0, 192, 213, 355, 0, 439, 278, 569, 3531 539, 534, 199, 215, 0, 252, 0, 0, 0, 0, 3532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3533 0, 0, 0, 0, 0, 0, 0, 194, 195, 202, 3534 214, 224, 228, 235, 251, 266, 268, 275, 288, 299, 3535 307, 308, 311, 317, 367, 373, 374, 375, 376, 395, 3536 396, 397, 400, 403, 404, 407, 409, 410, 413, 417, 3537 421, 422, 423, 425, 427, 429, 440, 445, 459, 460, 3538 461, 462, 463, 466, 467, 472, 473, 474, 475, 476, 3539 484, 485, 490, 513, 515, 528, 546, 552, 465, 290, 3540 291, 430, 431, 303, 304, 566, 567, 289, 523, 553, 3541 521, 565, 547, 424, 365, 0, 0, 368, 271, 294, 3542 309, 0, 538, 486, 219, 451, 280, 243, 0, 0, 3543 204, 238, 222, 249, 264, 267, 313, 378, 386, 415, 3544 420, 286, 261, 236, 444, 233, 469, 493, 494, 495, 3545 497, 382, 256, 419, 383, 0, 363, 503, 504, 305, 3546 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3547 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 3548 0, 260, 0, 0, 0, 0, 353, 257, 0, 0, 3549 416, 0, 198, 0, 471, 244, 364, 361, 510, 272, 3550 263, 259, 242, 306, 372, 414, 492, 408, 0, 357, 3551 0, 0, 481, 387, 0, 0, 0, 0, 0, 0, 3552 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 3553 240, 314, 197, 399, 482, 276, 0, 0, 0, 0, 3554 1486, 814, 0, 0, 1483, 0, 0, 0, 0, 1481, 3555 0, 230, 1482, 1480, 237, 1485, 0, 779, 338, 347, 3556 346, 327, 328, 330, 332, 337, 344, 350, 0, 0, 3557 0, 0, 0, 255, 310, 262, 254, 507, 0, 0, 3558 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 3559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3560 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3568 0, 287, 0, 388, 247, 0, 438, 0, 0, 0, 3569 549, 0, 0, 0, 0, 0, 0, 0, 352, 0, 3570 319, 193, 217, 0, 0, 398, 446, 458, 0, 0, 3571 0, 245, 0, 456, 412, 527, 225, 274, 443, 418, 3572 454, 426, 277, 0, 0, 455, 359, 512, 436, 524, 3573 550, 551, 253, 392, 536, 496, 544, 568, 218, 250, 3574 406, 489, 530, 478, 384, 508, 509, 318, 477, 285, 3575 196, 356, 556, 216, 464, 358, 234, 223, 514, 533, 3576 279, 441, 563, 205, 491, 522, 231, 468, 0, 0, 3577 570, 239, 488, 207, 519, 487, 380, 315, 316, 206, 3578 0, 442, 258, 283, 0, 0, 248, 401, 516, 517, 3579 246, 571, 220, 543, 212, 0, 542, 394, 511, 520, 3580 381, 370, 211, 518, 379, 369, 323, 342, 343, 270, 3581 296, 433, 362, 434, 295, 297, 390, 389, 391, 200, 3582 531, 0, 201, 0, 483, 532, 572, 226, 227, 229, 3583 0, 269, 273, 281, 284, 292, 293, 302, 354, 405, 3584 432, 428, 437, 0, 506, 525, 537, 548, 554, 555, 3585 557, 558, 559, 560, 561, 564, 562, 393, 300, 479, 3586 322, 360, 0, 0, 411, 457, 232, 529, 480, 0, 3587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3588 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 3589 583, 584, 585, 586, 587, 588, 589, 590, 0, 0, 3590 0, 0, 0, 0, 0, 0, 0, 591, 371, 470, 3591 526, 324, 336, 339, 329, 348, 0, 349, 325, 326, 3592 331, 333, 334, 335, 340, 341, 345, 351, 241, 203, 3593 377, 385, 505, 301, 208, 209, 210, 498, 499, 500, 3594 501, 540, 541, 545, 447, 448, 449, 450, 282, 535, 3595 298, 453, 452, 320, 321, 366, 435, 0, 192, 213, 3596 355, 0, 439, 278, 569, 539, 534, 199, 215, 0, 3597 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3599 0, 0, 194, 195, 202, 214, 224, 228, 235, 251, 3600 266, 268, 275, 288, 299, 307, 308, 311, 317, 367, 3601 373, 374, 375, 376, 395, 396, 397, 400, 403, 404, 3602 407, 409, 410, 413, 417, 421, 422, 423, 425, 427, 3603 429, 440, 445, 459, 460, 461, 462, 463, 466, 467, 3604 472, 473, 474, 475, 476, 484, 485, 490, 513, 515, 3605 528, 546, 552, 465, 290, 291, 430, 431, 303, 304, 3606 566, 567, 289, 523, 553, 521, 565, 547, 424, 365, 3607 0, 0, 368, 271, 294, 309, 0, 538, 486, 219, 3608 451, 280, 243, 0, 0, 204, 238, 222, 249, 264, 3609 267, 313, 378, 386, 415, 420, 286, 261, 236, 444, 3610 233, 469, 493, 494, 495, 497, 382, 256, 419, 0, 3611 383, 363, 503, 504, 305, 82, 502, 0, 0, 0, 3612 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 3613 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 3614 0, 0, 353, 257, 0, 0, 416, 0, 198, 0, 3615 471, 244, 364, 361, 510, 272, 263, 259, 242, 306, 3616 372, 414, 492, 408, 0, 357, 0, 0, 481, 387, 3617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3618 0, 0, 0, 0, 0, 312, 240, 314, 197, 399, 3619 482, 276, 0, 91, 0, 0, 0, 190, 0, 0, 3620 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, 3621 237, 0, 0, 0, 338, 347, 346, 327, 328, 330, 3622 332, 337, 344, 350, 0, 0, 0, 0, 0, 255, 3623 310, 262, 254, 507, 0, 0, 0, 0, 0, 0, 3624 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 3625 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 3626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3633 0, 0, 0, 0, 0, 0, 0, 287, 0, 388, 3634 247, 0, 438, 0, 0, 0, 549, 0, 0, 0, 3635 0, 0, 0, 0, 352, 0, 319, 193, 217, 0, 3636 0, 398, 446, 458, 0, 0, 0, 245, 0, 456, 3637 412, 527, 225, 274, 443, 418, 454, 426, 277, 0, 3638 0, 455, 359, 512, 436, 524, 550, 551, 253, 392, 3639 536, 496, 544, 568, 218, 250, 406, 489, 530, 478, 3640 384, 508, 509, 318, 477, 285, 196, 356, 556, 216, 3641 464, 358, 234, 223, 514, 533, 279, 441, 563, 205, 3642 491, 522, 231, 468, 0, 0, 570, 239, 488, 207, 3643 519, 487, 380, 315, 316, 206, 0, 442, 258, 283, 3644 0, 0, 248, 401, 516, 517, 246, 571, 220, 543, 3645 212, 0, 542, 394, 511, 520, 381, 370, 211, 518, 3646 379, 369, 323, 342, 343, 270, 296, 433, 362, 434, 3647 295, 297, 390, 389, 391, 200, 531, 0, 201, 0, 3648 483, 532, 572, 226, 227, 229, 0, 269, 273, 281, 3649 284, 292, 293, 302, 354, 405, 432, 428, 437, 0, 3650 506, 525, 537, 548, 554, 555, 557, 558, 559, 560, 3651 561, 564, 562, 393, 300, 479, 322, 360, 0, 0, 3652 411, 457, 232, 529, 480, 0, 0, 0, 0, 0, 3653 0, 0, 0, 0, 0, 0, 573, 574, 575, 576, 3654 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 3655 587, 588, 589, 590, 0, 0, 0, 0, 0, 0, 3656 0, 0, 0, 591, 371, 470, 526, 324, 336, 339, 3657 329, 348, 0, 349, 325, 326, 331, 333, 334, 335, 3658 340, 341, 345, 351, 241, 203, 377, 385, 505, 301, 3659 208, 209, 210, 498, 499, 500, 501, 540, 541, 545, 3660 447, 448, 449, 450, 282, 535, 298, 453, 452, 320, 3661 321, 366, 435, 0, 192, 213, 355, 90, 439, 278, 3662 569, 539, 534, 199, 215, 0, 252, 0, 0, 0, 3663 0, 0, 0, 2099, 0, 0, 2098, 0, 0, 0, 3664 0, 0, 0, 0, 0, 0, 0, 0, 194, 195, 3665 202, 214, 224, 228, 235, 251, 266, 268, 275, 288, 3666 299, 307, 308, 311, 317, 367, 373, 374, 375, 376, 3667 395, 396, 397, 400, 403, 404, 407, 409, 410, 413, 3668 417, 421, 422, 423, 425, 427, 429, 440, 445, 459, 3669 460, 461, 462, 463, 466, 467, 472, 473, 474, 475, 3670 476, 484, 485, 490, 513, 515, 528, 546, 552, 465, 3671 290, 291, 430, 431, 303, 304, 566, 567, 289, 523, 3672 553, 521, 565, 547, 424, 365, 0, 0, 368, 271, 3673 294, 309, 0, 538, 486, 219, 451, 280, 243, 0, 3674 0, 204, 238, 222, 249, 264, 267, 313, 378, 386, 3675 415, 420, 286, 261, 236, 444, 233, 469, 493, 494, 3676 495, 497, 382, 256, 419, 1542, 0, 363, 503, 504, 3677 305, 502, 0, 0, 0, 0, 0, 0, 0, 0, 3678 0, 0, 0, 402, 0, 0, 0, 1544, 0, 0, 3679 0, 0, 260, 0, 0, 0, 0, 353, 257, 0, 3680 0, 416, 0, 198, 0, 471, 244, 364, 361, 510, 3681 272, 263, 259, 242, 306, 372, 414, 492, 408, 0, 3682 357, 0, 0, 481, 387, 0, 0, 0, 0, 0, 3683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3684 312, 240, 314, 197, 399, 482, 276, 0, 0, 0, 3685 0, 1546, 638, 0, 0, 0, 0, 0, 0, 0, 3686 0, 0, 230, 0, 0, 237, 0, 0, 0, 338, 3687 347, 346, 327, 328, 330, 332, 337, 344, 350, 0, 3688 0, 0, 0, 0, 255, 310, 262, 254, 507, 0, 3689 0, 0, 0, 0, 0, 0, 221, 0, 0, 0, 3690 1318, 0, 1319, 1320, 0, 0, 0, 0, 0, 0, 3691 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 3692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3699 0, 0, 287, 0, 388, 247, 0, 438, 0, 0, 3700 0, 549, 0, 0, 0, 0, 0, 0, 0, 352, 3701 0, 319, 193, 217, 0, 0, 398, 446, 458, 0, 3702 0, 0, 245, 0, 456, 412, 527, 225, 274, 443, 3703 418, 454, 426, 277, 0, 0, 455, 359, 512, 436, 3704 524, 550, 551, 253, 392, 536, 496, 544, 568, 218, 3705 250, 406, 489, 530, 478, 384, 508, 509, 318, 477, 3706 285, 196, 356, 556, 216, 464, 358, 234, 223, 514, 3707 533, 279, 441, 563, 205, 491, 522, 231, 468, 0, 3708 0, 570, 239, 488, 207, 519, 487, 380, 315, 316, 3709 206, 0, 442, 258, 283, 0, 0, 248, 401, 516, 3710 517, 246, 571, 220, 543, 212, 0, 542, 394, 511, 3711 520, 381, 370, 211, 518, 379, 369, 323, 342, 343, 3712 270, 296, 433, 362, 434, 295, 297, 390, 389, 391, 3713 200, 531, 0, 201, 0, 483, 532, 572, 226, 227, 3714 229, 0, 269, 273, 281, 284, 292, 293, 302, 354, 3715 405, 432, 428, 437, 0, 506, 525, 537, 548, 554, 3716 555, 557, 558, 559, 560, 561, 564, 562, 393, 300, 3717 479, 322, 360, 0, 0, 411, 457, 232, 529, 480, 3718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3719 0, 573, 574, 575, 576, 577, 578, 579, 580, 581, 3720 582, 583, 584, 585, 586, 587, 588, 589, 590, 0, 3721 0, 0, 0, 0, 0, 0, 0, 0, 591, 371, 3722 470, 526, 324, 336, 339, 329, 348, 0, 349, 325, 3723 326, 331, 333, 334, 335, 340, 341, 345, 351, 241, 3724 203, 377, 385, 505, 301, 208, 209, 210, 498, 499, 3725 500, 501, 540, 541, 545, 447, 448, 449, 450, 282, 3726 535, 298, 453, 452, 320, 321, 366, 435, 0, 192, 3727 213, 355, 0, 439, 278, 569, 539, 534, 199, 215, 3728 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 3729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3730 0, 0, 0, 194, 195, 202, 214, 224, 228, 235, 3731 251, 266, 268, 275, 288, 299, 307, 308, 311, 317, 3732 367, 373, 374, 375, 376, 395, 396, 397, 400, 403, 3733 404, 407, 409, 410, 413, 417, 421, 422, 423, 425, 3734 427, 429, 440, 445, 459, 460, 461, 462, 463, 466, 3735 467, 472, 473, 474, 475, 476, 484, 485, 490, 513, 3736 515, 528, 546, 552, 465, 290, 291, 430, 431, 303, 3737 304, 566, 567, 289, 523, 553, 521, 565, 547, 424, 3738 365, 0, 0, 368, 271, 294, 309, 0, 538, 486, 3739 219, 451, 280, 243, 0, 0, 204, 238, 222, 249, 3740 264, 267, 313, 378, 386, 415, 420, 286, 261, 236, 3741 444, 233, 469, 493, 494, 495, 497, 382, 256, 419, 3742 0, 383, 363, 503, 504, 305, 82, 502, 0, 0, 3743 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 3744 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 3745 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 3746 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 3747 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 3748 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3749 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 3750 399, 482, 276, 0, 91, 0, 1523, 0, 638, 0, 3751 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 3752 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 3753 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 3754 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 3755 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 3756 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 3757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3764 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 3765 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 3766 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 3767 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 3768 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 3769 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 3770 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 3771 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 3772 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 3773 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 3774 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 3775 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 3776 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 3777 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 3778 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 3779 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 3780 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 3781 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 3782 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 3783 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 3784 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 3785 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 3786 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 3787 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 3788 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 3789 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 3790 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 3791 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 3792 320, 321, 366, 435, 0, 192, 213, 355, 90, 439, 3793 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 3794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3795 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 3796 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 3797 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 3798 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 3799 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 3800 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 3801 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 3802 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 3803 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 3804 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 3805 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 3806 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 3807 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 3808 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 3809 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 3810 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 3811 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 3812 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 3813 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 3814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3815 0, 312, 240, 314, 197, 399, 482, 276, 0, 91, 3816 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 3817 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 3818 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 3819 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 3820 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 3821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3822 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 3823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3830 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 3831 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 3832 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 3833 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 3834 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 3835 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 3836 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 3837 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 3838 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 3839 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 3840 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 3841 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 3842 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 3843 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 3844 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 3845 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 3846 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 3847 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 3848 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 3849 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3850 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 3851 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 3852 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 3853 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 3854 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 3855 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 3856 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 3857 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 3858 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 3859 215, 0, 252, 0, 0, 0, 0, 0, 0, 2099, 3860 0, 0, 2098, 0, 0, 0, 0, 0, 0, 0, 3861 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 3862 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 3863 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 3864 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 3865 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 3866 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 3867 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 3868 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 3869 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 3870 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 3871 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 3872 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 3873 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 3874 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 3875 0, 0, 0, 2049, 0, 0, 0, 0, 260, 0, 3876 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 3877 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 3878 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 3879 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3880 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 3881 399, 482, 276, 0, 0, 0, 0, 1725, 190, 0, 3882 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 3883 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 3884 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 3885 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 3886 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 3887 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 3888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3895 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 3896 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 3897 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 3898 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 3899 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 3900 0, 2047, 455, 359, 512, 436, 524, 550, 551, 253, 3901 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 3902 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 3903 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 3904 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 3905 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 3906 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 3907 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 3908 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 3909 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 3910 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 3911 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 3912 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 3913 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 3914 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 3915 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 3916 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 3917 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 3918 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 3919 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 3920 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 3921 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 3922 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 3923 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 3924 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 3925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3926 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 3927 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 3928 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 3929 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 3930 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 3931 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 3932 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 3933 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 3934 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 3935 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 3936 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 3937 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 3938 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 3939 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 3940 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 3941 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 3942 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 3943 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 3944 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 3945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3946 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 3947 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 3948 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 3949 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 3950 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 3951 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 3952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3953 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 3954 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 3955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3961 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 3962 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 3963 352, 947, 319, 193, 217, 945, 0, 398, 446, 458, 3964 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 3965 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 3966 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 3967 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 3968 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 3969 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 3970 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 3971 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 3972 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 3973 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 3974 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 3975 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 3976 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 3977 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 3978 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 3979 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 3980 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3981 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 3982 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 3983 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 3984 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 3985 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 3986 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 3987 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 3988 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 3989 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 3990 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 3991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3992 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 3993 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 3994 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 3995 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 3996 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 3997 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 3998 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 3999 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4000 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4001 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4002 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4003 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4004 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4005 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4006 0, 0, 0, 2049, 0, 0, 0, 0, 260, 0, 4007 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4008 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4009 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4010 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4011 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4012 399, 482, 276, 0, 0, 0, 0, 1725, 190, 0, 4013 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 4014 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 4015 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4016 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4017 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4018 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4026 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4027 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4028 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4029 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4030 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4031 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4032 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4033 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4034 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4035 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4036 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4037 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4038 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4039 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4040 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4041 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4042 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4043 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4044 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4045 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4046 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4047 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4048 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4049 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4050 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4051 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4052 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4053 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4054 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4055 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4057 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4058 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4059 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4060 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4061 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4062 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4063 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4064 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4065 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4066 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4067 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4068 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4069 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4070 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 4071 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 4072 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 4073 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4074 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4075 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4077 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4078 0, 1523, 0, 638, 0, 0, 0, 0, 0, 0, 4079 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4080 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4081 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4082 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 4083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4084 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 4085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4092 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 4093 0, 0, 549, 0, 0, 0, 3343, 0, 0, 0, 4094 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 4095 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 4096 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 4097 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 4098 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 4099 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 4100 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 4101 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 4102 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 4103 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 4104 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 4105 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 4106 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 4107 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 4108 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 4109 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 4110 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 4111 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4112 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 4113 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 4114 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 4115 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 4116 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 4117 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 4118 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 4119 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 4120 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 4121 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 4122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4123 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 4124 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 4125 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 4126 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 4127 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 4128 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 4129 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 4130 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4131 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4132 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4133 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4134 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4135 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4136 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4137 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 4138 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4139 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4140 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4141 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4142 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4143 399, 482, 276, 0, 0, 0, 0, 1880, 638, 0, 4144 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 4145 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 4146 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4147 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4148 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4149 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4152 0, 0, 0, 0, 1881, 0, 0, 0, 0, 0, 4153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4157 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4158 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4159 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4160 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4161 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4162 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4163 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4164 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4165 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4166 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4167 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4168 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4169 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4170 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4171 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4172 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4173 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4174 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4175 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4176 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4177 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4178 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4179 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4180 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4181 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4182 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4183 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4184 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4185 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4186 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4188 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4189 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4190 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4191 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4192 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4193 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4194 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4195 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4196 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4197 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4198 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4199 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4200 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4201 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 4202 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 4203 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 4204 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4205 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4206 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4208 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4209 0, 0, 2458, 638, 0, 0, 0, 0, 0, 0, 4210 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4211 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4212 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4213 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 4214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4215 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 4216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4217 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459, 4218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4223 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 4224 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 4225 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 4226 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 4227 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 4228 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 4229 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 4230 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 4231 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 4232 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 4233 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 4234 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 4235 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 4236 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 4237 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 4238 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 4239 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 4240 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 4241 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 4242 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4243 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 4244 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 4245 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 4246 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 4247 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 4248 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 4249 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 4250 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 4251 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 4252 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 4253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4254 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 4255 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 4256 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 4257 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 4258 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 4259 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 4260 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 4261 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4262 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4263 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4264 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4265 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4266 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4267 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4268 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 4269 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4270 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4271 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4272 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4273 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4274 399, 482, 276, 0, 0, 0, 0, 0, 638, 0, 4275 0, 0, 0, 2443, 0, 0, 0, 0, 230, 0, 4276 0, 237, 2444, 0, 0, 338, 347, 346, 327, 328, 4277 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4278 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4279 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4280 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4288 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4289 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4290 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4291 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4292 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4293 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4294 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4295 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4296 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4297 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4298 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4299 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4300 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4301 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4302 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4303 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4304 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4305 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4306 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4307 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4308 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4309 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4310 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4311 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4312 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4313 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4314 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4315 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4316 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4317 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4319 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4320 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4321 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4322 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4323 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4324 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4325 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4326 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4327 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4328 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4329 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4330 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4331 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4332 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 4333 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 4334 0, 0, 0, 260, 1565, 0, 0, 0, 353, 257, 4335 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4336 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4337 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4339 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4340 0, 0, 1564, 638, 0, 0, 0, 0, 0, 0, 4341 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4342 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4343 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4344 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 4345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4346 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 4347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4354 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 4355 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 4356 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 4357 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 4358 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 4359 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 4360 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 4361 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 4362 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 4363 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 4364 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 4365 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 4366 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 4367 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 4368 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 4369 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 4370 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 4371 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 4372 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 4373 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4374 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 4375 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 4376 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 4377 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 4378 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 4379 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 4380 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 4381 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 4382 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 4383 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 4384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4385 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 4386 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 4387 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 4388 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 4389 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 4390 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 4391 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 4392 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4393 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4394 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4395 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4396 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4397 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4398 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4399 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 4400 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4401 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4402 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4403 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4404 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4405 399, 482, 276, 0, 0, 0, 0, 0, 640, 641, 4406 642, 0, 0, 0, 0, 0, 0, 0, 230, 0, 4407 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 4408 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4409 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4410 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4411 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4419 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4420 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4421 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4422 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4423 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4424 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4425 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4426 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4427 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4428 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4429 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4430 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4431 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4432 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4433 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4434 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4435 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4436 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4437 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4438 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4439 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4440 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4441 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4442 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4443 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4444 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4445 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4446 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4447 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4448 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4450 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4451 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4452 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4453 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4454 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4455 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4456 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4457 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4458 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4459 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4460 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4461 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4462 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4463 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 4464 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 4465 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 4466 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4467 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4468 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4470 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4471 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 4472 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4473 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4474 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4475 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 4476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4477 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 4478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4485 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 4486 0, 0, 549, 0, 0, 0, 3467, 0, 0, 0, 4487 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 4488 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 4489 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 4490 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 4491 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 4492 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 4493 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 4494 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 4495 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 4496 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 4497 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 4498 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 4499 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 4500 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 4501 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 4502 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 4503 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 4504 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4505 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 4506 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 4507 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 4508 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 4509 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 4510 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 4511 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 4512 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 4513 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 4514 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 4515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4516 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 4517 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 4518 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 4519 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 4520 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 4521 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 4522 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 4523 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4524 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4525 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4526 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4527 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4528 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4529 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4530 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 4531 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4532 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4533 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4534 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4535 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4536 399, 482, 276, 0, 0, 0, 0, 1725, 190, 0, 4537 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 4538 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 4539 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4540 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4541 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4542 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4550 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4551 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4552 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4553 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4554 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4555 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4556 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4557 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4558 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4559 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4560 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4561 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4562 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4563 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4564 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4565 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4566 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4567 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4568 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4569 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4570 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4571 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4572 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4573 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4574 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4575 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4576 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4577 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4578 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4579 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4581 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4582 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4583 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4584 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4585 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4586 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4587 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4588 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4589 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4590 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4591 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4592 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4593 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4594 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 4595 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 4596 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 4597 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4598 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4599 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4601 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4602 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 4603 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4604 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4605 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4606 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 4607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4608 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 4609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4616 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 4617 0, 0, 549, 0, 0, 0, 3343, 0, 0, 0, 4618 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 4619 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 4620 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 4621 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 4622 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 4623 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 4624 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 4625 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 4626 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 4627 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 4628 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 4629 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 4630 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 4631 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 4632 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 4633 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 4634 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 4635 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4636 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 4637 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 4638 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 4639 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 4640 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 4641 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 4642 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 4643 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 4644 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 4645 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 4646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4647 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 4648 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 4649 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 4650 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 4651 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 4652 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 4653 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 4654 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4655 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4656 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4657 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4658 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4659 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4660 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4661 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 4662 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4663 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4664 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4665 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4666 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4667 399, 482, 276, 0, 91, 0, 0, 0, 638, 0, 4668 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 4669 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 4670 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4671 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4672 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4673 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4681 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4682 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4683 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4684 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4685 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4686 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4687 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4688 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4689 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4690 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4691 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4692 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4693 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4694 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4695 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4696 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4697 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4698 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4699 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4700 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4701 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4702 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4703 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4704 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4705 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4706 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4707 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4708 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4709 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4710 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4712 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4713 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4714 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4715 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4716 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4717 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4718 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4719 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4720 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4721 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4722 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4723 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4724 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4725 504, 305, 502, 0, 0, 0, 0, 2100, 0, 0, 4726 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 4727 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 4728 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4729 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4730 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4732 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4733 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 4734 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4735 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4736 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4737 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 4738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4739 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 4740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4747 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 4748 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 4749 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 4750 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 4751 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 4752 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 4753 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 4754 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 4755 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 4756 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 4757 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 4758 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 4759 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 4760 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 4761 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 4762 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 4763 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 4764 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 4765 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 4766 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4767 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 4768 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 4769 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 4770 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 4771 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 4772 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 4773 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 4774 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 4775 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 4776 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 4777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4778 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 4779 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 4780 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 4781 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 4782 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 4783 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 4784 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 4785 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4786 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4787 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4788 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4789 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4790 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4791 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4792 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 4793 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4794 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4795 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4796 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4797 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4798 399, 482, 276, 0, 0, 0, 0, 1546, 638, 0, 4799 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 4800 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 4801 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4802 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4803 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4804 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4812 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4813 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4814 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4815 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4816 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4817 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4818 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4819 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4820 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4821 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4822 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4823 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4824 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4825 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4826 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4827 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4828 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4829 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4830 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4831 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4832 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4833 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4834 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4835 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4836 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4837 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4838 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4839 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4840 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4841 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4843 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4844 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4845 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4846 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4847 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4848 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4849 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4850 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4851 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4852 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4853 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4854 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4855 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4856 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 4857 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 4858 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 4859 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4860 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4861 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4863 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4864 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 4865 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4866 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4867 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4868 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 4869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4870 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 4871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4878 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 4879 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 4880 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 4881 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 4882 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 4883 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 4884 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 4885 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 4886 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 4887 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 4888 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 4889 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 4890 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 4891 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 4892 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 4893 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 4894 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 4895 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 4896 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 4897 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4898 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 4899 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 4900 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 4901 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 4902 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 4903 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 4904 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 4905 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 4906 192, 213, 355, 1835, 439, 278, 569, 539, 534, 199, 4907 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 4908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4909 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 4910 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 4911 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 4912 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 4913 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 4914 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 4915 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 4916 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 4917 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 4918 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 4919 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 4920 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 4921 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 4922 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 4923 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 4924 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 4925 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 4926 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 4927 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4928 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 4929 399, 482, 276, 0, 0, 0, 0, 1826, 638, 0, 4930 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 4931 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 4932 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 4933 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 4934 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 4935 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 4936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4943 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 4944 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 4945 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 4946 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 4947 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 4948 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 4949 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 4950 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 4951 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 4952 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 4953 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 4954 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 4955 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 4956 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 4957 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 4958 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 4959 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 4960 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 4961 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 4962 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 4963 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 4964 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 4965 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 4966 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 4967 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 4968 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 4969 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 4970 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 4971 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 4972 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 4973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4974 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4975 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 4976 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 4977 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 4978 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 4979 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 4980 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 4981 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 4982 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 4983 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 4984 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 4985 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 4986 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 4987 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 4988 0, 0, 0, 0, 402, 0, 1692, 0, 0, 0, 4989 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 4990 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 4991 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 4992 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 4993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4994 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 4995 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 4996 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 4997 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 4998 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 4999 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5001 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5009 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5010 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5011 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5012 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5013 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5014 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5015 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5016 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5017 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5018 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5019 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5020 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5021 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5022 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5023 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5024 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5025 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5026 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5027 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5028 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5029 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5030 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5031 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5032 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5033 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5034 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5035 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5036 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5037 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5038 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5040 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5041 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5042 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 5043 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5044 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5045 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5046 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5047 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5048 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5049 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5050 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5051 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5052 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5053 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5054 0, 1690, 0, 0, 0, 0, 0, 0, 260, 0, 5055 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5056 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5057 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5058 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5059 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5060 399, 482, 276, 0, 0, 0, 0, 0, 638, 0, 5061 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5062 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5063 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5064 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5065 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5066 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5074 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 5075 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 5076 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5077 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5078 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5079 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5080 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5081 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5082 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 5083 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 5084 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 5085 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 5086 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 5087 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 5088 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 5089 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 5090 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 5091 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 5092 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 5093 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 5094 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 5095 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 5096 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 5097 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 5098 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 5099 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 5100 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 5101 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 5102 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 5103 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 5104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5105 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 5106 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 5107 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 5108 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 5109 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 5110 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 5111 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 5112 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 5113 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 5114 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 5115 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 5116 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 5117 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 5118 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 5119 0, 0, 0, 0, 402, 0, 1688, 0, 0, 0, 5120 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 5121 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 5122 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 5123 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 5124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5125 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 5126 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 5127 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 5128 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 5129 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 5130 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5132 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5140 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5141 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5142 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5143 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5144 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5145 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5146 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5147 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5148 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5149 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5150 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5151 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5152 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5153 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5154 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5155 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5156 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5157 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5158 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5159 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5160 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5161 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5162 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5163 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5164 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5165 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5166 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5167 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5168 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5169 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5171 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5172 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5173 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 5174 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5175 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5176 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5177 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5178 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5179 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5180 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5181 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5182 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5183 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5184 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5185 0, 1686, 0, 0, 0, 0, 0, 0, 260, 0, 5186 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5187 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5188 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5189 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5190 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5191 399, 482, 276, 0, 0, 0, 0, 0, 638, 0, 5192 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5193 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5194 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5195 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5196 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5197 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5205 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 5206 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 5207 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5208 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5209 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5210 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5211 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5212 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5213 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 5214 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 5215 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 5216 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 5217 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 5218 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 5219 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 5220 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 5221 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 5222 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 5223 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 5224 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 5225 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 5226 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 5227 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 5228 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 5229 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 5230 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 5231 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 5232 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 5233 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 5234 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 5235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5236 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 5237 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 5238 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 5239 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 5240 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 5241 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 5242 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 5243 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 5244 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 5245 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 5246 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 5247 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 5248 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 5249 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 5250 0, 0, 0, 0, 402, 0, 1684, 0, 0, 0, 5251 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 5252 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 5253 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 5254 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 5255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5256 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 5257 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 5258 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 5259 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 5260 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 5261 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5263 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5271 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5272 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5273 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5274 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5275 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5276 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5277 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5278 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5279 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5280 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5281 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5282 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5283 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5284 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5285 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5286 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5287 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5288 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5289 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5290 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5291 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5292 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5293 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5294 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5295 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5296 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5297 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5298 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5299 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5300 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5302 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5303 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5304 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 5305 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5306 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5307 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5308 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5309 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5310 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5311 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5312 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5313 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5314 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5315 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5316 0, 1680, 0, 0, 0, 0, 0, 0, 260, 0, 5317 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5318 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5319 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5320 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5321 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5322 399, 482, 276, 0, 0, 0, 0, 0, 638, 0, 5323 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5324 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5325 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5326 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5327 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5328 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5336 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 5337 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 5338 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5339 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5340 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5341 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5342 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5343 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5344 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 5345 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 5346 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 5347 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 5348 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 5349 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 5350 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 5351 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 5352 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 5353 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 5354 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 5355 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 5356 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 5357 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 5358 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 5359 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 5360 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 5361 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 5362 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 5363 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 5364 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 5365 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 5366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5367 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 5368 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 5369 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 5370 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 5371 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 5372 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 5373 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 5374 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 5375 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 5376 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 5377 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 5378 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 5379 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 5380 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 5381 0, 0, 0, 0, 402, 0, 1678, 0, 0, 0, 5382 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 5383 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 5384 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 5385 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 5386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5387 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 5388 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 5389 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 5390 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 5391 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 5392 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5394 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5402 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5403 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5404 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5405 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5406 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5407 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5408 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5409 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5410 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5411 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5412 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5413 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5414 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5415 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5416 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5417 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5418 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5419 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5420 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5421 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5422 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5423 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5424 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5425 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5426 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5427 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5428 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5429 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5430 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5431 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5433 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5434 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5435 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 5436 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5437 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5438 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5439 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5440 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5441 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5442 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5443 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5444 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5445 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5446 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5447 0, 1676, 0, 0, 0, 0, 0, 0, 260, 0, 5448 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5449 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5450 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5451 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5452 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5453 399, 482, 276, 0, 0, 0, 0, 0, 638, 0, 5454 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5455 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5456 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5457 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5458 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5459 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5467 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 5468 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 5469 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5470 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5471 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5472 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5473 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5474 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5475 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 5476 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 5477 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 5478 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 5479 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 5480 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 5481 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 5482 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 5483 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 5484 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 5485 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 5486 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 5487 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 5488 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 5489 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 5490 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 5491 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 5492 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 5493 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 5494 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 5495 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 5496 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 5497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5498 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 5499 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 5500 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 5501 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 5502 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 5503 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 5504 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 5505 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 5506 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 5507 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 5508 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 5509 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 5510 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 5511 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 5512 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 5513 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 5514 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 5515 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 5516 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 5517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5518 0, 312, 240, 314, 197, 399, 482, 276, 0, 1651, 5519 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 5520 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 5521 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 5522 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 5523 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5525 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5533 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5534 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5535 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5536 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5537 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5538 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5539 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5540 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5541 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5542 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5543 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5544 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5545 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5546 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5547 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5548 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5549 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5550 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5551 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5552 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5553 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5554 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5555 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5556 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5557 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5558 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5559 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5560 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5561 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5562 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5564 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5565 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5566 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 5567 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5568 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5569 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5570 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5571 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5572 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5573 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5574 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5575 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5576 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5577 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5578 0, 0, 0, 0, 0, 0, 0, 1550, 260, 0, 5579 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5580 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5581 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5582 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5583 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5584 399, 482, 276, 0, 0, 0, 0, 0, 190, 0, 5585 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5586 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5587 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5588 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5589 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5590 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5598 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 5599 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 5600 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5601 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5602 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5603 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5604 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5605 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5606 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 5607 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 5608 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 5609 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 5610 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 5611 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 5612 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 5613 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 5614 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 5615 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 5616 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 5617 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 5618 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 5619 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 5620 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 5621 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 5622 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 5623 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 5624 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 5625 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 5626 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 5627 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 5628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5629 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 5630 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 5631 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 5632 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 5633 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 5634 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 5635 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 5636 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 5637 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 5638 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 5639 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 5640 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 5641 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 5642 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 5643 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 5644 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 5645 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 5646 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 5647 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 5648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5649 0, 312, 240, 314, 197, 399, 482, 276, 0, 91, 5650 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, 5651 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 5652 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 5653 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 5654 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5656 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5664 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5665 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5666 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5667 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5668 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5669 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5670 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5671 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5672 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5673 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5674 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5675 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5676 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5677 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5678 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5679 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5680 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5681 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5682 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5683 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5684 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5685 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5686 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5687 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5688 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5689 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5690 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5691 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5692 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5693 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5695 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5696 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5697 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 5698 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5699 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5700 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5701 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5702 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5703 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5704 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5705 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5706 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5707 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5708 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5709 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 5710 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5711 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5712 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5713 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5714 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5715 399, 482, 276, 0, 0, 0, 0, 0, 190, 0, 5716 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5717 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5718 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5719 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5720 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5721 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5729 0, 0, 0, 0, 0, 0, 1297, 0, 287, 0, 5730 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 5731 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5732 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5733 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5734 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5735 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5736 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5737 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 5738 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 5739 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 5740 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 5741 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 5742 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 5743 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 5744 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 5745 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 5746 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 5747 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 5748 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 5749 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 5750 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 5751 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 5752 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 5753 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 5754 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 5755 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 5756 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 5757 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 5758 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 5759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5760 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 5761 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 5762 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 5763 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 5764 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 5765 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 5766 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 5767 465, 290, 291, 430, 431, 303, 304, 566, 567, 1296, 5768 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 5769 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 5770 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 5771 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 5772 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 5773 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 5774 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 5775 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 5776 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 5777 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 5778 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 5779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5780 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 5781 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 5782 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 5783 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 5784 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 5785 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5787 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5795 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5796 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5797 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5798 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5799 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5800 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5801 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5802 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5803 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5804 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5805 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5806 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5807 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5808 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5809 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5810 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5811 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5812 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5813 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5814 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5815 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5816 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5817 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5818 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5819 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5820 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5821 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5822 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5823 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5824 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5826 900, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5827 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5828 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 5829 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5830 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5831 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5832 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5833 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5834 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5835 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5836 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5837 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5838 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5839 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5840 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 5841 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5842 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5843 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5844 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5845 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5846 399, 482, 276, 0, 0, 0, 0, 0, 190, 0, 5847 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5848 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5849 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5850 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5851 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5852 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5860 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 5861 388, 247, 0, 438, 0, 594, 0, 549, 0, 0, 5862 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5863 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5864 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5865 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5866 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5867 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5868 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 5869 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 5870 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 5871 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 5872 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 5873 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 5874 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 5875 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 5876 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 5877 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 5878 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 5879 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 5880 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 5881 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 5882 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 5883 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 5884 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 5885 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 5886 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 5887 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 5888 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 5889 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 5890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 5892 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 5893 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 5894 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 5895 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 5896 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 5897 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 5898 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 5899 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 5900 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 5901 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 5902 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 5903 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 5904 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 5905 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 5906 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 5907 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 5908 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 5909 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 5910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5911 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 5912 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 5913 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 5914 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 5915 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 5916 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 5917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5918 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 5919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5926 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 5927 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 5928 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 5929 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 5930 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 5931 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 5932 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 5933 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 5934 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 5935 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 5936 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 5937 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 5938 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 5939 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 5940 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 5941 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 5942 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 5943 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 5944 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 5945 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5946 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 5947 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 5948 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 5949 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 5950 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 5951 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 5952 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 5953 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 5954 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 5955 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 5956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5957 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 5958 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 5959 317, 367, 373, 374, 375, 376, 3475, 396, 397, 400, 5960 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 5961 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 5962 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 5963 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 5964 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 5965 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 5966 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 5967 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 5968 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 5969 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 5970 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 5971 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 5972 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 5973 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 5974 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 5975 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5976 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 5977 399, 482, 276, 0, 0, 0, 0, 0, 638, 0, 5978 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 5979 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 5980 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 5981 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 5982 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 5983 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 5984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5991 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 5992 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 5993 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 5994 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 5995 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 5996 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 5997 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 5998 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 5999 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 6000 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 6001 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 6002 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 6003 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 6004 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 6005 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 6006 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 6007 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 6008 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 6009 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 6010 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 6011 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 6012 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 6013 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 6014 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 6015 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 6016 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 6017 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 6018 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 6019 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 6020 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 6021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6022 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 6023 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 6024 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 6025 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 6026 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 6027 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 6028 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 6029 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 6030 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 6031 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 6032 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 6033 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 6034 494, 495, 497, 382, 256, 419, 383, 0, 363, 503, 6035 504, 305, 502, 0, 0, 0, 0, 0, 0, 0, 6036 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 6037 0, 0, 0, 260, 0, 0, 0, 0, 353, 257, 6038 0, 0, 416, 0, 198, 0, 471, 244, 364, 361, 6039 510, 272, 263, 259, 242, 306, 372, 414, 492, 408, 6040 0, 357, 0, 0, 481, 387, 0, 0, 0, 0, 6041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6042 0, 312, 240, 314, 197, 399, 482, 276, 0, 0, 6043 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, 6044 0, 0, 0, 230, 0, 0, 237, 0, 0, 0, 6045 338, 347, 346, 327, 328, 330, 332, 337, 344, 350, 6046 0, 0, 0, 0, 0, 255, 310, 262, 254, 507, 6047 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 6048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6049 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 6050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6057 0, 0, 0, 287, 0, 388, 247, 0, 438, 0, 6058 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 6059 352, 0, 319, 193, 217, 0, 0, 398, 446, 458, 6060 0, 0, 0, 245, 0, 456, 412, 527, 225, 274, 6061 443, 418, 454, 426, 277, 0, 0, 455, 359, 512, 6062 436, 524, 550, 551, 253, 392, 536, 496, 544, 568, 6063 218, 250, 406, 489, 530, 478, 384, 508, 509, 318, 6064 477, 285, 196, 356, 556, 216, 464, 358, 234, 223, 6065 514, 533, 279, 441, 563, 205, 491, 522, 231, 468, 6066 0, 0, 570, 239, 488, 207, 519, 487, 380, 315, 6067 316, 206, 0, 442, 258, 283, 0, 0, 248, 401, 6068 516, 517, 246, 571, 220, 543, 212, 0, 542, 394, 6069 511, 520, 381, 370, 211, 518, 379, 369, 323, 342, 6070 343, 270, 296, 433, 362, 434, 295, 297, 390, 389, 6071 391, 200, 531, 0, 201, 0, 483, 532, 572, 226, 6072 227, 229, 0, 269, 273, 281, 284, 292, 293, 302, 6073 354, 405, 432, 428, 437, 0, 506, 525, 537, 548, 6074 554, 555, 557, 558, 559, 560, 561, 564, 562, 393, 6075 300, 479, 322, 360, 0, 0, 411, 457, 232, 529, 6076 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6077 0, 0, 573, 574, 575, 576, 577, 578, 579, 580, 6078 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 6079 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 6080 371, 470, 526, 324, 336, 339, 329, 348, 0, 349, 6081 325, 326, 331, 333, 334, 335, 340, 341, 345, 351, 6082 241, 203, 377, 385, 505, 301, 208, 209, 210, 498, 6083 499, 500, 501, 540, 541, 545, 447, 448, 449, 450, 6084 282, 535, 298, 453, 452, 320, 321, 366, 435, 0, 6085 192, 213, 355, 0, 439, 278, 569, 539, 534, 199, 6086 215, 0, 252, 0, 0, 0, 0, 0, 0, 0, 6087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6088 0, 0, 0, 0, 194, 195, 202, 214, 224, 228, 6089 235, 251, 266, 268, 275, 288, 299, 307, 308, 311, 6090 317, 367, 373, 374, 375, 376, 395, 396, 397, 400, 6091 403, 404, 407, 409, 410, 413, 417, 421, 422, 423, 6092 425, 427, 429, 440, 445, 459, 460, 461, 462, 463, 6093 466, 467, 472, 473, 474, 475, 476, 484, 485, 490, 6094 513, 515, 528, 546, 552, 465, 290, 291, 430, 431, 6095 303, 304, 566, 567, 289, 523, 553, 521, 565, 547, 6096 424, 365, 0, 0, 368, 271, 294, 309, 0, 538, 6097 486, 219, 451, 280, 243, 0, 0, 204, 238, 222, 6098 249, 264, 267, 313, 378, 386, 415, 420, 286, 261, 6099 236, 444, 233, 469, 493, 494, 495, 497, 382, 256, 6100 419, 383, 0, 363, 503, 504, 305, 502, 0, 0, 6101 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 6102 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 6103 0, 0, 0, 353, 257, 0, 0, 416, 0, 198, 6104 0, 471, 244, 364, 361, 510, 272, 263, 259, 242, 6105 306, 372, 414, 492, 408, 0, 357, 0, 0, 481, 6106 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6107 0, 0, 0, 0, 0, 0, 312, 240, 314, 197, 6108 399, 482, 276, 0, 0, 0, 0, 0, 190, 0, 6109 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 6110 0, 237, 0, 0, 0, 338, 347, 346, 327, 328, 6111 330, 332, 337, 344, 350, 0, 0, 0, 0, 0, 6112 255, 310, 262, 254, 507, 0, 0, 0, 0, 0, 6113 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 6114 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 6115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6122 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 6123 388, 247, 0, 438, 0, 0, 0, 549, 0, 0, 6124 0, 0, 0, 0, 0, 352, 0, 319, 193, 217, 6125 0, 0, 398, 446, 458, 0, 0, 0, 245, 0, 6126 456, 412, 527, 225, 274, 443, 418, 454, 426, 277, 6127 0, 0, 455, 359, 512, 436, 524, 550, 551, 253, 6128 392, 536, 496, 544, 568, 218, 250, 406, 489, 530, 6129 478, 384, 508, 509, 318, 477, 285, 196, 356, 556, 6130 216, 464, 358, 234, 223, 514, 533, 279, 441, 563, 6131 205, 491, 522, 231, 468, 0, 0, 570, 239, 488, 6132 207, 519, 487, 380, 315, 316, 206, 0, 442, 258, 6133 283, 0, 0, 248, 401, 516, 517, 246, 571, 220, 6134 543, 212, 0, 542, 394, 511, 520, 381, 370, 211, 6135 518, 379, 369, 323, 342, 343, 270, 296, 433, 362, 6136 434, 295, 297, 390, 389, 391, 200, 531, 0, 201, 6137 0, 483, 532, 572, 226, 227, 229, 0, 269, 273, 6138 281, 284, 292, 293, 302, 354, 405, 432, 428, 437, 6139 0, 506, 525, 537, 548, 554, 555, 557, 558, 559, 6140 560, 561, 564, 562, 393, 300, 479, 322, 360, 0, 6141 0, 411, 457, 232, 529, 480, 0, 0, 0, 0, 6142 0, 0, 0, 0, 0, 0, 0, 573, 574, 575, 6143 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 6144 586, 587, 588, 589, 590, 0, 0, 0, 0, 0, 6145 0, 0, 0, 0, 591, 371, 470, 526, 324, 336, 6146 339, 329, 348, 0, 349, 325, 326, 331, 333, 334, 6147 335, 340, 341, 345, 351, 241, 203, 377, 385, 505, 6148 301, 208, 209, 210, 498, 499, 500, 501, 540, 541, 6149 545, 447, 448, 449, 450, 282, 535, 298, 453, 452, 6150 320, 321, 366, 435, 0, 192, 213, 355, 0, 439, 6151 278, 569, 539, 534, 199, 215, 0, 252, 0, 0, 6152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6153 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 6154 195, 202, 214, 224, 228, 235, 251, 266, 268, 275, 6155 288, 299, 307, 308, 311, 317, 367, 373, 374, 375, 6156 376, 395, 396, 397, 400, 403, 404, 407, 409, 410, 6157 413, 417, 421, 422, 423, 425, 427, 429, 440, 445, 6158 459, 460, 461, 462, 463, 466, 467, 472, 473, 474, 6159 475, 476, 484, 485, 490, 513, 515, 528, 546, 552, 6160 465, 290, 291, 430, 431, 303, 304, 566, 567, 289, 6161 523, 553, 521, 565, 547, 424, 365, 0, 0, 368, 6162 271, 294, 309, 0, 538, 486, 219, 451, 280, 243, 6163 0, 0, 204, 238, 222, 249, 264, 267, 313, 378, 6164 386, 415, 420, 286, 261, 236, 444, 233, 469, 493, 6165 494, 495, 497, 382, 256, 419, 0, 0, 363, 503, 6166 504, 305, 91, 0, 0, 830, 0, 0, 0, 818, 6167 831, 832, 833, 834, 819, 0, 0, 820, 821, 0, 6168 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6169 0, 0, 0, 0, 827, 835, 836, 0, 0, 0, 6170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6174 0, 2868, 2869, 0, 0, 0, 0, 0, 0, 0, 6175 0, 0, 0, 837, 838, 839, 840, 841, 842, 843, 6176 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 6177 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 6178 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 6179 874, 875, 876, 877, 878, 0, 0, 0, 0, 0, 6180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6183 0, 0, 0, 0, 0, 0, 2870, 0, 0, 0, 6184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6191 0, 0, 0, 2871, 2872, 0, 0, 0, 0, 0, 6192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6199 0, 0, 0, 0, 784, 0, 0, 788, 0, 785, 6200 786, 0, 0, 0, 787, 6201 } 6202 6203 var yyPact = [...]int{ 6204 -1000, -1000, 5501, -1000, -466, -1000, -1000, -1000, -1000, -1000, 6205 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6206 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6207 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2327, 6208 2352, -1000, -1000, -1000, -1000, 2444, -1000, 841, 1948, -1000, 6209 2246, 196, -1000, 45647, 585, -1000, 43027, 581, 189, 28617, 6210 -1000, 206, -1000, 197, 44337, 198, -1000, -1000, -1000, -1000, 6211 -342, 17480, 2165, 71, 64, 45647, -1000, -1000, -1000, -1000, 6212 2396, 1905, -1000, 369, -1000, -1000, -1000, -1000, -1000, -1000, 6213 42372, -1000, 950, -1000, -1000, 2256, 2238, 2451, 758, 2195, 6214 -1000, 2353, 1905, -1000, 17480, 2382, 2315, 16825, 16825, 504, 6215 -1000, -1000, 203, -1000, -1000, 24032, 45647, 31237, 511, -1000, 6216 2246, -1000, -1000, -1000, 87, -1000, 374, 1824, -1000, 1823, 6217 -1000, 793, 842, 406, 515, 486, 404, 403, 402, 401, 6218 400, 399, 397, 385, 421, -1000, 783, 783, -158, -163, 6219 4406, 548, 466, 466, 749, 539, 2213, 2211, -1000, -1000, 6220 783, 783, 783, 379, 783, 783, 783, 783, 291, 289, 6221 783, 783, 783, 783, 783, 783, 783, 783, 783, 783, 6222 783, 783, 783, 783, 783, 783, 783, 518, 2246, 275, 6223 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6224 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6225 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6226 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6227 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6228 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6229 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6230 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6231 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6232 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6233 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6234 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6235 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6236 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6237 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6238 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6239 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6240 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6241 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6242 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6243 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6244 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6245 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6246 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6247 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6248 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6249 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6250 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6251 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6252 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6253 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6254 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6255 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6256 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6257 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6258 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6259 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6260 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6261 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6262 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6263 -1000, -1000, 45647, 233, 45647, -1000, 675, 45647, 911, 911, 6264 104, 911, 911, 911, 911, 208, 705, 60, -1000, 199, 6265 271, 152, 273, 895, 259, -1000, -1000, 265, 895, 1620, 6266 -1000, 770, 269, 166, -1000, 911, 911, -1000, 10905, 147, 6267 10905, 10905, -1000, 2243, -1000, -1000, -1000, -1000, -1000, 1176, 6268 -1000, -1000, -1000, -1000, -43, 527, -1000, -1000, -1000, -1000, 6269 44337, 41717, 246, -1000, -1000, 42, -1000, -1000, 1652, 1094, 6270 17480, 1451, -1000, 1270, 728, -1000, -1000, -1000, -1000, -1000, 6271 645, -1000, 18135, 18135, 18135, 18135, -1000, -1000, 1826, 41062, 6272 1826, 1826, 18135, 1826, -1000, 18135, 1826, 1826, 1826, 17480, 6273 1826, 1826, 1826, 1826, -1000, 1826, 1826, 1826, 1826, 1826, 6274 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6275 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6276 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6277 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6278 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6279 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6280 1826, 1826, 1826, 1826, 1826, -1000, -1000, -1000, -1000, 1826, 6281 674, 1826, 1826, 1826, 1826, 1826, -1000, -1000, -1000, -1000, 6282 -1000, -1000, -1000, -1000, 1826, 1826, 1826, 1826, 1826, -1000, 6283 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1826, 1826, 6284 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6285 1826, 1826, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6286 -1000, -1000, -1000, 20100, 1400, 1397, 1338, -1000, 14860, 1826, 6287 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6288 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6289 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6290 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6291 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6292 45647, -1000, 1826, 224, 44337, 44337, 378, 2353, 1905, -1000, 6293 2396, 2360, 369, -1000, 2981, 1974, 1499, 1196, 1905, 1797, 6294 45647, -1000, 1851, -1000, -1000, -1000, -1000, 2115, 1303, 1617, 6295 -1000, -1000, -1000, -1000, 1911, 17480, -1000, -1000, 2432, -1000, 6296 21411, 663, 2426, 40407, -1000, 504, 504, 1819, 428, 65, 6297 -1000, -1000, -1000, -1000, 832, 27962, -1000, -1000, -1000, -1000, 6298 1648, 45647, -1000, -1000, 7361, 1185, -1000, 1942, -1000, 1626, 6299 -1000, 1888, 17480, 1960, 575, 1185, 553, 552, 513, -1000, 6300 -61, -1000, -1000, -1000, -1000, -1000, -1000, 783, 783, 783, 6301 -1000, 412, 2381, 196, 6434, -1000, -1000, -1000, 39752, 1941, 6302 1185, -1000, 1932, -1000, 892, 573, 667, 667, 1185, -1000, 6303 -1000, 44992, 1185, 891, 889, 1185, 1185, 44337, 44337, -1000, 6304 39097, -1000, 38442, 37787, 1145, 44337, 37132, 36477, 35822, 35167, 6305 34512, -1000, 2149, -1000, 1976, -1000, -1000, -1000, 44992, 1185, 6306 1185, 44992, 44337, 44992, 45647, 1185, -1000, -1000, 372, -1000, 6307 -1000, 1144, 1042, 1032, 783, 783, 1030, 1610, 1606, 1605, 6308 783, 783, 1023, 1601, 29927, 1587, 353, 1022, 1019, 1018, 6309 1224, 1585, 205, 1580, 1195, 1190, 1008, 44337, 1931, 45647, 6310 -1000, 261, 779, 476, 831, 2246, 2163, 1814, 520, 567, 6311 1185, 469, 469, 44337, -1000, 12888, -1000, -1000, 1576, 17480, 6312 -1000, 897, 895, 895, -1000, -1000, -1000, -1000, -1000, -1000, 6313 911, 45647, 897, -1000, -1000, -1000, 895, 911, 45647, 911, 6314 911, 911, 911, 895, 895, 895, 911, 45647, 45647, 45647, 6315 45647, 45647, 45647, 45647, 45647, 45647, 10905, 770, 911, -358, 6316 -1000, 1571, -1000, -1000, 2040, -1000, -1000, -1000, -1000, -1000, 6317 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6318 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6319 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6320 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6321 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6322 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6323 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6324 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6325 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6326 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6327 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6328 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6329 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6330 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6331 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6332 -1000, 10905, 10905, -1000, -1000, -1000, -1000, -1000, 1808, -1000, 6333 179, 17, 191, -1000, 33857, 352, 830, -1000, 352, -1000, 6334 -1000, -1000, 1807, 33202, -1000, -360, -364, -367, -373, -1000, 6335 -1000, -1000, -386, -387, -1000, -1000, -1000, 17480, 17480, 17480, 6336 17480, -194, -1000, 882, 18135, -1000, -1000, -1000, -1000, -1000, 6337 -1000, -1000, 139, 811, 18135, 18135, 18135, 18135, 18135, 18135, 6338 18135, 18135, 18135, 18135, 18135, 18135, 18135, 18135, 18135, -1000, 6339 -1000, 25997, 7715, 7715, 728, 728, 728, 728, -1000, -127, 6340 1801, 44992, -1000, -1000, -1000, 662, 17480, 17480, 728, -1000, 6341 1185, 14860, 18790, 16825, 16825, 17480, 785, 1094, 44992, 17480, 6342 -1000, 1196, -1000, -1000, -1000, 1170, -1000, 883, 2215, 2215, 6343 2215, 2215, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 6344 17480, 17480, 2215, 44337, 44337, 1199, 17480, 17480, 17480, 17480, 6345 17480, 17480, 13549, 17480, 17480, 18135, 17480, 17480, 17480, 1196, 6346 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 6347 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 6348 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 1196, 6349 17480, 1220, 17480, 17480, 16825, 12227, 16825, 16825, 16825, 16825, 6350 16825, -1000, -1000, -1000, -1000, -1000, 17480, 17480, 17480, 17480, 6351 17480, 17480, 17480, 17480, 1196, 17480, 17480, 17480, 17480, 17480, 6352 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6353 1477, 1450, 1306, 17480, -1000, 1799, -1000, -131, 23377, 17480, 6354 1564, 2425, 1967, 44337, -1000, -1000, -1000, 2353, -1000, 2353, 6355 1477, 2889, 2122, 16825, -1000, -1000, 2889, -1000, -1000, -1000, 6356 -1000, -1000, -1000, -1000, -1000, 1629, -1000, 45647, 1797, 2298, 6357 44337, 2113, 1537, 375, -1000, 17480, 17480, 1777, -1000, 1523, 6358 45647, -1000, -194, -1000, 32547, -1000, -1000, 10244, 45647, 349, 6359 45647, -1000, 22722, 31892, 254, -1000, 65, 1701, -1000, -1, 6360 -9, 14204, 723, -1000, -1000, -1000, 4406, 19445, 1649, 723, 6361 111, -1000, -1000, -1000, 1888, -1000, 1888, 1888, 1888, 1888, 6362 375, 375, 375, 375, -1000, -1000, -1000, -1000, -1000, 1925, 6363 1924, -1000, 1888, 1888, 1888, 1888, -1000, -1000, -1000, -1000, 6364 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6365 -1000, -1000, -1000, 1923, 1923, 1923, 1922, 1922, 1890, 1890, 6366 446, -1000, 17480, 356, 31237, 2280, 1006, 1764, 261, 478, 6367 1965, 1185, 1185, 1185, 478, -1000, 1244, 1240, 1227, -1000, 6368 -454, 1771, -1000, -1000, 2380, -1000, -1000, 672, 914, 910, 6369 1084, 44337, 231, 329, -1000, 442, -1000, 31237, 1185, 886, 6370 667, 1185, -1000, 1185, -1000, -1000, -1000, -1000, -1000, 1185, 6371 -1000, -1000, 1763, -1000, 1656, 942, 907, 922, 906, 1763, 6372 -1000, -1000, -143, 1763, -1000, 1763, -1000, 1763, -1000, 1763, 6373 -1000, 1763, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6374 -1000, 797, 192, -254, 44337, 231, 512, -1000, 510, 25997, 6375 -1000, -1000, -1000, 25997, 25997, -1000, -1000, -1000, -1000, 1526, 6376 1524, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6377 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6378 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6379 -443, 45647, -1000, 262, 829, 306, 371, 309, 45647, 380, 6380 2341, 2340, 2325, 2317, 2313, 239, 283, 45647, 45647, 469, 6381 2018, 45647, 2278, 45647, -1000, -1000, -1000, -1000, -1000, 1094, 6382 45647, -1000, -1000, 911, 911, -1000, -1000, 45647, 911, -1000, 6383 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 911, -1000, -1000, 6384 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6385 -1000, -1000, -1000, 45647, -1000, -1000, -1000, -1000, -43, 184, 6386 -1000, -1000, 44337, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6387 -1000, -1000, -72, -1000, 75, 5, 354, -1000, -1000, -1000, 6388 -1000, -1000, 2335, -1000, 1094, 873, 853, -1000, 1826, -1000, 6389 -1000, 1118, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 139, 6390 18135, 18135, 18135, 1589, 532, 1940, 796, 1291, 1410, 1410, 6391 781, 781, 732, 732, 732, 732, 732, -1000, -1000, -1000, 6392 -1000, -1000, -1000, -1000, -1000, 1520, -1000, 1826, 44992, 1596, 6393 12227, 1759, 2244, 1196, 3040, -1000, 1569, -1000, 1569, 2123, 6394 838, -1000, 17480, 1196, 3027, -1000, -1000, 1196, 1196, 1196, 6395 17480, -1000, -1000, 17480, 17480, 17480, 17480, 1764, 1764, 1764, 6396 1764, 1764, 1764, 1764, 1764, 1764, 1764, 17480, 1739, 1707, 6397 2424, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6398 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6399 -1000, -1000, 1563, 1764, 1764, 1764, 1764, 1764, 17480, 1476, 6400 -1000, -1000, -1000, 1272, 3023, 1346, 3005, 1764, 1764, -1000, 6401 1764, 2971, 2967, 1196, 1652, 1196, 1705, -1000, 2963, 1764, 6402 2940, 2935, 2900, 2171, 2880, 2861, 2850, 1764, 1764, 1764, 6403 2162, 2824, 2788, 2768, 2754, 2749, 2744, 2732, 2694, 2666, 6404 1764, 1306, 2508, -196, 1764, 1196, -1000, -1000, -1000, -1000, 6405 -1000, 2491, 2148, 1196, 1703, 1826, 660, -1000, -1000, 1569, 6406 1196, 1196, 1569, 1569, 2467, 2463, 2458, 2415, 2394, 2366, 6407 1764, 1764, -1000, 1764, 2348, 2344, 2143, 2132, 1196, -1000, 6408 1306, 45647, -1000, -334, -1000, -23, 701, 1826, -1000, 29927, 6409 1196, -1000, 5648, -1000, 1172, -1000, -1000, -1000, -1000, -1000, 6410 27307, 1653, 2889, -1000, -1000, 1826, 1560, -1000, -1000, 375, 6411 90, 26652, 689, 689, 133, 1094, 1094, 17480, -1000, -1000, 6412 -1000, -1000, -1000, -1000, 654, 2395, 361, 1826, -1000, 1679, 6413 2543, -1000, -1000, -1000, 2297, 20756, -1000, -1000, 1826, 1826, 6414 45647, 1873, 1871, -1000, 653, -1000, 1193, 1701, 65, 3, 6415 -1000, -1000, -1000, -1000, 1094, -1000, 1205, 382, 3250, -1000, 6416 465, -1000, -1000, -1000, -1000, 2181, 105, -1000, -1000, -1000, 6417 236, 375, -1000, -1000, -1000, -1000, -1000, -1000, 1478, 1478, 6418 -1000, -1000, -1000, -1000, -1000, 1004, -1000, -1000, -1000, -1000, 6419 1003, -1000, -1000, 996, -1000, -1000, 2334, 1993, 356, -1000, 6420 -1000, 783, 1460, -1000, -1000, 2184, 783, 783, 44337, -1000, 6421 -1000, 1592, 2280, 262, 45647, 846, 2017, -1000, 1965, 1965, 6422 1965, 45647, -1000, -1000, -1000, -1000, -1000, -1000, -445, 61, 6423 391, -1000, -1000, -1000, 4302, 44337, 1536, -1000, 229, -1000, 6424 1485, -1000, 44337, -1000, 1532, 1907, 1185, 1185, -1000, -1000, 6425 -1000, 44337, 1826, -1000, -1000, -1000, -1000, 562, 2245, 260, 6426 -1000, -1000, -214, -1000, -1000, 231, 229, 44992, 1185, 723, 6427 -1000, -1000, -1000, -1000, -1000, -446, 1508, 546, 238, 301, 6428 45647, 45647, 45647, 45647, 45647, 598, -1000, -1000, 18, -1000, 6429 -1000, 213, -1000, -1000, -1000, -1000, 213, -1000, -1000, -1000, 6430 -1000, 279, 508, -1000, 45647, 45647, 625, -1000, -1000, -1000, 6431 895, -1000, -1000, 895, -1000, -1000, -1000, -1000, -1000, -1000, 6432 -1000, -1000, -1000, -1000, -1000, -1000, 2222, 45647, 4, -410, 6433 -1000, -400, 17480, -1000, -1000, -1000, -1000, 1138, 528, 1940, 6434 18135, 18135, 18135, -1000, -1000, -1000, 680, 680, 25997, -1000, 6435 17480, 16825, -1000, -1000, 17480, 17480, 834, -1000, 17480, 1263, 6436 -1000, 17480, -1000, -1000, -1000, 1306, 1764, 1764, 1764, 1764, 6437 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6438 1767, 17480, 17480, 17480, 1196, 318, -1000, -1000, -1000, -1000, 6439 -1000, 2411, -1000, 17480, -1000, 25997, 17480, 17480, 17480, -1000, 6440 -1000, -1000, 17480, 17480, -1000, -1000, 17480, 17480, -1000, 17480, 6441 17480, 17480, -1000, 17480, 17480, 17480, 17480, -1000, -1000, -1000, 6442 -1000, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 17480, 6443 17480, -1000, -1000, 17480, -1000, 31237, 73, -196, 1220, 73, 6444 1220, -1000, 16825, 11566, -1000, -1000, -1000, -1000, -1000, 17480, 6445 17480, 17480, 17480, 17480, 17480, -1000, -1000, -1000, 17480, 17480, 6446 -1000, 17480, -1000, 17480, -1000, -1000, -1000, -1000, -1000, 701, 6447 -1000, 667, 667, 667, 44337, -1000, -1000, -1000, -1000, 1700, 6448 -1000, 2319, -1000, 2130, 2129, 2409, 2395, -1000, 22722, 2889, 6449 -1000, -1000, 44337, -321, -1000, 2159, 2185, 689, 689, -1000, 6450 -1000, -1000, -1000, -1000, -1000, -1000, 9583, 2353, 17480, 2016, 6451 44992, 140, -1000, 22067, 44337, 44992, 22722, 22722, 22722, 22722, 6452 22722, -1000, 2094, 2091, -1000, 2056, 2054, 2081, 45647, -1000, 6453 1477, 1505, -1000, 17480, 24687, 1694, 22722, -1000, -1000, 22722, 6454 45647, 8922, -1000, -1000, -19, -17, -1000, -1000, -1000, -1000, 6455 4406, -1000, -1000, 4117, 2295, 2175, -1000, -1000, -1000, -1000, 6456 -1000, 1497, -1000, 1484, 1685, 1470, 1468, 192, -1000, 1933, 6457 2219, 783, 783, -1000, 994, -1000, 1185, 1455, 1448, -1000, 6458 -1000, -1000, 519, -1000, 2264, 45647, 2013, 2012, 2007, -1000, 6459 -459, 989, 1899, 1916, 17480, 1898, 2377, 1676, 44337, -1000, 6460 -1000, 44992, -1000, 156, -1000, 356, 44337, -1000, -1000, -1000, 6461 329, 45647, -1000, 7920, -1000, -1000, -1000, 229, -1000, -1000, 6462 -1000, -1000, -1000, -1000, -1000, 45647, 243, -1000, 1891, 1173, 6463 -1000, -1000, 1869, -1000, -1000, -1000, -1000, 235, 303, 1440, 6464 209, 1438, 209, -1000, 45647, 555, 1993, 45647, -1000, -1000, 6465 -1000, 911, 911, -1000, -1000, 2207, -1000, 1185, 1764, 18135, 6466 18135, -1000, 728, 566, -175, 1888, 1888, -1000, 1888, 1890, 6467 -1000, 1888, 177, 1888, 162, 1888, -1000, -1000, 1196, 1196, 6468 1306, -1000, 2116, 1358, -1000, 1094, 17480, 2311, -1000, -1000, 6469 -1000, -1000, -1000, -67, 2296, 2292, 1764, -1000, 1886, 1885, 6470 17480, 1764, 1196, 2052, 1764, 1764, 1764, 1764, -1000, 1094, 6471 1306, 2279, 1306, 1764, 1764, 2275, 310, 1764, 1465, 1465, 6472 1465, 1465, 1465, 1306, 1306, 1306, 1306, 1764, 44337, -1000, 6473 -196, -1000, -1000, -233, -235, -1000, 1196, -196, 1678, 1196, 6474 -1000, 2044, 2026, 2271, 2003, 1764, 2266, 1764, 1764, 1764, 6475 1983, -1000, 2328, 2328, 2328, 1453, 1172, 45647, -1000, -1000, 6476 -1000, -1000, 2395, 2392, 1677, -1000, -1000, 90, 435, -1000, 6477 2151, 2185, -1000, 2376, 2145, 2375, -1000, -1000, -1000, -1000, 6478 -1000, 1094, -1000, 2249, 1510, -1000, 806, 1655, -1000, -1000, 6479 16170, 1459, 2126, 621, 1453, 1729, 2543, 1999, 2005, 2086, 6480 -1000, -1000, -1000, -1000, 2062, -1000, 2029, -1000, -1000, 1851, 6481 -1000, 2214, 349, 22722, 1718, 1718, -1000, 605, -1000, -1000, 6482 -1000, -1000, -1000, -1000, -1000, 926, 46225, 2450, -1000, 1435, 6483 -1000, 1203, 212, 986, -1000, -1000, 783, 783, -1000, 884, 6484 871, -1000, 45647, 1883, -1000, 375, 1434, 375, 984, -1000, 6485 -1000, 983, -1000, -1000, -1000, -1000, 1860, 2117, -1000, -1000, 6486 -1000, -1000, 45647, -1000, -1000, 45647, 45647, 45647, 1876, 2374, 6487 -1000, 17480, 1865, 786, 2205, 44337, 44337, -1000, -1000, -1000, 6488 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 495, 783, 6489 -425, 282, 281, 783, 783, 783, -460, -1000, -1000, 1432, 6490 1417, -1000, -160, -1000, 17480, -1000, -1000, -1000, 1174, 1174, 6491 1400, 1397, 1338, -1000, 1851, -1000, -1000, -1000, 1454, -1000, 6492 -1000, -148, 44337, 44337, 44337, 44337, -1000, -1000, 964, -1000, 6493 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6494 -1000, 728, 1196, 312, -150, 1196, -1000, -1000, 375, -1000, 6495 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17480, 6496 -1000, 17480, -1000, 1094, 17480, 2353, 1313, 17480, 17480, -1000, 6497 980, 975, 1764, -1000, -1000, -1000, 17480, -1000, -1000, -1000, 6498 -1000, -1000, 17480, -1000, -1000, -1000, 17480, 237, 680, -1000, 6499 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 6500 1196, 348, -1000, -1000, -1000, -1000, 2407, -1000, 1196, 17480, 6501 -1000, -1000, 17480, -1000, 17480, 17480, -1000, 17480, -1000, 17480, 6502 -1000, -1000, -1000, -1000, 17480, 1826, 2152, 1826, 1826, 24687, 6503 -1000, -1000, 2392, 2388, 2372, 2136, 2139, 2139, 2151, -1000, 6504 2370, 2367, -1000, 1298, 2358, 1276, 868, -1000, 44992, 17480, 6505 140, -1000, 392, 44337, 140, 44337, -1000, 2384, -1000, -1000, 6506 17480, 1859, -1000, 17480, -1000, -1000, -1000, -1000, 7715, 2395, 6507 1718, -1000, -1000, 741, -1000, 17480, -1000, -1000, -1000, 3639, 6508 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1258, 1255, 6509 -1000, -1000, 1854, 17480, -1000, -1000, -1000, 1359, 1337, -1000, 6510 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1851, -1000, -1000, 6511 -1000, -1000, 329, -450, 2127, 44337, 972, -1000, 1413, 1676, 6512 319, 140, 1237, 783, 783, 783, 960, 957, 29927, 1388, 6513 -1000, 44337, 436, -1000, 329, -1000, -166, -172, 1764, -1000, 6514 -1000, 2290, -1000, -1000, 11566, -1000, -1000, 1850, 1962, -1000, 6515 -1000, -1000, -1000, 2111, -135, -154, -1000, -1000, 1764, 1764, 6516 1591, 1196, -1000, 1764, 1764, 1311, 1296, -1000, 1764, 1306, 6517 1977, -1000, 237, 1196, 2004, -1000, -1000, 7715, -1000, -1000, 6518 2384, 2357, 73, -1000, -1000, 223, 73, 1094, 1958, 1764, 6519 1928, 1609, 1764, 1764, 25342, -1000, 2356, 2349, 30582, 30582, 6520 701, 2388, -204, 17480, 17480, 2134, 967, -1000, -1000, -1000, 6521 -1000, 1234, 1232, -1000, 1225, -1000, 2448, -1000, 1094, -1000, 6522 140, -1000, 603, 1655, -1000, 2353, 1094, 44337, 1094, 76, 6523 2384, -1000, 1764, -1000, 1826, 1826, 1826, 1826, 1826, 1826, 6524 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6525 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6526 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6527 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6528 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6529 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 6530 1826, 1826, 1826, 1826, 1826, 1826, -1000, -1000, 44337, 2084, 6531 -1000, -1000, 2285, 1379, 58, -1000, 1264, 1676, -1000, -1000, 6532 129, -1000, 17480, -1000, 29927, 1207, 1200, -1000, -1000, -1000, 6533 -1000, -460, -1000, -1000, -1000, -1000, -1000, -1000, 369, 1661, 6534 -1000, 782, 44337, 45647, -1000, 2099, -1000, -1000, -1000, 17480, 6535 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17480, -1000, 6536 1196, 2002, -1000, -290, -1000, -426, 17480, -196, -1000, -1000, 6537 -196, -1000, 17480, -1000, -1000, 17480, -1000, 17480, -1000, -1000, 6538 1377, -1000, -1000, -1000, -1000, -1000, 1377, 1377, -1000, -204, 6539 -1000, 1659, -1000, 44337, 1094, 1652, -1000, 966, -1000, -1000, 6540 -1000, -1000, -1000, 44992, 1655, 44337, -1000, 1356, 1196, 1826, 6541 2353, -1000, 1336, -1000, 369, -1000, 1842, 1916, -1000, -1000, 6542 -1000, 15515, -1000, -1000, -1000, -1000, -1000, 172, -146, 11566, 6543 8261, 1318, -1000, -144, 1764, 1306, -1000, -390, -1000, -1000, 6544 -1000, -1000, 163, -1000, -1000, 1652, -1000, -1000, 1567, 1393, 6545 1310, 29272, -1000, -1000, -1000, -1000, -204, -1000, -1000, 2281, 6546 -1000, -1000, 1611, -1000, -1000, 24687, 43682, -1000, -123, 742, 6547 -146, 17480, 1829, 1196, -1000, -1000, -1000, -1000, -1000, -1000, 6548 -1000, -1000, -2, -1000, -1000, -1000, -1000, -1000, 1869, -157, 6549 -1000, -1000, -1000, 178, -415, -225, -228, -1000, -1000, 18135, 6550 -1000, 17480, -1000, 17480, -1000, 17480, -1000, -1000, -1000, 44337, 6551 1826, -1000, 1295, -1000, 6847, -245, 1987, -1000, -82, -1000, 6552 -1000, -1000, 900, 1197, -1000, -1000, -1000, -1000, -1000, -1000, 6553 1944, 44337, -1000, 444, -1000, -1000, -148, -155, 849, -1000, 6554 -1000, -1000, -1000, -1000, 1275, 1210, 1764, -1000, 44337, -1000, 6555 43682, -240, 723, 7715, -1000, 1985, 1972, 2416, -1000, -1000, 6556 -1000, -1000, -1000, -1000, -463, 1252, 255, -1000, -1000, 178, 6557 -1000, 17480, -1000, 17480, -1000, 1196, -1000, -1000, 2261, 76, 6558 -1000, 2447, -1000, 2435, 690, 690, -1000, 956, -463, -1000, 6559 -1000, 1764, 1764, -1000, -259, -1000, -1000, -1000, -1000, -1000, 6560 443, 1194, -1000, -1000, -1000, -1000, -1000, 7715, -1000, -1000, 6561 -1000, 222, 222, -1000, -1000, 6562 } 6563 6564 var yyPgo = [...]int{ 6565 0, 3088, 3086, 34, 7, 38, 37, 3085, 47, 106, 6566 185, 43, 184, 104, 3084, 173, 3083, 3080, 3078, 3075, 6567 3073, 3072, 2519, 2466, 2465, 3069, 3067, 3065, 3058, 3057, 6568 3054, 3053, 3052, 3043, 3040, 175, 166, 182, 3038, 3032, 6569 3029, 119, 250, 92, 95, 251, 3026, 3025, 84, 3024, 6570 3018, 3014, 197, 196, 192, 846, 3013, 191, 117, 58, 6571 3012, 3011, 3008, 3004, 3001, 2999, 2997, 2996, 2994, 2993, 6572 2990, 2987, 2983, 2982, 2981, 2980, 2977, 329, 2974, 2972, 6573 24, 2970, 88, 2964, 2960, 2959, 2956, 2952, 10, 2951, 6574 2950, 20, 44, 2947, 2946, 56, 2945, 2942, 2941, 2937, 6575 2936, 21, 2935, 26, 2932, 41, 2931, 2926, 125, 2925, 6576 2918, 2916, 42, 2911, 2908, 2905, 2900, 2899, 2898, 2894, 6577 144, 2889, 2887, 2882, 172, 187, 2879, 2878, 162, 111, 6578 116, 2870, 2869, 109, 179, 2868, 121, 2867, 2866, 2864, 6579 147, 2863, 403, 2855, 2851, 75, 71, 2849, 30, 2847, 6580 2844, 12, 91, 72, 11, 4, 5, 2843, 2841, 73, 6581 87, 2840, 112, 2834, 2831, 107, 74, 2830, 108, 103, 6582 2819, 2811, 17, 9, 2810, 2, 6, 3, 78, 2804, 6583 2803, 126, 2802, 2798, 2796, 99, 2795, 2794, 4153, 2791, 6584 97, 136, 110, 86, 2784, 54, 70, 2783, 2781, 2776, 6585 2775, 2773, 57, 2769, 2768, 2765, 140, 55, 167, 2764, 6586 53, 76, 60, 137, 2763, 39, 98, 183, 169, 2759, 6587 2756, 143, 139, 2750, 2749, 68, 45, 48, 2744, 101, 6588 135, 120, 36, 100, 152, 2743, 2741, 65, 81, 2740, 6589 2739, 2738, 2737, 170, 2734, 2733, 80, 2732, 63, 2731, 6590 168, 2729, 16, 59, 2727, 49, 158, 2724, 82, 2717, 6591 2714, 77, 102, 79, 40, 2704, 154, 165, 130, 180, 6592 2701, 2699, 61, 2695, 2693, 2690, 181, 301, 2689, 2677, 6593 289, 174, 161, 146, 90, 2672, 307, 2669, 2661, 134, 6594 2919, 4586, 2660, 51, 156, 2658, 2655, 5064, 145, 52, 6595 25, 2654, 177, 2653, 2652, 2648, 2642, 186, 171, 220, 6596 164, 67, 2638, 2637, 2635, 18, 2634, 2631, 2629, 2628, 6597 2627, 2626, 94, 35, 33, 32, 189, 69, 14, 105, 6598 253, 151, 83, 2624, 2622, 2603, 123, 298, 2595, 160, 6599 159, 124, 133, 2594, 176, 223, 128, 2593, 453, 31, 6600 2590, 2589, 2586, 2575, 96, 2573, 2572, 2570, 2569, 155, 6601 149, 122, 93, 2568, 85, 118, 163, 153, 64, 2562, 6602 62, 2561, 2560, 28, 246, 27, 2558, 19, 113, 114, 6603 2552, 3908, 231, 2550, 22, 306, 157, 2549, 2545, 8, 6604 13, 15, 2541, 2538, 2534, 2532, 138, 2506, 2502, 2494, 6605 2493, 29, 66, 23, 1, 115, 89, 2488, 2484, 148, 6606 2479, 2478, 443, 0, 132, 2477, 194, 6607 } 6608 6609 //line sql.y:7990 6610 type yySymType struct { 6611 union any 6612 empty struct{} 6613 LengthScaleOption LengthScaleOption 6614 tableName TableName 6615 identifierCS IdentifierCS 6616 str string 6617 strs []string 6618 vindexParam VindexParam 6619 jsonObjectParam *JSONObjectParam 6620 identifierCI IdentifierCI 6621 joinCondition *JoinCondition 6622 databaseOption DatabaseOption 6623 columnType *ColumnType 6624 columnCharset ColumnCharset 6625 yys int 6626 } 6627 6628 func (st *yySymType) JSONTableExprUnion() *JSONTableExpr { 6629 v, _ := st.union.(*JSONTableExpr) 6630 return v 6631 } 6632 6633 func (st *yySymType) aliasedTableNameUnion() *AliasedTableExpr { 6634 v, _ := st.union.(*AliasedTableExpr) 6635 return v 6636 } 6637 6638 func (st *yySymType) alterDatabaseUnion() *AlterDatabase { 6639 v, _ := st.union.(*AlterDatabase) 6640 return v 6641 } 6642 6643 func (st *yySymType) alterMigrationUnion() *AlterMigration { 6644 v, _ := st.union.(*AlterMigration) 6645 return v 6646 } 6647 6648 func (st *yySymType) alterOptionUnion() AlterOption { 6649 v, _ := st.union.(AlterOption) 6650 return v 6651 } 6652 6653 func (st *yySymType) alterOptionsUnion() []AlterOption { 6654 v, _ := st.union.([]AlterOption) 6655 return v 6656 } 6657 6658 func (st *yySymType) alterTableUnion() *AlterTable { 6659 v, _ := st.union.(*AlterTable) 6660 return v 6661 } 6662 6663 func (st *yySymType) argumentLessWindowExprTypeUnion() ArgumentLessWindowExprType { 6664 v, _ := st.union.(ArgumentLessWindowExprType) 6665 return v 6666 } 6667 6668 func (st *yySymType) boolValUnion() BoolVal { 6669 v, _ := st.union.(BoolVal) 6670 return v 6671 } 6672 6673 func (st *yySymType) booleanUnion() bool { 6674 v, _ := st.union.(bool) 6675 return v 6676 } 6677 6678 func (st *yySymType) colKeyOptUnion() ColumnKeyOption { 6679 v, _ := st.union.(ColumnKeyOption) 6680 return v 6681 } 6682 6683 func (st *yySymType) colNameUnion() *ColName { 6684 v, _ := st.union.(*ColName) 6685 return v 6686 } 6687 6688 func (st *yySymType) colNamesUnion() []*ColName { 6689 v, _ := st.union.([]*ColName) 6690 return v 6691 } 6692 6693 func (st *yySymType) colTupleUnion() ColTuple { 6694 v, _ := st.union.(ColTuple) 6695 return v 6696 } 6697 6698 func (st *yySymType) columnDefinitionUnion() *ColumnDefinition { 6699 v, _ := st.union.(*ColumnDefinition) 6700 return v 6701 } 6702 6703 func (st *yySymType) columnDefinitionsUnion() []*ColumnDefinition { 6704 v, _ := st.union.([]*ColumnDefinition) 6705 return v 6706 } 6707 6708 func (st *yySymType) columnFormatUnion() ColumnFormat { 6709 v, _ := st.union.(ColumnFormat) 6710 return v 6711 } 6712 6713 func (st *yySymType) columnStorageUnion() ColumnStorage { 6714 v, _ := st.union.(ColumnStorage) 6715 return v 6716 } 6717 6718 func (st *yySymType) columnTypeOptionsUnion() *ColumnTypeOptions { 6719 v, _ := st.union.(*ColumnTypeOptions) 6720 return v 6721 } 6722 6723 func (st *yySymType) columnsUnion() Columns { 6724 v, _ := st.union.(Columns) 6725 return v 6726 } 6727 6728 func (st *yySymType) comparisonExprOperatorUnion() ComparisonExprOperator { 6729 v, _ := st.union.(ComparisonExprOperator) 6730 return v 6731 } 6732 6733 func (st *yySymType) constraintDefinitionUnion() *ConstraintDefinition { 6734 v, _ := st.union.(*ConstraintDefinition) 6735 return v 6736 } 6737 6738 func (st *yySymType) constraintInfoUnion() ConstraintInfo { 6739 v, _ := st.union.(ConstraintInfo) 6740 return v 6741 } 6742 6743 func (st *yySymType) convertTypeUnion() *ConvertType { 6744 v, _ := st.union.(*ConvertType) 6745 return v 6746 } 6747 6748 func (st *yySymType) createDatabaseUnion() *CreateDatabase { 6749 v, _ := st.union.(*CreateDatabase) 6750 return v 6751 } 6752 6753 func (st *yySymType) createTableUnion() *CreateTable { 6754 v, _ := st.union.(*CreateTable) 6755 return v 6756 } 6757 6758 func (st *yySymType) cteUnion() *CommonTableExpr { 6759 v, _ := st.union.(*CommonTableExpr) 6760 return v 6761 } 6762 6763 func (st *yySymType) ctesUnion() []*CommonTableExpr { 6764 v, _ := st.union.([]*CommonTableExpr) 6765 return v 6766 } 6767 6768 func (st *yySymType) databaseOptionsUnion() []DatabaseOption { 6769 v, _ := st.union.([]DatabaseOption) 6770 return v 6771 } 6772 6773 func (st *yySymType) definerUnion() *Definer { 6774 v, _ := st.union.(*Definer) 6775 return v 6776 } 6777 6778 func (st *yySymType) derivedTableUnion() *DerivedTable { 6779 v, _ := st.union.(*DerivedTable) 6780 return v 6781 } 6782 6783 func (st *yySymType) explainTypeUnion() ExplainType { 6784 v, _ := st.union.(ExplainType) 6785 return v 6786 } 6787 6788 func (st *yySymType) exprUnion() Expr { 6789 v, _ := st.union.(Expr) 6790 return v 6791 } 6792 6793 func (st *yySymType) exprsUnion() Exprs { 6794 v, _ := st.union.(Exprs) 6795 return v 6796 } 6797 6798 func (st *yySymType) firstOrLastValueExprTypeUnion() FirstOrLastValueExprType { 6799 v, _ := st.union.(FirstOrLastValueExprType) 6800 return v 6801 } 6802 6803 func (st *yySymType) frameClauseUnion() *FrameClause { 6804 v, _ := st.union.(*FrameClause) 6805 return v 6806 } 6807 6808 func (st *yySymType) framePointUnion() *FramePoint { 6809 v, _ := st.union.(*FramePoint) 6810 return v 6811 } 6812 6813 func (st *yySymType) framePointTypeUnion() FramePointType { 6814 v, _ := st.union.(FramePointType) 6815 return v 6816 } 6817 6818 func (st *yySymType) frameUnitTypeUnion() FrameUnitType { 6819 v, _ := st.union.(FrameUnitType) 6820 return v 6821 } 6822 6823 func (st *yySymType) fromFirstLastClauseUnion() *FromFirstLastClause { 6824 v, _ := st.union.(*FromFirstLastClause) 6825 return v 6826 } 6827 6828 func (st *yySymType) fromFirstLastTypeUnion() FromFirstLastType { 6829 v, _ := st.union.(FromFirstLastType) 6830 return v 6831 } 6832 6833 func (st *yySymType) ignoreUnion() Ignore { 6834 v, _ := st.union.(Ignore) 6835 return v 6836 } 6837 6838 func (st *yySymType) indexColumnUnion() *IndexColumn { 6839 v, _ := st.union.(*IndexColumn) 6840 return v 6841 } 6842 6843 func (st *yySymType) indexColumnsUnion() []*IndexColumn { 6844 v, _ := st.union.([]*IndexColumn) 6845 return v 6846 } 6847 6848 func (st *yySymType) indexDefinitionUnion() *IndexDefinition { 6849 v, _ := st.union.(*IndexDefinition) 6850 return v 6851 } 6852 6853 func (st *yySymType) indexHintUnion() *IndexHint { 6854 v, _ := st.union.(*IndexHint) 6855 return v 6856 } 6857 6858 func (st *yySymType) indexHintForTypeUnion() IndexHintForType { 6859 v, _ := st.union.(IndexHintForType) 6860 return v 6861 } 6862 6863 func (st *yySymType) indexHintsUnion() IndexHints { 6864 v, _ := st.union.(IndexHints) 6865 return v 6866 } 6867 6868 func (st *yySymType) indexInfoUnion() *IndexInfo { 6869 v, _ := st.union.(*IndexInfo) 6870 return v 6871 } 6872 6873 func (st *yySymType) indexOptionUnion() *IndexOption { 6874 v, _ := st.union.(*IndexOption) 6875 return v 6876 } 6877 6878 func (st *yySymType) indexOptionsUnion() []*IndexOption { 6879 v, _ := st.union.([]*IndexOption) 6880 return v 6881 } 6882 6883 func (st *yySymType) insUnion() *Insert { 6884 v, _ := st.union.(*Insert) 6885 return v 6886 } 6887 6888 func (st *yySymType) insertActionUnion() InsertAction { 6889 v, _ := st.union.(InsertAction) 6890 return v 6891 } 6892 6893 func (st *yySymType) integerUnion() int { 6894 v, _ := st.union.(int) 6895 return v 6896 } 6897 6898 func (st *yySymType) intervalTypeUnion() IntervalTypes { 6899 v, _ := st.union.(IntervalTypes) 6900 return v 6901 } 6902 6903 func (st *yySymType) isExprOperatorUnion() IsExprOperator { 6904 v, _ := st.union.(IsExprOperator) 6905 return v 6906 } 6907 6908 func (st *yySymType) joinTypeUnion() JoinType { 6909 v, _ := st.union.(JoinType) 6910 return v 6911 } 6912 6913 func (st *yySymType) jsonObjectParamsUnion() []*JSONObjectParam { 6914 v, _ := st.union.([]*JSONObjectParam) 6915 return v 6916 } 6917 6918 func (st *yySymType) jtColumnDefinitionUnion() *JtColumnDefinition { 6919 v, _ := st.union.(*JtColumnDefinition) 6920 return v 6921 } 6922 6923 func (st *yySymType) jtColumnListUnion() []*JtColumnDefinition { 6924 v, _ := st.union.([]*JtColumnDefinition) 6925 return v 6926 } 6927 6928 func (st *yySymType) jtOnResponseUnion() *JtOnResponse { 6929 v, _ := st.union.(*JtOnResponse) 6930 return v 6931 } 6932 6933 func (st *yySymType) lagLeadExprTypeUnion() LagLeadExprType { 6934 v, _ := st.union.(LagLeadExprType) 6935 return v 6936 } 6937 6938 func (st *yySymType) limitUnion() *Limit { 6939 v, _ := st.union.(*Limit) 6940 return v 6941 } 6942 6943 func (st *yySymType) literalUnion() *Literal { 6944 v, _ := st.union.(*Literal) 6945 return v 6946 } 6947 6948 func (st *yySymType) lockUnion() Lock { 6949 v, _ := st.union.(Lock) 6950 return v 6951 } 6952 6953 func (st *yySymType) lockTypeUnion() LockType { 6954 v, _ := st.union.(LockType) 6955 return v 6956 } 6957 6958 func (st *yySymType) matchActionUnion() MatchAction { 6959 v, _ := st.union.(MatchAction) 6960 return v 6961 } 6962 6963 func (st *yySymType) matchExprOptionUnion() MatchExprOption { 6964 v, _ := st.union.(MatchExprOption) 6965 return v 6966 } 6967 6968 func (st *yySymType) namedWindowUnion() *NamedWindow { 6969 v, _ := st.union.(*NamedWindow) 6970 return v 6971 } 6972 6973 func (st *yySymType) namedWindowsUnion() NamedWindows { 6974 v, _ := st.union.(NamedWindows) 6975 return v 6976 } 6977 6978 func (st *yySymType) nullTreatmentClauseUnion() *NullTreatmentClause { 6979 v, _ := st.union.(*NullTreatmentClause) 6980 return v 6981 } 6982 6983 func (st *yySymType) nullTreatmentTypeUnion() NullTreatmentType { 6984 v, _ := st.union.(NullTreatmentType) 6985 return v 6986 } 6987 6988 func (st *yySymType) optLikeUnion() *OptLike { 6989 v, _ := st.union.(*OptLike) 6990 return v 6991 } 6992 6993 func (st *yySymType) optValUnion() Expr { 6994 v, _ := st.union.(Expr) 6995 return v 6996 } 6997 6998 func (st *yySymType) orderUnion() *Order { 6999 v, _ := st.union.(*Order) 7000 return v 7001 } 7002 7003 func (st *yySymType) orderByUnion() OrderBy { 7004 v, _ := st.union.(OrderBy) 7005 return v 7006 } 7007 7008 func (st *yySymType) orderDirectionUnion() OrderDirection { 7009 v, _ := st.union.(OrderDirection) 7010 return v 7011 } 7012 7013 func (st *yySymType) overClauseUnion() *OverClause { 7014 v, _ := st.union.(*OverClause) 7015 return v 7016 } 7017 7018 func (st *yySymType) partDefUnion() *PartitionDefinition { 7019 v, _ := st.union.(*PartitionDefinition) 7020 return v 7021 } 7022 7023 func (st *yySymType) partDefsUnion() []*PartitionDefinition { 7024 v, _ := st.union.([]*PartitionDefinition) 7025 return v 7026 } 7027 7028 func (st *yySymType) partSpecUnion() *PartitionSpec { 7029 v, _ := st.union.(*PartitionSpec) 7030 return v 7031 } 7032 7033 func (st *yySymType) partSpecsUnion() []*PartitionSpec { 7034 v, _ := st.union.([]*PartitionSpec) 7035 return v 7036 } 7037 7038 func (st *yySymType) partitionByTypeUnion() PartitionByType { 7039 v, _ := st.union.(PartitionByType) 7040 return v 7041 } 7042 7043 func (st *yySymType) partitionDefinitionOptionsUnion() *PartitionDefinitionOptions { 7044 v, _ := st.union.(*PartitionDefinitionOptions) 7045 return v 7046 } 7047 7048 func (st *yySymType) partitionEngineUnion() *PartitionEngine { 7049 v, _ := st.union.(*PartitionEngine) 7050 return v 7051 } 7052 7053 func (st *yySymType) partitionOptionUnion() *PartitionOption { 7054 v, _ := st.union.(*PartitionOption) 7055 return v 7056 } 7057 7058 func (st *yySymType) partitionValueRangeUnion() *PartitionValueRange { 7059 v, _ := st.union.(*PartitionValueRange) 7060 return v 7061 } 7062 7063 func (st *yySymType) partitionsUnion() Partitions { 7064 v, _ := st.union.(Partitions) 7065 return v 7066 } 7067 7068 func (st *yySymType) referenceActionUnion() ReferenceAction { 7069 v, _ := st.union.(ReferenceAction) 7070 return v 7071 } 7072 7073 func (st *yySymType) referenceDefinitionUnion() *ReferenceDefinition { 7074 v, _ := st.union.(*ReferenceDefinition) 7075 return v 7076 } 7077 7078 func (st *yySymType) renameTablePairsUnion() []*RenameTablePair { 7079 v, _ := st.union.([]*RenameTablePair) 7080 return v 7081 } 7082 7083 func (st *yySymType) revertMigrationUnion() *RevertMigration { 7084 v, _ := st.union.(*RevertMigration) 7085 return v 7086 } 7087 7088 func (st *yySymType) scopeUnion() Scope { 7089 v, _ := st.union.(Scope) 7090 return v 7091 } 7092 7093 func (st *yySymType) selStmtUnion() SelectStatement { 7094 v, _ := st.union.(SelectStatement) 7095 return v 7096 } 7097 7098 func (st *yySymType) selectExprUnion() SelectExpr { 7099 v, _ := st.union.(SelectExpr) 7100 return v 7101 } 7102 7103 func (st *yySymType) selectExprsUnion() SelectExprs { 7104 v, _ := st.union.(SelectExprs) 7105 return v 7106 } 7107 7108 func (st *yySymType) selectIntoUnion() *SelectInto { 7109 v, _ := st.union.(*SelectInto) 7110 return v 7111 } 7112 7113 func (st *yySymType) setExprUnion() *SetExpr { 7114 v, _ := st.union.(*SetExpr) 7115 return v 7116 } 7117 7118 func (st *yySymType) setExprsUnion() SetExprs { 7119 v, _ := st.union.(SetExprs) 7120 return v 7121 } 7122 7123 func (st *yySymType) showFilterUnion() *ShowFilter { 7124 v, _ := st.union.(*ShowFilter) 7125 return v 7126 } 7127 7128 func (st *yySymType) starExprUnion() StarExpr { 7129 v, _ := st.union.(StarExpr) 7130 return v 7131 } 7132 7133 func (st *yySymType) statementUnion() Statement { 7134 v, _ := st.union.(Statement) 7135 return v 7136 } 7137 7138 func (st *yySymType) subPartitionUnion() *SubPartition { 7139 v, _ := st.union.(*SubPartition) 7140 return v 7141 } 7142 7143 func (st *yySymType) subPartitionDefinitionUnion() *SubPartitionDefinition { 7144 v, _ := st.union.(*SubPartitionDefinition) 7145 return v 7146 } 7147 7148 func (st *yySymType) subPartitionDefinitionOptionsUnion() *SubPartitionDefinitionOptions { 7149 v, _ := st.union.(*SubPartitionDefinitionOptions) 7150 return v 7151 } 7152 7153 func (st *yySymType) subPartitionDefinitionsUnion() SubPartitionDefinitions { 7154 v, _ := st.union.(SubPartitionDefinitions) 7155 return v 7156 } 7157 7158 func (st *yySymType) subqueryUnion() *Subquery { 7159 v, _ := st.union.(*Subquery) 7160 return v 7161 } 7162 7163 func (st *yySymType) tableAndLockTypeUnion() *TableAndLockType { 7164 v, _ := st.union.(*TableAndLockType) 7165 return v 7166 } 7167 7168 func (st *yySymType) tableAndLockTypesUnion() TableAndLockTypes { 7169 v, _ := st.union.(TableAndLockTypes) 7170 return v 7171 } 7172 7173 func (st *yySymType) tableExprUnion() TableExpr { 7174 v, _ := st.union.(TableExpr) 7175 return v 7176 } 7177 7178 func (st *yySymType) tableExprsUnion() TableExprs { 7179 v, _ := st.union.(TableExprs) 7180 return v 7181 } 7182 7183 func (st *yySymType) tableNamesUnion() TableNames { 7184 v, _ := st.union.(TableNames) 7185 return v 7186 } 7187 7188 func (st *yySymType) tableOptionUnion() *TableOption { 7189 v, _ := st.union.(*TableOption) 7190 return v 7191 } 7192 7193 func (st *yySymType) tableOptionsUnion() TableOptions { 7194 v, _ := st.union.(TableOptions) 7195 return v 7196 } 7197 7198 func (st *yySymType) tableSpecUnion() *TableSpec { 7199 v, _ := st.union.(*TableSpec) 7200 return v 7201 } 7202 7203 func (st *yySymType) trimTypeUnion() TrimType { 7204 v, _ := st.union.(TrimType) 7205 return v 7206 } 7207 7208 func (st *yySymType) txAccessModeUnion() TxAccessMode { 7209 v, _ := st.union.(TxAccessMode) 7210 return v 7211 } 7212 7213 func (st *yySymType) txAccessModesUnion() []TxAccessMode { 7214 v, _ := st.union.([]TxAccessMode) 7215 return v 7216 } 7217 7218 func (st *yySymType) updateExprUnion() *UpdateExpr { 7219 v, _ := st.union.(*UpdateExpr) 7220 return v 7221 } 7222 7223 func (st *yySymType) updateExprsUnion() UpdateExprs { 7224 v, _ := st.union.(UpdateExprs) 7225 return v 7226 } 7227 7228 func (st *yySymType) valTupleUnion() ValTuple { 7229 v, _ := st.union.(ValTuple) 7230 return v 7231 } 7232 7233 func (st *yySymType) valuesUnion() Values { 7234 v, _ := st.union.(Values) 7235 return v 7236 } 7237 7238 func (st *yySymType) variableUnion() *Variable { 7239 v, _ := st.union.(*Variable) 7240 return v 7241 } 7242 7243 func (st *yySymType) variablesUnion() []*Variable { 7244 v, _ := st.union.([]*Variable) 7245 return v 7246 } 7247 7248 func (st *yySymType) vexplainTypeUnion() VExplainType { 7249 v, _ := st.union.(VExplainType) 7250 return v 7251 } 7252 7253 func (st *yySymType) vindexParamsUnion() []VindexParam { 7254 v, _ := st.union.([]VindexParam) 7255 return v 7256 } 7257 7258 func (st *yySymType) whenUnion() *When { 7259 v, _ := st.union.(*When) 7260 return v 7261 } 7262 7263 func (st *yySymType) whensUnion() []*When { 7264 v, _ := st.union.([]*When) 7265 return v 7266 } 7267 7268 func (st *yySymType) windowDefinitionUnion() *WindowDefinition { 7269 v, _ := st.union.(*WindowDefinition) 7270 return v 7271 } 7272 7273 func (st *yySymType) windowDefinitionsUnion() WindowDefinitions { 7274 v, _ := st.union.(WindowDefinitions) 7275 return v 7276 } 7277 7278 func (st *yySymType) windowSpecificationUnion() *WindowSpecification { 7279 v, _ := st.union.(*WindowSpecification) 7280 return v 7281 } 7282 7283 func (st *yySymType) withUnion() *With { 7284 v, _ := st.union.(*With) 7285 return v 7286 } 7287 7288 var yyR1 = [...]int{ 7289 0, 410, 411, 411, 7, 7, 7, 7, 7, 7, 7290 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7291 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7292 7, 7, 7, 7, 7, 7, 7, 7, 7, 258, 7293 381, 382, 382, 256, 256, 33, 72, 35, 35, 34, 7294 34, 37, 37, 36, 8, 8, 8, 9, 9, 9, 7295 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 7296 11, 11, 11, 11, 13, 13, 13, 13, 13, 20, 7297 21, 12, 12, 22, 22, 106, 106, 23, 24, 24, 7298 24, 24, 414, 414, 183, 183, 181, 181, 182, 182, 7299 261, 261, 25, 265, 265, 267, 267, 267, 267, 257, 7300 257, 257, 26, 26, 266, 266, 268, 268, 268, 271, 7301 271, 271, 271, 310, 310, 310, 27, 27, 27, 27, 7302 27, 126, 126, 384, 384, 383, 377, 377, 376, 376, 7303 375, 380, 380, 379, 379, 378, 39, 40, 49, 49, 7304 49, 49, 50, 51, 385, 385, 350, 56, 56, 55, 7305 55, 55, 55, 55, 55, 57, 57, 53, 53, 52, 7306 52, 54, 54, 352, 352, 338, 338, 351, 351, 351, 7307 351, 351, 351, 351, 337, 337, 137, 137, 235, 235, 7308 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 7309 235, 235, 235, 235, 235, 400, 400, 400, 399, 399, 7310 236, 236, 236, 236, 236, 236, 236, 236, 147, 147, 7311 159, 159, 159, 159, 159, 145, 145, 146, 144, 144, 7312 144, 153, 153, 153, 153, 153, 153, 153, 153, 153, 7313 153, 153, 153, 153, 153, 153, 153, 153, 404, 404, 7314 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 7315 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 7316 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 7317 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 7318 158, 158, 154, 154, 154, 155, 155, 155, 156, 156, 7319 401, 401, 401, 401, 315, 315, 315, 315, 318, 318, 7320 316, 316, 316, 316, 316, 316, 316, 316, 316, 317, 7321 317, 317, 317, 317, 317, 317, 319, 319, 319, 319, 7322 319, 320, 320, 320, 320, 320, 320, 320, 320, 320, 7323 320, 320, 320, 320, 320, 320, 320, 321, 321, 321, 7324 321, 321, 321, 321, 321, 336, 336, 322, 322, 330, 7325 330, 331, 331, 332, 332, 332, 333, 333, 333, 334, 7326 334, 327, 327, 327, 327, 327, 327, 327, 327, 327, 7327 329, 329, 328, 328, 328, 339, 364, 364, 363, 363, 7328 361, 361, 361, 361, 361, 361, 361, 361, 348, 348, 7329 358, 358, 358, 358, 358, 347, 347, 343, 343, 343, 7330 344, 344, 345, 345, 342, 342, 346, 346, 360, 360, 7331 359, 359, 340, 340, 341, 341, 366, 402, 402, 402, 7332 402, 402, 403, 403, 367, 392, 394, 394, 394, 393, 7333 393, 390, 391, 389, 389, 389, 389, 389, 82, 82, 7334 82, 284, 284, 285, 285, 356, 356, 355, 355, 355, 7335 357, 357, 354, 354, 354, 354, 354, 354, 354, 354, 7336 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 7337 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 7338 354, 354, 354, 279, 279, 279, 388, 388, 388, 388, 7339 388, 388, 387, 387, 387, 353, 353, 353, 386, 386, 7340 58, 58, 216, 216, 405, 405, 406, 406, 406, 46, 7341 46, 46, 46, 46, 46, 45, 45, 45, 41, 41, 7342 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 7343 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 7344 41, 41, 41, 41, 41, 41, 41, 41, 41, 47, 7345 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 7346 42, 28, 28, 28, 28, 28, 28, 28, 28, 28, 7347 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 7348 28, 28, 28, 28, 28, 28, 28, 28, 28, 108, 7349 108, 109, 109, 109, 109, 111, 111, 111, 369, 369, 7350 59, 59, 3, 3, 171, 173, 174, 174, 172, 172, 7351 172, 172, 172, 172, 61, 61, 60, 60, 176, 175, 7352 177, 177, 177, 1, 1, 2, 2, 4, 4, 374, 7353 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 7354 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 7355 374, 335, 335, 335, 368, 368, 370, 110, 110, 110, 7356 110, 110, 110, 110, 110, 110, 110, 114, 113, 113, 7357 112, 115, 115, 115, 115, 115, 115, 115, 115, 372, 7358 372, 372, 62, 62, 373, 323, 324, 325, 5, 6, 7359 349, 371, 122, 122, 29, 38, 38, 30, 30, 30, 7360 30, 31, 31, 63, 64, 64, 64, 64, 64, 64, 7361 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 7362 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 7363 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 7364 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 7365 64, 64, 64, 64, 64, 64, 278, 278, 287, 287, 7366 277, 277, 302, 302, 302, 280, 280, 280, 281, 281, 7367 398, 398, 398, 274, 274, 65, 65, 65, 303, 303, 7368 303, 303, 67, 67, 407, 407, 408, 408, 409, 409, 7369 409, 68, 69, 69, 305, 305, 306, 306, 70, 71, 7370 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 7371 84, 107, 107, 107, 15, 15, 15, 15, 79, 79, 7372 79, 14, 14, 17, 66, 66, 73, 395, 395, 396, 7373 397, 397, 397, 397, 74, 76, 32, 32, 32, 32, 7374 32, 32, 132, 132, 120, 120, 120, 120, 120, 120, 7375 120, 120, 120, 120, 120, 120, 127, 127, 127, 121, 7376 121, 415, 77, 78, 78, 125, 125, 125, 118, 118, 7377 118, 124, 124, 124, 16, 16, 18, 260, 260, 19, 7378 19, 129, 129, 131, 131, 131, 131, 131, 133, 133, 7379 133, 133, 133, 133, 133, 128, 128, 130, 130, 130, 7380 130, 295, 295, 295, 294, 294, 165, 165, 167, 166, 7381 166, 168, 168, 169, 169, 169, 169, 214, 214, 191, 7382 191, 253, 253, 254, 254, 252, 252, 259, 259, 255, 7383 255, 255, 255, 262, 262, 170, 170, 170, 170, 178, 7384 178, 179, 179, 180, 180, 304, 304, 300, 300, 300, 7385 299, 299, 184, 184, 184, 186, 185, 185, 185, 185, 7386 187, 187, 189, 189, 188, 188, 190, 195, 195, 194, 7387 194, 192, 192, 192, 192, 193, 193, 193, 193, 196, 7388 196, 142, 142, 142, 142, 142, 142, 142, 157, 157, 7389 157, 157, 160, 160, 160, 160, 160, 160, 160, 160, 7390 160, 160, 160, 243, 243, 148, 148, 148, 148, 148, 7391 148, 148, 148, 148, 148, 148, 148, 148, 152, 152, 7392 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 7393 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 7394 152, 152, 152, 151, 219, 219, 218, 218, 85, 85, 7395 85, 86, 86, 87, 87, 87, 87, 87, 88, 88, 7396 88, 88, 88, 143, 143, 90, 90, 89, 89, 209, 7397 209, 292, 292, 91, 92, 92, 95, 95, 94, 93, 7398 93, 99, 99, 96, 96, 98, 98, 97, 100, 100, 7399 101, 102, 102, 275, 275, 197, 197, 205, 205, 205, 7400 205, 198, 198, 198, 198, 198, 198, 198, 206, 206, 7401 206, 213, 207, 207, 203, 203, 201, 201, 201, 201, 7402 201, 201, 201, 201, 201, 201, 202, 202, 202, 202, 7403 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7404 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7405 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7406 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7407 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7408 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7409 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7410 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 7411 202, 202, 202, 202, 162, 162, 162, 162, 224, 224, 7412 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 7413 149, 149, 149, 149, 149, 150, 150, 163, 163, 163, 7414 163, 164, 164, 164, 164, 164, 164, 164, 312, 312, 7415 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 7416 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 7417 116, 416, 416, 326, 326, 326, 326, 204, 204, 204, 7418 204, 204, 123, 123, 123, 123, 123, 309, 309, 309, 7419 313, 313, 313, 311, 311, 311, 311, 311, 311, 311, 7420 311, 311, 311, 311, 311, 311, 311, 311, 314, 314, 7421 222, 222, 119, 119, 220, 220, 221, 223, 223, 215, 7422 215, 215, 215, 217, 217, 200, 200, 200, 225, 225, 7423 226, 226, 103, 104, 104, 105, 105, 227, 227, 229, 7424 228, 228, 230, 231, 231, 231, 232, 232, 233, 233, 7425 233, 48, 48, 48, 48, 48, 43, 43, 43, 43, 7426 44, 44, 44, 44, 134, 134, 134, 134, 136, 136, 7427 135, 135, 80, 80, 81, 81, 81, 140, 140, 141, 7428 141, 141, 138, 138, 139, 139, 250, 250, 234, 234, 7429 234, 241, 241, 241, 237, 237, 239, 239, 239, 240, 7430 240, 240, 238, 247, 247, 249, 249, 248, 248, 244, 7431 244, 245, 245, 246, 246, 246, 242, 242, 199, 199, 7432 199, 199, 199, 251, 251, 251, 251, 263, 263, 210, 7433 210, 212, 212, 211, 211, 161, 264, 264, 272, 269, 7434 269, 270, 270, 296, 296, 296, 273, 273, 286, 286, 7435 282, 282, 283, 283, 276, 276, 288, 288, 288, 75, 7436 208, 208, 365, 365, 362, 291, 291, 293, 293, 297, 7437 297, 301, 301, 298, 298, 289, 289, 289, 289, 289, 7438 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7439 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7440 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7441 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7442 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7443 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7444 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7445 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7446 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7447 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7448 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7449 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7450 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7451 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 7452 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, 7453 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7454 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7455 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7456 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7457 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7458 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7459 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7460 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7461 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7462 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7463 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7464 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7465 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7466 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7467 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7468 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7469 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7470 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7471 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7472 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7473 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7474 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7475 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7476 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7477 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7478 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7479 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7480 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7481 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7482 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7483 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7484 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7485 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7486 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7487 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7488 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7489 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7490 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7491 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 7492 290, 290, 290, 290, 412, 413, 307, 308, 308, 308, 7493 } 7494 7495 var yyR2 = [...]int{ 7496 0, 3, 0, 1, 1, 1, 1, 1, 1, 1, 7497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7499 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7500 1, 0, 1, 1, 1, 2, 3, 2, 3, 0, 7501 1, 3, 1, 4, 3, 3, 4, 3, 2, 3, 7502 4, 3, 4, 2, 7, 1, 3, 3, 3, 3, 7503 1, 2, 1, 1, 3, 2, 3, 3, 2, 5, 7504 7, 10, 9, 7, 8, 1, 1, 10, 11, 9, 7505 8, 8, 1, 1, 1, 3, 1, 3, 1, 3, 7506 0, 4, 3, 1, 3, 3, 3, 3, 3, 1, 7507 1, 2, 5, 4, 1, 3, 3, 2, 2, 2, 7508 2, 2, 1, 1, 1, 1, 2, 2, 6, 12, 7509 2, 0, 2, 0, 2, 1, 0, 2, 1, 3, 7510 3, 0, 1, 1, 3, 3, 6, 4, 7, 8, 7511 8, 8, 6, 3, 1, 1, 5, 0, 1, 1, 7512 1, 1, 2, 2, 2, 0, 1, 4, 4, 4, 7513 4, 4, 4, 2, 4, 1, 3, 1, 1, 3, 7514 4, 3, 3, 3, 5, 10, 0, 2, 0, 2, 7515 3, 5, 3, 4, 2, 3, 2, 3, 3, 3, 7516 3, 2, 2, 4, 4, 1, 1, 1, 1, 1, 7517 0, 2, 2, 3, 3, 2, 2, 2, 1, 1, 7518 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 7519 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 7520 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 7521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7523 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7524 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7525 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 7526 2, 1, 2, 1, 3, 1, 1, 1, 2, 1, 7527 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 7528 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 7529 2, 3, 3, 3, 2, 2, 2, 2, 2, 2, 7530 1, 1, 1, 1, 1, 5, 5, 1, 1, 1, 7531 1, 1, 1, 1, 1, 1, 3, 0, 3, 0, 7532 5, 1, 3, 0, 3, 5, 0, 1, 1, 0, 7533 1, 0, 3, 3, 2, 2, 2, 1, 2, 2, 7534 0, 1, 0, 2, 2, 5, 0, 1, 1, 2, 7535 1, 3, 2, 1, 1, 3, 3, 3, 0, 1, 7536 4, 3, 3, 4, 2, 0, 2, 1, 1, 1, 7537 1, 1, 0, 1, 1, 1, 0, 1, 1, 3, 7538 3, 4, 3, 1, 3, 1, 7, 6, 7, 7, 7539 8, 8, 0, 1, 5, 2, 1, 1, 1, 0, 7540 1, 3, 3, 1, 1, 2, 2, 2, 0, 1, 7541 1, 1, 2, 0, 1, 0, 1, 1, 3, 2, 7542 1, 2, 3, 3, 3, 4, 4, 3, 3, 3, 7543 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 7544 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7545 3, 4, 5, 0, 2, 2, 1, 1, 1, 1, 7546 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7547 0, 1, 0, 2, 0, 2, 0, 2, 2, 0, 7548 1, 5, 1, 3, 7, 1, 3, 3, 1, 2, 7549 2, 2, 5, 5, 5, 6, 8, 5, 5, 4, 7550 4, 4, 6, 5, 5, 5, 2, 2, 2, 2, 7551 3, 3, 3, 4, 3, 3, 1, 3, 5, 1, 7552 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 7553 2, 3, 4, 4, 2, 11, 3, 6, 8, 6, 7554 6, 6, 13, 8, 6, 10, 5, 5, 5, 7, 7555 5, 5, 5, 5, 5, 7, 7, 5, 5, 0, 7556 6, 5, 6, 4, 5, 0, 8, 9, 0, 3, 7557 0, 1, 0, 3, 8, 4, 1, 3, 3, 6, 7558 7, 7, 8, 4, 0, 1, 0, 1, 3, 3, 7559 1, 1, 2, 1, 1, 0, 2, 0, 2, 5, 7560 3, 7, 4, 4, 4, 4, 3, 3, 3, 7, 7561 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7562 2, 0, 2, 2, 1, 3, 2, 0, 2, 2, 7563 2, 2, 2, 2, 2, 2, 2, 3, 1, 3, 7564 3, 0, 2, 2, 2, 2, 2, 2, 2, 4, 7565 4, 3, 0, 1, 4, 3, 4, 4, 3, 3, 7566 3, 2, 1, 3, 3, 3, 5, 7, 7, 6, 7567 5, 3, 2, 3, 3, 3, 7, 3, 3, 3, 7568 3, 4, 7, 5, 2, 4, 4, 4, 4, 4, 7569 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 7570 2, 2, 4, 4, 4, 4, 4, 2, 3, 3, 7571 3, 3, 5, 2, 3, 3, 2, 3, 4, 4, 7572 4, 3, 4, 4, 5, 3, 0, 1, 0, 1, 7573 1, 1, 0, 2, 2, 0, 2, 2, 0, 2, 7574 0, 1, 1, 1, 1, 2, 1, 3, 1, 1, 7575 1, 1, 1, 3, 0, 1, 1, 3, 3, 2, 7576 2, 1, 1, 5, 0, 1, 0, 1, 2, 3, 7577 0, 3, 3, 3, 3, 3, 1, 0, 1, 1, 7578 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7579 1, 4, 4, 4, 2, 2, 3, 1, 3, 2, 7580 1, 2, 1, 2, 2, 4, 3, 3, 6, 4, 7581 7, 6, 1, 3, 2, 2, 2, 2, 1, 1, 7582 1, 3, 2, 1, 1, 1, 0, 1, 1, 0, 7583 3, 0, 2, 0, 2, 1, 2, 2, 0, 1, 7584 1, 0, 1, 1, 5, 5, 4, 0, 2, 4, 7585 4, 0, 1, 0, 1, 2, 3, 4, 1, 1, 7586 1, 1, 1, 1, 1, 1, 3, 1, 2, 3, 7587 5, 0, 1, 2, 1, 1, 0, 1, 2, 1, 7588 3, 1, 1, 1, 4, 3, 1, 1, 2, 3, 7589 7, 0, 3, 0, 1, 1, 3, 1, 3, 1, 7590 1, 3, 3, 1, 3, 4, 4, 4, 3, 2, 7591 4, 0, 1, 0, 2, 0, 1, 0, 1, 2, 7592 1, 1, 1, 2, 2, 1, 2, 3, 2, 3, 7593 2, 2, 2, 1, 1, 3, 3, 0, 1, 1, 7594 2, 6, 5, 6, 6, 0, 2, 3, 3, 0, 7595 2, 3, 3, 3, 2, 3, 1, 6, 3, 4, 7596 3, 1, 3, 4, 5, 6, 3, 4, 5, 6, 7597 3, 4, 1, 1, 1, 3, 3, 3, 3, 3, 7598 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 7599 1, 1, 3, 1, 1, 1, 2, 2, 2, 2, 7600 1, 1, 2, 7, 7, 6, 6, 2, 2, 1, 7601 6, 3, 3, 3, 1, 3, 1, 3, 1, 1, 7602 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 7603 2, 2, 2, 1, 1, 0, 1, 2, 5, 0, 7604 3, 0, 1, 4, 4, 2, 0, 1, 1, 2, 7605 2, 1, 1, 2, 2, 0, 1, 1, 1, 1, 7606 5, 1, 3, 0, 3, 1, 1, 1, 2, 1, 7607 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7608 1, 1, 1, 3, 4, 6, 4, 4, 8, 6, 7609 8, 6, 5, 4, 10, 2, 2, 1, 2, 2, 7610 2, 4, 5, 5, 5, 5, 5, 4, 4, 4, 7611 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 7612 6, 5, 4, 4, 4, 4, 4, 7, 4, 4, 7613 6, 6, 6, 8, 6, 6, 4, 4, 3, 4, 7614 6, 6, 4, 4, 4, 6, 8, 6, 4, 6, 7615 6, 8, 10, 7, 8, 8, 9, 4, 4, 4, 7616 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7617 6, 4, 4, 6, 4, 6, 5, 9, 6, 9, 7618 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 7619 6, 8, 10, 12, 14, 6, 8, 8, 10, 12, 7620 14, 6, 8, 10, 12, 6, 8, 4, 4, 3, 7621 4, 6, 6, 4, 6, 4, 6, 8, 0, 2, 7622 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7623 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7624 1, 0, 2, 0, 2, 3, 3, 4, 4, 4, 7625 4, 4, 0, 3, 4, 7, 3, 1, 1, 1, 7626 0, 5, 5, 2, 3, 1, 2, 2, 1, 2, 7627 1, 2, 2, 1, 2, 2, 1, 1, 0, 1, 7628 0, 1, 0, 2, 1, 2, 4, 0, 2, 1, 7629 1, 3, 5, 1, 1, 1, 2, 2, 0, 3, 7630 0, 2, 2, 1, 3, 0, 1, 0, 1, 3, 7631 1, 3, 2, 0, 1, 1, 0, 1, 2, 4, 7632 4, 0, 2, 2, 1, 1, 3, 3, 3, 3, 7633 3, 3, 3, 3, 0, 3, 3, 3, 0, 3, 7634 1, 1, 0, 4, 0, 1, 1, 0, 3, 1, 7635 3, 2, 1, 1, 0, 1, 2, 4, 9, 3, 7636 5, 0, 3, 3, 0, 1, 0, 2, 2, 0, 7637 2, 2, 2, 0, 2, 1, 2, 3, 3, 0, 7638 2, 1, 2, 3, 4, 3, 0, 1, 2, 1, 7639 5, 4, 4, 1, 3, 3, 5, 0, 5, 1, 7640 3, 1, 2, 3, 4, 1, 1, 3, 3, 1, 7641 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 7642 0, 2, 0, 3, 0, 1, 0, 1, 1, 5, 7643 0, 1, 0, 1, 2, 1, 1, 1, 1, 1, 7644 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 7645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7672 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7673 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7674 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7675 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7676 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7677 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7678 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7679 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7684 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7685 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7686 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7692 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7695 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7696 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7697 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7699 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 7700 } 7701 7702 var yyChk = [...]int{ 7703 -1000, -410, -77, -415, -7, -11, -20, -21, -22, -23, 7704 -24, -25, -26, -27, -28, -29, -30, -31, -63, -64, 7705 -65, -67, -68, -69, -70, -71, -14, -17, -66, -32, 7706 -33, -72, -73, -74, -75, -76, -16, -18, -19, -9, 7707 -8, -13, 10, 11, -106, -34, 33, -39, -49, 225, 7708 -50, -40, 226, -51, 228, 227, 265, 229, 258, 75, 7709 313, 314, 316, 317, 318, 319, -107, 617, 263, 264, 7710 231, 37, 46, 34, 35, 38, 235, 271, 272, 234, 7711 -10, -35, 9, -412, 12, 449, 260, 259, 29, -12, 7712 511, 87, -78, -411, 665, -250, -234, 23, 34, 30, 7713 -233, -229, -125, -234, 21, 19, 8, -77, -77, -77, 7714 13, 14, -77, -350, -352, 87, 159, 87, -77, -56, 7715 -55, -53, -52, -54, -57, 32, -46, -47, -374, -45, 7716 -42, 230, 227, 275, 123, 124, 265, 266, 267, 229, 7717 249, 264, 268, 263, 284, -41, 82, 34, 511, 514, 7718 -357, 226, 232, 233, 228, 450, 126, 125, 76, -354, 7719 372, 544, 635, -57, 637, 101, 104, 636, 45, 239, 7720 638, 639, 640, 551, 641, 248, 642, 643, 644, 645, 7721 651, 592, 652, 653, 654, 127, 8, -77, -301, -297, 7722 91, -290, 508, 251, 542, 543, 300, 82, 42, 517, 7723 369, 372, 544, 479, 635, 313, 329, 323, 484, 485, 7724 486, 352, 344, 509, 545, 518, 303, 252, 288, 629, 7725 342, 135, 637, 307, 546, 266, 377, 378, 547, 379, 7726 101, 316, 416, 650, 306, 548, 648, 104, 636, 321, 7727 80, 478, 52, 632, 45, 261, 340, 234, 336, 638, 7728 289, 549, 520, 282, 126, 123, 657, 37, 332, 51, 7729 31, 647, 125, 50, 639, 150, 550, 640, 551, 381, 7730 359, 623, 49, 382, 267, 552, 85, 272, 513, 310, 7731 631, 383, 498, 333, 384, 299, 646, 231, 553, 612, 7732 604, 605, 385, 386, 624, 364, 360, 365, 500, 554, 7733 408, 483, 387, 608, 609, 664, 53, 555, 556, 625, 7734 124, 557, 79, 641, 81, 327, 328, 558, 297, 250, 7735 503, 504, 410, 356, 461, 468, 469, 111, 112, 464, 7736 113, 470, 114, 471, 472, 473, 462, 115, 108, 463, 7737 474, 475, 357, 358, 116, 476, 110, 109, 465, 467, 7738 117, 477, 248, 36, 388, 510, 301, 59, 305, 276, 7739 411, 47, 362, 661, 46, 619, 505, 559, 622, 355, 7740 351, 458, 54, 560, 561, 562, 563, 480, 642, 354, 7741 326, 350, 656, 4, 294, 481, 643, 63, 233, 367, 7742 366, 368, 283, 407, 347, 564, 565, 566, 255, 83, 7743 567, 337, 22, 568, 569, 389, 290, 570, 57, 571, 7744 572, 414, 264, 573, 55, 644, 40, 574, 269, 658, 7745 645, 575, 576, 577, 618, 578, 271, 579, 391, 580, 7746 606, 607, 390, 361, 363, 506, 278, 392, 236, 512, 7747 581, 311, 331, 268, 649, 582, 256, 494, 495, 496, 7748 497, 630, 502, 501, 270, 275, 263, 415, 257, 583, 7749 584, 585, 586, 587, 304, 603, 588, 589, 317, 651, 7750 459, 44, 590, 591, 592, 593, 594, 298, 293, 409, 7751 418, 62, 84, 374, 595, 596, 628, 325, 322, 291, 7752 597, 314, 56, 652, 653, 654, 285, 655, 487, 488, 7753 489, 490, 10, 662, 663, 482, 394, 127, 295, 296, 7754 48, 348, 277, 598, 308, 599, 338, 339, 353, 324, 7755 349, 615, 315, 613, 279, 395, 460, 265, 600, 417, 7756 292, 370, 375, 309, 516, 499, 284, 396, 627, 515, 7757 491, 492, 346, 343, 286, 493, 601, 617, 397, 240, 7758 280, 281, 602, 614, 398, 399, 302, 400, 401, 402, 7759 403, 404, 406, 312, 405, 616, 610, 611, 287, 514, 7760 320, 341, 376, 430, 431, 432, 433, 434, 435, 436, 7761 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 7762 447, 457, 238, -77, 238, -188, -297, 238, -269, 378, 7763 -287, 380, 393, 388, 398, 386, -278, 389, 391, 278, 7764 -398, 408, 238, 395, 225, 381, 390, 399, 400, 302, 7765 406, 401, 312, 405, 287, 402, 403, 404, -381, 177, 7766 640, 655, 135, 345, 385, 383, 409, 619, 91, -303, 7767 91, 92, 93, -290, 315, -305, 320, -291, -381, -290, 7768 318, -77, -77, -307, -307, -127, 619, 621, -207, -142, 7769 143, -157, -160, -148, -152, -201, -202, -203, -204, -158, 7770 -217, -256, 166, 167, 174, 144, -213, -161, 27, 507, 7771 451, 450, 177, 32, -151, 220, 69, 70, 453, 146, 7772 58, 12, 426, 427, -159, 421, 428, 423, 478, 480, 7773 481, 482, 479, 484, 485, 486, 487, 488, 489, 490, 7774 491, 492, 493, 483, 455, 456, 118, 457, 108, 110, 7775 109, 458, 459, 460, 342, 505, 506, 500, 503, 504, 7776 502, 501, 357, 358, 461, 462, 463, 111, 112, 113, 7777 114, 115, 116, 117, 464, 467, 465, 466, 468, 469, 7778 470, 475, 476, 471, 472, 473, 474, 477, 362, 361, 7779 -87, -99, 533, 532, -100, -149, -150, -163, -164, -291, 7780 -297, 243, 420, 237, 172, 449, -153, -146, -215, 107, 7781 92, 93, -8, -211, 419, 424, 425, 429, 422, 519, 7782 521, 536, 537, 539, 524, 529, 528, 531, 494, 495, 7783 496, 497, 498, 499, 604, 605, 606, 607, 608, 609, 7784 610, 611, -381, -290, 91, -155, -154, -197, 94, 99, 7785 102, 103, 105, -404, 261, 338, 339, 119, -412, 633, 7786 90, 95, 96, 97, 98, 120, 121, 178, 179, 180, 7787 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 7788 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 7789 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 7790 211, 212, 213, 214, 215, 216, 217, 218, 219, 45, 7791 394, 394, -188, -77, -77, -77, -77, -227, -125, -229, 7792 -10, -8, -412, 9, -77, -8, -9, -13, -35, -37, 7793 538, -36, -297, 100, -234, -250, 13, 162, 43, 51, 7794 -232, -233, -12, -8, -142, 20, 24, 25, -130, 168, 7795 -142, -297, -130, -276, 242, -77, -77, -265, -310, 315, 7796 -267, 409, 619, 408, -257, -270, 91, -256, -269, 407, 7797 -351, 159, -337, -341, -291, 253, -367, 249, -188, -360, 7798 -359, -291, -412, -126, -286, 239, 247, 246, 136, -385, 7799 139, 295, 420, 237, -52, -53, -54, -269, 176, 639, 7800 -108, 270, 274, 88, 88, -341, -340, -339, -386, 274, 7801 253, -366, -358, 245, 254, -347, 246, 247, -342, 239, 7802 137, -386, -342, 244, 254, 249, 253, 274, 274, 127, 7803 274, 127, 274, 274, 274, 274, 274, 274, 274, 274, 7804 274, 269, -348, 151, -348, 515, 515, -354, -386, 249, 7805 239, -386, -386, 245, -288, -342, 241, 26, 241, 36, 7806 36, -348, -348, -348, -269, 176, -348, -348, -348, -348, 7807 282, 282, -348, -348, -348, -348, -348, -348, -348, -348, 7808 -348, -348, -348, -348, -348, -348, -348, -348, -348, 238, 7809 -385, -134, 405, 302, 82, -55, 284, -38, -188, -286, 7810 239, 240, -385, 271, -188, 221, -188, -280, 159, 16, 7811 -280, -277, 394, 392, 379, 384, -280, -280, -280, -280, 7812 285, 377, -343, 239, 36, 250, 394, 285, 377, 285, 7813 286, 285, 286, 387, 397, 285, -302, 15, 162, 420, 7814 382, 386, 278, 238, 279, 240, 396, 286, -302, 90, 7815 -281, 159, 285, 394, 281, -280, -280, -308, -412, -293, 7816 -291, -289, 230, 24, 142, 26, 28, 145, 177, 130, 7817 20, 146, 38, 232, 345, 249, 176, 245, 450, 225, 7818 73, 519, 421, 423, 419, 426, 452, 453, 420, 380, 7819 32, 14, 521, 29, 259, 25, 39, 170, 227, 149, 7820 522, 262, 27, 260, 118, 121, 524, 23, 76, 254, 7821 15, 247, 41, 17, 525, 526, 18, 243, 242, 162, 7822 239, 71, 12, 220, 30, 158, 67, 527, 137, 528, 7823 529, 530, 531, 131, 69, 159, 21, 659, 424, 425, 7824 34, 620, 507, 273, 172, 74, 60, 621, 143, 422, 7825 532, 533, 119, 534, 122, 77, 626, 139, 19, 72, 7826 43, 535, 274, 536, 244, 660, 537, 412, 538, 160, 7827 228, 449, 70, 161, 633, 539, 634, 237, 393, 9, 7828 454, 33, 258, 246, 129, 68, 540, 238, 148, 455, 7829 456, 241, 132, 120, 8, 136, 35, 13, 75, 78, 7830 427, 428, 429, 58, 128, 511, 147, 16, 541, 413, 7831 141, -381, 622, -308, -308, 33, 92, -407, -408, -409, 7832 511, 412, 241, -291, -188, -83, 612, 229, -84, 618, 7833 24, 236, -132, 394, -120, 177, 640, 623, 624, 625, 7834 622, 391, 630, 628, 626, 285, 627, 88, 139, 141, 7835 142, 4, -142, 158, -198, 151, 152, 153, 154, 155, 7836 156, 157, 162, 143, 145, 159, -243, 140, 163, 164, 7837 165, 166, 167, 168, 169, 171, 170, 172, 173, 160, 7838 161, 176, 223, 224, -152, -152, -152, -152, -213, -219, 7839 -218, -412, -215, -381, -290, -297, -412, -412, -152, -275, 7840 -412, -412, -148, -412, -412, -412, -222, -142, -412, -412, 7841 -416, -412, -416, -416, -326, -412, -326, -412, -412, -412, 7842 -412, -412, -412, -412, -412, -412, -412, -412, -412, -412, 7843 -412, -412, -412, -412, -412, -412, -412, -412, -412, -412, 7844 -412, -412, -412, -412, -412, -412, -412, -412, -412, -412, 7845 -412, -412, -412, -412, -412, -412, -412, -412, -412, -412, 7846 -412, -412, -412, -412, -412, -412, -412, -412, -412, -412, 7847 -412, -412, -412, -412, -412, -412, -412, -412, -412, -412, 7848 -412, -412, -412, -412, -412, 221, -412, -412, -412, -412, 7849 -412, -326, -326, -326, -326, -326, -412, -412, -412, -412, 7850 -412, -412, -412, -412, -412, -412, -412, -412, -412, -412, 7851 103, 99, 102, 94, -217, 105, 90, 90, 90, 90, 7852 -8, -9, -207, -412, -307, -395, -396, -191, -188, -412, 7853 302, -291, -291, 271, -232, -12, -8, -227, -233, -229, 7854 -8, -77, -118, -131, 64, 65, -133, 25, 39, 68, 7855 66, 24, -413, 89, -413, -250, -413, 88, -37, -253, 7856 87, 62, 44, 90, 90, 88, 22, -228, -230, -142, 7857 15, -295, 4, -294, 26, -291, 90, 221, 15, -189, 7858 30, -188, -276, -276, 88, 91, 315, -266, -268, 410, 7859 412, 151, -296, -291, 90, 32, 89, 88, -188, -315, 7860 -318, -320, -319, -321, -316, -317, 342, 343, 177, 346, 7861 348, 349, 350, 351, 352, 353, 354, 355, 356, 359, 7862 33, 261, 338, 339, 340, 341, 360, 361, 362, 363, 7863 365, 366, 367, 368, 323, 344, 509, 324, 325, 326, 7864 327, 328, 329, 331, 332, 335, 333, 334, 336, 337, 7865 -382, -381, 87, 89, 88, -322, 87, -142, -134, 238, 7866 -381, 239, 239, 239, -77, 449, -348, -348, -348, 269, 7867 20, -45, -42, -374, 19, -41, -42, 230, 123, 124, 7868 227, 87, -337, 87, -346, -382, -381, 87, 137, 244, 7869 136, -345, -342, -345, -346, -381, -215, -381, 137, 137, 7870 -381, -381, -262, -291, -262, -262, 24, -262, 24, -262, 7871 24, 96, -291, -262, 24, -262, 24, -262, 24, -262, 7872 24, -262, 24, 32, 79, 80, 81, 32, 83, 84, 7873 85, -215, -381, -381, -215, -337, -215, -188, -381, -269, 7874 96, 96, 96, -348, -348, 96, 90, 90, 90, -348, 7875 -348, 96, 90, -299, -297, 90, 90, -387, 255, 299, 7876 301, 96, 96, 96, 96, 32, 90, -388, 32, 647, 7877 646, 648, 649, 650, 90, 96, 32, 96, 32, 96, 7878 -291, 87, -188, -140, 289, 225, 227, 230, 77, 90, 7879 305, 306, 303, 308, 309, 151, 45, 88, 241, 238, 7880 -381, -282, 243, -282, -291, -298, -297, -289, 90, -142, 7881 -344, 15, 162, -302, -302, -280, -188, -344, -302, -280, 7882 -188, -280, -280, -280, -280, -302, -302, -302, -280, -297, 7883 -297, -188, -188, -188, -188, -188, -188, -188, -308, -281, 7884 -280, 622, 90, -274, 15, 77, -308, -308, 88, 321, 7885 413, 414, -306, 318, -79, -291, 90, -15, -11, -23, 7886 -22, -24, 151, -15, 88, 511, -181, -188, 622, 622, 7887 622, 622, 622, 622, -142, -142, -142, -142, 534, -205, 7888 119, 143, 120, 121, -160, -206, -211, -213, 106, 162, 7889 145, 159, -243, -148, -152, -148, -148, -148, -148, -148, 7890 -148, -148, -148, -148, -148, -148, -148, -148, -309, -291, 7891 90, 177, -156, -155, 105, -404, -156, 508, 88, -218, 7892 221, -142, -142, -381, -142, -291, -128, -130, -128, -142, 7893 -220, -221, 147, -215, -142, -413, -413, 96, 105, 168, 7894 -124, 25, 39, -124, -124, -124, -124, -142, -142, -142, 7895 -142, -142, -142, -142, -142, -142, -142, -124, -291, -291, 7896 -117, -116, 431, 432, 433, 434, 436, 437, 438, 441, 7897 442, 446, 447, 430, 448, 435, 440, 443, 444, 445, 7898 439, 341, -142, -142, -142, -142, -142, -142, -85, -142, 7899 130, 131, 132, -207, -142, -148, -142, -142, -142, -413, 7900 -142, -142, -142, -208, -207, -380, -379, -378, -142, -142, 7901 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, 7902 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, 7903 -142, -207, -142, -413, -142, -162, -146, 96, -258, 105, 7904 92, -142, -142, -129, -128, -293, -298, -289, -290, -128, 7905 -129, -129, -128, -128, -142, -142, -142, -142, -142, -142, 7906 -142, -142, -413, -142, -142, -142, -142, -142, -250, -413, 7907 -207, 88, -397, 412, 413, 620, -300, 274, -299, 26, 7908 -208, 90, 15, -260, 78, -291, -232, -232, 64, 65, 7909 60, -128, -133, -413, -36, 26, -252, -291, 63, 90, 7910 -327, -269, 369, 370, 177, -142, -142, 88, -231, 28, 7911 29, -188, -294, 168, -298, -188, -261, 274, -188, -166, 7912 -168, -169, -170, -191, -214, -412, -171, -8, 530, 527, 7913 15, -181, -182, -190, -297, -267, -310, -266, 88, 411, 7914 413, 414, 77, 122, -142, -328, 176, -356, -355, -354, 7915 -337, -339, -340, -341, 89, -328, -333, 375, 374, -322, 7916 -322, -322, -322, -322, -327, -327, -327, -327, 87, 87, 7917 -322, -322, -322, -322, -330, 87, -330, -330, -331, -330, 7918 87, -331, -332, 87, -332, -367, -142, -364, -363, -361, 7919 -362, 248, 101, 602, 558, 511, 551, 592, 78, -359, 7920 -231, 96, -413, -140, -283, 243, -365, -362, -381, -381, 7921 -381, -283, 91, 90, 91, 90, 91, 90, -109, -59, 7922 -1, 659, 660, 661, 88, 20, -338, -337, -58, 299, 7923 -370, -371, 274, -366, -360, -346, 137, -345, -346, -346, 7924 -381, 88, 30, 127, 127, 127, 127, 511, 227, 33, 7925 -284, 550, 143, 602, 558, -337, -58, 241, 241, -309, 7926 -309, -309, 90, 90, -279, 655, -181, -136, 291, 151, 7927 280, 280, 238, 238, 293, -188, 304, 307, 305, 306, 7928 303, 308, 309, 24, 24, 24, 24, 24, 292, 294, 7929 296, 282, -188, -188, -282, 77, -183, -188, 27, -297, 7930 -188, -280, -280, -188, -280, -280, -188, -409, 322, -291, 7931 356, 613, 614, 616, 615, -120, 412, 88, 511, 23, 7932 -121, 23, -412, 119, 120, 121, -206, -148, -152, -148, 7933 142, 262, -412, -215, -413, -293, 26, 88, 78, -413, 7934 88, 88, -413, -413, 88, 15, -223, -221, 149, -142, 7935 -413, 88, -413, -413, -413, -207, -142, -142, -142, -142, 7936 -413, -413, -413, -413, -413, -413, -413, -413, -413, -413, 7937 -207, 88, 88, 15, -313, 26, -413, -413, -413, -413, 7938 -413, -222, -413, 15, -413, 78, 88, 162, 88, -413, 7939 -413, -413, 88, 88, -413, -413, 88, 88, -413, 88, 7940 88, 88, -413, 88, 88, 88, 88, -413, -413, -413, 7941 -413, 88, 88, 88, 88, 88, 88, 88, 88, 88, 7942 88, -413, -413, 88, -92, 535, -413, -413, 88, -413, 7943 88, -413, -412, 221, -413, -413, -413, -413, -413, 88, 7944 88, 88, 88, 88, 88, -413, -413, -413, 88, 88, 7945 -413, 88, -413, 88, -413, -396, 619, 413, -195, -194, 7946 -192, 75, 242, 76, -412, -299, -413, -156, -258, -259, 7947 -258, -200, -291, 96, 105, -234, -165, -167, 15, -133, 7948 -213, 89, 88, -327, -238, -244, -277, -291, 90, 177, 7949 -329, 177, -329, 369, 370, -230, 221, -196, 16, -199, 7950 33, 58, -11, -412, -412, 33, 88, -184, -186, -185, 7951 -187, 67, 71, 73, 68, 69, 70, 74, -304, 26, 7952 -8, -166, -8, -412, -188, -181, -414, 15, 78, -414, 7953 88, 221, -268, -271, 415, 412, 418, -381, 90, -108, 7954 88, -354, -341, -235, -137, 41, -334, 376, -327, 518, 7955 -327, -336, 90, -336, 96, 96, 96, 89, -48, -43, 7956 -44, 34, 82, -361, -348, 90, 40, -348, -348, -291, 7957 89, -231, -136, -188, 143, 77, -365, -365, -365, -297, 7958 -2, 658, 664, 137, 87, 379, 19, -252, 88, 89, 7959 -216, 300, 89, -110, -291, 89, 87, -346, -346, -291, 7960 -412, 238, 32, 32, 602, 558, 550, -58, -216, -215, 7961 -381, -328, 657, 656, 89, 240, 298, -141, 426, -138, 7962 90, 91, -188, -188, -188, -188, -188, 230, 227, 402, 7963 -405, 310, -405, 283, 241, -181, -188, 88, -82, 257, 7964 252, -302, -302, 34, -188, 412, 631, 629, -142, 142, 7965 262, -160, -152, -148, -311, 177, 342, 261, 340, 336, 7966 356, 347, 374, 338, 375, 333, 332, 331, -311, -309, 7967 -207, -130, -142, -142, 150, -142, 148, -142, -413, -413, 7968 -413, -413, -413, -227, -142, -142, -142, -413, 177, 342, 7969 15, -142, -309, -142, -142, -142, -142, -142, -378, -142, 7970 -207, -142, -207, -142, -142, -142, -142, -142, -379, -379, 7971 -379, -379, -379, -207, -207, -207, -207, -142, -412, -291, 7972 -95, -94, -93, 585, 242, -92, -162, -95, -162, -129, 7973 -293, -142, -142, -142, -142, -142, -142, -142, -142, -142, 7974 -142, -192, -342, -342, -342, -262, 88, -273, 23, 15, 7975 58, 58, -165, -196, -166, -133, -291, -241, 612, -247, 7976 47, -245, -246, 48, -242, 49, 57, -329, -329, 168, 7977 -232, -142, -263, 77, -264, -272, -215, -210, -212, -211, 7978 -412, -251, -413, -291, -262, -264, -168, -169, -169, -168, 7979 -169, 67, 67, 67, 72, 67, 72, 67, -185, -297, 7980 -413, -142, -300, 78, -166, -166, -190, -297, 168, 412, 7981 416, 417, -354, -403, 119, 143, 32, 77, 372, 101, 7982 -401, 176, 547, 597, 602, 558, 551, 592, -402, 244, 7983 136, 137, 256, 26, 42, 89, 88, 89, 88, 89, 7984 89, 88, -285, -284, -44, -43, -348, -348, 96, -381, 7985 90, 90, 240, 27, -188, 77, 77, 77, -111, 662, 7986 96, 87, -3, 82, -142, 87, 20, -337, -215, -372, 7987 -323, -373, -324, -325, -5, -6, -349, -114, 58, 101, 7988 -62, 45, 239, 642, 643, 127, -412, 655, -364, -252, 7989 -368, -370, -188, -145, -412, -144, -146, -153, 166, 167, 7990 261, 338, 339, -216, -188, -135, 289, 297, 87, -139, 7991 92, -384, 78, 280, 372, 280, 90, -406, 311, 90, 7992 -406, -188, -82, -48, -188, -280, -280, 34, -381, -413, 7993 -160, -152, -123, 162, 511, -314, 517, -322, -322, -322, 7994 -332, -322, 328, -322, 328, -322, -413, -413, -413, 88, 7995 -413, 23, -413, -142, 88, -119, 454, 88, 88, -413, 7996 87, 87, -142, -413, -413, -413, 88, -413, -413, -413, 7997 -413, -413, 88, -413, -413, -413, 88, -312, 603, -413, 7998 -413, -413, -413, -413, -413, -413, -413, -413, -413, -413, 7999 -91, -292, -291, -92, 567, 567, -413, -92, -224, 88, 8000 -413, -413, 88, -413, 88, 88, -413, 88, -413, 88, 8001 -413, -413, -413, -413, 88, -193, 23, -193, -193, -413, 8002 -258, -188, -196, -225, 17, -238, 52, 348, -249, -248, 8003 56, 48, -246, 20, 50, 20, 31, -263, 88, 151, 8004 88, -413, -413, 88, 58, 221, -413, -196, -179, -178, 8005 77, 78, -180, 77, -178, 67, 67, -253, 88, -261, 8006 -166, -196, -196, 221, 119, -412, -147, -159, -145, 13, 8007 90, 90, -381, -400, 646, 647, 32, 96, -348, -348, 8008 137, 137, -188, 87, -327, 90, -327, 96, 96, 32, 8009 83, 84, 85, 32, 79, 80, 81, -188, -188, -188, 8010 -188, -369, 87, 20, -142, 87, 151, 89, -252, -252, 8011 276, 162, -348, 640, 282, 282, -348, -348, -348, -113, 8012 -112, 662, 89, -413, 88, -335, 511, 514, -142, -154, 8013 -154, -253, 89, -377, 511, -383, -291, -291, -291, -291, 8014 96, 98, -413, 509, 74, 512, -413, -327, -142, -142, 8015 -142, -232, 90, -142, -142, 96, 96, -413, -142, -207, 8016 -142, -413, -176, -175, -177, 623, 119, 32, -311, -413, 8017 -209, 274, -98, -97, -96, 15, -413, -142, -142, -142, 8018 -142, -142, -142, -142, -412, 67, 19, 17, -412, -412, 8019 -300, -225, -226, 18, 20, -239, 54, -237, 53, -237, 8020 -248, 20, 20, 90, 20, 90, 137, -272, -142, -212, 8021 58, -11, -291, -210, -291, -227, -142, 87, -142, -156, 8022 -196, -196, -142, -202, 478, 480, 481, 482, 479, 484, 8023 485, 486, 487, 488, 489, 490, 491, 492, 493, 483, 8024 457, 108, 110, 109, 458, 459, 460, 342, 505, 506, 8025 500, 503, 504, 502, 501, 357, 358, 461, 462, 463, 8026 111, 112, 113, 114, 115, 116, 117, 464, 467, 465, 8027 468, 469, 470, 475, 476, 471, 472, 473, 474, 477, 8028 362, 361, 494, 495, 496, 497, 498, 499, 604, 605, 8029 606, 607, 608, 609, 610, 611, 90, 90, 87, -142, 8030 89, 89, -253, -368, -59, 89, -254, -252, 96, 89, 8031 277, -211, -412, 90, -348, -348, -348, 96, 96, -299, 8032 -413, 88, -291, -402, -370, 515, 515, -413, 26, -376, 8033 -375, -293, 87, 78, 63, 510, 513, -413, -413, 88, 8034 -413, -413, -413, 89, 89, -413, -413, -413, 88, -413, 8035 -175, -177, -413, 77, -156, -227, 20, -95, 299, 301, 8036 -95, -413, 88, -413, -413, 88, -413, 88, -413, -413, 8037 -255, -413, -291, 244, 20, 20, -255, -255, -195, -226, 8038 -105, -104, -103, 541, -142, -207, -240, 55, 77, 122, 8039 90, 90, 90, 13, -210, 221, -232, -252, -173, 379, 8040 -227, -413, -252, 89, 26, 89, 664, 137, 89, -211, 8041 -122, -412, 273, -299, 90, 90, -112, -115, -11, 88, 8042 151, -252, -188, 63, -142, -207, -413, 77, 522, 623, 8043 -90, -89, -86, 634, 660, -207, -92, -92, -142, -142, 8044 -142, 88, -413, -413, -413, -105, 88, -102, -101, -291, 8045 77, 122, -264, -291, 89, -413, -412, -232, 89, -236, 8046 -11, 87, -3, 273, -323, -373, -324, -325, -5, -6, 8047 -349, -80, 511, -375, -353, -293, 90, 96, 89, 511, 8048 -413, -413, -88, 145, 632, 600, -143, -154, -151, 220, 8049 -413, 88, -413, 88, -413, 88, -291, 244, -103, 88, 8050 26, -300, -174, -172, -291, 564, -393, -392, 507, -403, 8051 -399, 119, 143, 101, -401, 602, 558, 128, 129, -80, 8052 -142, 87, -413, -81, 288, 619, -384, 512, -88, 633, 8053 578, 553, 578, 553, -142, -142, -142, -101, -412, -413, 8054 88, 23, -315, -61, 575, -390, -391, 77, -394, 385, 8055 574, 595, 119, 90, 89, -252, 249, -377, 513, 142, 8056 -413, 88, -413, 88, -413, -91, -172, 571, -328, -156, 8057 -391, 77, -390, 77, 14, 13, -4, 663, 89, 290, 8058 -88, -142, -142, -413, -60, 27, -173, -389, 257, 252, 8059 255, 33, -389, 96, -4, -413, -413, 575, 251, 32, 8060 119, -156, -176, -175, -175, 8061 } 8062 8063 var yyDef = [...]int{ 8064 871, -2, -2, 873, 2, 4, 5, 6, 7, 8, 8065 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 8066 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 8067 29, 30, 31, 32, 33, 34, 35, 36, 37, 70, 8068 72, 73, 871, 871, 871, 0, 871, 0, 0, 871, 8069 -2, -2, 871, 1481, 0, 871, 0, 0, -2, 786, 8070 792, 0, 801, -2, 0, 0, 871, 871, 2036, 2036, 8071 866, 0, 0, 0, 0, 0, 871, 871, 871, 871, 8072 1347, 50, 871, 0, 85, 86, 821, 822, 823, 65, 8073 0, 2034, 872, 1, 3, 71, 75, 0, 0, 0, 8074 58, 1356, 0, 78, 0, 0, 875, 0, 0, 1464, 8075 871, 871, 0, 126, 127, 0, 0, 0, -2, 130, 8076 -2, 159, 160, 161, 0, 166, 599, 522, 574, 520, 8077 559, -2, 508, 0, 0, 0, 0, 0, 0, 0, 8078 0, 0, 0, 0, 0, 525, 398, 398, 0, 0, 8079 -2, 508, 508, 508, 1466, 0, 0, 0, 556, 460, 8080 398, 398, 398, 0, 398, 398, 398, 398, 0, 0, 8081 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 8082 398, 398, 398, 398, 398, 398, 398, 1374, 165, 1482, 8083 1479, 1480, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 8084 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 8085 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 8086 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 8087 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 8088 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 8089 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 8090 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 8091 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 8092 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 8093 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 8094 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 8095 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 8096 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 8097 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 8098 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 8099 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 8100 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 8101 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 8102 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 8103 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 8104 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 8105 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 8106 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 8107 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 8108 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 8109 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 8110 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 8111 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 8112 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 8113 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 8114 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 8115 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 8116 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 8117 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 8118 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 8119 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 8120 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 8121 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 8122 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 8123 2032, 2033, 0, 1458, 0, 712, 974, 0, 775, 775, 8124 0, 775, 775, 775, 775, 0, 0, 0, 724, 0, 8125 0, 0, 0, 772, 0, 740, 741, 0, 772, 0, 8126 747, 778, 0, 0, 753, 775, 775, 756, 2037, 0, 8127 2037, 2037, 1449, 0, 769, 767, 781, 782, 40, 785, 8128 788, 789, 790, 791, 794, 0, 805, 808, 1475, 1476, 8129 0, 810, 817, 834, 835, 0, 867, 868, 45, 1122, 8130 0, 996, 1001, 1012, 1027, 1028, 1029, 1030, 1031, 1033, 8131 1034, 1035, 0, 0, 0, 0, 1040, 1041, 0, 0, 8132 0, 0, 0, 1103, 1049, 0, 0, 0, 0, 1320, 8133 0, 0, 1281, 1281, 1137, 1281, 1283, 1283, 1683, 1819, 8134 1827, 1947, 1645, 1650, 1651, 1652, 1940, 1941, 1942, 1943, 8135 1982, 1983, 1987, 1743, 0, 0, 0, 2033, 1780, 1788, 8136 1789, 1813, 1912, 1968, 1662, 1808, 1877, 1740, 1762, 1763, 8137 1894, 1895, 1784, 1785, 1766, 1778, 1781, 1769, 1770, 1772, 8138 1774, 1779, 1786, 1792, 1771, 1791, 1790, 0, 1767, 1768, 8139 1773, 1783, 1787, 1775, 1776, 1777, 1782, 1793, 1804, 1875, 8140 0, 0, 0, 0, 0, 1220, 1221, 1222, 1223, 0, 8141 0, 0, 0, 0, 0, 0, 290, 291, 1333, 1334, 8142 43, 44, 1121, 1445, 1283, 1283, 1283, 1283, 1283, 1063, 8143 1064, 1065, 1066, 1067, 1091, 1092, 1098, 1099, 1889, 1890, 8144 1891, 1892, 1724, 1977, 1732, 1733, 1872, 1873, 1745, 1746, 8145 2008, 2009, -2, -2, -2, 231, 232, 233, 234, 235, 8146 236, 237, 238, 0, 1687, 1958, 1959, 227, 0, 0, 8147 295, 296, 292, 293, 294, 1105, 1106, 248, 249, 250, 8148 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 8149 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 8150 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 8151 281, 282, 283, 284, 285, 286, 287, 288, 289, 2036, 8152 0, 844, 0, 0, 0, 0, 0, 1356, 0, 1348, 8153 1347, 63, 0, 871, -2, 0, 0, 0, 0, 47, 8154 0, 52, 931, 874, 77, 76, 1396, 0, 0, 0, 8155 59, 1357, 67, 69, 1358, 0, 876, 877, 0, 907, 8156 911, 0, 0, 0, 1465, 1464, 1464, 102, 0, 0, 8157 103, 123, 124, 125, 0, 0, 109, 110, 1451, 1452, 8158 0, 0, 177, 178, 0, 41, 425, 0, 173, 0, 8159 418, 357, 0, 1374, 0, 0, 0, 0, 0, 871, 8160 0, 1459, 154, 155, 162, 163, 164, 398, 398, 398, 8161 571, 0, 0, 165, 165, 529, 530, 531, 0, 0, 8162 -2, 423, 0, 509, 0, 0, 412, 412, 416, 414, 8163 415, 0, 0, 0, 0, 0, 0, 0, 0, 548, 8164 0, 549, 0, 0, 0, 0, 0, 0, 0, 0, 8165 0, 660, 0, 399, 0, 569, 570, 461, 0, 0, 8166 0, 0, 0, 0, 0, 0, 1467, 1468, 0, 546, 8167 547, 0, 0, 0, 398, 398, 0, 0, 0, 0, 8168 398, 398, 0, 0, 0, 0, 0, 0, 0, 0, 8169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8170 153, 1387, 0, 0, 0, -2, 0, 704, 0, 0, 8171 0, 1460, 1460, 0, 711, 0, 713, 714, 0, 0, 8172 715, 0, 772, 772, 770, 771, 717, 718, 719, 720, 8173 775, 0, 0, 407, 408, 409, 772, 775, 0, 775, 8174 775, 775, 775, 772, 772, 772, 775, 0, 0, 0, 8175 0, 0, 0, 0, 0, 0, 2037, 778, 775, 0, 8176 748, 0, 749, 750, 751, 754, 755, 757, 2038, 2039, 8177 1477, 1478, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 8178 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 8179 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 8180 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 8181 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 8182 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 8183 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 8184 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 8185 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 8186 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 8187 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 8188 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 8189 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 8190 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 8191 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 8192 1633, 2037, 2037, 761, 765, 1450, 787, 793, 795, 796, 8193 0, 0, 806, 809, 828, 49, 1731, 816, 49, 818, 8194 819, 820, 846, 847, 852, 0, 0, 0, 0, 858, 8195 859, 860, 0, 0, 863, 864, 865, 0, 0, 0, 8196 0, 0, 994, 0, 0, 1111, 1112, 1113, 1114, 1115, 8197 1116, 1117, 0, 0, 0, 0, 0, 0, 0, 0, 8198 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 8199 1014, 0, 0, 0, 1036, 1037, 1038, 1039, 1042, 0, 8200 1054, 0, 1056, 1329, -2, 0, 0, 0, 1047, 1048, 8201 0, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 8202 1135, 0, 1136, 1138, 1139, 0, 1140, 881, 881, 881, 8203 881, 881, 0, 0, 0, 0, 0, 0, 0, 0, 8204 0, 0, 881, 0, 0, 0, 0, 0, 0, 0, 8205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8206 0, 0, 0, 1470, 141, 0, 0, 0, 0, 0, 8207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8209 0, 0, 0, 0, 891, 0, 0, 891, 891, 0, 8210 0, 220, 221, 222, 223, 224, 0, 0, 0, 0, 8211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8212 239, 240, 241, 242, 243, 244, 297, 245, 246, 247, 8213 1121, 0, 0, 0, 46, 836, 837, 0, 957, 1470, 8214 0, 0, 887, 0, 57, 66, 68, 1356, 61, 1356, 8215 0, 893, 0, 0, -2, -2, 894, 900, 901, 902, 8216 903, 904, 54, 2035, 55, 0, 74, 0, 48, 0, 8217 0, 0, 0, 371, 1399, 0, 0, 1349, 1350, 1353, 8218 0, 908, 1825, 912, 0, 914, 915, 0, 0, 100, 8219 0, 973, 0, 0, 0, 111, 0, 113, 114, 0, 8220 0, 0, 382, 1453, 1454, 1455, -2, 405, 0, 382, 8221 366, 305, 306, 307, 357, 309, 357, 357, 357, 357, 8222 371, 371, 371, 371, 340, 341, 342, 343, 344, 0, 8223 0, 326, 357, 357, 357, 357, 347, 348, 349, 350, 8224 351, 352, 353, 354, 310, 311, 312, 313, 314, 315, 8225 316, 317, 318, 359, 359, 359, 359, 359, 363, 363, 8226 0, 42, 0, 386, 0, 1353, 0, 0, 1387, 1462, 8227 1472, 0, 0, 0, 1462, 132, 0, 0, 0, 572, 8228 610, 523, 560, 573, 0, 526, 527, -2, 0, 0, 8229 508, 0, 510, 0, 406, 0, -2, 0, 416, 0, 8230 412, 416, 413, 416, 404, 417, 550, 551, 552, 0, 8231 554, 555, 640, 943, 0, 0, 0, 0, 0, 646, 8232 647, 648, 0, 650, 651, 652, 653, 654, 655, 656, 8233 657, 658, 659, 561, 562, 563, 564, 565, 566, 567, 8234 568, 0, 0, 0, 0, 510, 0, 557, 0, 0, 8235 462, 463, 464, 0, 0, 467, 468, 469, 470, 0, 8236 0, 473, 474, 475, 960, 961, 476, 477, 502, 503, 8237 504, 478, 479, 480, 481, 482, 483, 484, 496, 497, 8238 498, 499, 500, 501, 485, 486, 487, 488, 489, 490, 8239 493, 0, 147, 1378, 0, 0, 0, 0, 0, 0, 8240 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460, 8241 0, 0, 0, 0, 890, 975, 1483, 1484, 776, 777, 8242 0, 410, 411, 775, 775, 721, 762, 0, 775, 725, 8243 763, 726, 728, 727, 729, 742, 743, 775, 732, 773, 8244 774, 733, 734, 735, 736, 737, 738, 739, 758, 744, 8245 745, 746, 779, 0, 783, 784, 759, 760, 0, 0, 8246 799, 800, 0, 807, 831, 829, 830, 832, 824, 825, 8247 826, 827, 0, 833, 0, 0, 849, 96, 854, 855, 8248 856, 857, 869, 862, 1123, 991, 992, 993, 0, 995, 8249 998, 0, 1107, 1109, 1000, 1002, 1118, 1119, 1120, 0, 8250 0, 0, 0, 0, 1006, 1010, 1015, 1016, 1017, 1018, 8251 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1032, 1297, 8252 1298, 1299, 1051, 298, 299, 0, 1052, 0, 0, 0, 8253 0, 0, 0, 0, 1122, 1053, 0, 905, 0, 0, 8254 1327, 1324, 0, 0, 0, 1282, 1284, 0, 0, 0, 8255 0, 882, 883, 0, 0, 0, 0, 0, 0, 0, 8256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8257 0, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 8258 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 8259 1279, 1280, 1300, 0, 0, 0, 0, 0, 1320, 0, 8260 1058, 1059, 1060, 0, 0, 0, 0, 0, 0, 1178, 8261 0, 0, 0, 0, 1471, 0, 142, 143, 0, 0, 8262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8264 0, 0, 0, 0, 0, 0, 1224, 1225, 1226, 1227, 8265 39, 0, 0, 0, 892, 1331, 0, -2, -2, 0, 8266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8267 0, 0, 1249, 0, 0, 0, 0, 0, 0, 1443, 8268 0, 0, 839, 840, 842, 0, 977, 0, 958, 0, 8269 0, 845, 0, 886, 0, 889, 60, 62, 898, 899, 8270 0, 916, 895, 56, 51, 0, 0, 935, 1397, 371, 8271 1419, 0, 380, 380, 377, 1359, 1360, 0, 1352, 1354, 8272 1355, 79, 913, 909, 0, 989, 0, 0, 972, 0, 8273 919, 921, 922, 923, 955, 0, 926, 927, 0, 0, 8274 0, 0, 0, 98, 974, 104, 0, 112, 0, 0, 8275 117, 118, 105, 106, 107, 108, 0, 599, -2, 457, 8276 179, 181, 182, 183, 174, -2, 369, 367, 368, 308, 8277 371, 371, 334, 335, 336, 337, 338, 339, 0, 0, 8278 327, 328, 329, 330, 319, 0, 320, 321, 322, 361, 8279 0, 323, 324, 0, 325, 424, 0, 1361, 387, 388, 8280 390, 398, 0, 393, 394, 0, 398, 398, 0, 419, 8281 420, 0, 1353, 1378, 0, 0, 0, 1473, 1472, 1472, 8282 1472, 0, 167, 168, 169, 170, 171, 172, 635, 0, 8283 0, 611, 633, 634, 165, 0, 0, 175, 512, 511, 8284 0, 667, 0, 422, 0, 0, 416, 416, 401, 402, 8285 553, 0, 0, 642, 643, 644, 645, 0, 0, 0, 8286 539, 451, 0, 540, 541, 510, 512, 0, 0, 382, 8287 465, 466, 471, 472, 491, 0, 0, 0, 0, 0, 8288 0, 0, 0, 0, 0, 0, 586, 587, 588, 591, 8289 593, 514, 597, 590, 592, 594, 514, 598, 1375, 1376, 8290 1377, 0, 0, 705, 0, 0, 448, 94, 1461, 710, 8291 772, 731, 764, 772, 723, 730, 752, 797, 798, 803, 8292 811, 812, 813, 814, 815, 853, 0, 0, 0, 0, 8293 861, 0, 0, 999, 1108, 1110, 1003, 0, 1007, 1011, 8294 0, 0, 0, 1057, 1055, 1331, 0, 0, 0, 1104, 8295 0, 0, 1126, 1127, 0, 0, 0, 1325, 0, 0, 8296 1133, 0, 1285, 1286, 1141, 0, 0, 0, 0, 0, 8297 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 8298 1347, 0, 0, 0, 0, 0, 1162, 1163, 1164, 1165, 8299 1166, 0, 1168, 0, 1169, 0, 0, 0, 0, 1176, 8300 1177, 1179, 0, 0, 1182, 1183, 0, 0, 1184, 0, 8301 0, 0, 1188, 0, 0, 0, 0, 1197, 1198, 1199, 8302 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8303 0, 1211, 1212, 0, 1214, 0, 1086, 0, 0, 1086, 8304 0, 1124, 891, 0, 1287, 1288, 1289, 1290, 1291, 0, 8305 0, 0, 0, 0, 0, 1247, 1248, 1250, 0, 0, 8306 1253, 0, 1255, 0, 1444, 838, 841, 843, 929, 978, 8307 979, 0, 0, 0, 0, 959, 1469, 884, 885, 888, 8308 937, 0, 1335, 0, 0, 916, 989, 917, 0, 896, 8309 53, 932, 0, 1401, 1400, 1413, 1426, 380, 380, 374, 8310 375, 381, 376, 378, 379, 1351, 0, 1356, 0, 1437, 8311 0, 0, 1429, 0, 0, 0, 0, 0, 0, 0, 8312 0, 962, 0, 0, 965, 0, 0, 0, 0, 956, 8313 927, 0, 928, 0, -2, 0, 0, 92, 93, 0, 8314 0, 0, 115, 116, 0, 0, 122, 383, 384, 156, 8315 165, 459, 180, 432, 0, 0, 304, 370, 331, 332, 8316 333, 0, 355, 0, 0, 0, 0, 453, 128, 1365, 8317 1364, 398, 398, 389, 0, 392, 0, 0, 0, 1474, 8318 358, 421, 0, 146, 0, 0, 0, 0, 0, 152, 8319 605, 0, 0, 612, 0, 0, 0, 521, 0, 532, 8320 533, 0, 639, -2, 701, 386, 0, 400, 403, 944, 8321 0, 0, 534, 0, 537, 538, 452, 512, 543, 544, 8322 558, 545, 494, 495, 492, 0, 0, 1388, 1389, 1394, 8323 1392, 1393, 133, 579, 581, 580, 584, 0, 0, 0, 8324 516, 0, 516, 577, 0, 448, 1361, 0, 709, 449, 8325 450, 775, 775, 848, 97, 0, 851, 0, 0, 0, 8326 0, 1004, 1008, 1292, 1318, 357, 357, 1305, 357, 363, 8327 1308, 357, 1310, 357, 1313, 357, 1316, 1317, 0, 0, 8328 0, 906, 0, 0, 1132, 1328, 0, 0, 1142, 1143, 8329 1144, 1145, 1146, 1322, 0, 0, 0, 1161, 0, 0, 8330 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 8331 0, 0, 0, 0, 0, 0, 1258, 0, 0, 0, 8332 0, 0, 0, 0, 0, 0, 0, 0, 1081, 1085, 8333 0, 1087, 1088, 0, 0, 1216, 0, 0, 1228, 0, 8334 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335 0, 980, 985, 985, 985, 0, 0, 0, 1456, 1457, 8336 1336, 1337, 989, 1338, 918, 897, 936, 1419, 0, 1412, 8337 0, -2, 1421, 0, 0, 0, 1427, 372, 373, 910, 8338 80, 990, 83, 0, 1437, 1446, 0, 1428, 1439, 1441, 8339 0, 0, 0, 1433, 0, 989, 920, 951, 953, 0, 8340 948, 963, 964, 966, 0, 968, 0, 970, 971, 931, 8341 925, 0, 100, 0, 989, 989, 99, 0, 976, 119, 8342 120, 121, 458, 184, 189, 0, 0, 0, 194, 0, 8343 196, 0, 0, 0, 201, 202, 398, 398, 433, 0, 8344 301, 303, 0, 0, 187, 371, 0, 371, 0, 362, 8345 364, 0, 434, 454, 1362, 1363, 0, 0, 391, 395, 8346 396, 397, 0, 1463, 148, 0, 0, 0, 608, 0, 8347 636, 0, 0, 0, 0, 0, 0, 176, 513, 668, 8348 669, 670, 671, 672, 673, 674, 675, 676, 0, 398, 8349 0, 0, 0, 398, 398, 398, 0, 693, 385, 0, 8350 0, 664, 661, 535, 0, 225, 226, 228, 0, 0, 8351 0, 0, 0, 542, 931, 1379, 1380, 1381, 0, 1391, 8352 1395, 136, 0, 0, 0, 0, 589, 595, 0, 515, 8353 596, 706, 707, 708, 95, 716, 722, 850, 870, 997, 8354 1005, 1009, 0, 0, 0, 0, 1319, 1303, 371, 1306, 8355 1307, 1309, 1311, 1312, 1314, 1315, 1045, 1046, 1050, 0, 8356 1129, 0, 1131, 1326, 0, 1356, 0, 0, 0, 1160, 8357 0, 0, 0, 1171, 1170, 1172, 0, 1174, 1175, 1180, 8358 1181, 1185, 0, 1187, 1189, 1190, 0, 0, 0, 1201, 8359 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1213, 8360 0, 1079, 1082, 1215, 1089, 1090, 1095, 1218, 0, 0, 8361 1125, 1230, 0, 1235, 0, 0, 1241, 0, 1245, 0, 8362 1251, 1252, 1254, 1256, 0, 0, 0, 0, 0, 957, 8363 938, 64, 1338, 1340, 0, 1406, 1404, 1404, 1414, 1415, 8364 0, 0, 1422, 0, 0, 0, 0, 84, 0, 0, 8365 0, 1442, 0, 0, 0, 0, 101, 1347, 945, 952, 8366 0, 0, 946, 0, 947, 967, 969, 924, 0, 989, 8367 989, 90, 91, 0, 190, 0, 192, 218, 219, 0, 8368 195, 197, 198, 199, 205, 206, 207, 200, 0, 0, 8369 300, 302, 0, 0, 345, 356, 346, 0, 0, 1366, 8370 1367, 1368, 1369, 1370, 1371, 1372, 1373, 931, 149, 150, 8371 151, 600, 0, 610, 0, 933, 0, 603, 0, 524, 8372 0, 0, 0, 398, 398, 398, 0, 0, 0, 0, 8373 678, 0, 0, 641, 0, 649, 0, 0, 0, 229, 8374 230, 0, 1390, 578, 0, 134, 135, 0, 0, 583, 8375 517, 518, 1043, 0, 0, 0, 1044, 1304, 0, 0, 8376 0, 0, 1323, 0, 0, 0, 0, 1167, 0, 0, 8377 0, 1193, 0, 0, 0, 630, 631, 0, 1259, 1084, 8378 1347, 0, 1086, 1096, 1097, 0, 1086, 1229, 0, 0, 8379 0, 0, 0, 0, 0, 986, 0, 0, 0, 0, 8380 977, 1340, 1345, 0, 0, 1409, 0, 1402, 1405, 1403, 8381 1416, 0, 0, 1423, 0, 1425, 0, 1447, 1448, 1440, 8382 0, 1432, 1435, 1431, 1434, 1356, 949, 0, 954, 0, 8383 1347, 89, 0, 193, 0, 0, 0, 0, 0, 0, 8384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8390 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, 8391 360, 365, 0, 0, 0, 601, 0, 934, 613, 604, 8392 0, 691, 0, 695, 0, 0, 0, 698, 699, 700, 8393 677, 0, 681, 426, 665, 662, 663, 536, 0, 137, 8394 138, 0, 0, 0, 1293, 0, 1296, 1128, 1130, 0, 8395 1157, 1158, 1159, 1301, 1302, 1173, 1186, 1191, 0, 1194, 8396 0, 0, 1195, 0, 632, 1075, 0, 0, 1093, 1094, 8397 0, 1231, 0, 1236, 1237, 0, 1242, 0, 1246, 1257, 8398 0, 982, 939, 940, 987, 988, 0, 0, 930, 1345, 8399 82, 1346, 1343, 0, 1341, 1339, 1398, 0, 1407, 1408, 8400 1417, 1418, 1424, 0, 1430, 0, 87, 0, 0, 0, 8401 1356, 191, 0, 210, 0, 609, 0, 612, 602, 689, 8402 690, 0, 702, 694, 696, 697, 679, -2, 1382, 0, 8403 0, 0, 585, 1294, 0, 0, 1196, 0, 628, 629, 8404 1083, 1076, 0, 1061, 1062, 1080, 1217, 1219, 0, 0, 8405 0, 0, 981, 983, 984, 81, 0, 1342, 1101, 0, 8406 1410, 1411, 1438, 1436, 950, 957, 0, 88, 439, 432, 8407 1382, 0, 0, 0, 682, 683, 684, 685, 686, 687, 8408 688, 575, 1384, 139, 140, 505, 506, 507, 133, 0, 8409 1134, 1192, 1077, 0, 0, 0, 0, 1073, 1074, 0, 8410 1232, 0, 1238, 0, 1243, 0, 941, 942, 1344, 0, 8411 0, 614, 0, 616, 0, -2, 427, 440, 0, 185, 8412 211, 212, 0, 0, 215, 216, 217, 208, 209, 129, 8413 0, 0, 703, 0, 1385, 1386, 136, 0, 0, 1068, 8414 1069, 1070, 1071, 1072, 0, 0, 0, 1102, 1081, 615, 8415 0, 0, 382, 0, 625, 428, 429, 0, 435, 436, 8416 437, 438, 213, 214, 637, 0, 0, 582, 1295, 0, 8417 1233, 0, 1239, 0, 1244, 0, 617, 618, 626, 0, 8418 430, 0, 431, 0, 0, 0, 606, 0, 637, 1383, 8419 1078, 0, 0, 1100, 0, 627, 623, 441, 443, 444, 8420 0, 0, 442, 638, 607, 1234, 1240, 0, 445, 446, 8421 447, 619, 620, 621, 622, 8422 } 8423 8424 var yyTok1 = [...]int{ 8425 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8426 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8427 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8428 3, 3, 3, 144, 3, 3, 3, 171, 163, 3, 8429 87, 89, 168, 166, 88, 167, 221, 169, 3, 3, 8430 3, 3, 3, 3, 3, 3, 3, 3, 3, 665, 8431 152, 151, 153, 3, 3, 3, 3, 3, 3, 3, 8432 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8433 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8434 3, 3, 3, 3, 173, 3, 3, 3, 3, 3, 8435 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8436 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8437 3, 3, 3, 3, 140, 3, 174, 8438 } 8439 8440 var yyTok2 = [...]int{ 8441 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 8442 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 8443 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 8444 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 8445 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 8446 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 8447 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 8448 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 8449 82, 83, 84, 85, 86, 90, 91, 92, 93, 94, 8450 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 8451 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 8452 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 8453 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 8454 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 8455 147, 148, 149, 150, 154, 155, 156, 157, 158, 159, 8456 160, 161, 162, 164, 165, 170, 172, 175, 176, 177, 8457 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 8458 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 8459 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 8460 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 8461 218, 219, 220, 222, 223, 224, 225, 226, 227, 228, 8462 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 8463 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 8464 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 8465 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 8466 269, 270, 271, 272, 273, 274, 8467 } 8468 8469 var yyTok3 = [...]int{ 8470 57600, 275, 57601, 276, 57602, 277, 57603, 278, 57604, 279, 8471 57605, 280, 57606, 281, 57607, 282, 57608, 283, 57609, 284, 8472 57610, 285, 57611, 286, 57612, 287, 57613, 288, 57614, 289, 8473 57615, 290, 57616, 291, 57617, 292, 57618, 293, 57619, 294, 8474 57620, 295, 57621, 296, 57622, 297, 57623, 298, 57624, 299, 8475 57625, 300, 57626, 301, 57627, 302, 57628, 303, 57629, 304, 8476 57630, 305, 57631, 306, 57632, 307, 57633, 308, 57634, 309, 8477 57635, 310, 57636, 311, 57637, 312, 57638, 313, 57639, 314, 8478 57640, 315, 57641, 316, 57642, 317, 57643, 318, 57644, 319, 8479 57645, 320, 57646, 321, 57647, 322, 57648, 323, 57649, 324, 8480 57650, 325, 57651, 326, 57652, 327, 57653, 328, 57654, 329, 8481 57655, 330, 57656, 331, 57657, 332, 57658, 333, 57659, 334, 8482 57660, 335, 57661, 336, 57662, 337, 57663, 338, 57664, 339, 8483 57665, 340, 57666, 341, 57667, 342, 57668, 343, 57669, 344, 8484 57670, 345, 57671, 346, 57672, 347, 57673, 348, 57674, 349, 8485 57675, 350, 57676, 351, 57677, 352, 57678, 353, 57679, 354, 8486 57680, 355, 57681, 356, 57682, 357, 57683, 358, 57684, 359, 8487 57685, 360, 57686, 361, 57687, 362, 57688, 363, 57689, 364, 8488 57690, 365, 57691, 366, 57692, 367, 57693, 368, 57694, 369, 8489 57695, 370, 57696, 371, 57697, 372, 57698, 373, 57699, 374, 8490 57700, 375, 57701, 376, 57702, 377, 57703, 378, 57704, 379, 8491 57705, 380, 57706, 381, 57707, 382, 57708, 383, 57709, 384, 8492 57710, 385, 57711, 386, 57712, 387, 57713, 388, 57714, 389, 8493 57715, 390, 57716, 391, 57717, 392, 57718, 393, 57719, 394, 8494 57720, 395, 57721, 396, 57722, 397, 57723, 398, 57724, 399, 8495 57725, 400, 57726, 401, 57727, 402, 57728, 403, 57729, 404, 8496 57730, 405, 57731, 406, 57732, 407, 57733, 408, 57734, 409, 8497 57735, 410, 57736, 411, 57737, 412, 57738, 413, 57739, 414, 8498 57740, 415, 57741, 416, 57742, 417, 57743, 418, 57744, 419, 8499 57745, 420, 57746, 421, 57747, 422, 57748, 423, 57749, 424, 8500 57750, 425, 57751, 426, 57752, 427, 57753, 428, 57754, 429, 8501 57755, 430, 57756, 431, 57757, 432, 57758, 433, 57759, 434, 8502 57760, 435, 57761, 436, 57762, 437, 57763, 438, 57764, 439, 8503 57765, 440, 57766, 441, 57767, 442, 57768, 443, 57769, 444, 8504 57770, 445, 57771, 446, 57772, 447, 57773, 448, 57774, 449, 8505 57775, 450, 57776, 451, 57777, 452, 57778, 453, 57779, 454, 8506 57780, 455, 57781, 456, 57782, 457, 57783, 458, 57784, 459, 8507 57785, 460, 57786, 461, 57787, 462, 57788, 463, 57789, 464, 8508 57790, 465, 57791, 466, 57792, 467, 57793, 468, 57794, 469, 8509 57795, 470, 57796, 471, 57797, 472, 57798, 473, 57799, 474, 8510 57800, 475, 57801, 476, 57802, 477, 57803, 478, 57804, 479, 8511 57805, 480, 57806, 481, 57807, 482, 57808, 483, 57809, 484, 8512 57810, 485, 57811, 486, 57812, 487, 57813, 488, 57814, 489, 8513 57815, 490, 57816, 491, 57817, 492, 57818, 493, 57819, 494, 8514 57820, 495, 57821, 496, 57822, 497, 57823, 498, 57824, 499, 8515 57825, 500, 57826, 501, 57827, 502, 57828, 503, 57829, 504, 8516 57830, 505, 57831, 506, 57832, 507, 57833, 508, 57834, 509, 8517 57835, 510, 57836, 511, 57837, 512, 57838, 513, 57839, 514, 8518 57840, 515, 57841, 516, 57842, 517, 57843, 518, 57844, 519, 8519 57845, 520, 57846, 521, 57847, 522, 57848, 523, 57849, 524, 8520 57850, 525, 57851, 526, 57852, 527, 57853, 528, 57854, 529, 8521 57855, 530, 57856, 531, 57857, 532, 57858, 533, 57859, 534, 8522 57860, 535, 57861, 536, 57862, 537, 57863, 538, 57864, 539, 8523 57865, 540, 57866, 541, 57867, 542, 57868, 543, 57869, 544, 8524 57870, 545, 57871, 546, 57872, 547, 57873, 548, 57874, 549, 8525 57875, 550, 57876, 551, 57877, 552, 57878, 553, 57879, 554, 8526 57880, 555, 57881, 556, 57882, 557, 57883, 558, 57884, 559, 8527 57885, 560, 57886, 561, 57887, 562, 57888, 563, 57889, 564, 8528 57890, 565, 57891, 566, 57892, 567, 57893, 568, 57894, 569, 8529 57895, 570, 57896, 571, 57897, 572, 57898, 573, 57899, 574, 8530 57900, 575, 57901, 576, 57902, 577, 57903, 578, 57904, 579, 8531 57905, 580, 57906, 581, 57907, 582, 57908, 583, 57909, 584, 8532 57910, 585, 57911, 586, 57912, 587, 57913, 588, 57914, 589, 8533 57915, 590, 57916, 591, 57917, 592, 57918, 593, 57919, 594, 8534 57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599, 8535 57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604, 8536 57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609, 8537 57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614, 8538 57940, 615, 57941, 616, 57942, 617, 57943, 618, 57944, 619, 8539 57945, 620, 57946, 621, 57947, 622, 57948, 623, 57949, 624, 8540 57950, 625, 57951, 626, 57952, 627, 57953, 628, 57954, 629, 8541 57955, 630, 57956, 631, 57957, 632, 57958, 633, 57959, 634, 8542 57960, 635, 57961, 636, 57962, 637, 57963, 638, 57964, 639, 8543 57965, 640, 57966, 641, 57967, 642, 57968, 643, 57969, 644, 8544 57970, 645, 57971, 646, 57972, 647, 57973, 648, 57974, 649, 8545 57975, 650, 57976, 651, 57977, 652, 57978, 653, 57979, 654, 8546 57980, 655, 57981, 656, 57982, 657, 57983, 658, 57984, 659, 8547 57985, 660, 57986, 661, 57987, 662, 57988, 663, 57989, 664, 8548 0, 8549 } 8550 8551 var yyErrorMessages = [...]struct { 8552 state int 8553 token int 8554 msg string 8555 }{} 8556 8557 //line yaccpar:1 8558 8559 /* parser for yacc output */ 8560 8561 func yyIaddr(v any) __yyunsafe__.Pointer { 8562 type h struct { 8563 t __yyunsafe__.Pointer 8564 p __yyunsafe__.Pointer 8565 } 8566 return (*h)(__yyunsafe__.Pointer(&v)).p 8567 } 8568 8569 var ( 8570 yyDebug = 0 8571 yyErrorVerbose = false 8572 ) 8573 8574 type yyLexer interface { 8575 Lex(lval *yySymType) int 8576 Error(s string) 8577 } 8578 8579 type yyParser interface { 8580 Parse(yyLexer) int 8581 Lookahead() int 8582 } 8583 8584 type yyParserImpl struct { 8585 lval yySymType 8586 stack [yyInitialStackSize]yySymType 8587 char int 8588 } 8589 8590 func (p *yyParserImpl) Lookahead() int { 8591 return p.char 8592 } 8593 8594 func yyNewParser() yyParser { 8595 return &yyParserImpl{} 8596 } 8597 8598 const yyFlag = -1000 8599 8600 func yyTokname(c int) string { 8601 if c >= 1 && c-1 < len(yyToknames) { 8602 if yyToknames[c-1] != "" { 8603 return yyToknames[c-1] 8604 } 8605 } 8606 return __yyfmt__.Sprintf("tok-%v", c) 8607 } 8608 8609 func yyStatname(s int) string { 8610 if s >= 0 && s < len(yyStatenames) { 8611 if yyStatenames[s] != "" { 8612 return yyStatenames[s] 8613 } 8614 } 8615 return __yyfmt__.Sprintf("state-%v", s) 8616 } 8617 8618 func yyErrorMessage(state, lookAhead int) string { 8619 const TOKSTART = 4 8620 8621 if !yyErrorVerbose { 8622 return "syntax error" 8623 } 8624 8625 for _, e := range yyErrorMessages { 8626 if e.state == state && e.token == lookAhead { 8627 return "syntax error: " + e.msg 8628 } 8629 } 8630 8631 res := "syntax error: unexpected " + yyTokname(lookAhead) 8632 8633 // To match Bison, suggest at most four expected tokens. 8634 expected := make([]int, 0, 4) 8635 8636 // Look for shiftable tokens. 8637 base := yyPact[state] 8638 for tok := TOKSTART; tok-1 < len(yyToknames); tok++ { 8639 if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok { 8640 if len(expected) == cap(expected) { 8641 return res 8642 } 8643 expected = append(expected, tok) 8644 } 8645 } 8646 8647 if yyDef[state] == -2 { 8648 i := 0 8649 for yyExca[i] != -1 || yyExca[i+1] != state { 8650 i += 2 8651 } 8652 8653 // Look for tokens that we accept or reduce. 8654 for i += 2; yyExca[i] >= 0; i += 2 { 8655 tok := yyExca[i] 8656 if tok < TOKSTART || yyExca[i+1] == 0 { 8657 continue 8658 } 8659 if len(expected) == cap(expected) { 8660 return res 8661 } 8662 expected = append(expected, tok) 8663 } 8664 8665 // If the default action is to accept or reduce, give up. 8666 if yyExca[i+1] != 0 { 8667 return res 8668 } 8669 } 8670 8671 for i, tok := range expected { 8672 if i == 0 { 8673 res += ", expecting " 8674 } else { 8675 res += " or " 8676 } 8677 res += yyTokname(tok) 8678 } 8679 return res 8680 } 8681 8682 func yylex1(lex yyLexer, lval *yySymType) (char, token int) { 8683 token = 0 8684 char = lex.Lex(lval) 8685 if char <= 0 { 8686 token = yyTok1[0] 8687 goto out 8688 } 8689 if char < len(yyTok1) { 8690 token = yyTok1[char] 8691 goto out 8692 } 8693 if char >= yyPrivate { 8694 if char < yyPrivate+len(yyTok2) { 8695 token = yyTok2[char-yyPrivate] 8696 goto out 8697 } 8698 } 8699 for i := 0; i < len(yyTok3); i += 2 { 8700 token = yyTok3[i+0] 8701 if token == char { 8702 token = yyTok3[i+1] 8703 goto out 8704 } 8705 } 8706 8707 out: 8708 if token == 0 { 8709 token = yyTok2[1] /* unknown char */ 8710 } 8711 if yyDebug >= 3 { 8712 __yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char)) 8713 } 8714 return char, token 8715 } 8716 8717 func yyParse(yylex yyLexer) int { 8718 return yyNewParser().Parse(yylex) 8719 } 8720 8721 func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int { 8722 var yyn int 8723 var yyVAL yySymType 8724 var yyDollar []yySymType 8725 _ = yyDollar // silence set and not used 8726 yyS := yyrcvr.stack[:] 8727 8728 Nerrs := 0 /* number of errors */ 8729 Errflag := 0 /* error recovery flag */ 8730 yystate := 0 8731 yyrcvr.char = -1 8732 yytoken := -1 // yyrcvr.char translated into internal numbering 8733 defer func() { 8734 // Make sure we report no lookahead when not parsing. 8735 yystate = -1 8736 yyrcvr.char = -1 8737 yytoken = -1 8738 }() 8739 yyp := -1 8740 goto yystack 8741 8742 ret0: 8743 return 0 8744 8745 ret1: 8746 return 1 8747 8748 yystack: 8749 /* put a state and value onto the stack */ 8750 if yyDebug >= 4 { 8751 __yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate)) 8752 } 8753 8754 yyp++ 8755 if yyp >= len(yyS) { 8756 nyys := make([]yySymType, len(yyS)*2) 8757 copy(nyys, yyS) 8758 yyS = nyys 8759 } 8760 yyS[yyp] = yyVAL 8761 yyS[yyp].yys = yystate 8762 8763 yynewstate: 8764 yyn = yyPact[yystate] 8765 if yyn <= yyFlag { 8766 goto yydefault /* simple state */ 8767 } 8768 if yyrcvr.char < 0 { 8769 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 8770 } 8771 yyn += yytoken 8772 if yyn < 0 || yyn >= yyLast { 8773 goto yydefault 8774 } 8775 yyn = yyAct[yyn] 8776 if yyChk[yyn] == yytoken { /* valid shift */ 8777 yyrcvr.char = -1 8778 yytoken = -1 8779 yyVAL = yyrcvr.lval 8780 yystate = yyn 8781 if Errflag > 0 { 8782 Errflag-- 8783 } 8784 goto yystack 8785 } 8786 8787 yydefault: 8788 /* default state action */ 8789 yyn = yyDef[yystate] 8790 if yyn == -2 { 8791 if yyrcvr.char < 0 { 8792 yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval) 8793 } 8794 8795 /* look through exception table */ 8796 xi := 0 8797 for { 8798 if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate { 8799 break 8800 } 8801 xi += 2 8802 } 8803 for xi += 2; ; xi += 2 { 8804 yyn = yyExca[xi+0] 8805 if yyn < 0 || yyn == yytoken { 8806 break 8807 } 8808 } 8809 yyn = yyExca[xi+1] 8810 if yyn < 0 { 8811 goto ret0 8812 } 8813 } 8814 if yyn == 0 { 8815 /* error ... attempt to resume parsing */ 8816 switch Errflag { 8817 case 0: /* brand new error */ 8818 yylex.Error(yyErrorMessage(yystate, yytoken)) 8819 Nerrs++ 8820 if yyDebug >= 1 { 8821 __yyfmt__.Printf("%s", yyStatname(yystate)) 8822 __yyfmt__.Printf(" saw %s\n", yyTokname(yytoken)) 8823 } 8824 fallthrough 8825 8826 case 1, 2: /* incompletely recovered error ... try again */ 8827 Errflag = 3 8828 8829 /* find a state where "error" is a legal shift action */ 8830 for yyp >= 0 { 8831 yyn = yyPact[yyS[yyp].yys] + yyErrCode 8832 if yyn >= 0 && yyn < yyLast { 8833 yystate = yyAct[yyn] /* simulate a shift of "error" */ 8834 if yyChk[yystate] == yyErrCode { 8835 goto yystack 8836 } 8837 } 8838 8839 /* the current p has no shift on "error", pop stack */ 8840 if yyDebug >= 2 { 8841 __yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys) 8842 } 8843 yyp-- 8844 } 8845 /* there is no state on the stack with an error shift ... abort */ 8846 goto ret1 8847 8848 case 3: /* no shift yet; clobber input char */ 8849 if yyDebug >= 2 { 8850 __yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken)) 8851 } 8852 if yytoken == yyEofCode { 8853 goto ret1 8854 } 8855 yyrcvr.char = -1 8856 yytoken = -1 8857 goto yynewstate /* try again in the same state */ 8858 } 8859 } 8860 8861 /* reduction by production yyn */ 8862 if yyDebug >= 2 { 8863 __yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate)) 8864 } 8865 8866 yynt := yyn 8867 yypt := yyp 8868 _ = yypt // guard against "declared and not used" 8869 8870 yyp -= yyR2[yyn] 8871 // yyp is now the index of $0. Perform the default action. Iff the 8872 // reduced production is ε, $1 is possibly out of range. 8873 if yyp+1 >= len(yyS) { 8874 nyys := make([]yySymType, len(yyS)*2) 8875 copy(nyys, yyS) 8876 yyS = nyys 8877 } 8878 yyVAL = yyS[yyp+1] 8879 8880 /* consult goto table to find next state */ 8881 yyn = yyR1[yyn] 8882 yyg := yyPgo[yyn] 8883 yyj := yyg + yyS[yyp].yys + 1 8884 8885 if yyj >= yyLast { 8886 yystate = yyAct[yyg] 8887 } else { 8888 yystate = yyAct[yyj] 8889 if yyChk[yystate] != -yyn { 8890 yystate = yyAct[yyg] 8891 } 8892 } 8893 // dummy call; replaced with literal code 8894 switch yynt { 8895 8896 case 1: 8897 yyDollar = yyS[yypt-3 : yypt+1] 8898 //line sql.y:602 8899 { 8900 stmt := yyDollar[2].statementUnion() 8901 // If the statement is empty and we have comments 8902 // then we create a special struct which stores them. 8903 // This is required because we need to update the rows_returned 8904 // and other query stats and not return a `query was empty` error 8905 if stmt == nil && yyDollar[1].strs != nil { 8906 stmt = &CommentOnly{Comments: yyDollar[1].strs} 8907 } 8908 setParseTree(yylex, stmt) 8909 } 8910 case 2: 8911 yyDollar = yyS[yypt-0 : yypt+1] 8912 //line sql.y:615 8913 { 8914 } 8915 case 3: 8916 yyDollar = yyS[yypt-1 : yypt+1] 8917 //line sql.y:616 8918 { 8919 } 8920 case 4: 8921 yyDollar = yyS[yypt-1 : yypt+1] 8922 var yyLOCAL Statement 8923 //line sql.y:620 8924 { 8925 yyLOCAL = yyDollar[1].selStmtUnion() 8926 } 8927 yyVAL.union = yyLOCAL 8928 case 38: 8929 yyDollar = yyS[yypt-0 : yypt+1] 8930 //line sql.y:657 8931 { 8932 setParseTree(yylex, nil) 8933 } 8934 case 39: 8935 yyDollar = yyS[yypt-1 : yypt+1] 8936 var yyLOCAL *Variable 8937 //line sql.y:663 8938 { 8939 yyLOCAL = NewVariableExpression(yyDollar[1].str, SingleAt) 8940 } 8941 yyVAL.union = yyLOCAL 8942 case 40: 8943 yyDollar = yyS[yypt-1 : yypt+1] 8944 //line sql.y:669 8945 { 8946 yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) 8947 } 8948 case 41: 8949 yyDollar = yyS[yypt-0 : yypt+1] 8950 //line sql.y:674 8951 { 8952 yyVAL.identifierCI = NewIdentifierCI("") 8953 } 8954 case 42: 8955 yyDollar = yyS[yypt-1 : yypt+1] 8956 //line sql.y:678 8957 { 8958 yyVAL.identifierCI = yyDollar[1].identifierCI 8959 } 8960 case 43: 8961 yyDollar = yyS[yypt-1 : yypt+1] 8962 var yyLOCAL *Variable 8963 //line sql.y:684 8964 { 8965 yyLOCAL = NewVariableExpression(string(yyDollar[1].str), SingleAt) 8966 } 8967 yyVAL.union = yyLOCAL 8968 case 44: 8969 yyDollar = yyS[yypt-1 : yypt+1] 8970 var yyLOCAL *Variable 8971 //line sql.y:688 8972 { 8973 yyLOCAL = NewVariableExpression(string(yyDollar[1].str), DoubleAt) 8974 } 8975 yyVAL.union = yyLOCAL 8976 case 45: 8977 yyDollar = yyS[yypt-2 : yypt+1] 8978 var yyLOCAL Statement 8979 //line sql.y:694 8980 { 8981 yyLOCAL = &OtherAdmin{} 8982 } 8983 yyVAL.union = yyLOCAL 8984 case 46: 8985 yyDollar = yyS[yypt-3 : yypt+1] 8986 var yyLOCAL Statement 8987 //line sql.y:700 8988 { 8989 yyLOCAL = &Load{} 8990 } 8991 yyVAL.union = yyLOCAL 8992 case 47: 8993 yyDollar = yyS[yypt-2 : yypt+1] 8994 var yyLOCAL *With 8995 //line sql.y:706 8996 { 8997 yyLOCAL = &With{Ctes: yyDollar[2].ctesUnion(), Recursive: false} 8998 } 8999 yyVAL.union = yyLOCAL 9000 case 48: 9001 yyDollar = yyS[yypt-3 : yypt+1] 9002 var yyLOCAL *With 9003 //line sql.y:710 9004 { 9005 yyLOCAL = &With{Ctes: yyDollar[3].ctesUnion(), Recursive: true} 9006 } 9007 yyVAL.union = yyLOCAL 9008 case 49: 9009 yyDollar = yyS[yypt-0 : yypt+1] 9010 var yyLOCAL *With 9011 //line sql.y:715 9012 { 9013 yyLOCAL = nil 9014 } 9015 yyVAL.union = yyLOCAL 9016 case 50: 9017 yyDollar = yyS[yypt-1 : yypt+1] 9018 var yyLOCAL *With 9019 //line sql.y:719 9020 { 9021 yyLOCAL = yyDollar[1].withUnion() 9022 } 9023 yyVAL.union = yyLOCAL 9024 case 51: 9025 yyDollar = yyS[yypt-3 : yypt+1] 9026 //line sql.y:725 9027 { 9028 yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) 9029 *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) 9030 } 9031 case 52: 9032 yyDollar = yyS[yypt-1 : yypt+1] 9033 var yyLOCAL []*CommonTableExpr 9034 //line sql.y:729 9035 { 9036 yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} 9037 } 9038 yyVAL.union = yyLOCAL 9039 case 53: 9040 yyDollar = yyS[yypt-4 : yypt+1] 9041 var yyLOCAL *CommonTableExpr 9042 //line sql.y:735 9043 { 9044 yyLOCAL = &CommonTableExpr{ID: yyDollar[1].identifierCS, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} 9045 } 9046 yyVAL.union = yyLOCAL 9047 case 54: 9048 yyDollar = yyS[yypt-3 : yypt+1] 9049 var yyLOCAL SelectStatement 9050 //line sql.y:741 9051 { 9052 yyLOCAL = yyDollar[2].selStmtUnion() 9053 } 9054 yyVAL.union = yyLOCAL 9055 case 55: 9056 yyDollar = yyS[yypt-3 : yypt+1] 9057 var yyLOCAL SelectStatement 9058 //line sql.y:745 9059 { 9060 yyLOCAL = yyDollar[2].selStmtUnion() 9061 } 9062 yyVAL.union = yyLOCAL 9063 case 56: 9064 yyDollar = yyS[yypt-4 : yypt+1] 9065 var yyLOCAL SelectStatement 9066 //line sql.y:749 9067 { 9068 setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) 9069 yyLOCAL = yyDollar[2].selStmtUnion() 9070 } 9071 yyVAL.union = yyLOCAL 9072 case 57: 9073 yyDollar = yyS[yypt-3 : yypt+1] 9074 var yyLOCAL SelectStatement 9075 //line sql.y:772 9076 { 9077 yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) 9078 yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) 9079 yyLOCAL = yyDollar[1].selStmtUnion() 9080 } 9081 yyVAL.union = yyLOCAL 9082 case 58: 9083 yyDollar = yyS[yypt-2 : yypt+1] 9084 var yyLOCAL SelectStatement 9085 //line sql.y:778 9086 { 9087 yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) 9088 yyLOCAL = yyDollar[1].selStmtUnion() 9089 } 9090 yyVAL.union = yyLOCAL 9091 case 59: 9092 yyDollar = yyS[yypt-3 : yypt+1] 9093 var yyLOCAL SelectStatement 9094 //line sql.y:783 9095 { 9096 yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) 9097 yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) 9098 yyLOCAL = yyDollar[1].selStmtUnion() 9099 } 9100 yyVAL.union = yyLOCAL 9101 case 60: 9102 yyDollar = yyS[yypt-4 : yypt+1] 9103 var yyLOCAL SelectStatement 9104 //line sql.y:789 9105 { 9106 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 9107 yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) 9108 yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion()) 9109 yyLOCAL = yyDollar[2].selStmtUnion() 9110 } 9111 yyVAL.union = yyLOCAL 9112 case 61: 9113 yyDollar = yyS[yypt-3 : yypt+1] 9114 var yyLOCAL SelectStatement 9115 //line sql.y:796 9116 { 9117 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 9118 yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) 9119 yyLOCAL = yyDollar[2].selStmtUnion() 9120 } 9121 yyVAL.union = yyLOCAL 9122 case 62: 9123 yyDollar = yyS[yypt-4 : yypt+1] 9124 var yyLOCAL SelectStatement 9125 //line sql.y:802 9126 { 9127 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 9128 yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) 9129 yyDollar[2].selStmtUnion().SetLimit(yyDollar[4].limitUnion()) 9130 yyLOCAL = yyDollar[2].selStmtUnion() 9131 } 9132 yyVAL.union = yyLOCAL 9133 case 63: 9134 yyDollar = yyS[yypt-2 : yypt+1] 9135 //line sql.y:809 9136 { 9137 yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) 9138 } 9139 case 64: 9140 yyDollar = yyS[yypt-7 : yypt+1] 9141 var yyLOCAL SelectStatement 9142 //line sql.y:813 9143 { 9144 yyLOCAL = NewSelect(Comments(yyDollar[2].strs), SelectExprs{&Nextval{Expr: yyDollar[5].exprUnion()}}, []string{yyDollar[3].str} /*options*/, nil, TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}, nil /*where*/, nil /*groupBy*/, nil /*having*/, nil) 9145 } 9146 yyVAL.union = yyLOCAL 9147 case 65: 9148 yyDollar = yyS[yypt-1 : yypt+1] 9149 var yyLOCAL SelectStatement 9150 //line sql.y:819 9151 { 9152 yyLOCAL = yyDollar[1].selStmtUnion() 9153 } 9154 yyVAL.union = yyLOCAL 9155 case 66: 9156 yyDollar = yyS[yypt-3 : yypt+1] 9157 var yyLOCAL SelectStatement 9158 //line sql.y:823 9159 { 9160 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 9161 } 9162 yyVAL.union = yyLOCAL 9163 case 67: 9164 yyDollar = yyS[yypt-3 : yypt+1] 9165 var yyLOCAL SelectStatement 9166 //line sql.y:827 9167 { 9168 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 9169 } 9170 yyVAL.union = yyLOCAL 9171 case 68: 9172 yyDollar = yyS[yypt-3 : yypt+1] 9173 var yyLOCAL SelectStatement 9174 //line sql.y:831 9175 { 9176 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 9177 } 9178 yyVAL.union = yyLOCAL 9179 case 69: 9180 yyDollar = yyS[yypt-3 : yypt+1] 9181 var yyLOCAL SelectStatement 9182 //line sql.y:835 9183 { 9184 yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} 9185 } 9186 yyVAL.union = yyLOCAL 9187 case 70: 9188 yyDollar = yyS[yypt-1 : yypt+1] 9189 var yyLOCAL SelectStatement 9190 //line sql.y:841 9191 { 9192 yyLOCAL = yyDollar[1].selStmtUnion() 9193 } 9194 yyVAL.union = yyLOCAL 9195 case 71: 9196 yyDollar = yyS[yypt-2 : yypt+1] 9197 var yyLOCAL SelectStatement 9198 //line sql.y:845 9199 { 9200 setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) 9201 yyLOCAL = yyDollar[1].selStmtUnion() 9202 } 9203 yyVAL.union = yyLOCAL 9204 case 72: 9205 yyDollar = yyS[yypt-1 : yypt+1] 9206 var yyLOCAL SelectStatement 9207 //line sql.y:850 9208 { 9209 yyLOCAL = yyDollar[1].selStmtUnion() 9210 } 9211 yyVAL.union = yyLOCAL 9212 case 73: 9213 yyDollar = yyS[yypt-1 : yypt+1] 9214 var yyLOCAL SelectStatement 9215 //line sql.y:854 9216 { 9217 yyLOCAL = yyDollar[1].selStmtUnion() 9218 } 9219 yyVAL.union = yyLOCAL 9220 case 74: 9221 yyDollar = yyS[yypt-3 : yypt+1] 9222 var yyLOCAL SelectStatement 9223 //line sql.y:860 9224 { 9225 yyLOCAL = yyDollar[2].selStmtUnion() 9226 } 9227 yyVAL.union = yyLOCAL 9228 case 75: 9229 yyDollar = yyS[yypt-2 : yypt+1] 9230 var yyLOCAL SelectStatement 9231 //line sql.y:864 9232 { 9233 yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) 9234 yyLOCAL = yyDollar[1].selStmtUnion() 9235 } 9236 yyVAL.union = yyLOCAL 9237 case 76: 9238 yyDollar = yyS[yypt-3 : yypt+1] 9239 var yyLOCAL SelectStatement 9240 //line sql.y:869 9241 { 9242 yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) 9243 yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) 9244 yyLOCAL = yyDollar[1].selStmtUnion() 9245 } 9246 yyVAL.union = yyLOCAL 9247 case 77: 9248 yyDollar = yyS[yypt-3 : yypt+1] 9249 var yyLOCAL SelectStatement 9250 //line sql.y:875 9251 { 9252 yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) 9253 yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) 9254 yyLOCAL = yyDollar[1].selStmtUnion() 9255 } 9256 yyVAL.union = yyLOCAL 9257 case 78: 9258 yyDollar = yyS[yypt-2 : yypt+1] 9259 var yyLOCAL SelectStatement 9260 //line sql.y:881 9261 { 9262 yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) 9263 yyLOCAL = yyDollar[1].selStmtUnion() 9264 } 9265 yyVAL.union = yyLOCAL 9266 case 79: 9267 yyDollar = yyS[yypt-5 : yypt+1] 9268 var yyLOCAL Statement 9269 //line sql.y:888 9270 { 9271 yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} 9272 } 9273 yyVAL.union = yyLOCAL 9274 case 80: 9275 yyDollar = yyS[yypt-7 : yypt+1] 9276 var yyLOCAL Statement 9277 //line sql.y:894 9278 { 9279 yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} 9280 } 9281 yyVAL.union = yyLOCAL 9282 case 81: 9283 yyDollar = yyS[yypt-10 : yypt+1] 9284 var yyLOCAL SelectStatement 9285 //line sql.y:902 9286 { 9287 yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, yyDollar[5].selectIntoUnion() /*into*/, yyDollar[6].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[7].exprUnion()), GroupBy(yyDollar[8].exprsUnion()), NewWhere(HavingClause, yyDollar[9].exprUnion()), yyDollar[10].namedWindowsUnion()) 9288 } 9289 yyVAL.union = yyLOCAL 9290 case 82: 9291 yyDollar = yyS[yypt-9 : yypt+1] 9292 var yyLOCAL SelectStatement 9293 //line sql.y:906 9294 { 9295 yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, nil, yyDollar[5].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[6].exprUnion()), GroupBy(yyDollar[7].exprsUnion()), NewWhere(HavingClause, yyDollar[8].exprUnion()), yyDollar[9].namedWindowsUnion()) 9296 } 9297 yyVAL.union = yyLOCAL 9298 case 83: 9299 yyDollar = yyS[yypt-7 : yypt+1] 9300 var yyLOCAL Statement 9301 //line sql.y:912 9302 { 9303 // insert_data returns a *Insert pre-filled with Columns & Values 9304 ins := yyDollar[6].insUnion() 9305 ins.Action = yyDollar[1].insertActionUnion() 9306 ins.Comments = Comments(yyDollar[2].strs).Parsed() 9307 ins.Ignore = yyDollar[3].ignoreUnion() 9308 ins.Table = yyDollar[4].tableName 9309 ins.Partitions = yyDollar[5].partitionsUnion() 9310 ins.OnDup = OnDup(yyDollar[7].updateExprsUnion()) 9311 yyLOCAL = ins 9312 } 9313 yyVAL.union = yyLOCAL 9314 case 84: 9315 yyDollar = yyS[yypt-8 : yypt+1] 9316 var yyLOCAL Statement 9317 //line sql.y:924 9318 { 9319 cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) 9320 vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) 9321 for _, updateList := range yyDollar[7].updateExprsUnion() { 9322 cols = append(cols, updateList.Name.Name) 9323 vals = append(vals, updateList.Expr) 9324 } 9325 yyLOCAL = &Insert{Action: yyDollar[1].insertActionUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Ignore: yyDollar[3].ignoreUnion(), Table: yyDollar[4].tableName, Partitions: yyDollar[5].partitionsUnion(), Columns: cols, Rows: Values{vals}, OnDup: OnDup(yyDollar[8].updateExprsUnion())} 9326 } 9327 yyVAL.union = yyLOCAL 9328 case 85: 9329 yyDollar = yyS[yypt-1 : yypt+1] 9330 var yyLOCAL InsertAction 9331 //line sql.y:936 9332 { 9333 yyLOCAL = InsertAct 9334 } 9335 yyVAL.union = yyLOCAL 9336 case 86: 9337 yyDollar = yyS[yypt-1 : yypt+1] 9338 var yyLOCAL InsertAction 9339 //line sql.y:940 9340 { 9341 yyLOCAL = ReplaceAct 9342 } 9343 yyVAL.union = yyLOCAL 9344 case 87: 9345 yyDollar = yyS[yypt-10 : yypt+1] 9346 var yyLOCAL Statement 9347 //line sql.y:946 9348 { 9349 yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: yyDollar[5].tableExprsUnion(), Exprs: yyDollar[7].updateExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion()), OrderBy: yyDollar[9].orderByUnion(), Limit: yyDollar[10].limitUnion()} 9350 } 9351 yyVAL.union = yyLOCAL 9352 case 88: 9353 yyDollar = yyS[yypt-11 : yypt+1] 9354 var yyLOCAL Statement 9355 //line sql.y:952 9356 { 9357 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].identifierCS}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()} 9358 } 9359 yyVAL.union = yyLOCAL 9360 case 89: 9361 yyDollar = yyS[yypt-9 : yypt+1] 9362 var yyLOCAL Statement 9363 //line sql.y:956 9364 { 9365 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} 9366 } 9367 yyVAL.union = yyLOCAL 9368 case 90: 9369 yyDollar = yyS[yypt-8 : yypt+1] 9370 var yyLOCAL Statement 9371 //line sql.y:960 9372 { 9373 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} 9374 } 9375 yyVAL.union = yyLOCAL 9376 case 91: 9377 yyDollar = yyS[yypt-8 : yypt+1] 9378 var yyLOCAL Statement 9379 //line sql.y:964 9380 { 9381 yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} 9382 } 9383 yyVAL.union = yyLOCAL 9384 case 92: 9385 yyDollar = yyS[yypt-1 : yypt+1] 9386 //line sql.y:969 9387 { 9388 } 9389 case 93: 9390 yyDollar = yyS[yypt-1 : yypt+1] 9391 //line sql.y:970 9392 { 9393 } 9394 case 94: 9395 yyDollar = yyS[yypt-1 : yypt+1] 9396 var yyLOCAL TableNames 9397 //line sql.y:974 9398 { 9399 yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} 9400 } 9401 yyVAL.union = yyLOCAL 9402 case 95: 9403 yyDollar = yyS[yypt-3 : yypt+1] 9404 //line sql.y:978 9405 { 9406 yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) 9407 *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) 9408 } 9409 case 96: 9410 yyDollar = yyS[yypt-1 : yypt+1] 9411 var yyLOCAL TableNames 9412 //line sql.y:984 9413 { 9414 yyLOCAL = TableNames{yyDollar[1].tableName} 9415 } 9416 yyVAL.union = yyLOCAL 9417 case 97: 9418 yyDollar = yyS[yypt-3 : yypt+1] 9419 //line sql.y:988 9420 { 9421 yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) 9422 *yySLICE = append(*yySLICE, yyDollar[3].tableName) 9423 } 9424 case 98: 9425 yyDollar = yyS[yypt-1 : yypt+1] 9426 var yyLOCAL TableNames 9427 //line sql.y:994 9428 { 9429 yyLOCAL = TableNames{yyDollar[1].tableName} 9430 } 9431 yyVAL.union = yyLOCAL 9432 case 99: 9433 yyDollar = yyS[yypt-3 : yypt+1] 9434 //line sql.y:998 9435 { 9436 yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) 9437 *yySLICE = append(*yySLICE, yyDollar[3].tableName) 9438 } 9439 case 100: 9440 yyDollar = yyS[yypt-0 : yypt+1] 9441 var yyLOCAL Partitions 9442 //line sql.y:1003 9443 { 9444 yyLOCAL = nil 9445 } 9446 yyVAL.union = yyLOCAL 9447 case 101: 9448 yyDollar = yyS[yypt-4 : yypt+1] 9449 var yyLOCAL Partitions 9450 //line sql.y:1007 9451 { 9452 yyLOCAL = yyDollar[3].partitionsUnion() 9453 } 9454 yyVAL.union = yyLOCAL 9455 case 102: 9456 yyDollar = yyS[yypt-3 : yypt+1] 9457 var yyLOCAL Statement 9458 //line sql.y:1013 9459 { 9460 yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[3].setExprsUnion()) 9461 } 9462 yyVAL.union = yyLOCAL 9463 case 103: 9464 yyDollar = yyS[yypt-1 : yypt+1] 9465 var yyLOCAL SetExprs 9466 //line sql.y:1019 9467 { 9468 yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} 9469 } 9470 yyVAL.union = yyLOCAL 9471 case 104: 9472 yyDollar = yyS[yypt-3 : yypt+1] 9473 //line sql.y:1023 9474 { 9475 yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) 9476 *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) 9477 } 9478 case 105: 9479 yyDollar = yyS[yypt-3 : yypt+1] 9480 var yyLOCAL *SetExpr 9481 //line sql.y:1029 9482 { 9483 yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("on")} 9484 } 9485 yyVAL.union = yyLOCAL 9486 case 106: 9487 yyDollar = yyS[yypt-3 : yypt+1] 9488 var yyLOCAL *SetExpr 9489 //line sql.y:1033 9490 { 9491 yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("off")} 9492 } 9493 yyVAL.union = yyLOCAL 9494 case 107: 9495 yyDollar = yyS[yypt-3 : yypt+1] 9496 var yyLOCAL *SetExpr 9497 //line sql.y:1037 9498 { 9499 yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: yyDollar[3].exprUnion()} 9500 } 9501 yyVAL.union = yyLOCAL 9502 case 108: 9503 yyDollar = yyS[yypt-3 : yypt+1] 9504 var yyLOCAL *SetExpr 9505 //line sql.y:1041 9506 { 9507 yyLOCAL = &SetExpr{Var: NewSetVariable(string(yyDollar[1].str), SessionScope), Expr: yyDollar[2].exprUnion()} 9508 } 9509 yyVAL.union = yyLOCAL 9510 case 109: 9511 yyDollar = yyS[yypt-1 : yypt+1] 9512 var yyLOCAL *Variable 9513 //line sql.y:1047 9514 { 9515 yyLOCAL = NewSetVariable(string(yyDollar[1].str), SessionScope) 9516 } 9517 yyVAL.union = yyLOCAL 9518 case 110: 9519 yyDollar = yyS[yypt-1 : yypt+1] 9520 var yyLOCAL *Variable 9521 //line sql.y:1051 9522 { 9523 yyLOCAL = yyDollar[1].variableUnion() 9524 } 9525 yyVAL.union = yyLOCAL 9526 case 111: 9527 yyDollar = yyS[yypt-2 : yypt+1] 9528 var yyLOCAL *Variable 9529 //line sql.y:1055 9530 { 9531 yyLOCAL = NewSetVariable(string(yyDollar[2].str), yyDollar[1].scopeUnion()) 9532 } 9533 yyVAL.union = yyLOCAL 9534 case 112: 9535 yyDollar = yyS[yypt-5 : yypt+1] 9536 var yyLOCAL Statement 9537 //line sql.y:1061 9538 { 9539 yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), UpdateSetExprsScope(yyDollar[5].setExprsUnion(), yyDollar[3].scopeUnion())) 9540 } 9541 yyVAL.union = yyLOCAL 9542 case 113: 9543 yyDollar = yyS[yypt-4 : yypt+1] 9544 var yyLOCAL Statement 9545 //line sql.y:1065 9546 { 9547 yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[4].setExprsUnion()) 9548 } 9549 yyVAL.union = yyLOCAL 9550 case 114: 9551 yyDollar = yyS[yypt-1 : yypt+1] 9552 var yyLOCAL SetExprs 9553 //line sql.y:1071 9554 { 9555 yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} 9556 } 9557 yyVAL.union = yyLOCAL 9558 case 115: 9559 yyDollar = yyS[yypt-3 : yypt+1] 9560 //line sql.y:1075 9561 { 9562 yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) 9563 *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) 9564 } 9565 case 116: 9566 yyDollar = yyS[yypt-3 : yypt+1] 9567 var yyLOCAL *SetExpr 9568 //line sql.y:1081 9569 { 9570 yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionIsolationStr, NextTxScope), Expr: NewStrLiteral(yyDollar[3].str)} 9571 } 9572 yyVAL.union = yyLOCAL 9573 case 117: 9574 yyDollar = yyS[yypt-2 : yypt+1] 9575 var yyLOCAL *SetExpr 9576 //line sql.y:1085 9577 { 9578 yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("off")} 9579 } 9580 yyVAL.union = yyLOCAL 9581 case 118: 9582 yyDollar = yyS[yypt-2 : yypt+1] 9583 var yyLOCAL *SetExpr 9584 //line sql.y:1089 9585 { 9586 yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("on")} 9587 } 9588 yyVAL.union = yyLOCAL 9589 case 119: 9590 yyDollar = yyS[yypt-2 : yypt+1] 9591 //line sql.y:1095 9592 { 9593 yyVAL.str = RepeatableReadStr 9594 } 9595 case 120: 9596 yyDollar = yyS[yypt-2 : yypt+1] 9597 //line sql.y:1099 9598 { 9599 yyVAL.str = ReadCommittedStr 9600 } 9601 case 121: 9602 yyDollar = yyS[yypt-2 : yypt+1] 9603 //line sql.y:1103 9604 { 9605 yyVAL.str = ReadUncommittedStr 9606 } 9607 case 122: 9608 yyDollar = yyS[yypt-1 : yypt+1] 9609 //line sql.y:1107 9610 { 9611 yyVAL.str = SerializableStr 9612 } 9613 case 123: 9614 yyDollar = yyS[yypt-1 : yypt+1] 9615 var yyLOCAL Scope 9616 //line sql.y:1113 9617 { 9618 yyLOCAL = SessionScope 9619 } 9620 yyVAL.union = yyLOCAL 9621 case 124: 9622 yyDollar = yyS[yypt-1 : yypt+1] 9623 var yyLOCAL Scope 9624 //line sql.y:1117 9625 { 9626 yyLOCAL = SessionScope 9627 } 9628 yyVAL.union = yyLOCAL 9629 case 125: 9630 yyDollar = yyS[yypt-1 : yypt+1] 9631 var yyLOCAL Scope 9632 //line sql.y:1121 9633 { 9634 yyLOCAL = GlobalScope 9635 } 9636 yyVAL.union = yyLOCAL 9637 case 126: 9638 yyDollar = yyS[yypt-2 : yypt+1] 9639 var yyLOCAL Statement 9640 //line sql.y:1127 9641 { 9642 yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() 9643 yyDollar[1].createTableUnion().FullyParsed = true 9644 yyLOCAL = yyDollar[1].createTableUnion() 9645 } 9646 yyVAL.union = yyLOCAL 9647 case 127: 9648 yyDollar = yyS[yypt-2 : yypt+1] 9649 var yyLOCAL Statement 9650 //line sql.y:1133 9651 { 9652 // Create table [name] like [name] 9653 yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() 9654 yyDollar[1].createTableUnion().FullyParsed = true 9655 yyLOCAL = yyDollar[1].createTableUnion() 9656 } 9657 yyVAL.union = yyLOCAL 9658 case 128: 9659 yyDollar = yyS[yypt-6 : yypt+1] 9660 var yyLOCAL Statement 9661 //line sql.y:1140 9662 { 9663 indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition 9664 indexDef.Columns = yyDollar[3].indexColumnsUnion() 9665 indexDef.Options = append(indexDef.Options, yyDollar[5].indexOptionsUnion()...) 9666 yyDollar[1].alterTableUnion().AlterOptions = append(yyDollar[1].alterTableUnion().AlterOptions, yyDollar[6].alterOptionsUnion()...) 9667 yyDollar[1].alterTableUnion().FullyParsed = true 9668 yyLOCAL = yyDollar[1].alterTableUnion() 9669 } 9670 yyVAL.union = yyLOCAL 9671 case 129: 9672 yyDollar = yyS[yypt-12 : yypt+1] 9673 var yyLOCAL Statement 9674 //line sql.y:1149 9675 { 9676 yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} 9677 } 9678 yyVAL.union = yyLOCAL 9679 case 130: 9680 yyDollar = yyS[yypt-2 : yypt+1] 9681 var yyLOCAL Statement 9682 //line sql.y:1153 9683 { 9684 yyDollar[1].createDatabaseUnion().FullyParsed = true 9685 yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() 9686 yyLOCAL = yyDollar[1].createDatabaseUnion() 9687 } 9688 yyVAL.union = yyLOCAL 9689 case 131: 9690 yyDollar = yyS[yypt-0 : yypt+1] 9691 var yyLOCAL bool 9692 //line sql.y:1160 9693 { 9694 yyLOCAL = false 9695 } 9696 yyVAL.union = yyLOCAL 9697 case 132: 9698 yyDollar = yyS[yypt-2 : yypt+1] 9699 var yyLOCAL bool 9700 //line sql.y:1164 9701 { 9702 yyLOCAL = true 9703 } 9704 yyVAL.union = yyLOCAL 9705 case 133: 9706 yyDollar = yyS[yypt-0 : yypt+1] 9707 //line sql.y:1169 9708 { 9709 yyVAL.identifierCI = NewIdentifierCI("") 9710 } 9711 case 134: 9712 yyDollar = yyS[yypt-2 : yypt+1] 9713 //line sql.y:1173 9714 { 9715 yyVAL.identifierCI = yyDollar[2].identifierCI 9716 } 9717 case 135: 9718 yyDollar = yyS[yypt-1 : yypt+1] 9719 //line sql.y:1179 9720 { 9721 yyVAL.identifierCI = yyDollar[1].identifierCI 9722 } 9723 case 136: 9724 yyDollar = yyS[yypt-0 : yypt+1] 9725 var yyLOCAL []VindexParam 9726 //line sql.y:1184 9727 { 9728 var v []VindexParam 9729 yyLOCAL = v 9730 } 9731 yyVAL.union = yyLOCAL 9732 case 137: 9733 yyDollar = yyS[yypt-2 : yypt+1] 9734 var yyLOCAL []VindexParam 9735 //line sql.y:1189 9736 { 9737 yyLOCAL = yyDollar[2].vindexParamsUnion() 9738 } 9739 yyVAL.union = yyLOCAL 9740 case 138: 9741 yyDollar = yyS[yypt-1 : yypt+1] 9742 var yyLOCAL []VindexParam 9743 //line sql.y:1195 9744 { 9745 yyLOCAL = make([]VindexParam, 0, 4) 9746 yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) 9747 } 9748 yyVAL.union = yyLOCAL 9749 case 139: 9750 yyDollar = yyS[yypt-3 : yypt+1] 9751 //line sql.y:1200 9752 { 9753 yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) 9754 *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) 9755 } 9756 case 140: 9757 yyDollar = yyS[yypt-3 : yypt+1] 9758 //line sql.y:1206 9759 { 9760 yyVAL.vindexParam = VindexParam{Key: yyDollar[1].identifierCI, Val: yyDollar[3].str} 9761 } 9762 case 141: 9763 yyDollar = yyS[yypt-0 : yypt+1] 9764 var yyLOCAL []*JSONObjectParam 9765 //line sql.y:1211 9766 { 9767 yyLOCAL = nil 9768 } 9769 yyVAL.union = yyLOCAL 9770 case 142: 9771 yyDollar = yyS[yypt-1 : yypt+1] 9772 var yyLOCAL []*JSONObjectParam 9773 //line sql.y:1215 9774 { 9775 yyLOCAL = yyDollar[1].jsonObjectParamsUnion() 9776 } 9777 yyVAL.union = yyLOCAL 9778 case 143: 9779 yyDollar = yyS[yypt-1 : yypt+1] 9780 var yyLOCAL []*JSONObjectParam 9781 //line sql.y:1221 9782 { 9783 yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} 9784 } 9785 yyVAL.union = yyLOCAL 9786 case 144: 9787 yyDollar = yyS[yypt-3 : yypt+1] 9788 //line sql.y:1225 9789 { 9790 yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) 9791 *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) 9792 } 9793 case 145: 9794 yyDollar = yyS[yypt-3 : yypt+1] 9795 //line sql.y:1231 9796 { 9797 yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} 9798 } 9799 case 146: 9800 yyDollar = yyS[yypt-6 : yypt+1] 9801 var yyLOCAL *CreateTable 9802 //line sql.y:1237 9803 { 9804 yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} 9805 setDDL(yylex, yyLOCAL) 9806 } 9807 yyVAL.union = yyLOCAL 9808 case 147: 9809 yyDollar = yyS[yypt-4 : yypt+1] 9810 var yyLOCAL *AlterTable 9811 //line sql.y:1244 9812 { 9813 yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} 9814 setDDL(yylex, yyLOCAL) 9815 } 9816 yyVAL.union = yyLOCAL 9817 case 148: 9818 yyDollar = yyS[yypt-7 : yypt+1] 9819 var yyLOCAL *AlterTable 9820 //line sql.y:1251 9821 { 9822 yyLOCAL = &AlterTable{Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].identifierCI, Type: string(yyDollar[3].str)}, Options: yyDollar[5].indexOptionsUnion()}}}} 9823 setDDL(yylex, yyLOCAL) 9824 } 9825 yyVAL.union = yyLOCAL 9826 case 149: 9827 yyDollar = yyS[yypt-8 : yypt+1] 9828 var yyLOCAL *AlterTable 9829 //line sql.y:1256 9830 { 9831 yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Fulltext: true}, Options: yyDollar[6].indexOptionsUnion()}}}} 9832 setDDL(yylex, yyLOCAL) 9833 } 9834 yyVAL.union = yyLOCAL 9835 case 150: 9836 yyDollar = yyS[yypt-8 : yypt+1] 9837 var yyLOCAL *AlterTable 9838 //line sql.y:1261 9839 { 9840 yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Spatial: true}, Options: yyDollar[6].indexOptionsUnion()}}}} 9841 setDDL(yylex, yyLOCAL) 9842 } 9843 yyVAL.union = yyLOCAL 9844 case 151: 9845 yyDollar = yyS[yypt-8 : yypt+1] 9846 var yyLOCAL *AlterTable 9847 //line sql.y:1266 9848 { 9849 yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: string(yyDollar[3].str) + " " + string(yyDollar[4].str), Unique: true}, Options: yyDollar[6].indexOptionsUnion()}}}} 9850 setDDL(yylex, yyLOCAL) 9851 } 9852 yyVAL.union = yyLOCAL 9853 case 152: 9854 yyDollar = yyS[yypt-6 : yypt+1] 9855 var yyLOCAL *CreateDatabase 9856 //line sql.y:1273 9857 { 9858 yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].identifierCS, IfNotExists: yyDollar[5].booleanUnion()} 9859 setDDL(yylex, yyLOCAL) 9860 } 9861 yyVAL.union = yyLOCAL 9862 case 153: 9863 yyDollar = yyS[yypt-3 : yypt+1] 9864 var yyLOCAL *AlterDatabase 9865 //line sql.y:1280 9866 { 9867 yyLOCAL = &AlterDatabase{} 9868 setDDL(yylex, yyLOCAL) 9869 } 9870 yyVAL.union = yyLOCAL 9871 case 156: 9872 yyDollar = yyS[yypt-5 : yypt+1] 9873 var yyLOCAL *TableSpec 9874 //line sql.y:1291 9875 { 9876 yyLOCAL = yyDollar[2].tableSpecUnion() 9877 yyLOCAL.Options = yyDollar[4].tableOptionsUnion() 9878 yyLOCAL.PartitionOption = yyDollar[5].partitionOptionUnion() 9879 } 9880 yyVAL.union = yyLOCAL 9881 case 157: 9882 yyDollar = yyS[yypt-0 : yypt+1] 9883 var yyLOCAL []DatabaseOption 9884 //line sql.y:1298 9885 { 9886 yyLOCAL = nil 9887 } 9888 yyVAL.union = yyLOCAL 9889 case 158: 9890 yyDollar = yyS[yypt-1 : yypt+1] 9891 var yyLOCAL []DatabaseOption 9892 //line sql.y:1302 9893 { 9894 yyLOCAL = yyDollar[1].databaseOptionsUnion() 9895 } 9896 yyVAL.union = yyLOCAL 9897 case 159: 9898 yyDollar = yyS[yypt-1 : yypt+1] 9899 var yyLOCAL []DatabaseOption 9900 //line sql.y:1308 9901 { 9902 yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} 9903 } 9904 yyVAL.union = yyLOCAL 9905 case 160: 9906 yyDollar = yyS[yypt-1 : yypt+1] 9907 var yyLOCAL []DatabaseOption 9908 //line sql.y:1312 9909 { 9910 yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} 9911 } 9912 yyVAL.union = yyLOCAL 9913 case 161: 9914 yyDollar = yyS[yypt-1 : yypt+1] 9915 var yyLOCAL []DatabaseOption 9916 //line sql.y:1316 9917 { 9918 yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} 9919 } 9920 yyVAL.union = yyLOCAL 9921 case 162: 9922 yyDollar = yyS[yypt-2 : yypt+1] 9923 //line sql.y:1320 9924 { 9925 yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) 9926 *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) 9927 } 9928 case 163: 9929 yyDollar = yyS[yypt-2 : yypt+1] 9930 //line sql.y:1324 9931 { 9932 yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) 9933 *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) 9934 } 9935 case 164: 9936 yyDollar = yyS[yypt-2 : yypt+1] 9937 //line sql.y:1328 9938 { 9939 yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) 9940 *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) 9941 } 9942 case 165: 9943 yyDollar = yyS[yypt-0 : yypt+1] 9944 var yyLOCAL bool 9945 //line sql.y:1334 9946 { 9947 yyLOCAL = false 9948 } 9949 yyVAL.union = yyLOCAL 9950 case 166: 9951 yyDollar = yyS[yypt-1 : yypt+1] 9952 var yyLOCAL bool 9953 //line sql.y:1338 9954 { 9955 yyLOCAL = true 9956 } 9957 yyVAL.union = yyLOCAL 9958 case 167: 9959 yyDollar = yyS[yypt-4 : yypt+1] 9960 //line sql.y:1344 9961 { 9962 yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} 9963 } 9964 case 168: 9965 yyDollar = yyS[yypt-4 : yypt+1] 9966 //line sql.y:1348 9967 { 9968 yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} 9969 } 9970 case 169: 9971 yyDollar = yyS[yypt-4 : yypt+1] 9972 //line sql.y:1354 9973 { 9974 yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} 9975 } 9976 case 170: 9977 yyDollar = yyS[yypt-4 : yypt+1] 9978 //line sql.y:1358 9979 { 9980 yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} 9981 } 9982 case 171: 9983 yyDollar = yyS[yypt-4 : yypt+1] 9984 //line sql.y:1364 9985 { 9986 yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} 9987 } 9988 case 172: 9989 yyDollar = yyS[yypt-4 : yypt+1] 9990 //line sql.y:1368 9991 { 9992 yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()} 9993 } 9994 case 173: 9995 yyDollar = yyS[yypt-2 : yypt+1] 9996 var yyLOCAL *OptLike 9997 //line sql.y:1374 9998 { 9999 yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} 10000 } 10001 yyVAL.union = yyLOCAL 10002 case 174: 10003 yyDollar = yyS[yypt-4 : yypt+1] 10004 var yyLOCAL *OptLike 10005 //line sql.y:1378 10006 { 10007 yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} 10008 } 10009 yyVAL.union = yyLOCAL 10010 case 175: 10011 yyDollar = yyS[yypt-1 : yypt+1] 10012 var yyLOCAL []*ColumnDefinition 10013 //line sql.y:1384 10014 { 10015 yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} 10016 } 10017 yyVAL.union = yyLOCAL 10018 case 176: 10019 yyDollar = yyS[yypt-3 : yypt+1] 10020 //line sql.y:1388 10021 { 10022 yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) 10023 *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) 10024 } 10025 case 177: 10026 yyDollar = yyS[yypt-1 : yypt+1] 10027 var yyLOCAL *TableSpec 10028 //line sql.y:1394 10029 { 10030 yyLOCAL = &TableSpec{} 10031 yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) 10032 } 10033 yyVAL.union = yyLOCAL 10034 case 178: 10035 yyDollar = yyS[yypt-1 : yypt+1] 10036 var yyLOCAL *TableSpec 10037 //line sql.y:1399 10038 { 10039 yyLOCAL = &TableSpec{} 10040 yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) 10041 } 10042 yyVAL.union = yyLOCAL 10043 case 179: 10044 yyDollar = yyS[yypt-3 : yypt+1] 10045 //line sql.y:1404 10046 { 10047 yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) 10048 } 10049 case 180: 10050 yyDollar = yyS[yypt-4 : yypt+1] 10051 //line sql.y:1408 10052 { 10053 yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) 10054 yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) 10055 } 10056 case 181: 10057 yyDollar = yyS[yypt-3 : yypt+1] 10058 //line sql.y:1413 10059 { 10060 yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) 10061 } 10062 case 182: 10063 yyDollar = yyS[yypt-3 : yypt+1] 10064 //line sql.y:1417 10065 { 10066 yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) 10067 } 10068 case 183: 10069 yyDollar = yyS[yypt-3 : yypt+1] 10070 //line sql.y:1421 10071 { 10072 yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) 10073 } 10074 case 184: 10075 yyDollar = yyS[yypt-5 : yypt+1] 10076 var yyLOCAL *ColumnDefinition 10077 //line sql.y:1432 10078 { 10079 yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() 10080 if yyDollar[2].columnType.Options.Collate == "" { 10081 yyDollar[2].columnType.Options.Collate = yyDollar[3].str 10082 } 10083 yyDollar[2].columnType.Options.Reference = yyDollar[5].referenceDefinitionUnion() 10084 yyLOCAL = &ColumnDefinition{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType} 10085 } 10086 yyVAL.union = yyLOCAL 10087 case 185: 10088 yyDollar = yyS[yypt-10 : yypt+1] 10089 var yyLOCAL *ColumnDefinition 10090 //line sql.y:1441 10091 { 10092 yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() 10093 yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() 10094 yyDollar[2].columnType.Options.Reference = yyDollar[10].referenceDefinitionUnion() 10095 yyDollar[2].columnType.Options.Collate = yyDollar[3].str 10096 yyLOCAL = &ColumnDefinition{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType} 10097 } 10098 yyVAL.union = yyLOCAL 10099 case 186: 10100 yyDollar = yyS[yypt-0 : yypt+1] 10101 //line sql.y:1450 10102 { 10103 yyVAL.str = "" 10104 } 10105 case 187: 10106 yyDollar = yyS[yypt-2 : yypt+1] 10107 //line sql.y:1454 10108 { 10109 yyVAL.str = "" 10110 } 10111 case 188: 10112 yyDollar = yyS[yypt-0 : yypt+1] 10113 var yyLOCAL *ColumnTypeOptions 10114 //line sql.y:1463 10115 { 10116 yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: ColKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} 10117 } 10118 yyVAL.union = yyLOCAL 10119 case 189: 10120 yyDollar = yyS[yypt-2 : yypt+1] 10121 var yyLOCAL *ColumnTypeOptions 10122 //line sql.y:1467 10123 { 10124 val := true 10125 yyDollar[1].columnTypeOptionsUnion().Null = &val 10126 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10127 } 10128 yyVAL.union = yyLOCAL 10129 case 190: 10130 yyDollar = yyS[yypt-3 : yypt+1] 10131 var yyLOCAL *ColumnTypeOptions 10132 //line sql.y:1473 10133 { 10134 val := false 10135 yyDollar[1].columnTypeOptionsUnion().Null = &val 10136 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10137 } 10138 yyVAL.union = yyLOCAL 10139 case 191: 10140 yyDollar = yyS[yypt-5 : yypt+1] 10141 var yyLOCAL *ColumnTypeOptions 10142 //line sql.y:1479 10143 { 10144 yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() 10145 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10146 } 10147 yyVAL.union = yyLOCAL 10148 case 192: 10149 yyDollar = yyS[yypt-3 : yypt+1] 10150 var yyLOCAL *ColumnTypeOptions 10151 //line sql.y:1484 10152 { 10153 yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() 10154 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10155 } 10156 yyVAL.union = yyLOCAL 10157 case 193: 10158 yyDollar = yyS[yypt-4 : yypt+1] 10159 var yyLOCAL *ColumnTypeOptions 10160 //line sql.y:1489 10161 { 10162 yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() 10163 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10164 } 10165 yyVAL.union = yyLOCAL 10166 case 194: 10167 yyDollar = yyS[yypt-2 : yypt+1] 10168 var yyLOCAL *ColumnTypeOptions 10169 //line sql.y:1494 10170 { 10171 yyDollar[1].columnTypeOptionsUnion().Autoincrement = true 10172 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10173 } 10174 yyVAL.union = yyLOCAL 10175 case 195: 10176 yyDollar = yyS[yypt-3 : yypt+1] 10177 var yyLOCAL *ColumnTypeOptions 10178 //line sql.y:1499 10179 { 10180 yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) 10181 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10182 } 10183 yyVAL.union = yyLOCAL 10184 case 196: 10185 yyDollar = yyS[yypt-2 : yypt+1] 10186 var yyLOCAL *ColumnTypeOptions 10187 //line sql.y:1504 10188 { 10189 yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() 10190 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10191 } 10192 yyVAL.union = yyLOCAL 10193 case 197: 10194 yyDollar = yyS[yypt-3 : yypt+1] 10195 //line sql.y:1509 10196 { 10197 yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) 10198 } 10199 case 198: 10200 yyDollar = yyS[yypt-3 : yypt+1] 10201 var yyLOCAL *ColumnTypeOptions 10202 //line sql.y:1513 10203 { 10204 yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].identifierCI.String()) 10205 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10206 } 10207 yyVAL.union = yyLOCAL 10208 case 199: 10209 yyDollar = yyS[yypt-3 : yypt+1] 10210 //line sql.y:1518 10211 { 10212 yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() 10213 } 10214 case 200: 10215 yyDollar = yyS[yypt-3 : yypt+1] 10216 var yyLOCAL *ColumnTypeOptions 10217 //line sql.y:1522 10218 { 10219 yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) 10220 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10221 } 10222 yyVAL.union = yyLOCAL 10223 case 201: 10224 yyDollar = yyS[yypt-2 : yypt+1] 10225 var yyLOCAL *ColumnTypeOptions 10226 //line sql.y:1527 10227 { 10228 val := false 10229 yyDollar[1].columnTypeOptionsUnion().Invisible = &val 10230 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10231 } 10232 yyVAL.union = yyLOCAL 10233 case 202: 10234 yyDollar = yyS[yypt-2 : yypt+1] 10235 var yyLOCAL *ColumnTypeOptions 10236 //line sql.y:1533 10237 { 10238 val := true 10239 yyDollar[1].columnTypeOptionsUnion().Invisible = &val 10240 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10241 } 10242 yyVAL.union = yyLOCAL 10243 case 203: 10244 yyDollar = yyS[yypt-4 : yypt+1] 10245 //line sql.y:1539 10246 { 10247 yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) 10248 } 10249 case 204: 10250 yyDollar = yyS[yypt-4 : yypt+1] 10251 //line sql.y:1543 10252 { 10253 yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) 10254 } 10255 case 205: 10256 yyDollar = yyS[yypt-1 : yypt+1] 10257 var yyLOCAL ColumnFormat 10258 //line sql.y:1549 10259 { 10260 yyLOCAL = FixedFormat 10261 } 10262 yyVAL.union = yyLOCAL 10263 case 206: 10264 yyDollar = yyS[yypt-1 : yypt+1] 10265 var yyLOCAL ColumnFormat 10266 //line sql.y:1553 10267 { 10268 yyLOCAL = DynamicFormat 10269 } 10270 yyVAL.union = yyLOCAL 10271 case 207: 10272 yyDollar = yyS[yypt-1 : yypt+1] 10273 var yyLOCAL ColumnFormat 10274 //line sql.y:1557 10275 { 10276 yyLOCAL = DefaultFormat 10277 } 10278 yyVAL.union = yyLOCAL 10279 case 208: 10280 yyDollar = yyS[yypt-1 : yypt+1] 10281 var yyLOCAL ColumnStorage 10282 //line sql.y:1563 10283 { 10284 yyLOCAL = VirtualStorage 10285 } 10286 yyVAL.union = yyLOCAL 10287 case 209: 10288 yyDollar = yyS[yypt-1 : yypt+1] 10289 var yyLOCAL ColumnStorage 10290 //line sql.y:1567 10291 { 10292 yyLOCAL = StoredStorage 10293 } 10294 yyVAL.union = yyLOCAL 10295 case 210: 10296 yyDollar = yyS[yypt-0 : yypt+1] 10297 var yyLOCAL *ColumnTypeOptions 10298 //line sql.y:1572 10299 { 10300 yyLOCAL = &ColumnTypeOptions{} 10301 } 10302 yyVAL.union = yyLOCAL 10303 case 211: 10304 yyDollar = yyS[yypt-2 : yypt+1] 10305 var yyLOCAL *ColumnTypeOptions 10306 //line sql.y:1576 10307 { 10308 yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() 10309 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10310 } 10311 yyVAL.union = yyLOCAL 10312 case 212: 10313 yyDollar = yyS[yypt-2 : yypt+1] 10314 var yyLOCAL *ColumnTypeOptions 10315 //line sql.y:1581 10316 { 10317 val := true 10318 yyDollar[1].columnTypeOptionsUnion().Null = &val 10319 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10320 } 10321 yyVAL.union = yyLOCAL 10322 case 213: 10323 yyDollar = yyS[yypt-3 : yypt+1] 10324 var yyLOCAL *ColumnTypeOptions 10325 //line sql.y:1587 10326 { 10327 val := false 10328 yyDollar[1].columnTypeOptionsUnion().Null = &val 10329 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10330 } 10331 yyVAL.union = yyLOCAL 10332 case 214: 10333 yyDollar = yyS[yypt-3 : yypt+1] 10334 var yyLOCAL *ColumnTypeOptions 10335 //line sql.y:1593 10336 { 10337 yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) 10338 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10339 } 10340 yyVAL.union = yyLOCAL 10341 case 215: 10342 yyDollar = yyS[yypt-2 : yypt+1] 10343 var yyLOCAL *ColumnTypeOptions 10344 //line sql.y:1598 10345 { 10346 yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() 10347 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10348 } 10349 yyVAL.union = yyLOCAL 10350 case 216: 10351 yyDollar = yyS[yypt-2 : yypt+1] 10352 var yyLOCAL *ColumnTypeOptions 10353 //line sql.y:1603 10354 { 10355 val := false 10356 yyDollar[1].columnTypeOptionsUnion().Invisible = &val 10357 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10358 } 10359 yyVAL.union = yyLOCAL 10360 case 217: 10361 yyDollar = yyS[yypt-2 : yypt+1] 10362 var yyLOCAL *ColumnTypeOptions 10363 //line sql.y:1609 10364 { 10365 val := true 10366 yyDollar[1].columnTypeOptionsUnion().Invisible = &val 10367 yyLOCAL = yyDollar[1].columnTypeOptionsUnion() 10368 } 10369 yyVAL.union = yyLOCAL 10370 case 218: 10371 yyDollar = yyS[yypt-1 : yypt+1] 10372 var yyLOCAL Expr 10373 //line sql.y:1617 10374 { 10375 yyLOCAL = yyDollar[1].exprUnion() 10376 } 10377 yyVAL.union = yyLOCAL 10378 case 220: 10379 yyDollar = yyS[yypt-2 : yypt+1] 10380 var yyLOCAL Expr 10381 //line sql.y:1624 10382 { 10383 yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_timestamp"), Fsp: yyDollar[2].exprUnion()} 10384 } 10385 yyVAL.union = yyLOCAL 10386 case 221: 10387 yyDollar = yyS[yypt-2 : yypt+1] 10388 var yyLOCAL Expr 10389 //line sql.y:1628 10390 { 10391 yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtime"), Fsp: yyDollar[2].exprUnion()} 10392 } 10393 yyVAL.union = yyLOCAL 10394 case 222: 10395 yyDollar = yyS[yypt-2 : yypt+1] 10396 var yyLOCAL Expr 10397 //line sql.y:1632 10398 { 10399 yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtimestamp"), Fsp: yyDollar[2].exprUnion()} 10400 } 10401 yyVAL.union = yyLOCAL 10402 case 223: 10403 yyDollar = yyS[yypt-2 : yypt+1] 10404 var yyLOCAL Expr 10405 //line sql.y:1636 10406 { 10407 yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} 10408 } 10409 yyVAL.union = yyLOCAL 10410 case 224: 10411 yyDollar = yyS[yypt-2 : yypt+1] 10412 var yyLOCAL Expr 10413 //line sql.y:1640 10414 { 10415 yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("now"), Fsp: yyDollar[2].exprUnion()} 10416 } 10417 yyVAL.union = yyLOCAL 10418 case 227: 10419 yyDollar = yyS[yypt-1 : yypt+1] 10420 var yyLOCAL Expr 10421 //line sql.y:1650 10422 { 10423 yyLOCAL = &NullVal{} 10424 } 10425 yyVAL.union = yyLOCAL 10426 case 229: 10427 yyDollar = yyS[yypt-2 : yypt+1] 10428 var yyLOCAL Expr 10429 //line sql.y:1657 10430 { 10431 yyLOCAL = yyDollar[2].exprUnion() 10432 } 10433 yyVAL.union = yyLOCAL 10434 case 230: 10435 yyDollar = yyS[yypt-2 : yypt+1] 10436 var yyLOCAL Expr 10437 //line sql.y:1661 10438 { 10439 yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} 10440 } 10441 yyVAL.union = yyLOCAL 10442 case 231: 10443 yyDollar = yyS[yypt-1 : yypt+1] 10444 var yyLOCAL Expr 10445 //line sql.y:1667 10446 { 10447 yyLOCAL = yyDollar[1].exprUnion() 10448 } 10449 yyVAL.union = yyLOCAL 10450 case 232: 10451 yyDollar = yyS[yypt-1 : yypt+1] 10452 var yyLOCAL Expr 10453 //line sql.y:1671 10454 { 10455 yyLOCAL = yyDollar[1].exprUnion() 10456 } 10457 yyVAL.union = yyLOCAL 10458 case 233: 10459 yyDollar = yyS[yypt-1 : yypt+1] 10460 var yyLOCAL Expr 10461 //line sql.y:1675 10462 { 10463 yyLOCAL = yyDollar[1].boolValUnion() 10464 } 10465 yyVAL.union = yyLOCAL 10466 case 234: 10467 yyDollar = yyS[yypt-1 : yypt+1] 10468 var yyLOCAL Expr 10469 //line sql.y:1679 10470 { 10471 yyLOCAL = NewHexLiteral(yyDollar[1].str) 10472 } 10473 yyVAL.union = yyLOCAL 10474 case 235: 10475 yyDollar = yyS[yypt-1 : yypt+1] 10476 var yyLOCAL Expr 10477 //line sql.y:1683 10478 { 10479 yyLOCAL = NewHexNumLiteral(yyDollar[1].str) 10480 } 10481 yyVAL.union = yyLOCAL 10482 case 236: 10483 yyDollar = yyS[yypt-1 : yypt+1] 10484 var yyLOCAL Expr 10485 //line sql.y:1687 10486 { 10487 yyLOCAL = NewBitLiteral(yyDollar[1].str[2:]) 10488 } 10489 yyVAL.union = yyLOCAL 10490 case 237: 10491 yyDollar = yyS[yypt-1 : yypt+1] 10492 var yyLOCAL Expr 10493 //line sql.y:1691 10494 { 10495 yyLOCAL = NewBitLiteral(yyDollar[1].str) 10496 } 10497 yyVAL.union = yyLOCAL 10498 case 238: 10499 yyDollar = yyS[yypt-1 : yypt+1] 10500 var yyLOCAL Expr 10501 //line sql.y:1695 10502 { 10503 yyLOCAL = NewArgument(yyDollar[1].str[1:]) 10504 bindVariable(yylex, yyDollar[1].str[1:]) 10505 } 10506 yyVAL.union = yyLOCAL 10507 case 239: 10508 yyDollar = yyS[yypt-2 : yypt+1] 10509 var yyLOCAL Expr 10510 //line sql.y:1700 10511 { 10512 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} 10513 } 10514 yyVAL.union = yyLOCAL 10515 case 240: 10516 yyDollar = yyS[yypt-2 : yypt+1] 10517 var yyLOCAL Expr 10518 //line sql.y:1704 10519 { 10520 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} 10521 } 10522 yyVAL.union = yyLOCAL 10523 case 241: 10524 yyDollar = yyS[yypt-2 : yypt+1] 10525 var yyLOCAL Expr 10526 //line sql.y:1708 10527 { 10528 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str[2:])} 10529 } 10530 yyVAL.union = yyLOCAL 10531 case 242: 10532 yyDollar = yyS[yypt-2 : yypt+1] 10533 var yyLOCAL Expr 10534 //line sql.y:1712 10535 { 10536 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} 10537 } 10538 yyVAL.union = yyLOCAL 10539 case 243: 10540 yyDollar = yyS[yypt-2 : yypt+1] 10541 var yyLOCAL Expr 10542 //line sql.y:1716 10543 { 10544 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].exprUnion()} 10545 } 10546 yyVAL.union = yyLOCAL 10547 case 244: 10548 yyDollar = yyS[yypt-2 : yypt+1] 10549 var yyLOCAL Expr 10550 //line sql.y:1720 10551 { 10552 bindVariable(yylex, yyDollar[2].str[1:]) 10553 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} 10554 } 10555 yyVAL.union = yyLOCAL 10556 case 245: 10557 yyDollar = yyS[yypt-2 : yypt+1] 10558 var yyLOCAL Expr 10559 //line sql.y:1725 10560 { 10561 yyLOCAL = NewDateLiteral(yyDollar[2].str) 10562 } 10563 yyVAL.union = yyLOCAL 10564 case 246: 10565 yyDollar = yyS[yypt-2 : yypt+1] 10566 var yyLOCAL Expr 10567 //line sql.y:1729 10568 { 10569 yyLOCAL = NewTimeLiteral(yyDollar[2].str) 10570 } 10571 yyVAL.union = yyLOCAL 10572 case 247: 10573 yyDollar = yyS[yypt-2 : yypt+1] 10574 var yyLOCAL Expr 10575 //line sql.y:1733 10576 { 10577 yyLOCAL = NewTimestampLiteral(yyDollar[2].str) 10578 } 10579 yyVAL.union = yyLOCAL 10580 case 248: 10581 yyDollar = yyS[yypt-1 : yypt+1] 10582 //line sql.y:1739 10583 { 10584 yyVAL.str = Armscii8Str 10585 } 10586 case 249: 10587 yyDollar = yyS[yypt-1 : yypt+1] 10588 //line sql.y:1743 10589 { 10590 yyVAL.str = ASCIIStr 10591 } 10592 case 250: 10593 yyDollar = yyS[yypt-1 : yypt+1] 10594 //line sql.y:1747 10595 { 10596 yyVAL.str = Big5Str 10597 } 10598 case 251: 10599 yyDollar = yyS[yypt-1 : yypt+1] 10600 //line sql.y:1751 10601 { 10602 yyVAL.str = UBinaryStr 10603 } 10604 case 252: 10605 yyDollar = yyS[yypt-1 : yypt+1] 10606 //line sql.y:1755 10607 { 10608 yyVAL.str = Cp1250Str 10609 } 10610 case 253: 10611 yyDollar = yyS[yypt-1 : yypt+1] 10612 //line sql.y:1759 10613 { 10614 yyVAL.str = Cp1251Str 10615 } 10616 case 254: 10617 yyDollar = yyS[yypt-1 : yypt+1] 10618 //line sql.y:1763 10619 { 10620 yyVAL.str = Cp1256Str 10621 } 10622 case 255: 10623 yyDollar = yyS[yypt-1 : yypt+1] 10624 //line sql.y:1767 10625 { 10626 yyVAL.str = Cp1257Str 10627 } 10628 case 256: 10629 yyDollar = yyS[yypt-1 : yypt+1] 10630 //line sql.y:1771 10631 { 10632 yyVAL.str = Cp850Str 10633 } 10634 case 257: 10635 yyDollar = yyS[yypt-1 : yypt+1] 10636 //line sql.y:1775 10637 { 10638 yyVAL.str = Cp852Str 10639 } 10640 case 258: 10641 yyDollar = yyS[yypt-1 : yypt+1] 10642 //line sql.y:1779 10643 { 10644 yyVAL.str = Cp866Str 10645 } 10646 case 259: 10647 yyDollar = yyS[yypt-1 : yypt+1] 10648 //line sql.y:1783 10649 { 10650 yyVAL.str = Cp932Str 10651 } 10652 case 260: 10653 yyDollar = yyS[yypt-1 : yypt+1] 10654 //line sql.y:1787 10655 { 10656 yyVAL.str = Dec8Str 10657 } 10658 case 261: 10659 yyDollar = yyS[yypt-1 : yypt+1] 10660 //line sql.y:1791 10661 { 10662 yyVAL.str = EucjpmsStr 10663 } 10664 case 262: 10665 yyDollar = yyS[yypt-1 : yypt+1] 10666 //line sql.y:1795 10667 { 10668 yyVAL.str = EuckrStr 10669 } 10670 case 263: 10671 yyDollar = yyS[yypt-1 : yypt+1] 10672 //line sql.y:1799 10673 { 10674 yyVAL.str = Gb18030Str 10675 } 10676 case 264: 10677 yyDollar = yyS[yypt-1 : yypt+1] 10678 //line sql.y:1803 10679 { 10680 yyVAL.str = Gb2312Str 10681 } 10682 case 265: 10683 yyDollar = yyS[yypt-1 : yypt+1] 10684 //line sql.y:1807 10685 { 10686 yyVAL.str = GbkStr 10687 } 10688 case 266: 10689 yyDollar = yyS[yypt-1 : yypt+1] 10690 //line sql.y:1811 10691 { 10692 yyVAL.str = Geostd8Str 10693 } 10694 case 267: 10695 yyDollar = yyS[yypt-1 : yypt+1] 10696 //line sql.y:1815 10697 { 10698 yyVAL.str = GreekStr 10699 } 10700 case 268: 10701 yyDollar = yyS[yypt-1 : yypt+1] 10702 //line sql.y:1819 10703 { 10704 yyVAL.str = HebrewStr 10705 } 10706 case 269: 10707 yyDollar = yyS[yypt-1 : yypt+1] 10708 //line sql.y:1823 10709 { 10710 yyVAL.str = Hp8Str 10711 } 10712 case 270: 10713 yyDollar = yyS[yypt-1 : yypt+1] 10714 //line sql.y:1827 10715 { 10716 yyVAL.str = Keybcs2Str 10717 } 10718 case 271: 10719 yyDollar = yyS[yypt-1 : yypt+1] 10720 //line sql.y:1831 10721 { 10722 yyVAL.str = Koi8rStr 10723 } 10724 case 272: 10725 yyDollar = yyS[yypt-1 : yypt+1] 10726 //line sql.y:1835 10727 { 10728 yyVAL.str = Koi8uStr 10729 } 10730 case 273: 10731 yyDollar = yyS[yypt-1 : yypt+1] 10732 //line sql.y:1839 10733 { 10734 yyVAL.str = Latin1Str 10735 } 10736 case 274: 10737 yyDollar = yyS[yypt-1 : yypt+1] 10738 //line sql.y:1843 10739 { 10740 yyVAL.str = Latin2Str 10741 } 10742 case 275: 10743 yyDollar = yyS[yypt-1 : yypt+1] 10744 //line sql.y:1847 10745 { 10746 yyVAL.str = Latin5Str 10747 } 10748 case 276: 10749 yyDollar = yyS[yypt-1 : yypt+1] 10750 //line sql.y:1851 10751 { 10752 yyVAL.str = Latin7Str 10753 } 10754 case 277: 10755 yyDollar = yyS[yypt-1 : yypt+1] 10756 //line sql.y:1855 10757 { 10758 yyVAL.str = MacceStr 10759 } 10760 case 278: 10761 yyDollar = yyS[yypt-1 : yypt+1] 10762 //line sql.y:1859 10763 { 10764 yyVAL.str = MacromanStr 10765 } 10766 case 279: 10767 yyDollar = yyS[yypt-1 : yypt+1] 10768 //line sql.y:1863 10769 { 10770 yyVAL.str = SjisStr 10771 } 10772 case 280: 10773 yyDollar = yyS[yypt-1 : yypt+1] 10774 //line sql.y:1867 10775 { 10776 yyVAL.str = Swe7Str 10777 } 10778 case 281: 10779 yyDollar = yyS[yypt-1 : yypt+1] 10780 //line sql.y:1871 10781 { 10782 yyVAL.str = Tis620Str 10783 } 10784 case 282: 10785 yyDollar = yyS[yypt-1 : yypt+1] 10786 //line sql.y:1875 10787 { 10788 yyVAL.str = Ucs2Str 10789 } 10790 case 283: 10791 yyDollar = yyS[yypt-1 : yypt+1] 10792 //line sql.y:1879 10793 { 10794 yyVAL.str = UjisStr 10795 } 10796 case 284: 10797 yyDollar = yyS[yypt-1 : yypt+1] 10798 //line sql.y:1883 10799 { 10800 yyVAL.str = Utf16Str 10801 } 10802 case 285: 10803 yyDollar = yyS[yypt-1 : yypt+1] 10804 //line sql.y:1887 10805 { 10806 yyVAL.str = Utf16leStr 10807 } 10808 case 286: 10809 yyDollar = yyS[yypt-1 : yypt+1] 10810 //line sql.y:1891 10811 { 10812 yyVAL.str = Utf32Str 10813 } 10814 case 287: 10815 yyDollar = yyS[yypt-1 : yypt+1] 10816 //line sql.y:1895 10817 { 10818 yyVAL.str = Utf8Str 10819 } 10820 case 288: 10821 yyDollar = yyS[yypt-1 : yypt+1] 10822 //line sql.y:1899 10823 { 10824 yyVAL.str = Utf8mb4Str 10825 } 10826 case 289: 10827 yyDollar = yyS[yypt-1 : yypt+1] 10828 //line sql.y:1903 10829 { 10830 yyVAL.str = Utf8Str 10831 } 10832 case 292: 10833 yyDollar = yyS[yypt-1 : yypt+1] 10834 var yyLOCAL Expr 10835 //line sql.y:1913 10836 { 10837 yyLOCAL = NewIntLiteral(yyDollar[1].str) 10838 } 10839 yyVAL.union = yyLOCAL 10840 case 293: 10841 yyDollar = yyS[yypt-1 : yypt+1] 10842 var yyLOCAL Expr 10843 //line sql.y:1917 10844 { 10845 yyLOCAL = NewFloatLiteral(yyDollar[1].str) 10846 } 10847 yyVAL.union = yyLOCAL 10848 case 294: 10849 yyDollar = yyS[yypt-1 : yypt+1] 10850 var yyLOCAL Expr 10851 //line sql.y:1921 10852 { 10853 yyLOCAL = NewDecimalLiteral(yyDollar[1].str) 10854 } 10855 yyVAL.union = yyLOCAL 10856 case 295: 10857 yyDollar = yyS[yypt-1 : yypt+1] 10858 var yyLOCAL Expr 10859 //line sql.y:1927 10860 { 10861 yyLOCAL = NewStrLiteral(yyDollar[1].str) 10862 } 10863 yyVAL.union = yyLOCAL 10864 case 296: 10865 yyDollar = yyS[yypt-1 : yypt+1] 10866 var yyLOCAL Expr 10867 //line sql.y:1931 10868 { 10869 yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} 10870 } 10871 yyVAL.union = yyLOCAL 10872 case 297: 10873 yyDollar = yyS[yypt-2 : yypt+1] 10874 var yyLOCAL Expr 10875 //line sql.y:1935 10876 { 10877 yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} 10878 } 10879 yyVAL.union = yyLOCAL 10880 case 298: 10881 yyDollar = yyS[yypt-1 : yypt+1] 10882 var yyLOCAL Expr 10883 //line sql.y:1941 10884 { 10885 yyLOCAL = yyDollar[1].exprUnion() 10886 } 10887 yyVAL.union = yyLOCAL 10888 case 299: 10889 yyDollar = yyS[yypt-1 : yypt+1] 10890 var yyLOCAL Expr 10891 //line sql.y:1945 10892 { 10893 yyLOCAL = NewArgument(yyDollar[1].str[1:]) 10894 bindVariable(yylex, yyDollar[1].str[1:]) 10895 } 10896 yyVAL.union = yyLOCAL 10897 case 300: 10898 yyDollar = yyS[yypt-2 : yypt+1] 10899 var yyLOCAL ColumnKeyOption 10900 //line sql.y:1952 10901 { 10902 yyLOCAL = ColKeyPrimary 10903 } 10904 yyVAL.union = yyLOCAL 10905 case 301: 10906 yyDollar = yyS[yypt-1 : yypt+1] 10907 var yyLOCAL ColumnKeyOption 10908 //line sql.y:1956 10909 { 10910 yyLOCAL = ColKeyUnique 10911 } 10912 yyVAL.union = yyLOCAL 10913 case 302: 10914 yyDollar = yyS[yypt-2 : yypt+1] 10915 var yyLOCAL ColumnKeyOption 10916 //line sql.y:1960 10917 { 10918 yyLOCAL = ColKeyUniqueKey 10919 } 10920 yyVAL.union = yyLOCAL 10921 case 303: 10922 yyDollar = yyS[yypt-1 : yypt+1] 10923 var yyLOCAL ColumnKeyOption 10924 //line sql.y:1964 10925 { 10926 yyLOCAL = ColKey 10927 } 10928 yyVAL.union = yyLOCAL 10929 case 304: 10930 yyDollar = yyS[yypt-3 : yypt+1] 10931 //line sql.y:1970 10932 { 10933 yyVAL.columnType = yyDollar[1].columnType 10934 yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() 10935 yyVAL.columnType.Zerofill = yyDollar[3].booleanUnion() 10936 } 10937 case 308: 10938 yyDollar = yyS[yypt-2 : yypt+1] 10939 //line sql.y:1981 10940 { 10941 yyVAL.columnType = yyDollar[1].columnType 10942 yyVAL.columnType.Length = yyDollar[2].literalUnion() 10943 } 10944 case 309: 10945 yyDollar = yyS[yypt-1 : yypt+1] 10946 //line sql.y:1986 10947 { 10948 yyVAL.columnType = yyDollar[1].columnType 10949 } 10950 case 310: 10951 yyDollar = yyS[yypt-1 : yypt+1] 10952 //line sql.y:1992 10953 { 10954 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10955 } 10956 case 311: 10957 yyDollar = yyS[yypt-1 : yypt+1] 10958 //line sql.y:1996 10959 { 10960 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10961 } 10962 case 312: 10963 yyDollar = yyS[yypt-1 : yypt+1] 10964 //line sql.y:2000 10965 { 10966 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10967 } 10968 case 313: 10969 yyDollar = yyS[yypt-1 : yypt+1] 10970 //line sql.y:2004 10971 { 10972 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10973 } 10974 case 314: 10975 yyDollar = yyS[yypt-1 : yypt+1] 10976 //line sql.y:2008 10977 { 10978 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10979 } 10980 case 315: 10981 yyDollar = yyS[yypt-1 : yypt+1] 10982 //line sql.y:2012 10983 { 10984 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10985 } 10986 case 316: 10987 yyDollar = yyS[yypt-1 : yypt+1] 10988 //line sql.y:2016 10989 { 10990 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10991 } 10992 case 317: 10993 yyDollar = yyS[yypt-1 : yypt+1] 10994 //line sql.y:2020 10995 { 10996 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 10997 } 10998 case 318: 10999 yyDollar = yyS[yypt-1 : yypt+1] 11000 //line sql.y:2024 11001 { 11002 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11003 } 11004 case 319: 11005 yyDollar = yyS[yypt-2 : yypt+1] 11006 //line sql.y:2030 11007 { 11008 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11009 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 11010 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 11011 } 11012 case 320: 11013 yyDollar = yyS[yypt-2 : yypt+1] 11014 //line sql.y:2036 11015 { 11016 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11017 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 11018 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 11019 } 11020 case 321: 11021 yyDollar = yyS[yypt-2 : yypt+1] 11022 //line sql.y:2042 11023 { 11024 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11025 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 11026 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 11027 } 11028 case 322: 11029 yyDollar = yyS[yypt-2 : yypt+1] 11030 //line sql.y:2048 11031 { 11032 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11033 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 11034 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 11035 } 11036 case 323: 11037 yyDollar = yyS[yypt-2 : yypt+1] 11038 //line sql.y:2054 11039 { 11040 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11041 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 11042 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 11043 } 11044 case 324: 11045 yyDollar = yyS[yypt-2 : yypt+1] 11046 //line sql.y:2060 11047 { 11048 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11049 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 11050 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 11051 } 11052 case 325: 11053 yyDollar = yyS[yypt-2 : yypt+1] 11054 //line sql.y:2066 11055 { 11056 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11057 yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length 11058 yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale 11059 } 11060 case 326: 11061 yyDollar = yyS[yypt-1 : yypt+1] 11062 //line sql.y:2074 11063 { 11064 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11065 } 11066 case 327: 11067 yyDollar = yyS[yypt-2 : yypt+1] 11068 //line sql.y:2078 11069 { 11070 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 11071 } 11072 case 328: 11073 yyDollar = yyS[yypt-2 : yypt+1] 11074 //line sql.y:2082 11075 { 11076 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 11077 } 11078 case 329: 11079 yyDollar = yyS[yypt-2 : yypt+1] 11080 //line sql.y:2086 11081 { 11082 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 11083 } 11084 case 330: 11085 yyDollar = yyS[yypt-2 : yypt+1] 11086 //line sql.y:2090 11087 { 11088 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 11089 } 11090 case 331: 11091 yyDollar = yyS[yypt-3 : yypt+1] 11092 //line sql.y:2096 11093 { 11094 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} 11095 } 11096 case 332: 11097 yyDollar = yyS[yypt-3 : yypt+1] 11098 //line sql.y:2100 11099 { 11100 // CHAR BYTE is an alias for binary. See also: 11101 // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html 11102 yyVAL.columnType = &ColumnType{Type: "binary", Length: yyDollar[2].literalUnion()} 11103 } 11104 case 333: 11105 yyDollar = yyS[yypt-3 : yypt+1] 11106 //line sql.y:2106 11107 { 11108 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} 11109 } 11110 case 334: 11111 yyDollar = yyS[yypt-2 : yypt+1] 11112 //line sql.y:2110 11113 { 11114 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 11115 } 11116 case 335: 11117 yyDollar = yyS[yypt-2 : yypt+1] 11118 //line sql.y:2114 11119 { 11120 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 11121 } 11122 case 336: 11123 yyDollar = yyS[yypt-2 : yypt+1] 11124 //line sql.y:2118 11125 { 11126 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} 11127 } 11128 case 337: 11129 yyDollar = yyS[yypt-2 : yypt+1] 11130 //line sql.y:2122 11131 { 11132 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} 11133 } 11134 case 338: 11135 yyDollar = yyS[yypt-2 : yypt+1] 11136 //line sql.y:2126 11137 { 11138 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} 11139 } 11140 case 339: 11141 yyDollar = yyS[yypt-2 : yypt+1] 11142 //line sql.y:2130 11143 { 11144 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} 11145 } 11146 case 340: 11147 yyDollar = yyS[yypt-1 : yypt+1] 11148 //line sql.y:2134 11149 { 11150 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11151 } 11152 case 341: 11153 yyDollar = yyS[yypt-1 : yypt+1] 11154 //line sql.y:2138 11155 { 11156 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11157 } 11158 case 342: 11159 yyDollar = yyS[yypt-1 : yypt+1] 11160 //line sql.y:2142 11161 { 11162 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11163 } 11164 case 343: 11165 yyDollar = yyS[yypt-1 : yypt+1] 11166 //line sql.y:2146 11167 { 11168 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11169 } 11170 case 344: 11171 yyDollar = yyS[yypt-1 : yypt+1] 11172 //line sql.y:2150 11173 { 11174 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11175 } 11176 case 345: 11177 yyDollar = yyS[yypt-5 : yypt+1] 11178 //line sql.y:2154 11179 { 11180 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} 11181 } 11182 case 346: 11183 yyDollar = yyS[yypt-5 : yypt+1] 11184 //line sql.y:2159 11185 { 11186 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} 11187 } 11188 case 347: 11189 yyDollar = yyS[yypt-1 : yypt+1] 11190 //line sql.y:2165 11191 { 11192 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11193 } 11194 case 348: 11195 yyDollar = yyS[yypt-1 : yypt+1] 11196 //line sql.y:2169 11197 { 11198 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11199 } 11200 case 349: 11201 yyDollar = yyS[yypt-1 : yypt+1] 11202 //line sql.y:2173 11203 { 11204 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11205 } 11206 case 350: 11207 yyDollar = yyS[yypt-1 : yypt+1] 11208 //line sql.y:2177 11209 { 11210 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11211 } 11212 case 351: 11213 yyDollar = yyS[yypt-1 : yypt+1] 11214 //line sql.y:2181 11215 { 11216 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11217 } 11218 case 352: 11219 yyDollar = yyS[yypt-1 : yypt+1] 11220 //line sql.y:2185 11221 { 11222 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11223 } 11224 case 353: 11225 yyDollar = yyS[yypt-1 : yypt+1] 11226 //line sql.y:2189 11227 { 11228 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11229 } 11230 case 354: 11231 yyDollar = yyS[yypt-1 : yypt+1] 11232 //line sql.y:2193 11233 { 11234 yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)} 11235 } 11236 case 355: 11237 yyDollar = yyS[yypt-1 : yypt+1] 11238 //line sql.y:2199 11239 { 11240 yyVAL.strs = make([]string, 0, 4) 11241 yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) 11242 } 11243 case 356: 11244 yyDollar = yyS[yypt-3 : yypt+1] 11245 //line sql.y:2204 11246 { 11247 yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) 11248 } 11249 case 357: 11250 yyDollar = yyS[yypt-0 : yypt+1] 11251 var yyLOCAL *Literal 11252 //line sql.y:2209 11253 { 11254 yyLOCAL = nil 11255 } 11256 yyVAL.union = yyLOCAL 11257 case 358: 11258 yyDollar = yyS[yypt-3 : yypt+1] 11259 var yyLOCAL *Literal 11260 //line sql.y:2213 11261 { 11262 yyLOCAL = NewIntLiteral(yyDollar[2].str) 11263 } 11264 yyVAL.union = yyLOCAL 11265 case 359: 11266 yyDollar = yyS[yypt-0 : yypt+1] 11267 //line sql.y:2218 11268 { 11269 yyVAL.LengthScaleOption = LengthScaleOption{} 11270 } 11271 case 360: 11272 yyDollar = yyS[yypt-5 : yypt+1] 11273 //line sql.y:2222 11274 { 11275 yyVAL.LengthScaleOption = LengthScaleOption{ 11276 Length: NewIntLiteral(yyDollar[2].str), 11277 Scale: NewIntLiteral(yyDollar[4].str), 11278 } 11279 } 11280 case 361: 11281 yyDollar = yyS[yypt-1 : yypt+1] 11282 //line sql.y:2231 11283 { 11284 yyVAL.LengthScaleOption = yyDollar[1].LengthScaleOption 11285 } 11286 case 362: 11287 yyDollar = yyS[yypt-3 : yypt+1] 11288 //line sql.y:2235 11289 { 11290 yyVAL.LengthScaleOption = LengthScaleOption{ 11291 Length: NewIntLiteral(yyDollar[2].str), 11292 } 11293 } 11294 case 363: 11295 yyDollar = yyS[yypt-0 : yypt+1] 11296 //line sql.y:2242 11297 { 11298 yyVAL.LengthScaleOption = LengthScaleOption{} 11299 } 11300 case 364: 11301 yyDollar = yyS[yypt-3 : yypt+1] 11302 //line sql.y:2246 11303 { 11304 yyVAL.LengthScaleOption = LengthScaleOption{ 11305 Length: NewIntLiteral(yyDollar[2].str), 11306 } 11307 } 11308 case 365: 11309 yyDollar = yyS[yypt-5 : yypt+1] 11310 //line sql.y:2252 11311 { 11312 yyVAL.LengthScaleOption = LengthScaleOption{ 11313 Length: NewIntLiteral(yyDollar[2].str), 11314 Scale: NewIntLiteral(yyDollar[4].str), 11315 } 11316 } 11317 case 366: 11318 yyDollar = yyS[yypt-0 : yypt+1] 11319 var yyLOCAL bool 11320 //line sql.y:2260 11321 { 11322 yyLOCAL = false 11323 } 11324 yyVAL.union = yyLOCAL 11325 case 367: 11326 yyDollar = yyS[yypt-1 : yypt+1] 11327 var yyLOCAL bool 11328 //line sql.y:2264 11329 { 11330 yyLOCAL = true 11331 } 11332 yyVAL.union = yyLOCAL 11333 case 368: 11334 yyDollar = yyS[yypt-1 : yypt+1] 11335 var yyLOCAL bool 11336 //line sql.y:2268 11337 { 11338 yyLOCAL = false 11339 } 11340 yyVAL.union = yyLOCAL 11341 case 369: 11342 yyDollar = yyS[yypt-0 : yypt+1] 11343 var yyLOCAL bool 11344 //line sql.y:2273 11345 { 11346 yyLOCAL = false 11347 } 11348 yyVAL.union = yyLOCAL 11349 case 370: 11350 yyDollar = yyS[yypt-1 : yypt+1] 11351 var yyLOCAL bool 11352 //line sql.y:2277 11353 { 11354 yyLOCAL = true 11355 } 11356 yyVAL.union = yyLOCAL 11357 case 371: 11358 yyDollar = yyS[yypt-0 : yypt+1] 11359 //line sql.y:2282 11360 { 11361 yyVAL.columnCharset = ColumnCharset{} 11362 } 11363 case 372: 11364 yyDollar = yyS[yypt-3 : yypt+1] 11365 //line sql.y:2286 11366 { 11367 yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].identifierCI.String()), Binary: yyDollar[3].booleanUnion()} 11368 } 11369 case 373: 11370 yyDollar = yyS[yypt-3 : yypt+1] 11371 //line sql.y:2290 11372 { 11373 yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} 11374 } 11375 case 374: 11376 yyDollar = yyS[yypt-2 : yypt+1] 11377 //line sql.y:2294 11378 { 11379 yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} 11380 } 11381 case 375: 11382 yyDollar = yyS[yypt-2 : yypt+1] 11383 //line sql.y:2298 11384 { 11385 // ASCII: Shorthand for CHARACTER SET latin1. 11386 yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} 11387 } 11388 case 376: 11389 yyDollar = yyS[yypt-2 : yypt+1] 11390 //line sql.y:2303 11391 { 11392 // UNICODE: Shorthand for CHARACTER SET ucs2. 11393 yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} 11394 } 11395 case 377: 11396 yyDollar = yyS[yypt-1 : yypt+1] 11397 //line sql.y:2308 11398 { 11399 // BINARY: Shorthand for default CHARACTER SET but with binary collation 11400 yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} 11401 } 11402 case 378: 11403 yyDollar = yyS[yypt-2 : yypt+1] 11404 //line sql.y:2313 11405 { 11406 // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation 11407 yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} 11408 } 11409 case 379: 11410 yyDollar = yyS[yypt-2 : yypt+1] 11411 //line sql.y:2318 11412 { 11413 // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation 11414 yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} 11415 } 11416 case 380: 11417 yyDollar = yyS[yypt-0 : yypt+1] 11418 var yyLOCAL bool 11419 //line sql.y:2324 11420 { 11421 yyLOCAL = false 11422 } 11423 yyVAL.union = yyLOCAL 11424 case 381: 11425 yyDollar = yyS[yypt-1 : yypt+1] 11426 var yyLOCAL bool 11427 //line sql.y:2328 11428 { 11429 yyLOCAL = true 11430 } 11431 yyVAL.union = yyLOCAL 11432 case 382: 11433 yyDollar = yyS[yypt-0 : yypt+1] 11434 //line sql.y:2333 11435 { 11436 yyVAL.str = "" 11437 } 11438 case 383: 11439 yyDollar = yyS[yypt-2 : yypt+1] 11440 //line sql.y:2337 11441 { 11442 yyVAL.str = string(yyDollar[2].identifierCI.String()) 11443 } 11444 case 384: 11445 yyDollar = yyS[yypt-2 : yypt+1] 11446 //line sql.y:2341 11447 { 11448 yyVAL.str = encodeSQLString(yyDollar[2].str) 11449 } 11450 case 385: 11451 yyDollar = yyS[yypt-5 : yypt+1] 11452 var yyLOCAL *IndexDefinition 11453 //line sql.y:2347 11454 { 11455 yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} 11456 } 11457 yyVAL.union = yyLOCAL 11458 case 386: 11459 yyDollar = yyS[yypt-0 : yypt+1] 11460 var yyLOCAL []*IndexOption 11461 //line sql.y:2352 11462 { 11463 yyLOCAL = nil 11464 } 11465 yyVAL.union = yyLOCAL 11466 case 387: 11467 yyDollar = yyS[yypt-1 : yypt+1] 11468 var yyLOCAL []*IndexOption 11469 //line sql.y:2356 11470 { 11471 yyLOCAL = yyDollar[1].indexOptionsUnion() 11472 } 11473 yyVAL.union = yyLOCAL 11474 case 388: 11475 yyDollar = yyS[yypt-1 : yypt+1] 11476 var yyLOCAL []*IndexOption 11477 //line sql.y:2362 11478 { 11479 yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} 11480 } 11481 yyVAL.union = yyLOCAL 11482 case 389: 11483 yyDollar = yyS[yypt-2 : yypt+1] 11484 //line sql.y:2366 11485 { 11486 yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) 11487 *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) 11488 } 11489 case 390: 11490 yyDollar = yyS[yypt-1 : yypt+1] 11491 var yyLOCAL *IndexOption 11492 //line sql.y:2372 11493 { 11494 yyLOCAL = yyDollar[1].indexOptionUnion() 11495 } 11496 yyVAL.union = yyLOCAL 11497 case 391: 11498 yyDollar = yyS[yypt-3 : yypt+1] 11499 var yyLOCAL *IndexOption 11500 //line sql.y:2376 11501 { 11502 // should not be string 11503 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 11504 } 11505 yyVAL.union = yyLOCAL 11506 case 392: 11507 yyDollar = yyS[yypt-2 : yypt+1] 11508 var yyLOCAL *IndexOption 11509 //line sql.y:2381 11510 { 11511 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} 11512 } 11513 yyVAL.union = yyLOCAL 11514 case 393: 11515 yyDollar = yyS[yypt-1 : yypt+1] 11516 var yyLOCAL *IndexOption 11517 //line sql.y:2385 11518 { 11519 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} 11520 } 11521 yyVAL.union = yyLOCAL 11522 case 394: 11523 yyDollar = yyS[yypt-1 : yypt+1] 11524 var yyLOCAL *IndexOption 11525 //line sql.y:2389 11526 { 11527 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} 11528 } 11529 yyVAL.union = yyLOCAL 11530 case 395: 11531 yyDollar = yyS[yypt-3 : yypt+1] 11532 var yyLOCAL *IndexOption 11533 //line sql.y:2393 11534 { 11535 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].identifierCI.String()} 11536 } 11537 yyVAL.union = yyLOCAL 11538 case 396: 11539 yyDollar = yyS[yypt-3 : yypt+1] 11540 var yyLOCAL *IndexOption 11541 //line sql.y:2397 11542 { 11543 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 11544 } 11545 yyVAL.union = yyLOCAL 11546 case 397: 11547 yyDollar = yyS[yypt-3 : yypt+1] 11548 var yyLOCAL *IndexOption 11549 //line sql.y:2401 11550 { 11551 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 11552 } 11553 yyVAL.union = yyLOCAL 11554 case 398: 11555 yyDollar = yyS[yypt-0 : yypt+1] 11556 //line sql.y:2407 11557 { 11558 yyVAL.str = "" 11559 } 11560 case 399: 11561 yyDollar = yyS[yypt-1 : yypt+1] 11562 //line sql.y:2411 11563 { 11564 yyVAL.str = string(yyDollar[1].str) 11565 } 11566 case 400: 11567 yyDollar = yyS[yypt-4 : yypt+1] 11568 var yyLOCAL *IndexInfo 11569 //line sql.y:2417 11570 { 11571 yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI("PRIMARY"), Primary: true, Unique: true} 11572 } 11573 yyVAL.union = yyLOCAL 11574 case 401: 11575 yyDollar = yyS[yypt-3 : yypt+1] 11576 var yyLOCAL *IndexInfo 11577 //line sql.y:2421 11578 { 11579 yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewIdentifierCI(yyDollar[3].str), Spatial: true, Unique: false} 11580 } 11581 yyVAL.union = yyLOCAL 11582 case 402: 11583 yyDollar = yyS[yypt-3 : yypt+1] 11584 var yyLOCAL *IndexInfo 11585 //line sql.y:2425 11586 { 11587 yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewIdentifierCI(yyDollar[3].str), Fulltext: true, Unique: false} 11588 } 11589 yyVAL.union = yyLOCAL 11590 case 403: 11591 yyDollar = yyS[yypt-4 : yypt+1] 11592 var yyLOCAL *IndexInfo 11593 //line sql.y:2429 11594 { 11595 yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[4].str), Unique: true} 11596 } 11597 yyVAL.union = yyLOCAL 11598 case 404: 11599 yyDollar = yyS[yypt-2 : yypt+1] 11600 var yyLOCAL *IndexInfo 11601 //line sql.y:2433 11602 { 11603 yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[2].str), Unique: false} 11604 } 11605 yyVAL.union = yyLOCAL 11606 case 405: 11607 yyDollar = yyS[yypt-0 : yypt+1] 11608 //line sql.y:2438 11609 { 11610 yyVAL.str = "" 11611 } 11612 case 406: 11613 yyDollar = yyS[yypt-2 : yypt+1] 11614 //line sql.y:2442 11615 { 11616 yyVAL.str = yyDollar[2].str 11617 } 11618 case 407: 11619 yyDollar = yyS[yypt-1 : yypt+1] 11620 //line sql.y:2448 11621 { 11622 yyVAL.str = string(yyDollar[1].str) 11623 } 11624 case 408: 11625 yyDollar = yyS[yypt-1 : yypt+1] 11626 //line sql.y:2452 11627 { 11628 yyVAL.str = string(yyDollar[1].str) 11629 } 11630 case 409: 11631 yyDollar = yyS[yypt-1 : yypt+1] 11632 //line sql.y:2456 11633 { 11634 yyVAL.str = string(yyDollar[1].str) 11635 } 11636 case 410: 11637 yyDollar = yyS[yypt-1 : yypt+1] 11638 //line sql.y:2462 11639 { 11640 yyVAL.str = string(yyDollar[1].str) 11641 } 11642 case 411: 11643 yyDollar = yyS[yypt-1 : yypt+1] 11644 //line sql.y:2466 11645 { 11646 yyVAL.str = string(yyDollar[1].str) 11647 } 11648 case 412: 11649 yyDollar = yyS[yypt-0 : yypt+1] 11650 //line sql.y:2471 11651 { 11652 yyVAL.str = "key" 11653 } 11654 case 413: 11655 yyDollar = yyS[yypt-1 : yypt+1] 11656 //line sql.y:2475 11657 { 11658 yyVAL.str = yyDollar[1].str 11659 } 11660 case 414: 11661 yyDollar = yyS[yypt-1 : yypt+1] 11662 //line sql.y:2481 11663 { 11664 yyVAL.str = string(yyDollar[1].str) 11665 } 11666 case 415: 11667 yyDollar = yyS[yypt-1 : yypt+1] 11668 //line sql.y:2485 11669 { 11670 yyVAL.str = string(yyDollar[1].str) 11671 } 11672 case 416: 11673 yyDollar = yyS[yypt-0 : yypt+1] 11674 //line sql.y:2490 11675 { 11676 yyVAL.str = "" 11677 } 11678 case 417: 11679 yyDollar = yyS[yypt-1 : yypt+1] 11680 //line sql.y:2494 11681 { 11682 yyVAL.str = string(yyDollar[1].identifierCI.String()) 11683 } 11684 case 418: 11685 yyDollar = yyS[yypt-1 : yypt+1] 11686 var yyLOCAL []*IndexColumn 11687 //line sql.y:2500 11688 { 11689 yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} 11690 } 11691 yyVAL.union = yyLOCAL 11692 case 419: 11693 yyDollar = yyS[yypt-3 : yypt+1] 11694 //line sql.y:2504 11695 { 11696 yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) 11697 *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) 11698 } 11699 case 420: 11700 yyDollar = yyS[yypt-3 : yypt+1] 11701 var yyLOCAL *IndexColumn 11702 //line sql.y:2510 11703 { 11704 yyLOCAL = &IndexColumn{Column: yyDollar[1].identifierCI, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} 11705 } 11706 yyVAL.union = yyLOCAL 11707 case 421: 11708 yyDollar = yyS[yypt-4 : yypt+1] 11709 var yyLOCAL *IndexColumn 11710 //line sql.y:2514 11711 { 11712 yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} 11713 } 11714 yyVAL.union = yyLOCAL 11715 case 422: 11716 yyDollar = yyS[yypt-3 : yypt+1] 11717 var yyLOCAL *ConstraintDefinition 11718 //line sql.y:2520 11719 { 11720 yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()} 11721 } 11722 yyVAL.union = yyLOCAL 11723 case 423: 11724 yyDollar = yyS[yypt-1 : yypt+1] 11725 var yyLOCAL *ConstraintDefinition 11726 //line sql.y:2524 11727 { 11728 yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} 11729 } 11730 yyVAL.union = yyLOCAL 11731 case 424: 11732 yyDollar = yyS[yypt-3 : yypt+1] 11733 var yyLOCAL *ConstraintDefinition 11734 //line sql.y:2530 11735 { 11736 yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()} 11737 } 11738 yyVAL.union = yyLOCAL 11739 case 425: 11740 yyDollar = yyS[yypt-1 : yypt+1] 11741 var yyLOCAL *ConstraintDefinition 11742 //line sql.y:2534 11743 { 11744 yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} 11745 } 11746 yyVAL.union = yyLOCAL 11747 case 426: 11748 yyDollar = yyS[yypt-7 : yypt+1] 11749 var yyLOCAL ConstraintInfo 11750 //line sql.y:2540 11751 { 11752 yyLOCAL = &ForeignKeyDefinition{IndexName: NewIdentifierCI(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} 11753 } 11754 yyVAL.union = yyLOCAL 11755 case 427: 11756 yyDollar = yyS[yypt-6 : yypt+1] 11757 var yyLOCAL *ReferenceDefinition 11758 //line sql.y:2546 11759 { 11760 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} 11761 } 11762 yyVAL.union = yyLOCAL 11763 case 428: 11764 yyDollar = yyS[yypt-7 : yypt+1] 11765 var yyLOCAL *ReferenceDefinition 11766 //line sql.y:2550 11767 { 11768 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} 11769 } 11770 yyVAL.union = yyLOCAL 11771 case 429: 11772 yyDollar = yyS[yypt-7 : yypt+1] 11773 var yyLOCAL *ReferenceDefinition 11774 //line sql.y:2554 11775 { 11776 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} 11777 } 11778 yyVAL.union = yyLOCAL 11779 case 430: 11780 yyDollar = yyS[yypt-8 : yypt+1] 11781 var yyLOCAL *ReferenceDefinition 11782 //line sql.y:2558 11783 { 11784 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} 11785 } 11786 yyVAL.union = yyLOCAL 11787 case 431: 11788 yyDollar = yyS[yypt-8 : yypt+1] 11789 var yyLOCAL *ReferenceDefinition 11790 //line sql.y:2562 11791 { 11792 yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} 11793 } 11794 yyVAL.union = yyLOCAL 11795 case 432: 11796 yyDollar = yyS[yypt-0 : yypt+1] 11797 var yyLOCAL *ReferenceDefinition 11798 //line sql.y:2567 11799 { 11800 yyLOCAL = nil 11801 } 11802 yyVAL.union = yyLOCAL 11803 case 433: 11804 yyDollar = yyS[yypt-1 : yypt+1] 11805 var yyLOCAL *ReferenceDefinition 11806 //line sql.y:2571 11807 { 11808 yyLOCAL = yyDollar[1].referenceDefinitionUnion() 11809 } 11810 yyVAL.union = yyLOCAL 11811 case 434: 11812 yyDollar = yyS[yypt-5 : yypt+1] 11813 var yyLOCAL ConstraintInfo 11814 //line sql.y:2577 11815 { 11816 yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} 11817 } 11818 yyVAL.union = yyLOCAL 11819 case 435: 11820 yyDollar = yyS[yypt-2 : yypt+1] 11821 var yyLOCAL MatchAction 11822 //line sql.y:2583 11823 { 11824 yyLOCAL = yyDollar[2].matchActionUnion() 11825 } 11826 yyVAL.union = yyLOCAL 11827 case 436: 11828 yyDollar = yyS[yypt-1 : yypt+1] 11829 var yyLOCAL MatchAction 11830 //line sql.y:2589 11831 { 11832 yyLOCAL = Full 11833 } 11834 yyVAL.union = yyLOCAL 11835 case 437: 11836 yyDollar = yyS[yypt-1 : yypt+1] 11837 var yyLOCAL MatchAction 11838 //line sql.y:2593 11839 { 11840 yyLOCAL = Partial 11841 } 11842 yyVAL.union = yyLOCAL 11843 case 438: 11844 yyDollar = yyS[yypt-1 : yypt+1] 11845 var yyLOCAL MatchAction 11846 //line sql.y:2597 11847 { 11848 yyLOCAL = Simple 11849 } 11850 yyVAL.union = yyLOCAL 11851 case 439: 11852 yyDollar = yyS[yypt-0 : yypt+1] 11853 var yyLOCAL MatchAction 11854 //line sql.y:2602 11855 { 11856 yyLOCAL = DefaultMatch 11857 } 11858 yyVAL.union = yyLOCAL 11859 case 440: 11860 yyDollar = yyS[yypt-1 : yypt+1] 11861 var yyLOCAL MatchAction 11862 //line sql.y:2606 11863 { 11864 yyLOCAL = yyDollar[1].matchActionUnion() 11865 } 11866 yyVAL.union = yyLOCAL 11867 case 441: 11868 yyDollar = yyS[yypt-3 : yypt+1] 11869 var yyLOCAL ReferenceAction 11870 //line sql.y:2612 11871 { 11872 yyLOCAL = yyDollar[3].referenceActionUnion() 11873 } 11874 yyVAL.union = yyLOCAL 11875 case 442: 11876 yyDollar = yyS[yypt-3 : yypt+1] 11877 var yyLOCAL ReferenceAction 11878 //line sql.y:2618 11879 { 11880 yyLOCAL = yyDollar[3].referenceActionUnion() 11881 } 11882 yyVAL.union = yyLOCAL 11883 case 443: 11884 yyDollar = yyS[yypt-1 : yypt+1] 11885 var yyLOCAL ReferenceAction 11886 //line sql.y:2624 11887 { 11888 yyLOCAL = Restrict 11889 } 11890 yyVAL.union = yyLOCAL 11891 case 444: 11892 yyDollar = yyS[yypt-1 : yypt+1] 11893 var yyLOCAL ReferenceAction 11894 //line sql.y:2628 11895 { 11896 yyLOCAL = Cascade 11897 } 11898 yyVAL.union = yyLOCAL 11899 case 445: 11900 yyDollar = yyS[yypt-2 : yypt+1] 11901 var yyLOCAL ReferenceAction 11902 //line sql.y:2632 11903 { 11904 yyLOCAL = NoAction 11905 } 11906 yyVAL.union = yyLOCAL 11907 case 446: 11908 yyDollar = yyS[yypt-2 : yypt+1] 11909 var yyLOCAL ReferenceAction 11910 //line sql.y:2636 11911 { 11912 yyLOCAL = SetDefault 11913 } 11914 yyVAL.union = yyLOCAL 11915 case 447: 11916 yyDollar = yyS[yypt-2 : yypt+1] 11917 var yyLOCAL ReferenceAction 11918 //line sql.y:2640 11919 { 11920 yyLOCAL = SetNull 11921 } 11922 yyVAL.union = yyLOCAL 11923 case 448: 11924 yyDollar = yyS[yypt-0 : yypt+1] 11925 //line sql.y:2645 11926 { 11927 yyVAL.str = "" 11928 } 11929 case 449: 11930 yyDollar = yyS[yypt-1 : yypt+1] 11931 //line sql.y:2649 11932 { 11933 yyVAL.str = string(yyDollar[1].str) 11934 } 11935 case 450: 11936 yyDollar = yyS[yypt-1 : yypt+1] 11937 //line sql.y:2653 11938 { 11939 yyVAL.str = string(yyDollar[1].str) 11940 } 11941 case 451: 11942 yyDollar = yyS[yypt-1 : yypt+1] 11943 var yyLOCAL bool 11944 //line sql.y:2659 11945 { 11946 yyLOCAL = true 11947 } 11948 yyVAL.union = yyLOCAL 11949 case 452: 11950 yyDollar = yyS[yypt-2 : yypt+1] 11951 var yyLOCAL bool 11952 //line sql.y:2663 11953 { 11954 yyLOCAL = false 11955 } 11956 yyVAL.union = yyLOCAL 11957 case 453: 11958 yyDollar = yyS[yypt-0 : yypt+1] 11959 var yyLOCAL bool 11960 //line sql.y:2668 11961 { 11962 yyLOCAL = true 11963 } 11964 yyVAL.union = yyLOCAL 11965 case 454: 11966 yyDollar = yyS[yypt-1 : yypt+1] 11967 var yyLOCAL bool 11968 //line sql.y:2672 11969 { 11970 yyLOCAL = yyDollar[1].booleanUnion() 11971 } 11972 yyVAL.union = yyLOCAL 11973 case 455: 11974 yyDollar = yyS[yypt-0 : yypt+1] 11975 var yyLOCAL TableOptions 11976 //line sql.y:2677 11977 { 11978 yyLOCAL = nil 11979 } 11980 yyVAL.union = yyLOCAL 11981 case 456: 11982 yyDollar = yyS[yypt-1 : yypt+1] 11983 var yyLOCAL TableOptions 11984 //line sql.y:2681 11985 { 11986 yyLOCAL = yyDollar[1].tableOptionsUnion() 11987 } 11988 yyVAL.union = yyLOCAL 11989 case 457: 11990 yyDollar = yyS[yypt-1 : yypt+1] 11991 var yyLOCAL TableOptions 11992 //line sql.y:2687 11993 { 11994 yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} 11995 } 11996 yyVAL.union = yyLOCAL 11997 case 458: 11998 yyDollar = yyS[yypt-3 : yypt+1] 11999 //line sql.y:2691 12000 { 12001 yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) 12002 *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) 12003 } 12004 case 459: 12005 yyDollar = yyS[yypt-2 : yypt+1] 12006 //line sql.y:2695 12007 { 12008 yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) 12009 *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) 12010 } 12011 case 460: 12012 yyDollar = yyS[yypt-1 : yypt+1] 12013 var yyLOCAL TableOptions 12014 //line sql.y:2701 12015 { 12016 yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} 12017 } 12018 yyVAL.union = yyLOCAL 12019 case 461: 12020 yyDollar = yyS[yypt-2 : yypt+1] 12021 //line sql.y:2705 12022 { 12023 yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) 12024 *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) 12025 } 12026 case 462: 12027 yyDollar = yyS[yypt-3 : yypt+1] 12028 var yyLOCAL *TableOption 12029 //line sql.y:2711 12030 { 12031 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12032 } 12033 yyVAL.union = yyLOCAL 12034 case 463: 12035 yyDollar = yyS[yypt-3 : yypt+1] 12036 var yyLOCAL *TableOption 12037 //line sql.y:2715 12038 { 12039 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12040 } 12041 yyVAL.union = yyLOCAL 12042 case 464: 12043 yyDollar = yyS[yypt-3 : yypt+1] 12044 var yyLOCAL *TableOption 12045 //line sql.y:2719 12046 { 12047 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12048 } 12049 yyVAL.union = yyLOCAL 12050 case 465: 12051 yyDollar = yyS[yypt-4 : yypt+1] 12052 var yyLOCAL *TableOption 12053 //line sql.y:2723 12054 { 12055 yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} 12056 } 12057 yyVAL.union = yyLOCAL 12058 case 466: 12059 yyDollar = yyS[yypt-4 : yypt+1] 12060 var yyLOCAL *TableOption 12061 //line sql.y:2727 12062 { 12063 yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} 12064 } 12065 yyVAL.union = yyLOCAL 12066 case 467: 12067 yyDollar = yyS[yypt-3 : yypt+1] 12068 var yyLOCAL *TableOption 12069 //line sql.y:2731 12070 { 12071 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12072 } 12073 yyVAL.union = yyLOCAL 12074 case 468: 12075 yyDollar = yyS[yypt-3 : yypt+1] 12076 var yyLOCAL *TableOption 12077 //line sql.y:2735 12078 { 12079 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 12080 } 12081 yyVAL.union = yyLOCAL 12082 case 469: 12083 yyDollar = yyS[yypt-3 : yypt+1] 12084 var yyLOCAL *TableOption 12085 //line sql.y:2739 12086 { 12087 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 12088 } 12089 yyVAL.union = yyLOCAL 12090 case 470: 12091 yyDollar = yyS[yypt-3 : yypt+1] 12092 var yyLOCAL *TableOption 12093 //line sql.y:2743 12094 { 12095 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 12096 } 12097 yyVAL.union = yyLOCAL 12098 case 471: 12099 yyDollar = yyS[yypt-4 : yypt+1] 12100 var yyLOCAL *TableOption 12101 //line sql.y:2747 12102 { 12103 yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} 12104 } 12105 yyVAL.union = yyLOCAL 12106 case 472: 12107 yyDollar = yyS[yypt-4 : yypt+1] 12108 var yyLOCAL *TableOption 12109 //line sql.y:2751 12110 { 12111 yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} 12112 } 12113 yyVAL.union = yyLOCAL 12114 case 473: 12115 yyDollar = yyS[yypt-3 : yypt+1] 12116 var yyLOCAL *TableOption 12117 //line sql.y:2755 12118 { 12119 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12120 } 12121 yyVAL.union = yyLOCAL 12122 case 474: 12123 yyDollar = yyS[yypt-3 : yypt+1] 12124 var yyLOCAL *TableOption 12125 //line sql.y:2759 12126 { 12127 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 12128 } 12129 yyVAL.union = yyLOCAL 12130 case 475: 12131 yyDollar = yyS[yypt-3 : yypt+1] 12132 var yyLOCAL *TableOption 12133 //line sql.y:2763 12134 { 12135 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].identifierCS.String(), CaseSensitive: true} 12136 } 12137 yyVAL.union = yyLOCAL 12138 case 476: 12139 yyDollar = yyS[yypt-3 : yypt+1] 12140 var yyLOCAL *TableOption 12141 //line sql.y:2767 12142 { 12143 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 12144 } 12145 yyVAL.union = yyLOCAL 12146 case 477: 12147 yyDollar = yyS[yypt-3 : yypt+1] 12148 var yyLOCAL *TableOption 12149 //line sql.y:2771 12150 { 12151 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 12152 } 12153 yyVAL.union = yyLOCAL 12154 case 478: 12155 yyDollar = yyS[yypt-3 : yypt+1] 12156 var yyLOCAL *TableOption 12157 //line sql.y:2775 12158 { 12159 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12160 } 12161 yyVAL.union = yyLOCAL 12162 case 479: 12163 yyDollar = yyS[yypt-3 : yypt+1] 12164 var yyLOCAL *TableOption 12165 //line sql.y:2779 12166 { 12167 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12168 } 12169 yyVAL.union = yyLOCAL 12170 case 480: 12171 yyDollar = yyS[yypt-3 : yypt+1] 12172 var yyLOCAL *TableOption 12173 //line sql.y:2783 12174 { 12175 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12176 } 12177 yyVAL.union = yyLOCAL 12178 case 481: 12179 yyDollar = yyS[yypt-3 : yypt+1] 12180 var yyLOCAL *TableOption 12181 //line sql.y:2787 12182 { 12183 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12184 } 12185 yyVAL.union = yyLOCAL 12186 case 482: 12187 yyDollar = yyS[yypt-3 : yypt+1] 12188 var yyLOCAL *TableOption 12189 //line sql.y:2791 12190 { 12191 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 12192 } 12193 yyVAL.union = yyLOCAL 12194 case 483: 12195 yyDollar = yyS[yypt-3 : yypt+1] 12196 var yyLOCAL *TableOption 12197 //line sql.y:2795 12198 { 12199 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 12200 } 12201 yyVAL.union = yyLOCAL 12202 case 484: 12203 yyDollar = yyS[yypt-3 : yypt+1] 12204 var yyLOCAL *TableOption 12205 //line sql.y:2799 12206 { 12207 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 12208 } 12209 yyVAL.union = yyLOCAL 12210 case 485: 12211 yyDollar = yyS[yypt-3 : yypt+1] 12212 var yyLOCAL *TableOption 12213 //line sql.y:2803 12214 { 12215 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} 12216 } 12217 yyVAL.union = yyLOCAL 12218 case 486: 12219 yyDollar = yyS[yypt-3 : yypt+1] 12220 var yyLOCAL *TableOption 12221 //line sql.y:2807 12222 { 12223 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12224 } 12225 yyVAL.union = yyLOCAL 12226 case 487: 12227 yyDollar = yyS[yypt-3 : yypt+1] 12228 var yyLOCAL *TableOption 12229 //line sql.y:2811 12230 { 12231 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 12232 } 12233 yyVAL.union = yyLOCAL 12234 case 488: 12235 yyDollar = yyS[yypt-3 : yypt+1] 12236 var yyLOCAL *TableOption 12237 //line sql.y:2815 12238 { 12239 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12240 } 12241 yyVAL.union = yyLOCAL 12242 case 489: 12243 yyDollar = yyS[yypt-3 : yypt+1] 12244 var yyLOCAL *TableOption 12245 //line sql.y:2819 12246 { 12247 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} 12248 } 12249 yyVAL.union = yyLOCAL 12250 case 490: 12251 yyDollar = yyS[yypt-3 : yypt+1] 12252 var yyLOCAL *TableOption 12253 //line sql.y:2823 12254 { 12255 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} 12256 } 12257 yyVAL.union = yyLOCAL 12258 case 491: 12259 yyDollar = yyS[yypt-4 : yypt+1] 12260 var yyLOCAL *TableOption 12261 //line sql.y:2827 12262 { 12263 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].identifierCI.String() + yyDollar[4].str)} 12264 } 12265 yyVAL.union = yyLOCAL 12266 case 492: 12267 yyDollar = yyS[yypt-5 : yypt+1] 12268 var yyLOCAL *TableOption 12269 //line sql.y:2831 12270 { 12271 yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} 12272 } 12273 yyVAL.union = yyLOCAL 12274 case 493: 12275 yyDollar = yyS[yypt-0 : yypt+1] 12276 //line sql.y:2836 12277 { 12278 yyVAL.str = "" 12279 } 12280 case 494: 12281 yyDollar = yyS[yypt-2 : yypt+1] 12282 //line sql.y:2840 12283 { 12284 yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) 12285 } 12286 case 495: 12287 yyDollar = yyS[yypt-2 : yypt+1] 12288 //line sql.y:2844 12289 { 12290 yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) 12291 } 12292 case 505: 12293 yyDollar = yyS[yypt-1 : yypt+1] 12294 //line sql.y:2863 12295 { 12296 yyVAL.str = yyDollar[1].identifierCI.String() 12297 } 12298 case 506: 12299 yyDollar = yyS[yypt-1 : yypt+1] 12300 //line sql.y:2867 12301 { 12302 yyVAL.str = encodeSQLString(yyDollar[1].str) 12303 } 12304 case 507: 12305 yyDollar = yyS[yypt-1 : yypt+1] 12306 //line sql.y:2871 12307 { 12308 yyVAL.str = string(yyDollar[1].str) 12309 } 12310 case 508: 12311 yyDollar = yyS[yypt-0 : yypt+1] 12312 //line sql.y:2876 12313 { 12314 yyVAL.str = "" 12315 } 12316 case 510: 12317 yyDollar = yyS[yypt-0 : yypt+1] 12318 var yyLOCAL bool 12319 //line sql.y:2882 12320 { 12321 yyLOCAL = false 12322 } 12323 yyVAL.union = yyLOCAL 12324 case 511: 12325 yyDollar = yyS[yypt-1 : yypt+1] 12326 var yyLOCAL bool 12327 //line sql.y:2886 12328 { 12329 yyLOCAL = true 12330 } 12331 yyVAL.union = yyLOCAL 12332 case 512: 12333 yyDollar = yyS[yypt-0 : yypt+1] 12334 var yyLOCAL *ColName 12335 //line sql.y:2891 12336 { 12337 yyLOCAL = nil 12338 } 12339 yyVAL.union = yyLOCAL 12340 case 513: 12341 yyDollar = yyS[yypt-2 : yypt+1] 12342 var yyLOCAL *ColName 12343 //line sql.y:2895 12344 { 12345 yyLOCAL = yyDollar[2].colNameUnion() 12346 } 12347 yyVAL.union = yyLOCAL 12348 case 514: 12349 yyDollar = yyS[yypt-0 : yypt+1] 12350 //line sql.y:2900 12351 { 12352 yyVAL.str = "" 12353 } 12354 case 515: 12355 yyDollar = yyS[yypt-2 : yypt+1] 12356 //line sql.y:2904 12357 { 12358 yyVAL.str = string(yyDollar[2].str) 12359 } 12360 case 516: 12361 yyDollar = yyS[yypt-0 : yypt+1] 12362 var yyLOCAL *Literal 12363 //line sql.y:2909 12364 { 12365 yyLOCAL = nil 12366 } 12367 yyVAL.union = yyLOCAL 12368 case 517: 12369 yyDollar = yyS[yypt-2 : yypt+1] 12370 var yyLOCAL *Literal 12371 //line sql.y:2913 12372 { 12373 yyLOCAL = NewIntLiteral(yyDollar[2].str) 12374 } 12375 yyVAL.union = yyLOCAL 12376 case 518: 12377 yyDollar = yyS[yypt-2 : yypt+1] 12378 var yyLOCAL *Literal 12379 //line sql.y:2917 12380 { 12381 yyLOCAL = NewDecimalLiteral(yyDollar[2].str) 12382 } 12383 yyVAL.union = yyLOCAL 12384 case 519: 12385 yyDollar = yyS[yypt-0 : yypt+1] 12386 var yyLOCAL []AlterOption 12387 //line sql.y:2922 12388 { 12389 yyLOCAL = nil 12390 } 12391 yyVAL.union = yyLOCAL 12392 case 520: 12393 yyDollar = yyS[yypt-1 : yypt+1] 12394 var yyLOCAL []AlterOption 12395 //line sql.y:2926 12396 { 12397 yyLOCAL = yyDollar[1].alterOptionsUnion() 12398 } 12399 yyVAL.union = yyLOCAL 12400 case 521: 12401 yyDollar = yyS[yypt-5 : yypt+1] 12402 //line sql.y:2930 12403 { 12404 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 12405 *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) 12406 } 12407 case 522: 12408 yyDollar = yyS[yypt-1 : yypt+1] 12409 var yyLOCAL []AlterOption 12410 //line sql.y:2934 12411 { 12412 yyLOCAL = yyDollar[1].alterOptionsUnion() 12413 } 12414 yyVAL.union = yyLOCAL 12415 case 523: 12416 yyDollar = yyS[yypt-3 : yypt+1] 12417 //line sql.y:2938 12418 { 12419 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 12420 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) 12421 } 12422 case 524: 12423 yyDollar = yyS[yypt-7 : yypt+1] 12424 var yyLOCAL []AlterOption 12425 //line sql.y:2942 12426 { 12427 yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) 12428 } 12429 yyVAL.union = yyLOCAL 12430 case 525: 12431 yyDollar = yyS[yypt-1 : yypt+1] 12432 var yyLOCAL []AlterOption 12433 //line sql.y:2948 12434 { 12435 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 12436 } 12437 yyVAL.union = yyLOCAL 12438 case 526: 12439 yyDollar = yyS[yypt-3 : yypt+1] 12440 //line sql.y:2952 12441 { 12442 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 12443 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) 12444 } 12445 case 527: 12446 yyDollar = yyS[yypt-3 : yypt+1] 12447 //line sql.y:2956 12448 { 12449 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 12450 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) 12451 } 12452 case 528: 12453 yyDollar = yyS[yypt-1 : yypt+1] 12454 var yyLOCAL AlterOption 12455 //line sql.y:2962 12456 { 12457 yyLOCAL = yyDollar[1].tableOptionsUnion() 12458 } 12459 yyVAL.union = yyLOCAL 12460 case 529: 12461 yyDollar = yyS[yypt-2 : yypt+1] 12462 var yyLOCAL AlterOption 12463 //line sql.y:2966 12464 { 12465 yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} 12466 } 12467 yyVAL.union = yyLOCAL 12468 case 530: 12469 yyDollar = yyS[yypt-2 : yypt+1] 12470 var yyLOCAL AlterOption 12471 //line sql.y:2970 12472 { 12473 yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} 12474 } 12475 yyVAL.union = yyLOCAL 12476 case 531: 12477 yyDollar = yyS[yypt-2 : yypt+1] 12478 var yyLOCAL AlterOption 12479 //line sql.y:2974 12480 { 12481 yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} 12482 } 12483 yyVAL.union = yyLOCAL 12484 case 532: 12485 yyDollar = yyS[yypt-5 : yypt+1] 12486 var yyLOCAL AlterOption 12487 //line sql.y:2978 12488 { 12489 yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} 12490 } 12491 yyVAL.union = yyLOCAL 12492 case 533: 12493 yyDollar = yyS[yypt-5 : yypt+1] 12494 var yyLOCAL AlterOption 12495 //line sql.y:2982 12496 { 12497 yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} 12498 } 12499 yyVAL.union = yyLOCAL 12500 case 534: 12501 yyDollar = yyS[yypt-5 : yypt+1] 12502 var yyLOCAL AlterOption 12503 //line sql.y:2986 12504 { 12505 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} 12506 } 12507 yyVAL.union = yyLOCAL 12508 case 535: 12509 yyDollar = yyS[yypt-6 : yypt+1] 12510 var yyLOCAL AlterOption 12511 //line sql.y:2990 12512 { 12513 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} 12514 } 12515 yyVAL.union = yyLOCAL 12516 case 536: 12517 yyDollar = yyS[yypt-8 : yypt+1] 12518 var yyLOCAL AlterOption 12519 //line sql.y:2994 12520 { 12521 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} 12522 } 12523 yyVAL.union = yyLOCAL 12524 case 537: 12525 yyDollar = yyS[yypt-5 : yypt+1] 12526 var yyLOCAL AlterOption 12527 //line sql.y:2998 12528 { 12529 val := false 12530 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} 12531 } 12532 yyVAL.union = yyLOCAL 12533 case 538: 12534 yyDollar = yyS[yypt-5 : yypt+1] 12535 var yyLOCAL AlterOption 12536 //line sql.y:3003 12537 { 12538 val := true 12539 yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} 12540 } 12541 yyVAL.union = yyLOCAL 12542 case 539: 12543 yyDollar = yyS[yypt-4 : yypt+1] 12544 var yyLOCAL AlterOption 12545 //line sql.y:3008 12546 { 12547 yyLOCAL = &AlterCheck{Name: yyDollar[3].identifierCI, Enforced: yyDollar[4].booleanUnion()} 12548 } 12549 yyVAL.union = yyLOCAL 12550 case 540: 12551 yyDollar = yyS[yypt-4 : yypt+1] 12552 var yyLOCAL AlterOption 12553 //line sql.y:3012 12554 { 12555 yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: false} 12556 } 12557 yyVAL.union = yyLOCAL 12558 case 541: 12559 yyDollar = yyS[yypt-4 : yypt+1] 12560 var yyLOCAL AlterOption 12561 //line sql.y:3016 12562 { 12563 yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: true} 12564 } 12565 yyVAL.union = yyLOCAL 12566 case 542: 12567 yyDollar = yyS[yypt-6 : yypt+1] 12568 var yyLOCAL AlterOption 12569 //line sql.y:3020 12570 { 12571 yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} 12572 } 12573 yyVAL.union = yyLOCAL 12574 case 543: 12575 yyDollar = yyS[yypt-5 : yypt+1] 12576 var yyLOCAL AlterOption 12577 //line sql.y:3024 12578 { 12579 yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} 12580 } 12581 yyVAL.union = yyLOCAL 12582 case 544: 12583 yyDollar = yyS[yypt-5 : yypt+1] 12584 var yyLOCAL AlterOption 12585 //line sql.y:3028 12586 { 12587 yyLOCAL = &RenameColumn{OldName: yyDollar[3].colNameUnion(), NewName: yyDollar[5].colNameUnion()} 12588 } 12589 yyVAL.union = yyLOCAL 12590 case 545: 12591 yyDollar = yyS[yypt-5 : yypt+1] 12592 var yyLOCAL AlterOption 12593 //line sql.y:3032 12594 { 12595 yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} 12596 } 12597 yyVAL.union = yyLOCAL 12598 case 546: 12599 yyDollar = yyS[yypt-2 : yypt+1] 12600 var yyLOCAL AlterOption 12601 //line sql.y:3036 12602 { 12603 yyLOCAL = &KeyState{Enable: false} 12604 } 12605 yyVAL.union = yyLOCAL 12606 case 547: 12607 yyDollar = yyS[yypt-2 : yypt+1] 12608 var yyLOCAL AlterOption 12609 //line sql.y:3040 12610 { 12611 yyLOCAL = &KeyState{Enable: true} 12612 } 12613 yyVAL.union = yyLOCAL 12614 case 548: 12615 yyDollar = yyS[yypt-2 : yypt+1] 12616 var yyLOCAL AlterOption 12617 //line sql.y:3044 12618 { 12619 yyLOCAL = &TablespaceOperation{Import: false} 12620 } 12621 yyVAL.union = yyLOCAL 12622 case 549: 12623 yyDollar = yyS[yypt-2 : yypt+1] 12624 var yyLOCAL AlterOption 12625 //line sql.y:3048 12626 { 12627 yyLOCAL = &TablespaceOperation{Import: true} 12628 } 12629 yyVAL.union = yyLOCAL 12630 case 550: 12631 yyDollar = yyS[yypt-3 : yypt+1] 12632 var yyLOCAL AlterOption 12633 //line sql.y:3052 12634 { 12635 yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} 12636 } 12637 yyVAL.union = yyLOCAL 12638 case 551: 12639 yyDollar = yyS[yypt-3 : yypt+1] 12640 var yyLOCAL AlterOption 12641 //line sql.y:3056 12642 { 12643 yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].identifierCI} 12644 } 12645 yyVAL.union = yyLOCAL 12646 case 552: 12647 yyDollar = yyS[yypt-3 : yypt+1] 12648 var yyLOCAL AlterOption 12649 //line sql.y:3060 12650 { 12651 yyLOCAL = &DropKey{Type: PrimaryKeyType} 12652 } 12653 yyVAL.union = yyLOCAL 12654 case 553: 12655 yyDollar = yyS[yypt-4 : yypt+1] 12656 var yyLOCAL AlterOption 12657 //line sql.y:3064 12658 { 12659 yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].identifierCI} 12660 } 12661 yyVAL.union = yyLOCAL 12662 case 554: 12663 yyDollar = yyS[yypt-3 : yypt+1] 12664 var yyLOCAL AlterOption 12665 //line sql.y:3068 12666 { 12667 yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI} 12668 } 12669 yyVAL.union = yyLOCAL 12670 case 555: 12671 yyDollar = yyS[yypt-3 : yypt+1] 12672 var yyLOCAL AlterOption 12673 //line sql.y:3072 12674 { 12675 yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI} 12676 } 12677 yyVAL.union = yyLOCAL 12678 case 556: 12679 yyDollar = yyS[yypt-1 : yypt+1] 12680 var yyLOCAL AlterOption 12681 //line sql.y:3076 12682 { 12683 yyLOCAL = &Force{} 12684 } 12685 yyVAL.union = yyLOCAL 12686 case 557: 12687 yyDollar = yyS[yypt-3 : yypt+1] 12688 var yyLOCAL AlterOption 12689 //line sql.y:3080 12690 { 12691 yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} 12692 } 12693 yyVAL.union = yyLOCAL 12694 case 558: 12695 yyDollar = yyS[yypt-5 : yypt+1] 12696 var yyLOCAL AlterOption 12697 //line sql.y:3084 12698 { 12699 yyLOCAL = &RenameIndex{OldName: yyDollar[3].identifierCI, NewName: yyDollar[5].identifierCI} 12700 } 12701 yyVAL.union = yyLOCAL 12702 case 559: 12703 yyDollar = yyS[yypt-1 : yypt+1] 12704 var yyLOCAL []AlterOption 12705 //line sql.y:3090 12706 { 12707 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 12708 } 12709 yyVAL.union = yyLOCAL 12710 case 560: 12711 yyDollar = yyS[yypt-3 : yypt+1] 12712 //line sql.y:3094 12713 { 12714 yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) 12715 *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) 12716 } 12717 case 561: 12718 yyDollar = yyS[yypt-3 : yypt+1] 12719 var yyLOCAL AlterOption 12720 //line sql.y:3100 12721 { 12722 yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) 12723 } 12724 yyVAL.union = yyLOCAL 12725 case 562: 12726 yyDollar = yyS[yypt-3 : yypt+1] 12727 var yyLOCAL AlterOption 12728 //line sql.y:3104 12729 { 12730 yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) 12731 } 12732 yyVAL.union = yyLOCAL 12733 case 563: 12734 yyDollar = yyS[yypt-3 : yypt+1] 12735 var yyLOCAL AlterOption 12736 //line sql.y:3108 12737 { 12738 yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) 12739 } 12740 yyVAL.union = yyLOCAL 12741 case 564: 12742 yyDollar = yyS[yypt-3 : yypt+1] 12743 var yyLOCAL AlterOption 12744 //line sql.y:3112 12745 { 12746 yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) 12747 } 12748 yyVAL.union = yyLOCAL 12749 case 565: 12750 yyDollar = yyS[yypt-3 : yypt+1] 12751 var yyLOCAL AlterOption 12752 //line sql.y:3116 12753 { 12754 yyLOCAL = &LockOption{Type: DefaultType} 12755 } 12756 yyVAL.union = yyLOCAL 12757 case 566: 12758 yyDollar = yyS[yypt-3 : yypt+1] 12759 var yyLOCAL AlterOption 12760 //line sql.y:3120 12761 { 12762 yyLOCAL = &LockOption{Type: NoneType} 12763 } 12764 yyVAL.union = yyLOCAL 12765 case 567: 12766 yyDollar = yyS[yypt-3 : yypt+1] 12767 var yyLOCAL AlterOption 12768 //line sql.y:3124 12769 { 12770 yyLOCAL = &LockOption{Type: SharedType} 12771 } 12772 yyVAL.union = yyLOCAL 12773 case 568: 12774 yyDollar = yyS[yypt-3 : yypt+1] 12775 var yyLOCAL AlterOption 12776 //line sql.y:3128 12777 { 12778 yyLOCAL = &LockOption{Type: ExclusiveType} 12779 } 12780 yyVAL.union = yyLOCAL 12781 case 569: 12782 yyDollar = yyS[yypt-2 : yypt+1] 12783 var yyLOCAL AlterOption 12784 //line sql.y:3132 12785 { 12786 yyLOCAL = &Validation{With: true} 12787 } 12788 yyVAL.union = yyLOCAL 12789 case 570: 12790 yyDollar = yyS[yypt-2 : yypt+1] 12791 var yyLOCAL AlterOption 12792 //line sql.y:3136 12793 { 12794 yyLOCAL = &Validation{With: false} 12795 } 12796 yyVAL.union = yyLOCAL 12797 case 571: 12798 yyDollar = yyS[yypt-3 : yypt+1] 12799 var yyLOCAL Statement 12800 //line sql.y:3142 12801 { 12802 yyDollar[1].alterTableUnion().FullyParsed = true 12803 yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() 12804 yyDollar[1].alterTableUnion().PartitionOption = yyDollar[3].partitionOptionUnion() 12805 yyLOCAL = yyDollar[1].alterTableUnion() 12806 } 12807 yyVAL.union = yyLOCAL 12808 case 572: 12809 yyDollar = yyS[yypt-4 : yypt+1] 12810 var yyLOCAL Statement 12811 //line sql.y:3149 12812 { 12813 yyDollar[1].alterTableUnion().FullyParsed = true 12814 yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() 12815 yyDollar[1].alterTableUnion().PartitionSpec = &PartitionSpec{Action: RemoveAction} 12816 yyLOCAL = yyDollar[1].alterTableUnion() 12817 } 12818 yyVAL.union = yyLOCAL 12819 case 573: 12820 yyDollar = yyS[yypt-4 : yypt+1] 12821 var yyLOCAL Statement 12822 //line sql.y:3156 12823 { 12824 yyDollar[1].alterTableUnion().FullyParsed = true 12825 yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() 12826 yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[4].partSpecUnion() 12827 yyLOCAL = yyDollar[1].alterTableUnion() 12828 } 12829 yyVAL.union = yyLOCAL 12830 case 574: 12831 yyDollar = yyS[yypt-2 : yypt+1] 12832 var yyLOCAL Statement 12833 //line sql.y:3163 12834 { 12835 yyDollar[1].alterTableUnion().FullyParsed = true 12836 yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() 12837 yyLOCAL = yyDollar[1].alterTableUnion() 12838 } 12839 yyVAL.union = yyLOCAL 12840 case 575: 12841 yyDollar = yyS[yypt-11 : yypt+1] 12842 var yyLOCAL Statement 12843 //line sql.y:3169 12844 { 12845 yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} 12846 } 12847 yyVAL.union = yyLOCAL 12848 case 576: 12849 yyDollar = yyS[yypt-3 : yypt+1] 12850 var yyLOCAL Statement 12851 //line sql.y:3179 12852 { 12853 yyDollar[1].alterDatabaseUnion().FullyParsed = true 12854 yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS 12855 yyDollar[1].alterDatabaseUnion().AlterOptions = yyDollar[3].databaseOptionsUnion() 12856 yyLOCAL = yyDollar[1].alterDatabaseUnion() 12857 } 12858 yyVAL.union = yyLOCAL 12859 case 577: 12860 yyDollar = yyS[yypt-6 : yypt+1] 12861 var yyLOCAL Statement 12862 //line sql.y:3186 12863 { 12864 yyDollar[1].alterDatabaseUnion().FullyParsed = true 12865 yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS 12866 yyDollar[1].alterDatabaseUnion().UpdateDataDirectory = true 12867 yyLOCAL = yyDollar[1].alterDatabaseUnion() 12868 } 12869 yyVAL.union = yyLOCAL 12870 case 578: 12871 yyDollar = yyS[yypt-8 : yypt+1] 12872 var yyLOCAL Statement 12873 //line sql.y:3193 12874 { 12875 yyLOCAL = &AlterVschema{ 12876 Action: CreateVindexDDLAction, 12877 Table: yyDollar[6].tableName, 12878 VindexSpec: &VindexSpec{ 12879 Name: NewIdentifierCI(yyDollar[6].tableName.Name.String()), 12880 Type: yyDollar[7].identifierCI, 12881 Params: yyDollar[8].vindexParamsUnion(), 12882 }, 12883 } 12884 } 12885 yyVAL.union = yyLOCAL 12886 case 579: 12887 yyDollar = yyS[yypt-6 : yypt+1] 12888 var yyLOCAL Statement 12889 //line sql.y:3205 12890 { 12891 yyLOCAL = &AlterVschema{ 12892 Action: DropVindexDDLAction, 12893 Table: yyDollar[6].tableName, 12894 VindexSpec: &VindexSpec{ 12895 Name: NewIdentifierCI(yyDollar[6].tableName.Name.String()), 12896 }, 12897 } 12898 } 12899 yyVAL.union = yyLOCAL 12900 case 580: 12901 yyDollar = yyS[yypt-6 : yypt+1] 12902 var yyLOCAL Statement 12903 //line sql.y:3215 12904 { 12905 yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} 12906 } 12907 yyVAL.union = yyLOCAL 12908 case 581: 12909 yyDollar = yyS[yypt-6 : yypt+1] 12910 var yyLOCAL Statement 12911 //line sql.y:3219 12912 { 12913 yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} 12914 } 12915 yyVAL.union = yyLOCAL 12916 case 582: 12917 yyDollar = yyS[yypt-13 : yypt+1] 12918 var yyLOCAL Statement 12919 //line sql.y:3223 12920 { 12921 yyLOCAL = &AlterVschema{ 12922 Action: AddColVindexDDLAction, 12923 Table: yyDollar[5].tableName, 12924 VindexSpec: &VindexSpec{ 12925 Name: yyDollar[8].identifierCI, 12926 Type: yyDollar[12].identifierCI, 12927 Params: yyDollar[13].vindexParamsUnion(), 12928 }, 12929 VindexCols: yyDollar[10].columnsUnion(), 12930 } 12931 } 12932 yyVAL.union = yyLOCAL 12933 case 583: 12934 yyDollar = yyS[yypt-8 : yypt+1] 12935 var yyLOCAL Statement 12936 //line sql.y:3236 12937 { 12938 yyLOCAL = &AlterVschema{ 12939 Action: DropColVindexDDLAction, 12940 Table: yyDollar[5].tableName, 12941 VindexSpec: &VindexSpec{ 12942 Name: yyDollar[8].identifierCI, 12943 }, 12944 } 12945 } 12946 yyVAL.union = yyLOCAL 12947 case 584: 12948 yyDollar = yyS[yypt-6 : yypt+1] 12949 var yyLOCAL Statement 12950 //line sql.y:3246 12951 { 12952 yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} 12953 } 12954 yyVAL.union = yyLOCAL 12955 case 585: 12956 yyDollar = yyS[yypt-10 : yypt+1] 12957 var yyLOCAL Statement 12958 //line sql.y:3250 12959 { 12960 yyLOCAL = &AlterVschema{ 12961 Action: AddAutoIncDDLAction, 12962 Table: yyDollar[5].tableName, 12963 AutoIncSpec: &AutoIncSpec{ 12964 Column: yyDollar[8].identifierCI, 12965 Sequence: yyDollar[10].tableName, 12966 }, 12967 } 12968 } 12969 yyVAL.union = yyLOCAL 12970 case 586: 12971 yyDollar = yyS[yypt-5 : yypt+1] 12972 var yyLOCAL Statement 12973 //line sql.y:3261 12974 { 12975 yyLOCAL = &AlterMigration{ 12976 Type: RetryMigrationType, 12977 UUID: string(yyDollar[4].str), 12978 } 12979 } 12980 yyVAL.union = yyLOCAL 12981 case 587: 12982 yyDollar = yyS[yypt-5 : yypt+1] 12983 var yyLOCAL Statement 12984 //line sql.y:3268 12985 { 12986 yyLOCAL = &AlterMigration{ 12987 Type: CleanupMigrationType, 12988 UUID: string(yyDollar[4].str), 12989 } 12990 } 12991 yyVAL.union = yyLOCAL 12992 case 588: 12993 yyDollar = yyS[yypt-5 : yypt+1] 12994 var yyLOCAL Statement 12995 //line sql.y:3275 12996 { 12997 yyLOCAL = &AlterMigration{ 12998 Type: LaunchMigrationType, 12999 UUID: string(yyDollar[4].str), 13000 } 13001 } 13002 yyVAL.union = yyLOCAL 13003 case 589: 13004 yyDollar = yyS[yypt-7 : yypt+1] 13005 var yyLOCAL Statement 13006 //line sql.y:3282 13007 { 13008 yyLOCAL = &AlterMigration{ 13009 Type: LaunchMigrationType, 13010 UUID: string(yyDollar[4].str), 13011 Shards: string(yyDollar[7].str), 13012 } 13013 } 13014 yyVAL.union = yyLOCAL 13015 case 590: 13016 yyDollar = yyS[yypt-5 : yypt+1] 13017 var yyLOCAL Statement 13018 //line sql.y:3290 13019 { 13020 yyLOCAL = &AlterMigration{ 13021 Type: LaunchAllMigrationType, 13022 } 13023 } 13024 yyVAL.union = yyLOCAL 13025 case 591: 13026 yyDollar = yyS[yypt-5 : yypt+1] 13027 var yyLOCAL Statement 13028 //line sql.y:3296 13029 { 13030 yyLOCAL = &AlterMigration{ 13031 Type: CompleteMigrationType, 13032 UUID: string(yyDollar[4].str), 13033 } 13034 } 13035 yyVAL.union = yyLOCAL 13036 case 592: 13037 yyDollar = yyS[yypt-5 : yypt+1] 13038 var yyLOCAL Statement 13039 //line sql.y:3303 13040 { 13041 yyLOCAL = &AlterMigration{ 13042 Type: CompleteAllMigrationType, 13043 } 13044 } 13045 yyVAL.union = yyLOCAL 13046 case 593: 13047 yyDollar = yyS[yypt-5 : yypt+1] 13048 var yyLOCAL Statement 13049 //line sql.y:3309 13050 { 13051 yyLOCAL = &AlterMigration{ 13052 Type: CancelMigrationType, 13053 UUID: string(yyDollar[4].str), 13054 } 13055 } 13056 yyVAL.union = yyLOCAL 13057 case 594: 13058 yyDollar = yyS[yypt-5 : yypt+1] 13059 var yyLOCAL Statement 13060 //line sql.y:3316 13061 { 13062 yyLOCAL = &AlterMigration{ 13063 Type: CancelAllMigrationType, 13064 } 13065 } 13066 yyVAL.union = yyLOCAL 13067 case 595: 13068 yyDollar = yyS[yypt-7 : yypt+1] 13069 var yyLOCAL Statement 13070 //line sql.y:3322 13071 { 13072 yyLOCAL = &AlterMigration{ 13073 Type: ThrottleMigrationType, 13074 UUID: string(yyDollar[4].str), 13075 Expire: yyDollar[6].str, 13076 Ratio: yyDollar[7].literalUnion(), 13077 } 13078 } 13079 yyVAL.union = yyLOCAL 13080 case 596: 13081 yyDollar = yyS[yypt-7 : yypt+1] 13082 var yyLOCAL Statement 13083 //line sql.y:3331 13084 { 13085 yyLOCAL = &AlterMigration{ 13086 Type: ThrottleAllMigrationType, 13087 Expire: yyDollar[6].str, 13088 Ratio: yyDollar[7].literalUnion(), 13089 } 13090 } 13091 yyVAL.union = yyLOCAL 13092 case 597: 13093 yyDollar = yyS[yypt-5 : yypt+1] 13094 var yyLOCAL Statement 13095 //line sql.y:3339 13096 { 13097 yyLOCAL = &AlterMigration{ 13098 Type: UnthrottleMigrationType, 13099 UUID: string(yyDollar[4].str), 13100 } 13101 } 13102 yyVAL.union = yyLOCAL 13103 case 598: 13104 yyDollar = yyS[yypt-5 : yypt+1] 13105 var yyLOCAL Statement 13106 //line sql.y:3346 13107 { 13108 yyLOCAL = &AlterMigration{ 13109 Type: UnthrottleAllMigrationType, 13110 } 13111 } 13112 yyVAL.union = yyLOCAL 13113 case 599: 13114 yyDollar = yyS[yypt-0 : yypt+1] 13115 var yyLOCAL *PartitionOption 13116 //line sql.y:3353 13117 { 13118 yyLOCAL = nil 13119 } 13120 yyVAL.union = yyLOCAL 13121 case 600: 13122 yyDollar = yyS[yypt-6 : yypt+1] 13123 var yyLOCAL *PartitionOption 13124 //line sql.y:3357 13125 { 13126 yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() 13127 yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() 13128 yyDollar[3].partitionOptionUnion().Definitions = yyDollar[6].partDefsUnion() 13129 yyLOCAL = yyDollar[3].partitionOptionUnion() 13130 } 13131 yyVAL.union = yyLOCAL 13132 case 601: 13133 yyDollar = yyS[yypt-5 : yypt+1] 13134 var yyLOCAL *PartitionOption 13135 //line sql.y:3366 13136 { 13137 yyLOCAL = &PartitionOption{ 13138 IsLinear: yyDollar[1].booleanUnion(), 13139 Type: HashType, 13140 Expr: yyDollar[4].exprUnion(), 13141 } 13142 } 13143 yyVAL.union = yyLOCAL 13144 case 602: 13145 yyDollar = yyS[yypt-6 : yypt+1] 13146 var yyLOCAL *PartitionOption 13147 //line sql.y:3374 13148 { 13149 yyLOCAL = &PartitionOption{ 13150 IsLinear: yyDollar[1].booleanUnion(), 13151 Type: KeyType, 13152 KeyAlgorithm: yyDollar[3].integerUnion(), 13153 ColList: yyDollar[5].columnsUnion(), 13154 } 13155 } 13156 yyVAL.union = yyLOCAL 13157 case 603: 13158 yyDollar = yyS[yypt-4 : yypt+1] 13159 var yyLOCAL *PartitionOption 13160 //line sql.y:3383 13161 { 13162 yyLOCAL = &PartitionOption{ 13163 Type: yyDollar[1].partitionByTypeUnion(), 13164 Expr: yyDollar[3].exprUnion(), 13165 } 13166 } 13167 yyVAL.union = yyLOCAL 13168 case 604: 13169 yyDollar = yyS[yypt-5 : yypt+1] 13170 var yyLOCAL *PartitionOption 13171 //line sql.y:3390 13172 { 13173 yyLOCAL = &PartitionOption{ 13174 Type: yyDollar[1].partitionByTypeUnion(), 13175 ColList: yyDollar[4].columnsUnion(), 13176 } 13177 } 13178 yyVAL.union = yyLOCAL 13179 case 605: 13180 yyDollar = yyS[yypt-0 : yypt+1] 13181 var yyLOCAL *SubPartition 13182 //line sql.y:3398 13183 { 13184 yyLOCAL = nil 13185 } 13186 yyVAL.union = yyLOCAL 13187 case 606: 13188 yyDollar = yyS[yypt-8 : yypt+1] 13189 var yyLOCAL *SubPartition 13190 //line sql.y:3402 13191 { 13192 yyLOCAL = &SubPartition{ 13193 IsLinear: yyDollar[3].booleanUnion(), 13194 Type: HashType, 13195 Expr: yyDollar[6].exprUnion(), 13196 SubPartitions: yyDollar[8].integerUnion(), 13197 } 13198 } 13199 yyVAL.union = yyLOCAL 13200 case 607: 13201 yyDollar = yyS[yypt-9 : yypt+1] 13202 var yyLOCAL *SubPartition 13203 //line sql.y:3411 13204 { 13205 yyLOCAL = &SubPartition{ 13206 IsLinear: yyDollar[3].booleanUnion(), 13207 Type: KeyType, 13208 KeyAlgorithm: yyDollar[5].integerUnion(), 13209 ColList: yyDollar[7].columnsUnion(), 13210 SubPartitions: yyDollar[9].integerUnion(), 13211 } 13212 } 13213 yyVAL.union = yyLOCAL 13214 case 608: 13215 yyDollar = yyS[yypt-0 : yypt+1] 13216 var yyLOCAL []*PartitionDefinition 13217 //line sql.y:3422 13218 { 13219 yyLOCAL = nil 13220 } 13221 yyVAL.union = yyLOCAL 13222 case 609: 13223 yyDollar = yyS[yypt-3 : yypt+1] 13224 var yyLOCAL []*PartitionDefinition 13225 //line sql.y:3426 13226 { 13227 yyLOCAL = yyDollar[2].partDefsUnion() 13228 } 13229 yyVAL.union = yyLOCAL 13230 case 610: 13231 yyDollar = yyS[yypt-0 : yypt+1] 13232 var yyLOCAL bool 13233 //line sql.y:3431 13234 { 13235 yyLOCAL = false 13236 } 13237 yyVAL.union = yyLOCAL 13238 case 611: 13239 yyDollar = yyS[yypt-1 : yypt+1] 13240 var yyLOCAL bool 13241 //line sql.y:3435 13242 { 13243 yyLOCAL = true 13244 } 13245 yyVAL.union = yyLOCAL 13246 case 612: 13247 yyDollar = yyS[yypt-0 : yypt+1] 13248 var yyLOCAL int 13249 //line sql.y:3440 13250 { 13251 yyLOCAL = 0 13252 } 13253 yyVAL.union = yyLOCAL 13254 case 613: 13255 yyDollar = yyS[yypt-3 : yypt+1] 13256 var yyLOCAL int 13257 //line sql.y:3444 13258 { 13259 yyLOCAL = convertStringToInt(yyDollar[3].str) 13260 } 13261 yyVAL.union = yyLOCAL 13262 case 614: 13263 yyDollar = yyS[yypt-8 : yypt+1] 13264 var yyLOCAL TableExpr 13265 //line sql.y:3450 13266 { 13267 yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].identifierCS} 13268 } 13269 yyVAL.union = yyLOCAL 13270 case 615: 13271 yyDollar = yyS[yypt-4 : yypt+1] 13272 var yyLOCAL []*JtColumnDefinition 13273 //line sql.y:3456 13274 { 13275 yyLOCAL = yyDollar[3].jtColumnListUnion() 13276 } 13277 yyVAL.union = yyLOCAL 13278 case 616: 13279 yyDollar = yyS[yypt-1 : yypt+1] 13280 var yyLOCAL []*JtColumnDefinition 13281 //line sql.y:3462 13282 { 13283 yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} 13284 } 13285 yyVAL.union = yyLOCAL 13286 case 617: 13287 yyDollar = yyS[yypt-3 : yypt+1] 13288 //line sql.y:3466 13289 { 13290 yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) 13291 *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) 13292 } 13293 case 618: 13294 yyDollar = yyS[yypt-3 : yypt+1] 13295 var yyLOCAL *JtColumnDefinition 13296 //line sql.y:3472 13297 { 13298 yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].identifierCI}} 13299 } 13300 yyVAL.union = yyLOCAL 13301 case 619: 13302 yyDollar = yyS[yypt-6 : yypt+1] 13303 var yyLOCAL *JtColumnDefinition 13304 //line sql.y:3476 13305 { 13306 yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} 13307 jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} 13308 yyLOCAL = &JtColumnDefinition{JtPath: jtPath} 13309 } 13310 yyVAL.union = yyLOCAL 13311 case 620: 13312 yyDollar = yyS[yypt-7 : yypt+1] 13313 var yyLOCAL *JtColumnDefinition 13314 //line sql.y:3482 13315 { 13316 yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} 13317 jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} 13318 yyLOCAL = &JtColumnDefinition{JtPath: jtPath} 13319 } 13320 yyVAL.union = yyLOCAL 13321 case 621: 13322 yyDollar = yyS[yypt-7 : yypt+1] 13323 var yyLOCAL *JtColumnDefinition 13324 //line sql.y:3488 13325 { 13326 yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} 13327 jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} 13328 yyLOCAL = &JtColumnDefinition{JtPath: jtPath} 13329 } 13330 yyVAL.union = yyLOCAL 13331 case 622: 13332 yyDollar = yyS[yypt-8 : yypt+1] 13333 var yyLOCAL *JtColumnDefinition 13334 //line sql.y:3494 13335 { 13336 yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} 13337 jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} 13338 yyLOCAL = &JtColumnDefinition{JtPath: jtPath} 13339 } 13340 yyVAL.union = yyLOCAL 13341 case 623: 13342 yyDollar = yyS[yypt-4 : yypt+1] 13343 var yyLOCAL *JtColumnDefinition 13344 //line sql.y:3500 13345 { 13346 jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} 13347 yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} 13348 } 13349 yyVAL.union = yyLOCAL 13350 case 624: 13351 yyDollar = yyS[yypt-0 : yypt+1] 13352 var yyLOCAL bool 13353 //line sql.y:3506 13354 { 13355 yyLOCAL = false 13356 } 13357 yyVAL.union = yyLOCAL 13358 case 625: 13359 yyDollar = yyS[yypt-1 : yypt+1] 13360 var yyLOCAL bool 13361 //line sql.y:3510 13362 { 13363 yyLOCAL = true 13364 } 13365 yyVAL.union = yyLOCAL 13366 case 626: 13367 yyDollar = yyS[yypt-0 : yypt+1] 13368 var yyLOCAL bool 13369 //line sql.y:3514 13370 { 13371 yyLOCAL = false 13372 } 13373 yyVAL.union = yyLOCAL 13374 case 627: 13375 yyDollar = yyS[yypt-1 : yypt+1] 13376 var yyLOCAL bool 13377 //line sql.y:3518 13378 { 13379 yyLOCAL = true 13380 } 13381 yyVAL.union = yyLOCAL 13382 case 628: 13383 yyDollar = yyS[yypt-3 : yypt+1] 13384 var yyLOCAL *JtOnResponse 13385 //line sql.y:3524 13386 { 13387 yyLOCAL = yyDollar[1].jtOnResponseUnion() 13388 } 13389 yyVAL.union = yyLOCAL 13390 case 629: 13391 yyDollar = yyS[yypt-3 : yypt+1] 13392 var yyLOCAL *JtOnResponse 13393 //line sql.y:3530 13394 { 13395 yyLOCAL = yyDollar[1].jtOnResponseUnion() 13396 } 13397 yyVAL.union = yyLOCAL 13398 case 630: 13399 yyDollar = yyS[yypt-1 : yypt+1] 13400 var yyLOCAL *JtOnResponse 13401 //line sql.y:3536 13402 { 13403 yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} 13404 } 13405 yyVAL.union = yyLOCAL 13406 case 631: 13407 yyDollar = yyS[yypt-1 : yypt+1] 13408 var yyLOCAL *JtOnResponse 13409 //line sql.y:3540 13410 { 13411 yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} 13412 } 13413 yyVAL.union = yyLOCAL 13414 case 632: 13415 yyDollar = yyS[yypt-2 : yypt+1] 13416 var yyLOCAL *JtOnResponse 13417 //line sql.y:3544 13418 { 13419 yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} 13420 } 13421 yyVAL.union = yyLOCAL 13422 case 633: 13423 yyDollar = yyS[yypt-1 : yypt+1] 13424 var yyLOCAL PartitionByType 13425 //line sql.y:3550 13426 { 13427 yyLOCAL = RangeType 13428 } 13429 yyVAL.union = yyLOCAL 13430 case 634: 13431 yyDollar = yyS[yypt-1 : yypt+1] 13432 var yyLOCAL PartitionByType 13433 //line sql.y:3554 13434 { 13435 yyLOCAL = ListType 13436 } 13437 yyVAL.union = yyLOCAL 13438 case 635: 13439 yyDollar = yyS[yypt-0 : yypt+1] 13440 var yyLOCAL int 13441 //line sql.y:3559 13442 { 13443 yyLOCAL = -1 13444 } 13445 yyVAL.union = yyLOCAL 13446 case 636: 13447 yyDollar = yyS[yypt-2 : yypt+1] 13448 var yyLOCAL int 13449 //line sql.y:3563 13450 { 13451 yyLOCAL = convertStringToInt(yyDollar[2].str) 13452 } 13453 yyVAL.union = yyLOCAL 13454 case 637: 13455 yyDollar = yyS[yypt-0 : yypt+1] 13456 var yyLOCAL int 13457 //line sql.y:3568 13458 { 13459 yyLOCAL = -1 13460 } 13461 yyVAL.union = yyLOCAL 13462 case 638: 13463 yyDollar = yyS[yypt-2 : yypt+1] 13464 var yyLOCAL int 13465 //line sql.y:3572 13466 { 13467 yyLOCAL = convertStringToInt(yyDollar[2].str) 13468 } 13469 yyVAL.union = yyLOCAL 13470 case 639: 13471 yyDollar = yyS[yypt-5 : yypt+1] 13472 var yyLOCAL *PartitionSpec 13473 //line sql.y:3578 13474 { 13475 yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} 13476 } 13477 yyVAL.union = yyLOCAL 13478 case 640: 13479 yyDollar = yyS[yypt-3 : yypt+1] 13480 var yyLOCAL *PartitionSpec 13481 //line sql.y:3582 13482 { 13483 yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} 13484 } 13485 yyVAL.union = yyLOCAL 13486 case 641: 13487 yyDollar = yyS[yypt-7 : yypt+1] 13488 var yyLOCAL *PartitionSpec 13489 //line sql.y:3586 13490 { 13491 yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} 13492 } 13493 yyVAL.union = yyLOCAL 13494 case 642: 13495 yyDollar = yyS[yypt-4 : yypt+1] 13496 var yyLOCAL *PartitionSpec 13497 //line sql.y:3590 13498 { 13499 yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} 13500 } 13501 yyVAL.union = yyLOCAL 13502 case 643: 13503 yyDollar = yyS[yypt-4 : yypt+1] 13504 var yyLOCAL *PartitionSpec 13505 //line sql.y:3594 13506 { 13507 yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} 13508 } 13509 yyVAL.union = yyLOCAL 13510 case 644: 13511 yyDollar = yyS[yypt-4 : yypt+1] 13512 var yyLOCAL *PartitionSpec 13513 //line sql.y:3598 13514 { 13515 yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} 13516 } 13517 yyVAL.union = yyLOCAL 13518 case 645: 13519 yyDollar = yyS[yypt-4 : yypt+1] 13520 var yyLOCAL *PartitionSpec 13521 //line sql.y:3602 13522 { 13523 yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} 13524 } 13525 yyVAL.union = yyLOCAL 13526 case 646: 13527 yyDollar = yyS[yypt-3 : yypt+1] 13528 var yyLOCAL *PartitionSpec 13529 //line sql.y:3606 13530 { 13531 yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} 13532 } 13533 yyVAL.union = yyLOCAL 13534 case 647: 13535 yyDollar = yyS[yypt-3 : yypt+1] 13536 var yyLOCAL *PartitionSpec 13537 //line sql.y:3610 13538 { 13539 yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} 13540 } 13541 yyVAL.union = yyLOCAL 13542 case 648: 13543 yyDollar = yyS[yypt-3 : yypt+1] 13544 var yyLOCAL *PartitionSpec 13545 //line sql.y:3614 13546 { 13547 yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} 13548 } 13549 yyVAL.union = yyLOCAL 13550 case 649: 13551 yyDollar = yyS[yypt-7 : yypt+1] 13552 var yyLOCAL *PartitionSpec 13553 //line sql.y:3618 13554 { 13555 yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].identifierCI}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} 13556 } 13557 yyVAL.union = yyLOCAL 13558 case 650: 13559 yyDollar = yyS[yypt-3 : yypt+1] 13560 var yyLOCAL *PartitionSpec 13561 //line sql.y:3622 13562 { 13563 yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} 13564 } 13565 yyVAL.union = yyLOCAL 13566 case 651: 13567 yyDollar = yyS[yypt-3 : yypt+1] 13568 var yyLOCAL *PartitionSpec 13569 //line sql.y:3626 13570 { 13571 yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} 13572 } 13573 yyVAL.union = yyLOCAL 13574 case 652: 13575 yyDollar = yyS[yypt-3 : yypt+1] 13576 var yyLOCAL *PartitionSpec 13577 //line sql.y:3630 13578 { 13579 yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} 13580 } 13581 yyVAL.union = yyLOCAL 13582 case 653: 13583 yyDollar = yyS[yypt-3 : yypt+1] 13584 var yyLOCAL *PartitionSpec 13585 //line sql.y:3634 13586 { 13587 yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} 13588 } 13589 yyVAL.union = yyLOCAL 13590 case 654: 13591 yyDollar = yyS[yypt-3 : yypt+1] 13592 var yyLOCAL *PartitionSpec 13593 //line sql.y:3638 13594 { 13595 yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} 13596 } 13597 yyVAL.union = yyLOCAL 13598 case 655: 13599 yyDollar = yyS[yypt-3 : yypt+1] 13600 var yyLOCAL *PartitionSpec 13601 //line sql.y:3642 13602 { 13603 yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} 13604 } 13605 yyVAL.union = yyLOCAL 13606 case 656: 13607 yyDollar = yyS[yypt-3 : yypt+1] 13608 var yyLOCAL *PartitionSpec 13609 //line sql.y:3646 13610 { 13611 yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} 13612 } 13613 yyVAL.union = yyLOCAL 13614 case 657: 13615 yyDollar = yyS[yypt-3 : yypt+1] 13616 var yyLOCAL *PartitionSpec 13617 //line sql.y:3650 13618 { 13619 yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} 13620 } 13621 yyVAL.union = yyLOCAL 13622 case 658: 13623 yyDollar = yyS[yypt-3 : yypt+1] 13624 var yyLOCAL *PartitionSpec 13625 //line sql.y:3654 13626 { 13627 yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} 13628 } 13629 yyVAL.union = yyLOCAL 13630 case 659: 13631 yyDollar = yyS[yypt-3 : yypt+1] 13632 var yyLOCAL *PartitionSpec 13633 //line sql.y:3658 13634 { 13635 yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} 13636 } 13637 yyVAL.union = yyLOCAL 13638 case 660: 13639 yyDollar = yyS[yypt-2 : yypt+1] 13640 var yyLOCAL *PartitionSpec 13641 //line sql.y:3662 13642 { 13643 yyLOCAL = &PartitionSpec{Action: UpgradeAction} 13644 } 13645 yyVAL.union = yyLOCAL 13646 case 661: 13647 yyDollar = yyS[yypt-0 : yypt+1] 13648 var yyLOCAL bool 13649 //line sql.y:3667 13650 { 13651 yyLOCAL = false 13652 } 13653 yyVAL.union = yyLOCAL 13654 case 662: 13655 yyDollar = yyS[yypt-2 : yypt+1] 13656 var yyLOCAL bool 13657 //line sql.y:3671 13658 { 13659 yyLOCAL = false 13660 } 13661 yyVAL.union = yyLOCAL 13662 case 663: 13663 yyDollar = yyS[yypt-2 : yypt+1] 13664 var yyLOCAL bool 13665 //line sql.y:3675 13666 { 13667 yyLOCAL = true 13668 } 13669 yyVAL.union = yyLOCAL 13670 case 664: 13671 yyDollar = yyS[yypt-1 : yypt+1] 13672 var yyLOCAL []*PartitionDefinition 13673 //line sql.y:3681 13674 { 13675 yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} 13676 } 13677 yyVAL.union = yyLOCAL 13678 case 665: 13679 yyDollar = yyS[yypt-3 : yypt+1] 13680 //line sql.y:3685 13681 { 13682 yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) 13683 *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) 13684 } 13685 case 666: 13686 yyDollar = yyS[yypt-2 : yypt+1] 13687 //line sql.y:3691 13688 { 13689 yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() 13690 } 13691 case 667: 13692 yyDollar = yyS[yypt-0 : yypt+1] 13693 var yyLOCAL *PartitionDefinitionOptions 13694 //line sql.y:3696 13695 { 13696 yyLOCAL = &PartitionDefinitionOptions{} 13697 } 13698 yyVAL.union = yyLOCAL 13699 case 668: 13700 yyDollar = yyS[yypt-2 : yypt+1] 13701 var yyLOCAL *PartitionDefinitionOptions 13702 //line sql.y:3700 13703 { 13704 yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() 13705 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13706 } 13707 yyVAL.union = yyLOCAL 13708 case 669: 13709 yyDollar = yyS[yypt-2 : yypt+1] 13710 var yyLOCAL *PartitionDefinitionOptions 13711 //line sql.y:3705 13712 { 13713 yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() 13714 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13715 } 13716 yyVAL.union = yyLOCAL 13717 case 670: 13718 yyDollar = yyS[yypt-2 : yypt+1] 13719 var yyLOCAL *PartitionDefinitionOptions 13720 //line sql.y:3710 13721 { 13722 yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() 13723 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13724 } 13725 yyVAL.union = yyLOCAL 13726 case 671: 13727 yyDollar = yyS[yypt-2 : yypt+1] 13728 var yyLOCAL *PartitionDefinitionOptions 13729 //line sql.y:3715 13730 { 13731 yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() 13732 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13733 } 13734 yyVAL.union = yyLOCAL 13735 case 672: 13736 yyDollar = yyS[yypt-2 : yypt+1] 13737 var yyLOCAL *PartitionDefinitionOptions 13738 //line sql.y:3720 13739 { 13740 yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() 13741 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13742 } 13743 yyVAL.union = yyLOCAL 13744 case 673: 13745 yyDollar = yyS[yypt-2 : yypt+1] 13746 var yyLOCAL *PartitionDefinitionOptions 13747 //line sql.y:3725 13748 { 13749 val := yyDollar[2].integerUnion() 13750 yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val 13751 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13752 } 13753 yyVAL.union = yyLOCAL 13754 case 674: 13755 yyDollar = yyS[yypt-2 : yypt+1] 13756 var yyLOCAL *PartitionDefinitionOptions 13757 //line sql.y:3731 13758 { 13759 val := yyDollar[2].integerUnion() 13760 yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val 13761 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13762 } 13763 yyVAL.union = yyLOCAL 13764 case 675: 13765 yyDollar = yyS[yypt-2 : yypt+1] 13766 var yyLOCAL *PartitionDefinitionOptions 13767 //line sql.y:3737 13768 { 13769 yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str 13770 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13771 } 13772 yyVAL.union = yyLOCAL 13773 case 676: 13774 yyDollar = yyS[yypt-2 : yypt+1] 13775 var yyLOCAL *PartitionDefinitionOptions 13776 //line sql.y:3742 13777 { 13778 yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() 13779 yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() 13780 } 13781 yyVAL.union = yyLOCAL 13782 case 677: 13783 yyDollar = yyS[yypt-3 : yypt+1] 13784 var yyLOCAL SubPartitionDefinitions 13785 //line sql.y:3748 13786 { 13787 yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() 13788 } 13789 yyVAL.union = yyLOCAL 13790 case 678: 13791 yyDollar = yyS[yypt-1 : yypt+1] 13792 var yyLOCAL SubPartitionDefinitions 13793 //line sql.y:3754 13794 { 13795 yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} 13796 } 13797 yyVAL.union = yyLOCAL 13798 case 679: 13799 yyDollar = yyS[yypt-3 : yypt+1] 13800 //line sql.y:3758 13801 { 13802 yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) 13803 *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) 13804 } 13805 case 680: 13806 yyDollar = yyS[yypt-3 : yypt+1] 13807 var yyLOCAL *SubPartitionDefinition 13808 //line sql.y:3764 13809 { 13810 yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].identifierCI, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} 13811 } 13812 yyVAL.union = yyLOCAL 13813 case 681: 13814 yyDollar = yyS[yypt-0 : yypt+1] 13815 var yyLOCAL *SubPartitionDefinitionOptions 13816 //line sql.y:3769 13817 { 13818 yyLOCAL = &SubPartitionDefinitionOptions{} 13819 } 13820 yyVAL.union = yyLOCAL 13821 case 682: 13822 yyDollar = yyS[yypt-2 : yypt+1] 13823 var yyLOCAL *SubPartitionDefinitionOptions 13824 //line sql.y:3773 13825 { 13826 yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() 13827 yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() 13828 } 13829 yyVAL.union = yyLOCAL 13830 case 683: 13831 yyDollar = yyS[yypt-2 : yypt+1] 13832 var yyLOCAL *SubPartitionDefinitionOptions 13833 //line sql.y:3778 13834 { 13835 yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() 13836 yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() 13837 } 13838 yyVAL.union = yyLOCAL 13839 case 684: 13840 yyDollar = yyS[yypt-2 : yypt+1] 13841 var yyLOCAL *SubPartitionDefinitionOptions 13842 //line sql.y:3783 13843 { 13844 yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() 13845 yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() 13846 } 13847 yyVAL.union = yyLOCAL 13848 case 685: 13849 yyDollar = yyS[yypt-2 : yypt+1] 13850 var yyLOCAL *SubPartitionDefinitionOptions 13851 //line sql.y:3788 13852 { 13853 yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() 13854 yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() 13855 } 13856 yyVAL.union = yyLOCAL 13857 case 686: 13858 yyDollar = yyS[yypt-2 : yypt+1] 13859 var yyLOCAL *SubPartitionDefinitionOptions 13860 //line sql.y:3793 13861 { 13862 val := yyDollar[2].integerUnion() 13863 yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val 13864 yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() 13865 } 13866 yyVAL.union = yyLOCAL 13867 case 687: 13868 yyDollar = yyS[yypt-2 : yypt+1] 13869 var yyLOCAL *SubPartitionDefinitionOptions 13870 //line sql.y:3799 13871 { 13872 val := yyDollar[2].integerUnion() 13873 yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val 13874 yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() 13875 } 13876 yyVAL.union = yyLOCAL 13877 case 688: 13878 yyDollar = yyS[yypt-2 : yypt+1] 13879 var yyLOCAL *SubPartitionDefinitionOptions 13880 //line sql.y:3805 13881 { 13882 yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str 13883 yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() 13884 } 13885 yyVAL.union = yyLOCAL 13886 case 689: 13887 yyDollar = yyS[yypt-4 : yypt+1] 13888 var yyLOCAL *PartitionValueRange 13889 //line sql.y:3812 13890 { 13891 yyLOCAL = &PartitionValueRange{ 13892 Type: LessThanType, 13893 Range: yyDollar[4].valTupleUnion(), 13894 } 13895 } 13896 yyVAL.union = yyLOCAL 13897 case 690: 13898 yyDollar = yyS[yypt-4 : yypt+1] 13899 var yyLOCAL *PartitionValueRange 13900 //line sql.y:3819 13901 { 13902 yyLOCAL = &PartitionValueRange{ 13903 Type: LessThanType, 13904 Maxvalue: true, 13905 } 13906 } 13907 yyVAL.union = yyLOCAL 13908 case 691: 13909 yyDollar = yyS[yypt-3 : yypt+1] 13910 var yyLOCAL *PartitionValueRange 13911 //line sql.y:3826 13912 { 13913 yyLOCAL = &PartitionValueRange{ 13914 Type: InType, 13915 Range: yyDollar[3].valTupleUnion(), 13916 } 13917 } 13918 yyVAL.union = yyLOCAL 13919 case 692: 13920 yyDollar = yyS[yypt-0 : yypt+1] 13921 var yyLOCAL bool 13922 //line sql.y:3834 13923 { 13924 yyLOCAL = false 13925 } 13926 yyVAL.union = yyLOCAL 13927 case 693: 13928 yyDollar = yyS[yypt-1 : yypt+1] 13929 var yyLOCAL bool 13930 //line sql.y:3838 13931 { 13932 yyLOCAL = true 13933 } 13934 yyVAL.union = yyLOCAL 13935 case 694: 13936 yyDollar = yyS[yypt-4 : yypt+1] 13937 var yyLOCAL *PartitionEngine 13938 //line sql.y:3844 13939 { 13940 yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].identifierCS.String()} 13941 } 13942 yyVAL.union = yyLOCAL 13943 case 695: 13944 yyDollar = yyS[yypt-3 : yypt+1] 13945 var yyLOCAL *Literal 13946 //line sql.y:3850 13947 { 13948 yyLOCAL = NewStrLiteral(yyDollar[3].str) 13949 } 13950 yyVAL.union = yyLOCAL 13951 case 696: 13952 yyDollar = yyS[yypt-4 : yypt+1] 13953 var yyLOCAL *Literal 13954 //line sql.y:3856 13955 { 13956 yyLOCAL = NewStrLiteral(yyDollar[4].str) 13957 } 13958 yyVAL.union = yyLOCAL 13959 case 697: 13960 yyDollar = yyS[yypt-4 : yypt+1] 13961 var yyLOCAL *Literal 13962 //line sql.y:3862 13963 { 13964 yyLOCAL = NewStrLiteral(yyDollar[4].str) 13965 } 13966 yyVAL.union = yyLOCAL 13967 case 698: 13968 yyDollar = yyS[yypt-3 : yypt+1] 13969 var yyLOCAL int 13970 //line sql.y:3868 13971 { 13972 yyLOCAL = convertStringToInt(yyDollar[3].str) 13973 } 13974 yyVAL.union = yyLOCAL 13975 case 699: 13976 yyDollar = yyS[yypt-3 : yypt+1] 13977 var yyLOCAL int 13978 //line sql.y:3874 13979 { 13980 yyLOCAL = convertStringToInt(yyDollar[3].str) 13981 } 13982 yyVAL.union = yyLOCAL 13983 case 700: 13984 yyDollar = yyS[yypt-3 : yypt+1] 13985 //line sql.y:3880 13986 { 13987 yyVAL.str = yyDollar[3].identifierCS.String() 13988 } 13989 case 701: 13990 yyDollar = yyS[yypt-2 : yypt+1] 13991 var yyLOCAL *PartitionDefinition 13992 //line sql.y:3886 13993 { 13994 yyLOCAL = &PartitionDefinition{Name: yyDollar[2].identifierCI} 13995 } 13996 yyVAL.union = yyLOCAL 13997 case 702: 13998 yyDollar = yyS[yypt-1 : yypt+1] 13999 //line sql.y:3892 14000 { 14001 yyVAL.str = "" 14002 } 14003 case 703: 14004 yyDollar = yyS[yypt-3 : yypt+1] 14005 //line sql.y:3896 14006 { 14007 yyVAL.str = "" 14008 } 14009 case 704: 14010 yyDollar = yyS[yypt-3 : yypt+1] 14011 var yyLOCAL Statement 14012 //line sql.y:3902 14013 { 14014 yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} 14015 } 14016 yyVAL.union = yyLOCAL 14017 case 705: 14018 yyDollar = yyS[yypt-3 : yypt+1] 14019 var yyLOCAL []*RenameTablePair 14020 //line sql.y:3908 14021 { 14022 yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} 14023 } 14024 yyVAL.union = yyLOCAL 14025 case 706: 14026 yyDollar = yyS[yypt-5 : yypt+1] 14027 //line sql.y:3912 14028 { 14029 yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) 14030 *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) 14031 } 14032 case 707: 14033 yyDollar = yyS[yypt-7 : yypt+1] 14034 var yyLOCAL Statement 14035 //line sql.y:3918 14036 { 14037 yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} 14038 } 14039 yyVAL.union = yyLOCAL 14040 case 708: 14041 yyDollar = yyS[yypt-7 : yypt+1] 14042 var yyLOCAL Statement 14043 //line sql.y:3922 14044 { 14045 // Change this to an alter statement 14046 if yyDollar[4].identifierCI.Lowered() == "primary" { 14047 yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[7].alterOptionsUnion()...)} 14048 } else { 14049 yyLOCAL = &AlterTable{FullyParsed: true, Table: yyDollar[6].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[4].identifierCI}}, yyDollar[7].alterOptionsUnion()...)} 14050 } 14051 } 14052 yyVAL.union = yyLOCAL 14053 case 709: 14054 yyDollar = yyS[yypt-6 : yypt+1] 14055 var yyLOCAL Statement 14056 //line sql.y:3931 14057 { 14058 yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} 14059 } 14060 yyVAL.union = yyLOCAL 14061 case 710: 14062 yyDollar = yyS[yypt-5 : yypt+1] 14063 var yyLOCAL Statement 14064 //line sql.y:3935 14065 { 14066 yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfExists: yyDollar[4].booleanUnion()} 14067 } 14068 yyVAL.union = yyLOCAL 14069 case 711: 14070 yyDollar = yyS[yypt-3 : yypt+1] 14071 var yyLOCAL Statement 14072 //line sql.y:3941 14073 { 14074 yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} 14075 } 14076 yyVAL.union = yyLOCAL 14077 case 712: 14078 yyDollar = yyS[yypt-2 : yypt+1] 14079 var yyLOCAL Statement 14080 //line sql.y:3945 14081 { 14082 yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} 14083 } 14084 yyVAL.union = yyLOCAL 14085 case 713: 14086 yyDollar = yyS[yypt-3 : yypt+1] 14087 var yyLOCAL Statement 14088 //line sql.y:3951 14089 { 14090 yyLOCAL = &OtherRead{} 14091 } 14092 yyVAL.union = yyLOCAL 14093 case 714: 14094 yyDollar = yyS[yypt-3 : yypt+1] 14095 var yyLOCAL Statement 14096 //line sql.y:3957 14097 { 14098 yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} 14099 } 14100 yyVAL.union = yyLOCAL 14101 case 715: 14102 yyDollar = yyS[yypt-3 : yypt+1] 14103 var yyLOCAL Statement 14104 //line sql.y:3961 14105 { 14106 yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} 14107 } 14108 yyVAL.union = yyLOCAL 14109 case 716: 14110 yyDollar = yyS[yypt-7 : yypt+1] 14111 var yyLOCAL Statement 14112 //line sql.y:3965 14113 { 14114 yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}} 14115 } 14116 yyVAL.union = yyLOCAL 14117 case 717: 14118 yyDollar = yyS[yypt-3 : yypt+1] 14119 var yyLOCAL Statement 14120 //line sql.y:3969 14121 { 14122 yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} 14123 } 14124 yyVAL.union = yyLOCAL 14125 case 718: 14126 yyDollar = yyS[yypt-3 : yypt+1] 14127 var yyLOCAL Statement 14128 //line sql.y:3973 14129 { 14130 yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} 14131 } 14132 yyVAL.union = yyLOCAL 14133 case 719: 14134 yyDollar = yyS[yypt-3 : yypt+1] 14135 var yyLOCAL Statement 14136 //line sql.y:3977 14137 { 14138 yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} 14139 } 14140 yyVAL.union = yyLOCAL 14141 case 720: 14142 yyDollar = yyS[yypt-3 : yypt+1] 14143 var yyLOCAL Statement 14144 //line sql.y:3981 14145 { 14146 yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} 14147 } 14148 yyVAL.union = yyLOCAL 14149 case 721: 14150 yyDollar = yyS[yypt-4 : yypt+1] 14151 var yyLOCAL Statement 14152 //line sql.y:3985 14153 { 14154 yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} 14155 } 14156 yyVAL.union = yyLOCAL 14157 case 722: 14158 yyDollar = yyS[yypt-7 : yypt+1] 14159 var yyLOCAL Statement 14160 //line sql.y:3989 14161 { 14162 yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}} 14163 } 14164 yyVAL.union = yyLOCAL 14165 case 723: 14166 yyDollar = yyS[yypt-5 : yypt+1] 14167 var yyLOCAL Statement 14168 //line sql.y:3993 14169 { 14170 yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} 14171 } 14172 yyVAL.union = yyLOCAL 14173 case 724: 14174 yyDollar = yyS[yypt-2 : yypt+1] 14175 var yyLOCAL Statement 14176 //line sql.y:3997 14177 { 14178 yyLOCAL = &Show{&ShowBasic{Command: Privilege}} 14179 } 14180 yyVAL.union = yyLOCAL 14181 case 725: 14182 yyDollar = yyS[yypt-4 : yypt+1] 14183 var yyLOCAL Statement 14184 //line sql.y:4001 14185 { 14186 yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} 14187 } 14188 yyVAL.union = yyLOCAL 14189 case 726: 14190 yyDollar = yyS[yypt-4 : yypt+1] 14191 var yyLOCAL Statement 14192 //line sql.y:4005 14193 { 14194 yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} 14195 } 14196 yyVAL.union = yyLOCAL 14197 case 727: 14198 yyDollar = yyS[yypt-4 : yypt+1] 14199 var yyLOCAL Statement 14200 //line sql.y:4009 14201 { 14202 yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} 14203 } 14204 yyVAL.union = yyLOCAL 14205 case 728: 14206 yyDollar = yyS[yypt-4 : yypt+1] 14207 var yyLOCAL Statement 14208 //line sql.y:4013 14209 { 14210 yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} 14211 } 14212 yyVAL.union = yyLOCAL 14213 case 729: 14214 yyDollar = yyS[yypt-4 : yypt+1] 14215 var yyLOCAL Statement 14216 //line sql.y:4017 14217 { 14218 yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} 14219 } 14220 yyVAL.union = yyLOCAL 14221 case 730: 14222 yyDollar = yyS[yypt-5 : yypt+1] 14223 var yyLOCAL Statement 14224 //line sql.y:4021 14225 { 14226 yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} 14227 } 14228 yyVAL.union = yyLOCAL 14229 case 731: 14230 yyDollar = yyS[yypt-5 : yypt+1] 14231 var yyLOCAL Statement 14232 //line sql.y:4025 14233 { 14234 yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}} 14235 } 14236 yyVAL.union = yyLOCAL 14237 case 732: 14238 yyDollar = yyS[yypt-4 : yypt+1] 14239 var yyLOCAL Statement 14240 //line sql.y:4029 14241 { 14242 yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].identifierCS, Filter: yyDollar[4].showFilterUnion()}} 14243 } 14244 yyVAL.union = yyLOCAL 14245 case 733: 14246 yyDollar = yyS[yypt-4 : yypt+1] 14247 var yyLOCAL Statement 14248 //line sql.y:4033 14249 { 14250 yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} 14251 } 14252 yyVAL.union = yyLOCAL 14253 case 734: 14254 yyDollar = yyS[yypt-4 : yypt+1] 14255 var yyLOCAL Statement 14256 //line sql.y:4037 14257 { 14258 yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} 14259 } 14260 yyVAL.union = yyLOCAL 14261 case 735: 14262 yyDollar = yyS[yypt-4 : yypt+1] 14263 var yyLOCAL Statement 14264 //line sql.y:4041 14265 { 14266 yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} 14267 } 14268 yyVAL.union = yyLOCAL 14269 case 736: 14270 yyDollar = yyS[yypt-4 : yypt+1] 14271 var yyLOCAL Statement 14272 //line sql.y:4045 14273 { 14274 yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} 14275 } 14276 yyVAL.union = yyLOCAL 14277 case 737: 14278 yyDollar = yyS[yypt-4 : yypt+1] 14279 var yyLOCAL Statement 14280 //line sql.y:4049 14281 { 14282 yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} 14283 } 14284 yyVAL.union = yyLOCAL 14285 case 738: 14286 yyDollar = yyS[yypt-4 : yypt+1] 14287 var yyLOCAL Statement 14288 //line sql.y:4053 14289 { 14290 yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} 14291 } 14292 yyVAL.union = yyLOCAL 14293 case 739: 14294 yyDollar = yyS[yypt-4 : yypt+1] 14295 var yyLOCAL Statement 14296 //line sql.y:4057 14297 { 14298 yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} 14299 } 14300 yyVAL.union = yyLOCAL 14301 case 740: 14302 yyDollar = yyS[yypt-2 : yypt+1] 14303 var yyLOCAL Statement 14304 //line sql.y:4061 14305 { 14306 yyLOCAL = &Show{&ShowBasic{Command: Engines}} 14307 } 14308 yyVAL.union = yyLOCAL 14309 case 741: 14310 yyDollar = yyS[yypt-2 : yypt+1] 14311 var yyLOCAL Statement 14312 //line sql.y:4065 14313 { 14314 yyLOCAL = &Show{&ShowBasic{Command: Plugins}} 14315 } 14316 yyVAL.union = yyLOCAL 14317 case 742: 14318 yyDollar = yyS[yypt-4 : yypt+1] 14319 var yyLOCAL Statement 14320 //line sql.y:4069 14321 { 14322 yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].identifierCS}} 14323 } 14324 yyVAL.union = yyLOCAL 14325 case 743: 14326 yyDollar = yyS[yypt-4 : yypt+1] 14327 var yyLOCAL Statement 14328 //line sql.y:4073 14329 { 14330 yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].identifierCS}} 14331 } 14332 yyVAL.union = yyLOCAL 14333 case 744: 14334 yyDollar = yyS[yypt-4 : yypt+1] 14335 var yyLOCAL Statement 14336 //line sql.y:4077 14337 { 14338 yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} 14339 } 14340 yyVAL.union = yyLOCAL 14341 case 745: 14342 yyDollar = yyS[yypt-4 : yypt+1] 14343 var yyLOCAL Statement 14344 //line sql.y:4081 14345 { 14346 yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].identifierCS}} 14347 } 14348 yyVAL.union = yyLOCAL 14349 case 746: 14350 yyDollar = yyS[yypt-4 : yypt+1] 14351 var yyLOCAL Statement 14352 //line sql.y:4085 14353 { 14354 yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} 14355 } 14356 yyVAL.union = yyLOCAL 14357 case 747: 14358 yyDollar = yyS[yypt-2 : yypt+1] 14359 var yyLOCAL Statement 14360 //line sql.y:4089 14361 { 14362 yyLOCAL = &ShowThrottledApps{} 14363 } 14364 yyVAL.union = yyLOCAL 14365 case 748: 14366 yyDollar = yyS[yypt-3 : yypt+1] 14367 var yyLOCAL Statement 14368 //line sql.y:4093 14369 { 14370 yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} 14371 } 14372 yyVAL.union = yyLOCAL 14373 case 749: 14374 yyDollar = yyS[yypt-3 : yypt+1] 14375 var yyLOCAL Statement 14376 //line sql.y:4097 14377 { 14378 yyLOCAL = &ShowThrottlerStatus{} 14379 } 14380 yyVAL.union = yyLOCAL 14381 case 750: 14382 yyDollar = yyS[yypt-3 : yypt+1] 14383 var yyLOCAL Statement 14384 //line sql.y:4101 14385 { 14386 yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} 14387 } 14388 yyVAL.union = yyLOCAL 14389 case 751: 14390 yyDollar = yyS[yypt-3 : yypt+1] 14391 var yyLOCAL Statement 14392 //line sql.y:4105 14393 { 14394 yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} 14395 } 14396 yyVAL.union = yyLOCAL 14397 case 752: 14398 yyDollar = yyS[yypt-5 : yypt+1] 14399 var yyLOCAL Statement 14400 //line sql.y:4109 14401 { 14402 yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} 14403 } 14404 yyVAL.union = yyLOCAL 14405 case 753: 14406 yyDollar = yyS[yypt-2 : yypt+1] 14407 var yyLOCAL Statement 14408 //line sql.y:4113 14409 { 14410 yyLOCAL = &Show{&ShowBasic{Command: Warnings}} 14411 } 14412 yyVAL.union = yyLOCAL 14413 case 754: 14414 yyDollar = yyS[yypt-3 : yypt+1] 14415 var yyLOCAL Statement 14416 //line sql.y:4117 14417 { 14418 yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} 14419 } 14420 yyVAL.union = yyLOCAL 14421 case 755: 14422 yyDollar = yyS[yypt-3 : yypt+1] 14423 var yyLOCAL Statement 14424 //line sql.y:4121 14425 { 14426 yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} 14427 } 14428 yyVAL.union = yyLOCAL 14429 case 756: 14430 yyDollar = yyS[yypt-2 : yypt+1] 14431 var yyLOCAL Statement 14432 //line sql.y:4125 14433 { 14434 yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} 14435 } 14436 yyVAL.union = yyLOCAL 14437 case 757: 14438 yyDollar = yyS[yypt-3 : yypt+1] 14439 var yyLOCAL Statement 14440 //line sql.y:4132 14441 { 14442 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].identifierCI.String())}} 14443 } 14444 yyVAL.union = yyLOCAL 14445 case 758: 14446 yyDollar = yyS[yypt-4 : yypt+1] 14447 var yyLOCAL Statement 14448 //line sql.y:4136 14449 { 14450 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} 14451 } 14452 yyVAL.union = yyLOCAL 14453 case 759: 14454 yyDollar = yyS[yypt-4 : yypt+1] 14455 var yyLOCAL Statement 14456 //line sql.y:4140 14457 { 14458 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()}} 14459 } 14460 yyVAL.union = yyLOCAL 14461 case 760: 14462 yyDollar = yyS[yypt-4 : yypt+1] 14463 var yyLOCAL Statement 14464 //line sql.y:4144 14465 { 14466 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} 14467 } 14468 yyVAL.union = yyLOCAL 14469 case 761: 14470 yyDollar = yyS[yypt-3 : yypt+1] 14471 var yyLOCAL Statement 14472 //line sql.y:4148 14473 { 14474 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} 14475 } 14476 yyVAL.union = yyLOCAL 14477 case 762: 14478 yyDollar = yyS[yypt-4 : yypt+1] 14479 var yyLOCAL Statement 14480 //line sql.y:4152 14481 { 14482 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} 14483 } 14484 yyVAL.union = yyLOCAL 14485 case 763: 14486 yyDollar = yyS[yypt-4 : yypt+1] 14487 var yyLOCAL Statement 14488 //line sql.y:4156 14489 { 14490 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} 14491 } 14492 yyVAL.union = yyLOCAL 14493 case 764: 14494 yyDollar = yyS[yypt-5 : yypt+1] 14495 var yyLOCAL Statement 14496 //line sql.y:4160 14497 { 14498 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} 14499 } 14500 yyVAL.union = yyLOCAL 14501 case 765: 14502 yyDollar = yyS[yypt-3 : yypt+1] 14503 var yyLOCAL Statement 14504 //line sql.y:4164 14505 { 14506 yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} 14507 } 14508 yyVAL.union = yyLOCAL 14509 case 766: 14510 yyDollar = yyS[yypt-0 : yypt+1] 14511 //line sql.y:4170 14512 { 14513 yyVAL.str = "" 14514 } 14515 case 767: 14516 yyDollar = yyS[yypt-1 : yypt+1] 14517 //line sql.y:4174 14518 { 14519 yyVAL.str = "extended " 14520 } 14521 case 768: 14522 yyDollar = yyS[yypt-0 : yypt+1] 14523 var yyLOCAL bool 14524 //line sql.y:4180 14525 { 14526 yyLOCAL = false 14527 } 14528 yyVAL.union = yyLOCAL 14529 case 769: 14530 yyDollar = yyS[yypt-1 : yypt+1] 14531 var yyLOCAL bool 14532 //line sql.y:4184 14533 { 14534 yyLOCAL = true 14535 } 14536 yyVAL.union = yyLOCAL 14537 case 770: 14538 yyDollar = yyS[yypt-1 : yypt+1] 14539 //line sql.y:4190 14540 { 14541 yyVAL.str = string(yyDollar[1].str) 14542 } 14543 case 771: 14544 yyDollar = yyS[yypt-1 : yypt+1] 14545 //line sql.y:4194 14546 { 14547 yyVAL.str = string(yyDollar[1].str) 14548 } 14549 case 772: 14550 yyDollar = yyS[yypt-0 : yypt+1] 14551 //line sql.y:4200 14552 { 14553 yyVAL.identifierCS = NewIdentifierCS("") 14554 } 14555 case 773: 14556 yyDollar = yyS[yypt-2 : yypt+1] 14557 //line sql.y:4204 14558 { 14559 yyVAL.identifierCS = yyDollar[2].identifierCS 14560 } 14561 case 774: 14562 yyDollar = yyS[yypt-2 : yypt+1] 14563 //line sql.y:4208 14564 { 14565 yyVAL.identifierCS = yyDollar[2].identifierCS 14566 } 14567 case 775: 14568 yyDollar = yyS[yypt-0 : yypt+1] 14569 var yyLOCAL *ShowFilter 14570 //line sql.y:4214 14571 { 14572 yyLOCAL = nil 14573 } 14574 yyVAL.union = yyLOCAL 14575 case 776: 14576 yyDollar = yyS[yypt-2 : yypt+1] 14577 var yyLOCAL *ShowFilter 14578 //line sql.y:4218 14579 { 14580 yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} 14581 } 14582 yyVAL.union = yyLOCAL 14583 case 777: 14584 yyDollar = yyS[yypt-2 : yypt+1] 14585 var yyLOCAL *ShowFilter 14586 //line sql.y:4222 14587 { 14588 yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} 14589 } 14590 yyVAL.union = yyLOCAL 14591 case 778: 14592 yyDollar = yyS[yypt-0 : yypt+1] 14593 var yyLOCAL *ShowFilter 14594 //line sql.y:4228 14595 { 14596 yyLOCAL = nil 14597 } 14598 yyVAL.union = yyLOCAL 14599 case 779: 14600 yyDollar = yyS[yypt-2 : yypt+1] 14601 var yyLOCAL *ShowFilter 14602 //line sql.y:4232 14603 { 14604 yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} 14605 } 14606 yyVAL.union = yyLOCAL 14607 case 780: 14608 yyDollar = yyS[yypt-0 : yypt+1] 14609 //line sql.y:4238 14610 { 14611 yyVAL.empty = struct{}{} 14612 } 14613 case 781: 14614 yyDollar = yyS[yypt-1 : yypt+1] 14615 //line sql.y:4242 14616 { 14617 yyVAL.empty = struct{}{} 14618 } 14619 case 782: 14620 yyDollar = yyS[yypt-1 : yypt+1] 14621 //line sql.y:4246 14622 { 14623 yyVAL.empty = struct{}{} 14624 } 14625 case 783: 14626 yyDollar = yyS[yypt-1 : yypt+1] 14627 //line sql.y:4252 14628 { 14629 yyVAL.str = string(yyDollar[1].str) 14630 } 14631 case 784: 14632 yyDollar = yyS[yypt-1 : yypt+1] 14633 //line sql.y:4256 14634 { 14635 yyVAL.str = string(yyDollar[1].str) 14636 } 14637 case 785: 14638 yyDollar = yyS[yypt-2 : yypt+1] 14639 var yyLOCAL Statement 14640 //line sql.y:4262 14641 { 14642 yyLOCAL = &Use{DBName: yyDollar[2].identifierCS} 14643 } 14644 yyVAL.union = yyLOCAL 14645 case 786: 14646 yyDollar = yyS[yypt-1 : yypt+1] 14647 var yyLOCAL Statement 14648 //line sql.y:4266 14649 { 14650 yyLOCAL = &Use{DBName: IdentifierCS{v: ""}} 14651 } 14652 yyVAL.union = yyLOCAL 14653 case 787: 14654 yyDollar = yyS[yypt-3 : yypt+1] 14655 var yyLOCAL Statement 14656 //line sql.y:4270 14657 { 14658 yyLOCAL = &Use{DBName: NewIdentifierCS(yyDollar[2].identifierCS.String() + "@" + string(yyDollar[3].str))} 14659 } 14660 yyVAL.union = yyLOCAL 14661 case 788: 14662 yyDollar = yyS[yypt-1 : yypt+1] 14663 //line sql.y:4277 14664 { 14665 yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) 14666 } 14667 case 789: 14668 yyDollar = yyS[yypt-1 : yypt+1] 14669 //line sql.y:4281 14670 { 14671 yyVAL.identifierCS = NewIdentifierCS("@" + string(yyDollar[1].str)) 14672 } 14673 case 790: 14674 yyDollar = yyS[yypt-1 : yypt+1] 14675 //line sql.y:4285 14676 { 14677 yyVAL.identifierCS = NewIdentifierCS("@@" + string(yyDollar[1].str)) 14678 } 14679 case 791: 14680 yyDollar = yyS[yypt-1 : yypt+1] 14681 //line sql.y:4289 14682 { 14683 yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) 14684 } 14685 case 792: 14686 yyDollar = yyS[yypt-1 : yypt+1] 14687 var yyLOCAL Statement 14688 //line sql.y:4296 14689 { 14690 yyLOCAL = &Begin{} 14691 } 14692 yyVAL.union = yyLOCAL 14693 case 793: 14694 yyDollar = yyS[yypt-3 : yypt+1] 14695 var yyLOCAL Statement 14696 //line sql.y:4300 14697 { 14698 yyLOCAL = &Begin{TxAccessModes: yyDollar[3].txAccessModesUnion()} 14699 } 14700 yyVAL.union = yyLOCAL 14701 case 794: 14702 yyDollar = yyS[yypt-0 : yypt+1] 14703 var yyLOCAL []TxAccessMode 14704 //line sql.y:4305 14705 { 14706 yyLOCAL = nil 14707 } 14708 yyVAL.union = yyLOCAL 14709 case 795: 14710 yyDollar = yyS[yypt-1 : yypt+1] 14711 var yyLOCAL []TxAccessMode 14712 //line sql.y:4309 14713 { 14714 yyLOCAL = yyDollar[1].txAccessModesUnion() 14715 } 14716 yyVAL.union = yyLOCAL 14717 case 796: 14718 yyDollar = yyS[yypt-1 : yypt+1] 14719 var yyLOCAL []TxAccessMode 14720 //line sql.y:4315 14721 { 14722 yyLOCAL = []TxAccessMode{yyDollar[1].txAccessModeUnion()} 14723 } 14724 yyVAL.union = yyLOCAL 14725 case 797: 14726 yyDollar = yyS[yypt-3 : yypt+1] 14727 //line sql.y:4319 14728 { 14729 yySLICE := (*[]TxAccessMode)(yyIaddr(yyVAL.union)) 14730 *yySLICE = append(*yySLICE, yyDollar[3].txAccessModeUnion()) 14731 } 14732 case 798: 14733 yyDollar = yyS[yypt-3 : yypt+1] 14734 var yyLOCAL TxAccessMode 14735 //line sql.y:4325 14736 { 14737 yyLOCAL = WithConsistentSnapshot 14738 } 14739 yyVAL.union = yyLOCAL 14740 case 799: 14741 yyDollar = yyS[yypt-2 : yypt+1] 14742 var yyLOCAL TxAccessMode 14743 //line sql.y:4329 14744 { 14745 yyLOCAL = ReadWrite 14746 } 14747 yyVAL.union = yyLOCAL 14748 case 800: 14749 yyDollar = yyS[yypt-2 : yypt+1] 14750 var yyLOCAL TxAccessMode 14751 //line sql.y:4333 14752 { 14753 yyLOCAL = ReadOnly 14754 } 14755 yyVAL.union = yyLOCAL 14756 case 801: 14757 yyDollar = yyS[yypt-1 : yypt+1] 14758 var yyLOCAL Statement 14759 //line sql.y:4340 14760 { 14761 yyLOCAL = &Commit{} 14762 } 14763 yyVAL.union = yyLOCAL 14764 case 802: 14765 yyDollar = yyS[yypt-1 : yypt+1] 14766 var yyLOCAL Statement 14767 //line sql.y:4346 14768 { 14769 yyLOCAL = &Rollback{} 14770 } 14771 yyVAL.union = yyLOCAL 14772 case 803: 14773 yyDollar = yyS[yypt-5 : yypt+1] 14774 var yyLOCAL Statement 14775 //line sql.y:4350 14776 { 14777 yyLOCAL = &SRollback{Name: yyDollar[5].identifierCI} 14778 } 14779 yyVAL.union = yyLOCAL 14780 case 804: 14781 yyDollar = yyS[yypt-0 : yypt+1] 14782 //line sql.y:4355 14783 { 14784 yyVAL.empty = struct{}{} 14785 } 14786 case 805: 14787 yyDollar = yyS[yypt-1 : yypt+1] 14788 //line sql.y:4357 14789 { 14790 yyVAL.empty = struct{}{} 14791 } 14792 case 806: 14793 yyDollar = yyS[yypt-0 : yypt+1] 14794 //line sql.y:4360 14795 { 14796 yyVAL.empty = struct{}{} 14797 } 14798 case 807: 14799 yyDollar = yyS[yypt-1 : yypt+1] 14800 //line sql.y:4362 14801 { 14802 yyVAL.empty = struct{}{} 14803 } 14804 case 808: 14805 yyDollar = yyS[yypt-2 : yypt+1] 14806 var yyLOCAL Statement 14807 //line sql.y:4366 14808 { 14809 yyLOCAL = &Savepoint{Name: yyDollar[2].identifierCI} 14810 } 14811 yyVAL.union = yyLOCAL 14812 case 809: 14813 yyDollar = yyS[yypt-3 : yypt+1] 14814 var yyLOCAL Statement 14815 //line sql.y:4372 14816 { 14817 yyLOCAL = &Release{Name: yyDollar[3].identifierCI} 14818 } 14819 yyVAL.union = yyLOCAL 14820 case 810: 14821 yyDollar = yyS[yypt-0 : yypt+1] 14822 var yyLOCAL ExplainType 14823 //line sql.y:4377 14824 { 14825 yyLOCAL = EmptyType 14826 } 14827 yyVAL.union = yyLOCAL 14828 case 811: 14829 yyDollar = yyS[yypt-3 : yypt+1] 14830 var yyLOCAL ExplainType 14831 //line sql.y:4381 14832 { 14833 yyLOCAL = JSONType 14834 } 14835 yyVAL.union = yyLOCAL 14836 case 812: 14837 yyDollar = yyS[yypt-3 : yypt+1] 14838 var yyLOCAL ExplainType 14839 //line sql.y:4385 14840 { 14841 yyLOCAL = TreeType 14842 } 14843 yyVAL.union = yyLOCAL 14844 case 813: 14845 yyDollar = yyS[yypt-3 : yypt+1] 14846 var yyLOCAL ExplainType 14847 //line sql.y:4389 14848 { 14849 yyLOCAL = VitessType 14850 } 14851 yyVAL.union = yyLOCAL 14852 case 814: 14853 yyDollar = yyS[yypt-3 : yypt+1] 14854 var yyLOCAL ExplainType 14855 //line sql.y:4393 14856 { 14857 yyLOCAL = VTExplainType 14858 } 14859 yyVAL.union = yyLOCAL 14860 case 815: 14861 yyDollar = yyS[yypt-3 : yypt+1] 14862 var yyLOCAL ExplainType 14863 //line sql.y:4397 14864 { 14865 yyLOCAL = TraditionalType 14866 } 14867 yyVAL.union = yyLOCAL 14868 case 816: 14869 yyDollar = yyS[yypt-1 : yypt+1] 14870 var yyLOCAL ExplainType 14871 //line sql.y:4401 14872 { 14873 yyLOCAL = AnalyzeType 14874 } 14875 yyVAL.union = yyLOCAL 14876 case 817: 14877 yyDollar = yyS[yypt-0 : yypt+1] 14878 var yyLOCAL VExplainType 14879 //line sql.y:4406 14880 { 14881 yyLOCAL = PlanVExplainType 14882 } 14883 yyVAL.union = yyLOCAL 14884 case 818: 14885 yyDollar = yyS[yypt-1 : yypt+1] 14886 var yyLOCAL VExplainType 14887 //line sql.y:4410 14888 { 14889 yyLOCAL = PlanVExplainType 14890 } 14891 yyVAL.union = yyLOCAL 14892 case 819: 14893 yyDollar = yyS[yypt-1 : yypt+1] 14894 var yyLOCAL VExplainType 14895 //line sql.y:4414 14896 { 14897 yyLOCAL = AllVExplainType 14898 } 14899 yyVAL.union = yyLOCAL 14900 case 820: 14901 yyDollar = yyS[yypt-1 : yypt+1] 14902 var yyLOCAL VExplainType 14903 //line sql.y:4418 14904 { 14905 yyLOCAL = QueriesVExplainType 14906 } 14907 yyVAL.union = yyLOCAL 14908 case 821: 14909 yyDollar = yyS[yypt-1 : yypt+1] 14910 //line sql.y:4424 14911 { 14912 yyVAL.str = yyDollar[1].str 14913 } 14914 case 822: 14915 yyDollar = yyS[yypt-1 : yypt+1] 14916 //line sql.y:4428 14917 { 14918 yyVAL.str = yyDollar[1].str 14919 } 14920 case 823: 14921 yyDollar = yyS[yypt-1 : yypt+1] 14922 //line sql.y:4432 14923 { 14924 yyVAL.str = yyDollar[1].str 14925 } 14926 case 824: 14927 yyDollar = yyS[yypt-1 : yypt+1] 14928 var yyLOCAL Statement 14929 //line sql.y:4438 14930 { 14931 yyLOCAL = yyDollar[1].selStmtUnion() 14932 } 14933 yyVAL.union = yyLOCAL 14934 case 825: 14935 yyDollar = yyS[yypt-1 : yypt+1] 14936 var yyLOCAL Statement 14937 //line sql.y:4442 14938 { 14939 yyLOCAL = yyDollar[1].statementUnion() 14940 } 14941 yyVAL.union = yyLOCAL 14942 case 826: 14943 yyDollar = yyS[yypt-1 : yypt+1] 14944 var yyLOCAL Statement 14945 //line sql.y:4446 14946 { 14947 yyLOCAL = yyDollar[1].statementUnion() 14948 } 14949 yyVAL.union = yyLOCAL 14950 case 827: 14951 yyDollar = yyS[yypt-1 : yypt+1] 14952 var yyLOCAL Statement 14953 //line sql.y:4450 14954 { 14955 yyLOCAL = yyDollar[1].statementUnion() 14956 } 14957 yyVAL.union = yyLOCAL 14958 case 828: 14959 yyDollar = yyS[yypt-0 : yypt+1] 14960 //line sql.y:4455 14961 { 14962 yyVAL.str = "" 14963 } 14964 case 829: 14965 yyDollar = yyS[yypt-1 : yypt+1] 14966 //line sql.y:4459 14967 { 14968 yyVAL.str = yyDollar[1].identifierCI.val 14969 } 14970 case 830: 14971 yyDollar = yyS[yypt-1 : yypt+1] 14972 //line sql.y:4463 14973 { 14974 yyVAL.str = encodeSQLString(yyDollar[1].str) 14975 } 14976 case 831: 14977 yyDollar = yyS[yypt-4 : yypt+1] 14978 var yyLOCAL Statement 14979 //line sql.y:4469 14980 { 14981 yyLOCAL = &ExplainTab{Table: yyDollar[3].tableName, Wild: yyDollar[4].str} 14982 } 14983 yyVAL.union = yyLOCAL 14984 case 832: 14985 yyDollar = yyS[yypt-4 : yypt+1] 14986 var yyLOCAL Statement 14987 //line sql.y:4473 14988 { 14989 yyLOCAL = &ExplainStmt{Type: yyDollar[3].explainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()} 14990 } 14991 yyVAL.union = yyLOCAL 14992 case 833: 14993 yyDollar = yyS[yypt-4 : yypt+1] 14994 var yyLOCAL Statement 14995 //line sql.y:4479 14996 { 14997 yyLOCAL = &VExplainStmt{Type: yyDollar[3].vexplainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()} 14998 } 14999 yyVAL.union = yyLOCAL 15000 case 834: 15001 yyDollar = yyS[yypt-2 : yypt+1] 15002 var yyLOCAL Statement 15003 //line sql.y:4485 15004 { 15005 yyLOCAL = &OtherAdmin{} 15006 } 15007 yyVAL.union = yyLOCAL 15008 case 835: 15009 yyDollar = yyS[yypt-2 : yypt+1] 15010 var yyLOCAL Statement 15011 //line sql.y:4489 15012 { 15013 yyLOCAL = &OtherAdmin{} 15014 } 15015 yyVAL.union = yyLOCAL 15016 case 836: 15017 yyDollar = yyS[yypt-3 : yypt+1] 15018 var yyLOCAL Statement 15019 //line sql.y:4495 15020 { 15021 yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} 15022 } 15023 yyVAL.union = yyLOCAL 15024 case 837: 15025 yyDollar = yyS[yypt-1 : yypt+1] 15026 var yyLOCAL TableAndLockTypes 15027 //line sql.y:4501 15028 { 15029 yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} 15030 } 15031 yyVAL.union = yyLOCAL 15032 case 838: 15033 yyDollar = yyS[yypt-3 : yypt+1] 15034 //line sql.y:4505 15035 { 15036 yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) 15037 *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) 15038 } 15039 case 839: 15040 yyDollar = yyS[yypt-2 : yypt+1] 15041 var yyLOCAL *TableAndLockType 15042 //line sql.y:4511 15043 { 15044 yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} 15045 } 15046 yyVAL.union = yyLOCAL 15047 case 840: 15048 yyDollar = yyS[yypt-1 : yypt+1] 15049 var yyLOCAL LockType 15050 //line sql.y:4517 15051 { 15052 yyLOCAL = Read 15053 } 15054 yyVAL.union = yyLOCAL 15055 case 841: 15056 yyDollar = yyS[yypt-2 : yypt+1] 15057 var yyLOCAL LockType 15058 //line sql.y:4521 15059 { 15060 yyLOCAL = ReadLocal 15061 } 15062 yyVAL.union = yyLOCAL 15063 case 842: 15064 yyDollar = yyS[yypt-1 : yypt+1] 15065 var yyLOCAL LockType 15066 //line sql.y:4525 15067 { 15068 yyLOCAL = Write 15069 } 15070 yyVAL.union = yyLOCAL 15071 case 843: 15072 yyDollar = yyS[yypt-2 : yypt+1] 15073 var yyLOCAL LockType 15074 //line sql.y:4529 15075 { 15076 yyLOCAL = LowPriorityWrite 15077 } 15078 yyVAL.union = yyLOCAL 15079 case 844: 15080 yyDollar = yyS[yypt-2 : yypt+1] 15081 var yyLOCAL Statement 15082 //line sql.y:4535 15083 { 15084 yyLOCAL = &UnlockTables{} 15085 } 15086 yyVAL.union = yyLOCAL 15087 case 845: 15088 yyDollar = yyS[yypt-4 : yypt+1] 15089 var yyLOCAL Statement 15090 //line sql.y:4541 15091 { 15092 yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} 15093 } 15094 yyVAL.union = yyLOCAL 15095 case 846: 15096 yyDollar = yyS[yypt-3 : yypt+1] 15097 var yyLOCAL Statement 15098 //line sql.y:4547 15099 { 15100 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} 15101 } 15102 yyVAL.union = yyLOCAL 15103 case 847: 15104 yyDollar = yyS[yypt-3 : yypt+1] 15105 var yyLOCAL Statement 15106 //line sql.y:4551 15107 { 15108 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} 15109 } 15110 yyVAL.union = yyLOCAL 15111 case 848: 15112 yyDollar = yyS[yypt-6 : yypt+1] 15113 var yyLOCAL Statement 15114 //line sql.y:4555 15115 { 15116 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} 15117 } 15118 yyVAL.union = yyLOCAL 15119 case 849: 15120 yyDollar = yyS[yypt-4 : yypt+1] 15121 var yyLOCAL Statement 15122 //line sql.y:4559 15123 { 15124 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} 15125 } 15126 yyVAL.union = yyLOCAL 15127 case 850: 15128 yyDollar = yyS[yypt-7 : yypt+1] 15129 var yyLOCAL Statement 15130 //line sql.y:4563 15131 { 15132 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} 15133 } 15134 yyVAL.union = yyLOCAL 15135 case 851: 15136 yyDollar = yyS[yypt-6 : yypt+1] 15137 var yyLOCAL Statement 15138 //line sql.y:4567 15139 { 15140 yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} 15141 } 15142 yyVAL.union = yyLOCAL 15143 case 852: 15144 yyDollar = yyS[yypt-1 : yypt+1] 15145 //line sql.y:4573 15146 { 15147 yyVAL.strs = []string{yyDollar[1].str} 15148 } 15149 case 853: 15150 yyDollar = yyS[yypt-3 : yypt+1] 15151 //line sql.y:4577 15152 { 15153 yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) 15154 } 15155 case 854: 15156 yyDollar = yyS[yypt-2 : yypt+1] 15157 //line sql.y:4583 15158 { 15159 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 15160 } 15161 case 855: 15162 yyDollar = yyS[yypt-2 : yypt+1] 15163 //line sql.y:4587 15164 { 15165 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 15166 } 15167 case 856: 15168 yyDollar = yyS[yypt-2 : yypt+1] 15169 //line sql.y:4591 15170 { 15171 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 15172 } 15173 case 857: 15174 yyDollar = yyS[yypt-2 : yypt+1] 15175 //line sql.y:4595 15176 { 15177 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 15178 } 15179 case 858: 15180 yyDollar = yyS[yypt-1 : yypt+1] 15181 //line sql.y:4599 15182 { 15183 yyVAL.str = string(yyDollar[1].str) 15184 } 15185 case 859: 15186 yyDollar = yyS[yypt-1 : yypt+1] 15187 //line sql.y:4603 15188 { 15189 yyVAL.str = string(yyDollar[1].str) 15190 } 15191 case 860: 15192 yyDollar = yyS[yypt-1 : yypt+1] 15193 //line sql.y:4607 15194 { 15195 yyVAL.str = string(yyDollar[1].str) 15196 } 15197 case 861: 15198 yyDollar = yyS[yypt-3 : yypt+1] 15199 //line sql.y:4611 15200 { 15201 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str 15202 } 15203 case 862: 15204 yyDollar = yyS[yypt-2 : yypt+1] 15205 //line sql.y:4615 15206 { 15207 yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) 15208 } 15209 case 863: 15210 yyDollar = yyS[yypt-1 : yypt+1] 15211 //line sql.y:4619 15212 { 15213 yyVAL.str = string(yyDollar[1].str) 15214 } 15215 case 864: 15216 yyDollar = yyS[yypt-1 : yypt+1] 15217 //line sql.y:4623 15218 { 15219 yyVAL.str = string(yyDollar[1].str) 15220 } 15221 case 865: 15222 yyDollar = yyS[yypt-1 : yypt+1] 15223 //line sql.y:4627 15224 { 15225 yyVAL.str = string(yyDollar[1].str) 15226 } 15227 case 866: 15228 yyDollar = yyS[yypt-0 : yypt+1] 15229 var yyLOCAL bool 15230 //line sql.y:4632 15231 { 15232 yyLOCAL = false 15233 } 15234 yyVAL.union = yyLOCAL 15235 case 867: 15236 yyDollar = yyS[yypt-1 : yypt+1] 15237 var yyLOCAL bool 15238 //line sql.y:4636 15239 { 15240 yyLOCAL = true 15241 } 15242 yyVAL.union = yyLOCAL 15243 case 868: 15244 yyDollar = yyS[yypt-1 : yypt+1] 15245 var yyLOCAL bool 15246 //line sql.y:4640 15247 { 15248 yyLOCAL = true 15249 } 15250 yyVAL.union = yyLOCAL 15251 case 869: 15252 yyDollar = yyS[yypt-0 : yypt+1] 15253 //line sql.y:4645 15254 { 15255 yyVAL.str = "" 15256 } 15257 case 870: 15258 yyDollar = yyS[yypt-3 : yypt+1] 15259 //line sql.y:4649 15260 { 15261 yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String() 15262 } 15263 case 871: 15264 yyDollar = yyS[yypt-0 : yypt+1] 15265 //line sql.y:4654 15266 { 15267 setAllowComments(yylex, true) 15268 } 15269 case 872: 15270 yyDollar = yyS[yypt-2 : yypt+1] 15271 //line sql.y:4658 15272 { 15273 yyVAL.strs = yyDollar[2].strs 15274 setAllowComments(yylex, false) 15275 } 15276 case 873: 15277 yyDollar = yyS[yypt-0 : yypt+1] 15278 //line sql.y:4664 15279 { 15280 yyVAL.strs = nil 15281 } 15282 case 874: 15283 yyDollar = yyS[yypt-2 : yypt+1] 15284 //line sql.y:4668 15285 { 15286 yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) 15287 } 15288 case 875: 15289 yyDollar = yyS[yypt-1 : yypt+1] 15290 var yyLOCAL bool 15291 //line sql.y:4674 15292 { 15293 yyLOCAL = true 15294 } 15295 yyVAL.union = yyLOCAL 15296 case 876: 15297 yyDollar = yyS[yypt-2 : yypt+1] 15298 var yyLOCAL bool 15299 //line sql.y:4678 15300 { 15301 yyLOCAL = false 15302 } 15303 yyVAL.union = yyLOCAL 15304 case 877: 15305 yyDollar = yyS[yypt-2 : yypt+1] 15306 var yyLOCAL bool 15307 //line sql.y:4682 15308 { 15309 yyLOCAL = true 15310 } 15311 yyVAL.union = yyLOCAL 15312 case 878: 15313 yyDollar = yyS[yypt-0 : yypt+1] 15314 //line sql.y:4687 15315 { 15316 yyVAL.str = "" 15317 } 15318 case 879: 15319 yyDollar = yyS[yypt-1 : yypt+1] 15320 //line sql.y:4691 15321 { 15322 yyVAL.str = SQLNoCacheStr 15323 } 15324 case 880: 15325 yyDollar = yyS[yypt-1 : yypt+1] 15326 //line sql.y:4695 15327 { 15328 yyVAL.str = SQLCacheStr 15329 } 15330 case 881: 15331 yyDollar = yyS[yypt-0 : yypt+1] 15332 var yyLOCAL bool 15333 //line sql.y:4700 15334 { 15335 yyLOCAL = false 15336 } 15337 yyVAL.union = yyLOCAL 15338 case 882: 15339 yyDollar = yyS[yypt-1 : yypt+1] 15340 var yyLOCAL bool 15341 //line sql.y:4704 15342 { 15343 yyLOCAL = true 15344 } 15345 yyVAL.union = yyLOCAL 15346 case 883: 15347 yyDollar = yyS[yypt-1 : yypt+1] 15348 var yyLOCAL bool 15349 //line sql.y:4708 15350 { 15351 yyLOCAL = true 15352 } 15353 yyVAL.union = yyLOCAL 15354 case 884: 15355 yyDollar = yyS[yypt-5 : yypt+1] 15356 var yyLOCAL Statement 15357 //line sql.y:4714 15358 { 15359 yyLOCAL = &PrepareStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} 15360 } 15361 yyVAL.union = yyLOCAL 15362 case 885: 15363 yyDollar = yyS[yypt-5 : yypt+1] 15364 var yyLOCAL Statement 15365 //line sql.y:4718 15366 { 15367 yyLOCAL = &PrepareStmt{ 15368 Name: yyDollar[3].identifierCI, 15369 Comments: Comments(yyDollar[2].strs).Parsed(), 15370 Statement: yyDollar[5].variableUnion(), 15371 } 15372 } 15373 yyVAL.union = yyLOCAL 15374 case 886: 15375 yyDollar = yyS[yypt-4 : yypt+1] 15376 var yyLOCAL Statement 15377 //line sql.y:4728 15378 { 15379 yyLOCAL = &ExecuteStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].variablesUnion()} 15380 } 15381 yyVAL.union = yyLOCAL 15382 case 887: 15383 yyDollar = yyS[yypt-0 : yypt+1] 15384 var yyLOCAL []*Variable 15385 //line sql.y:4733 15386 { 15387 yyLOCAL = nil 15388 } 15389 yyVAL.union = yyLOCAL 15390 case 888: 15391 yyDollar = yyS[yypt-2 : yypt+1] 15392 var yyLOCAL []*Variable 15393 //line sql.y:4737 15394 { 15395 yyLOCAL = yyDollar[2].variablesUnion() 15396 } 15397 yyVAL.union = yyLOCAL 15398 case 889: 15399 yyDollar = yyS[yypt-4 : yypt+1] 15400 var yyLOCAL Statement 15401 //line sql.y:4743 15402 { 15403 yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI} 15404 } 15405 yyVAL.union = yyLOCAL 15406 case 890: 15407 yyDollar = yyS[yypt-4 : yypt+1] 15408 var yyLOCAL Statement 15409 //line sql.y:4747 15410 { 15411 yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI} 15412 } 15413 yyVAL.union = yyLOCAL 15414 case 891: 15415 yyDollar = yyS[yypt-0 : yypt+1] 15416 var yyLOCAL SelectExprs 15417 //line sql.y:4752 15418 { 15419 yyLOCAL = nil 15420 } 15421 yyVAL.union = yyLOCAL 15422 case 892: 15423 yyDollar = yyS[yypt-1 : yypt+1] 15424 var yyLOCAL SelectExprs 15425 //line sql.y:4756 15426 { 15427 yyLOCAL = yyDollar[1].selectExprsUnion() 15428 } 15429 yyVAL.union = yyLOCAL 15430 case 893: 15431 yyDollar = yyS[yypt-0 : yypt+1] 15432 //line sql.y:4761 15433 { 15434 yyVAL.strs = nil 15435 } 15436 case 894: 15437 yyDollar = yyS[yypt-1 : yypt+1] 15438 //line sql.y:4765 15439 { 15440 yyVAL.strs = []string{yyDollar[1].str} 15441 } 15442 case 895: 15443 yyDollar = yyS[yypt-2 : yypt+1] 15444 //line sql.y:4769 15445 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' 15446 yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} 15447 } 15448 case 896: 15449 yyDollar = yyS[yypt-3 : yypt+1] 15450 //line sql.y:4773 15451 { 15452 yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} 15453 } 15454 case 897: 15455 yyDollar = yyS[yypt-4 : yypt+1] 15456 //line sql.y:4777 15457 { 15458 yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} 15459 } 15460 case 898: 15461 yyDollar = yyS[yypt-1 : yypt+1] 15462 //line sql.y:4783 15463 { 15464 yyVAL.str = SQLNoCacheStr 15465 } 15466 case 899: 15467 yyDollar = yyS[yypt-1 : yypt+1] 15468 //line sql.y:4787 15469 { 15470 yyVAL.str = SQLCacheStr 15471 } 15472 case 900: 15473 yyDollar = yyS[yypt-1 : yypt+1] 15474 //line sql.y:4791 15475 { 15476 yyVAL.str = DistinctStr 15477 } 15478 case 901: 15479 yyDollar = yyS[yypt-1 : yypt+1] 15480 //line sql.y:4795 15481 { 15482 yyVAL.str = DistinctStr 15483 } 15484 case 902: 15485 yyDollar = yyS[yypt-1 : yypt+1] 15486 //line sql.y:4799 15487 { 15488 yyVAL.str = StraightJoinHint 15489 } 15490 case 903: 15491 yyDollar = yyS[yypt-1 : yypt+1] 15492 //line sql.y:4803 15493 { 15494 yyVAL.str = SQLCalcFoundRowsStr 15495 } 15496 case 904: 15497 yyDollar = yyS[yypt-1 : yypt+1] 15498 //line sql.y:4807 15499 { 15500 yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway 15501 } 15502 case 905: 15503 yyDollar = yyS[yypt-1 : yypt+1] 15504 var yyLOCAL SelectExprs 15505 //line sql.y:4813 15506 { 15507 yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} 15508 } 15509 yyVAL.union = yyLOCAL 15510 case 906: 15511 yyDollar = yyS[yypt-3 : yypt+1] 15512 //line sql.y:4817 15513 { 15514 yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) 15515 *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) 15516 } 15517 case 907: 15518 yyDollar = yyS[yypt-1 : yypt+1] 15519 var yyLOCAL SelectExpr 15520 //line sql.y:4823 15521 { 15522 yyLOCAL = &StarExpr{} 15523 } 15524 yyVAL.union = yyLOCAL 15525 case 908: 15526 yyDollar = yyS[yypt-2 : yypt+1] 15527 var yyLOCAL SelectExpr 15528 //line sql.y:4827 15529 { 15530 yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].identifierCI} 15531 } 15532 yyVAL.union = yyLOCAL 15533 case 909: 15534 yyDollar = yyS[yypt-3 : yypt+1] 15535 var yyLOCAL SelectExpr 15536 //line sql.y:4831 15537 { 15538 yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].identifierCS}} 15539 } 15540 yyVAL.union = yyLOCAL 15541 case 910: 15542 yyDollar = yyS[yypt-5 : yypt+1] 15543 var yyLOCAL SelectExpr 15544 //line sql.y:4835 15545 { 15546 yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}} 15547 } 15548 yyVAL.union = yyLOCAL 15549 case 911: 15550 yyDollar = yyS[yypt-0 : yypt+1] 15551 //line sql.y:4840 15552 { 15553 yyVAL.identifierCI = IdentifierCI{} 15554 } 15555 case 912: 15556 yyDollar = yyS[yypt-1 : yypt+1] 15557 //line sql.y:4844 15558 { 15559 yyVAL.identifierCI = yyDollar[1].identifierCI 15560 } 15561 case 913: 15562 yyDollar = yyS[yypt-2 : yypt+1] 15563 //line sql.y:4848 15564 { 15565 yyVAL.identifierCI = yyDollar[2].identifierCI 15566 } 15567 case 915: 15568 yyDollar = yyS[yypt-1 : yypt+1] 15569 //line sql.y:4855 15570 { 15571 yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) 15572 } 15573 case 916: 15574 yyDollar = yyS[yypt-0 : yypt+1] 15575 var yyLOCAL TableExprs 15576 //line sql.y:4860 15577 { 15578 yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewIdentifierCS("dual")}}} 15579 } 15580 yyVAL.union = yyLOCAL 15581 case 917: 15582 yyDollar = yyS[yypt-1 : yypt+1] 15583 var yyLOCAL TableExprs 15584 //line sql.y:4864 15585 { 15586 yyLOCAL = yyDollar[1].tableExprsUnion() 15587 } 15588 yyVAL.union = yyLOCAL 15589 case 918: 15590 yyDollar = yyS[yypt-2 : yypt+1] 15591 var yyLOCAL TableExprs 15592 //line sql.y:4870 15593 { 15594 yyLOCAL = yyDollar[2].tableExprsUnion() 15595 } 15596 yyVAL.union = yyLOCAL 15597 case 919: 15598 yyDollar = yyS[yypt-1 : yypt+1] 15599 var yyLOCAL TableExprs 15600 //line sql.y:4876 15601 { 15602 yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} 15603 } 15604 yyVAL.union = yyLOCAL 15605 case 920: 15606 yyDollar = yyS[yypt-3 : yypt+1] 15607 //line sql.y:4880 15608 { 15609 yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) 15610 *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) 15611 } 15612 case 923: 15613 yyDollar = yyS[yypt-1 : yypt+1] 15614 var yyLOCAL TableExpr 15615 //line sql.y:4890 15616 { 15617 yyLOCAL = yyDollar[1].aliasedTableNameUnion() 15618 } 15619 yyVAL.union = yyLOCAL 15620 case 924: 15621 yyDollar = yyS[yypt-4 : yypt+1] 15622 var yyLOCAL TableExpr 15623 //line sql.y:4894 15624 { 15625 yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].identifierCS, Columns: yyDollar[4].columnsUnion()} 15626 } 15627 yyVAL.union = yyLOCAL 15628 case 925: 15629 yyDollar = yyS[yypt-3 : yypt+1] 15630 var yyLOCAL TableExpr 15631 //line sql.y:4898 15632 { 15633 yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} 15634 } 15635 yyVAL.union = yyLOCAL 15636 case 926: 15637 yyDollar = yyS[yypt-1 : yypt+1] 15638 var yyLOCAL TableExpr 15639 //line sql.y:4902 15640 { 15641 yyLOCAL = yyDollar[1].tableExprUnion() 15642 } 15643 yyVAL.union = yyLOCAL 15644 case 927: 15645 yyDollar = yyS[yypt-1 : yypt+1] 15646 var yyLOCAL *DerivedTable 15647 //line sql.y:4908 15648 { 15649 yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[1].selStmtUnion()} 15650 } 15651 yyVAL.union = yyLOCAL 15652 case 928: 15653 yyDollar = yyS[yypt-2 : yypt+1] 15654 var yyLOCAL *DerivedTable 15655 //line sql.y:4912 15656 { 15657 yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[2].selStmtUnion()} 15658 } 15659 yyVAL.union = yyLOCAL 15660 case 929: 15661 yyDollar = yyS[yypt-3 : yypt+1] 15662 var yyLOCAL *AliasedTableExpr 15663 //line sql.y:4918 15664 { 15665 yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].identifierCS, Hints: yyDollar[3].indexHintsUnion()} 15666 } 15667 yyVAL.union = yyLOCAL 15668 case 930: 15669 yyDollar = yyS[yypt-7 : yypt+1] 15670 var yyLOCAL *AliasedTableExpr 15671 //line sql.y:4922 15672 { 15673 yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].identifierCS, Hints: yyDollar[7].indexHintsUnion()} 15674 } 15675 yyVAL.union = yyLOCAL 15676 case 931: 15677 yyDollar = yyS[yypt-0 : yypt+1] 15678 var yyLOCAL Columns 15679 //line sql.y:4927 15680 { 15681 yyLOCAL = nil 15682 } 15683 yyVAL.union = yyLOCAL 15684 case 932: 15685 yyDollar = yyS[yypt-3 : yypt+1] 15686 var yyLOCAL Columns 15687 //line sql.y:4931 15688 { 15689 yyLOCAL = yyDollar[2].columnsUnion() 15690 } 15691 yyVAL.union = yyLOCAL 15692 case 933: 15693 yyDollar = yyS[yypt-0 : yypt+1] 15694 var yyLOCAL Columns 15695 //line sql.y:4936 15696 { 15697 yyLOCAL = nil 15698 } 15699 yyVAL.union = yyLOCAL 15700 case 934: 15701 yyDollar = yyS[yypt-1 : yypt+1] 15702 var yyLOCAL Columns 15703 //line sql.y:4940 15704 { 15705 yyLOCAL = yyDollar[1].columnsUnion() 15706 } 15707 yyVAL.union = yyLOCAL 15708 case 935: 15709 yyDollar = yyS[yypt-1 : yypt+1] 15710 var yyLOCAL Columns 15711 //line sql.y:4946 15712 { 15713 yyLOCAL = Columns{yyDollar[1].identifierCI} 15714 } 15715 yyVAL.union = yyLOCAL 15716 case 936: 15717 yyDollar = yyS[yypt-3 : yypt+1] 15718 //line sql.y:4950 15719 { 15720 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 15721 *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) 15722 } 15723 case 937: 15724 yyDollar = yyS[yypt-1 : yypt+1] 15725 var yyLOCAL []*Variable 15726 //line sql.y:4956 15727 { 15728 yyLOCAL = []*Variable{yyDollar[1].variableUnion()} 15729 } 15730 yyVAL.union = yyLOCAL 15731 case 938: 15732 yyDollar = yyS[yypt-3 : yypt+1] 15733 //line sql.y:4960 15734 { 15735 yySLICE := (*[]*Variable)(yyIaddr(yyVAL.union)) 15736 *yySLICE = append(*yySLICE, yyDollar[3].variableUnion()) 15737 } 15738 case 939: 15739 yyDollar = yyS[yypt-1 : yypt+1] 15740 var yyLOCAL Columns 15741 //line sql.y:4966 15742 { 15743 yyLOCAL = Columns{yyDollar[1].identifierCI} 15744 } 15745 yyVAL.union = yyLOCAL 15746 case 940: 15747 yyDollar = yyS[yypt-1 : yypt+1] 15748 var yyLOCAL Columns 15749 //line sql.y:4970 15750 { 15751 yyLOCAL = Columns{NewIdentifierCI(string(yyDollar[1].str))} 15752 } 15753 yyVAL.union = yyLOCAL 15754 case 941: 15755 yyDollar = yyS[yypt-3 : yypt+1] 15756 //line sql.y:4974 15757 { 15758 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 15759 *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) 15760 } 15761 case 942: 15762 yyDollar = yyS[yypt-3 : yypt+1] 15763 //line sql.y:4978 15764 { 15765 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 15766 *yySLICE = append(*yySLICE, NewIdentifierCI(string(yyDollar[3].str))) 15767 } 15768 case 943: 15769 yyDollar = yyS[yypt-1 : yypt+1] 15770 var yyLOCAL Partitions 15771 //line sql.y:4984 15772 { 15773 yyLOCAL = Partitions{yyDollar[1].identifierCI} 15774 } 15775 yyVAL.union = yyLOCAL 15776 case 944: 15777 yyDollar = yyS[yypt-3 : yypt+1] 15778 //line sql.y:4988 15779 { 15780 yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) 15781 *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) 15782 } 15783 case 945: 15784 yyDollar = yyS[yypt-4 : yypt+1] 15785 var yyLOCAL TableExpr 15786 //line sql.y:5001 15787 { 15788 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} 15789 } 15790 yyVAL.union = yyLOCAL 15791 case 946: 15792 yyDollar = yyS[yypt-4 : yypt+1] 15793 var yyLOCAL TableExpr 15794 //line sql.y:5005 15795 { 15796 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} 15797 } 15798 yyVAL.union = yyLOCAL 15799 case 947: 15800 yyDollar = yyS[yypt-4 : yypt+1] 15801 var yyLOCAL TableExpr 15802 //line sql.y:5009 15803 { 15804 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} 15805 } 15806 yyVAL.union = yyLOCAL 15807 case 948: 15808 yyDollar = yyS[yypt-3 : yypt+1] 15809 var yyLOCAL TableExpr 15810 //line sql.y:5013 15811 { 15812 yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} 15813 } 15814 yyVAL.union = yyLOCAL 15815 case 949: 15816 yyDollar = yyS[yypt-2 : yypt+1] 15817 //line sql.y:5019 15818 { 15819 yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} 15820 } 15821 case 950: 15822 yyDollar = yyS[yypt-4 : yypt+1] 15823 //line sql.y:5021 15824 { 15825 yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} 15826 } 15827 case 951: 15828 yyDollar = yyS[yypt-0 : yypt+1] 15829 //line sql.y:5025 15830 { 15831 yyVAL.joinCondition = &JoinCondition{} 15832 } 15833 case 952: 15834 yyDollar = yyS[yypt-1 : yypt+1] 15835 //line sql.y:5027 15836 { 15837 yyVAL.joinCondition = yyDollar[1].joinCondition 15838 } 15839 case 953: 15840 yyDollar = yyS[yypt-0 : yypt+1] 15841 //line sql.y:5031 15842 { 15843 yyVAL.joinCondition = &JoinCondition{} 15844 } 15845 case 954: 15846 yyDollar = yyS[yypt-2 : yypt+1] 15847 //line sql.y:5033 15848 { 15849 yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} 15850 } 15851 case 955: 15852 yyDollar = yyS[yypt-0 : yypt+1] 15853 //line sql.y:5036 15854 { 15855 yyVAL.empty = struct{}{} 15856 } 15857 case 956: 15858 yyDollar = yyS[yypt-1 : yypt+1] 15859 //line sql.y:5038 15860 { 15861 yyVAL.empty = struct{}{} 15862 } 15863 case 957: 15864 yyDollar = yyS[yypt-0 : yypt+1] 15865 //line sql.y:5041 15866 { 15867 yyVAL.identifierCS = NewIdentifierCS("") 15868 } 15869 case 958: 15870 yyDollar = yyS[yypt-1 : yypt+1] 15871 //line sql.y:5045 15872 { 15873 yyVAL.identifierCS = yyDollar[1].identifierCS 15874 } 15875 case 959: 15876 yyDollar = yyS[yypt-2 : yypt+1] 15877 //line sql.y:5049 15878 { 15879 yyVAL.identifierCS = yyDollar[2].identifierCS 15880 } 15881 case 961: 15882 yyDollar = yyS[yypt-1 : yypt+1] 15883 //line sql.y:5056 15884 { 15885 yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) 15886 } 15887 case 962: 15888 yyDollar = yyS[yypt-1 : yypt+1] 15889 var yyLOCAL JoinType 15890 //line sql.y:5062 15891 { 15892 yyLOCAL = NormalJoinType 15893 } 15894 yyVAL.union = yyLOCAL 15895 case 963: 15896 yyDollar = yyS[yypt-2 : yypt+1] 15897 var yyLOCAL JoinType 15898 //line sql.y:5066 15899 { 15900 yyLOCAL = NormalJoinType 15901 } 15902 yyVAL.union = yyLOCAL 15903 case 964: 15904 yyDollar = yyS[yypt-2 : yypt+1] 15905 var yyLOCAL JoinType 15906 //line sql.y:5070 15907 { 15908 yyLOCAL = NormalJoinType 15909 } 15910 yyVAL.union = yyLOCAL 15911 case 965: 15912 yyDollar = yyS[yypt-1 : yypt+1] 15913 var yyLOCAL JoinType 15914 //line sql.y:5076 15915 { 15916 yyLOCAL = StraightJoinType 15917 } 15918 yyVAL.union = yyLOCAL 15919 case 966: 15920 yyDollar = yyS[yypt-2 : yypt+1] 15921 var yyLOCAL JoinType 15922 //line sql.y:5082 15923 { 15924 yyLOCAL = LeftJoinType 15925 } 15926 yyVAL.union = yyLOCAL 15927 case 967: 15928 yyDollar = yyS[yypt-3 : yypt+1] 15929 var yyLOCAL JoinType 15930 //line sql.y:5086 15931 { 15932 yyLOCAL = LeftJoinType 15933 } 15934 yyVAL.union = yyLOCAL 15935 case 968: 15936 yyDollar = yyS[yypt-2 : yypt+1] 15937 var yyLOCAL JoinType 15938 //line sql.y:5090 15939 { 15940 yyLOCAL = RightJoinType 15941 } 15942 yyVAL.union = yyLOCAL 15943 case 969: 15944 yyDollar = yyS[yypt-3 : yypt+1] 15945 var yyLOCAL JoinType 15946 //line sql.y:5094 15947 { 15948 yyLOCAL = RightJoinType 15949 } 15950 yyVAL.union = yyLOCAL 15951 case 970: 15952 yyDollar = yyS[yypt-2 : yypt+1] 15953 var yyLOCAL JoinType 15954 //line sql.y:5100 15955 { 15956 yyLOCAL = NaturalJoinType 15957 } 15958 yyVAL.union = yyLOCAL 15959 case 971: 15960 yyDollar = yyS[yypt-2 : yypt+1] 15961 var yyLOCAL JoinType 15962 //line sql.y:5104 15963 { 15964 if yyDollar[2].joinTypeUnion() == LeftJoinType { 15965 yyLOCAL = NaturalLeftJoinType 15966 } else { 15967 yyLOCAL = NaturalRightJoinType 15968 } 15969 } 15970 yyVAL.union = yyLOCAL 15971 case 972: 15972 yyDollar = yyS[yypt-2 : yypt+1] 15973 //line sql.y:5114 15974 { 15975 yyVAL.tableName = yyDollar[2].tableName 15976 } 15977 case 973: 15978 yyDollar = yyS[yypt-1 : yypt+1] 15979 //line sql.y:5118 15980 { 15981 yyVAL.tableName = yyDollar[1].tableName 15982 } 15983 case 974: 15984 yyDollar = yyS[yypt-1 : yypt+1] 15985 //line sql.y:5124 15986 { 15987 yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS} 15988 } 15989 case 975: 15990 yyDollar = yyS[yypt-3 : yypt+1] 15991 //line sql.y:5128 15992 { 15993 yyVAL.tableName = TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS} 15994 } 15995 case 976: 15996 yyDollar = yyS[yypt-3 : yypt+1] 15997 //line sql.y:5134 15998 { 15999 yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS} 16000 } 16001 case 977: 16002 yyDollar = yyS[yypt-0 : yypt+1] 16003 var yyLOCAL IndexHints 16004 //line sql.y:5139 16005 { 16006 yyLOCAL = nil 16007 } 16008 yyVAL.union = yyLOCAL 16009 case 978: 16010 yyDollar = yyS[yypt-1 : yypt+1] 16011 var yyLOCAL IndexHints 16012 //line sql.y:5143 16013 { 16014 yyLOCAL = yyDollar[1].indexHintsUnion() 16015 } 16016 yyVAL.union = yyLOCAL 16017 case 979: 16018 yyDollar = yyS[yypt-1 : yypt+1] 16019 var yyLOCAL IndexHints 16020 //line sql.y:5149 16021 { 16022 yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} 16023 } 16024 yyVAL.union = yyLOCAL 16025 case 980: 16026 yyDollar = yyS[yypt-2 : yypt+1] 16027 //line sql.y:5153 16028 { 16029 yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) 16030 *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) 16031 } 16032 case 981: 16033 yyDollar = yyS[yypt-6 : yypt+1] 16034 var yyLOCAL *IndexHint 16035 //line sql.y:5159 16036 { 16037 yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} 16038 } 16039 yyVAL.union = yyLOCAL 16040 case 982: 16041 yyDollar = yyS[yypt-5 : yypt+1] 16042 var yyLOCAL *IndexHint 16043 //line sql.y:5163 16044 { 16045 yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} 16046 } 16047 yyVAL.union = yyLOCAL 16048 case 983: 16049 yyDollar = yyS[yypt-6 : yypt+1] 16050 var yyLOCAL *IndexHint 16051 //line sql.y:5167 16052 { 16053 yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} 16054 } 16055 yyVAL.union = yyLOCAL 16056 case 984: 16057 yyDollar = yyS[yypt-6 : yypt+1] 16058 var yyLOCAL *IndexHint 16059 //line sql.y:5171 16060 { 16061 yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} 16062 } 16063 yyVAL.union = yyLOCAL 16064 case 985: 16065 yyDollar = yyS[yypt-0 : yypt+1] 16066 var yyLOCAL IndexHintForType 16067 //line sql.y:5176 16068 { 16069 yyLOCAL = NoForType 16070 } 16071 yyVAL.union = yyLOCAL 16072 case 986: 16073 yyDollar = yyS[yypt-2 : yypt+1] 16074 var yyLOCAL IndexHintForType 16075 //line sql.y:5180 16076 { 16077 yyLOCAL = JoinForType 16078 } 16079 yyVAL.union = yyLOCAL 16080 case 987: 16081 yyDollar = yyS[yypt-3 : yypt+1] 16082 var yyLOCAL IndexHintForType 16083 //line sql.y:5184 16084 { 16085 yyLOCAL = OrderByForType 16086 } 16087 yyVAL.union = yyLOCAL 16088 case 988: 16089 yyDollar = yyS[yypt-3 : yypt+1] 16090 var yyLOCAL IndexHintForType 16091 //line sql.y:5188 16092 { 16093 yyLOCAL = GroupByForType 16094 } 16095 yyVAL.union = yyLOCAL 16096 case 989: 16097 yyDollar = yyS[yypt-0 : yypt+1] 16098 var yyLOCAL Expr 16099 //line sql.y:5194 16100 { 16101 yyLOCAL = nil 16102 } 16103 yyVAL.union = yyLOCAL 16104 case 990: 16105 yyDollar = yyS[yypt-2 : yypt+1] 16106 var yyLOCAL Expr 16107 //line sql.y:5198 16108 { 16109 yyLOCAL = yyDollar[2].exprUnion() 16110 } 16111 yyVAL.union = yyLOCAL 16112 case 991: 16113 yyDollar = yyS[yypt-3 : yypt+1] 16114 var yyLOCAL Expr 16115 //line sql.y:5205 16116 { 16117 yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} 16118 } 16119 yyVAL.union = yyLOCAL 16120 case 992: 16121 yyDollar = yyS[yypt-3 : yypt+1] 16122 var yyLOCAL Expr 16123 //line sql.y:5209 16124 { 16125 yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} 16126 } 16127 yyVAL.union = yyLOCAL 16128 case 993: 16129 yyDollar = yyS[yypt-3 : yypt+1] 16130 var yyLOCAL Expr 16131 //line sql.y:5213 16132 { 16133 yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} 16134 } 16135 yyVAL.union = yyLOCAL 16136 case 994: 16137 yyDollar = yyS[yypt-2 : yypt+1] 16138 var yyLOCAL Expr 16139 //line sql.y:5217 16140 { 16141 yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} 16142 } 16143 yyVAL.union = yyLOCAL 16144 case 995: 16145 yyDollar = yyS[yypt-3 : yypt+1] 16146 var yyLOCAL Expr 16147 //line sql.y:5221 16148 { 16149 yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} 16150 } 16151 yyVAL.union = yyLOCAL 16152 case 996: 16153 yyDollar = yyS[yypt-1 : yypt+1] 16154 var yyLOCAL Expr 16155 //line sql.y:5225 16156 { 16157 yyLOCAL = yyDollar[1].exprUnion() 16158 } 16159 yyVAL.union = yyLOCAL 16160 case 997: 16161 yyDollar = yyS[yypt-6 : yypt+1] 16162 var yyLOCAL Expr 16163 //line sql.y:5229 16164 { 16165 yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} 16166 } 16167 yyVAL.union = yyLOCAL 16168 case 998: 16169 yyDollar = yyS[yypt-3 : yypt+1] 16170 var yyLOCAL Expr 16171 //line sql.y:5235 16172 { 16173 yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} 16174 } 16175 yyVAL.union = yyLOCAL 16176 case 999: 16177 yyDollar = yyS[yypt-4 : yypt+1] 16178 var yyLOCAL Expr 16179 //line sql.y:5239 16180 { 16181 yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} 16182 } 16183 yyVAL.union = yyLOCAL 16184 case 1000: 16185 yyDollar = yyS[yypt-3 : yypt+1] 16186 var yyLOCAL Expr 16187 //line sql.y:5243 16188 { 16189 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} 16190 } 16191 yyVAL.union = yyLOCAL 16192 case 1001: 16193 yyDollar = yyS[yypt-1 : yypt+1] 16194 var yyLOCAL Expr 16195 //line sql.y:5247 16196 { 16197 yyLOCAL = yyDollar[1].exprUnion() 16198 } 16199 yyVAL.union = yyLOCAL 16200 case 1002: 16201 yyDollar = yyS[yypt-3 : yypt+1] 16202 var yyLOCAL Expr 16203 //line sql.y:5253 16204 { 16205 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} 16206 } 16207 yyVAL.union = yyLOCAL 16208 case 1003: 16209 yyDollar = yyS[yypt-4 : yypt+1] 16210 var yyLOCAL Expr 16211 //line sql.y:5257 16212 { 16213 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} 16214 } 16215 yyVAL.union = yyLOCAL 16216 case 1004: 16217 yyDollar = yyS[yypt-5 : yypt+1] 16218 var yyLOCAL Expr 16219 //line sql.y:5261 16220 { 16221 yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} 16222 } 16223 yyVAL.union = yyLOCAL 16224 case 1005: 16225 yyDollar = yyS[yypt-6 : yypt+1] 16226 var yyLOCAL Expr 16227 //line sql.y:5265 16228 { 16229 yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} 16230 } 16231 yyVAL.union = yyLOCAL 16232 case 1006: 16233 yyDollar = yyS[yypt-3 : yypt+1] 16234 var yyLOCAL Expr 16235 //line sql.y:5269 16236 { 16237 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} 16238 } 16239 yyVAL.union = yyLOCAL 16240 case 1007: 16241 yyDollar = yyS[yypt-4 : yypt+1] 16242 var yyLOCAL Expr 16243 //line sql.y:5273 16244 { 16245 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} 16246 } 16247 yyVAL.union = yyLOCAL 16248 case 1008: 16249 yyDollar = yyS[yypt-5 : yypt+1] 16250 var yyLOCAL Expr 16251 //line sql.y:5277 16252 { 16253 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} 16254 } 16255 yyVAL.union = yyLOCAL 16256 case 1009: 16257 yyDollar = yyS[yypt-6 : yypt+1] 16258 var yyLOCAL Expr 16259 //line sql.y:5281 16260 { 16261 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} 16262 } 16263 yyVAL.union = yyLOCAL 16264 case 1010: 16265 yyDollar = yyS[yypt-3 : yypt+1] 16266 var yyLOCAL Expr 16267 //line sql.y:5285 16268 { 16269 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} 16270 } 16271 yyVAL.union = yyLOCAL 16272 case 1011: 16273 yyDollar = yyS[yypt-4 : yypt+1] 16274 var yyLOCAL Expr 16275 //line sql.y:5289 16276 { 16277 yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} 16278 } 16279 yyVAL.union = yyLOCAL 16280 case 1012: 16281 yyDollar = yyS[yypt-1 : yypt+1] 16282 var yyLOCAL Expr 16283 //line sql.y:5293 16284 { 16285 yyLOCAL = yyDollar[1].exprUnion() 16286 } 16287 yyVAL.union = yyLOCAL 16288 case 1013: 16289 yyDollar = yyS[yypt-1 : yypt+1] 16290 //line sql.y:5299 16291 { 16292 } 16293 case 1014: 16294 yyDollar = yyS[yypt-1 : yypt+1] 16295 //line sql.y:5302 16296 { 16297 } 16298 case 1015: 16299 yyDollar = yyS[yypt-3 : yypt+1] 16300 var yyLOCAL Expr 16301 //line sql.y:5308 16302 { 16303 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} 16304 } 16305 yyVAL.union = yyLOCAL 16306 case 1016: 16307 yyDollar = yyS[yypt-3 : yypt+1] 16308 var yyLOCAL Expr 16309 //line sql.y:5312 16310 { 16311 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} 16312 } 16313 yyVAL.union = yyLOCAL 16314 case 1017: 16315 yyDollar = yyS[yypt-3 : yypt+1] 16316 var yyLOCAL Expr 16317 //line sql.y:5316 16318 { 16319 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} 16320 } 16321 yyVAL.union = yyLOCAL 16322 case 1018: 16323 yyDollar = yyS[yypt-3 : yypt+1] 16324 var yyLOCAL Expr 16325 //line sql.y:5320 16326 { 16327 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} 16328 } 16329 yyVAL.union = yyLOCAL 16330 case 1019: 16331 yyDollar = yyS[yypt-3 : yypt+1] 16332 var yyLOCAL Expr 16333 //line sql.y:5324 16334 { 16335 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} 16336 } 16337 yyVAL.union = yyLOCAL 16338 case 1020: 16339 yyDollar = yyS[yypt-3 : yypt+1] 16340 var yyLOCAL Expr 16341 //line sql.y:5328 16342 { 16343 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} 16344 } 16345 yyVAL.union = yyLOCAL 16346 case 1021: 16347 yyDollar = yyS[yypt-3 : yypt+1] 16348 var yyLOCAL Expr 16349 //line sql.y:5332 16350 { 16351 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} 16352 } 16353 yyVAL.union = yyLOCAL 16354 case 1022: 16355 yyDollar = yyS[yypt-3 : yypt+1] 16356 var yyLOCAL Expr 16357 //line sql.y:5336 16358 { 16359 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} 16360 } 16361 yyVAL.union = yyLOCAL 16362 case 1023: 16363 yyDollar = yyS[yypt-3 : yypt+1] 16364 var yyLOCAL Expr 16365 //line sql.y:5340 16366 { 16367 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} 16368 } 16369 yyVAL.union = yyLOCAL 16370 case 1024: 16371 yyDollar = yyS[yypt-3 : yypt+1] 16372 var yyLOCAL Expr 16373 //line sql.y:5344 16374 { 16375 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} 16376 } 16377 yyVAL.union = yyLOCAL 16378 case 1025: 16379 yyDollar = yyS[yypt-3 : yypt+1] 16380 var yyLOCAL Expr 16381 //line sql.y:5348 16382 { 16383 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} 16384 } 16385 yyVAL.union = yyLOCAL 16386 case 1026: 16387 yyDollar = yyS[yypt-3 : yypt+1] 16388 var yyLOCAL Expr 16389 //line sql.y:5352 16390 { 16391 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} 16392 } 16393 yyVAL.union = yyLOCAL 16394 case 1027: 16395 yyDollar = yyS[yypt-1 : yypt+1] 16396 var yyLOCAL Expr 16397 //line sql.y:5356 16398 { 16399 yyLOCAL = yyDollar[1].exprUnion() 16400 } 16401 yyVAL.union = yyLOCAL 16402 case 1028: 16403 yyDollar = yyS[yypt-1 : yypt+1] 16404 var yyLOCAL Expr 16405 //line sql.y:5362 16406 { 16407 yyLOCAL = yyDollar[1].exprUnion() 16408 } 16409 yyVAL.union = yyLOCAL 16410 case 1029: 16411 yyDollar = yyS[yypt-1 : yypt+1] 16412 var yyLOCAL Expr 16413 //line sql.y:5366 16414 { 16415 yyLOCAL = yyDollar[1].exprUnion() 16416 } 16417 yyVAL.union = yyLOCAL 16418 case 1030: 16419 yyDollar = yyS[yypt-1 : yypt+1] 16420 var yyLOCAL Expr 16421 //line sql.y:5370 16422 { 16423 yyLOCAL = yyDollar[1].exprUnion() 16424 } 16425 yyVAL.union = yyLOCAL 16426 case 1031: 16427 yyDollar = yyS[yypt-1 : yypt+1] 16428 var yyLOCAL Expr 16429 //line sql.y:5374 16430 { 16431 yyLOCAL = yyDollar[1].exprUnion() 16432 } 16433 yyVAL.union = yyLOCAL 16434 case 1032: 16435 yyDollar = yyS[yypt-3 : yypt+1] 16436 var yyLOCAL Expr 16437 //line sql.y:5378 16438 { 16439 yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} 16440 } 16441 yyVAL.union = yyLOCAL 16442 case 1033: 16443 yyDollar = yyS[yypt-1 : yypt+1] 16444 var yyLOCAL Expr 16445 //line sql.y:5382 16446 { 16447 yyLOCAL = yyDollar[1].exprUnion() 16448 } 16449 yyVAL.union = yyLOCAL 16450 case 1034: 16451 yyDollar = yyS[yypt-1 : yypt+1] 16452 var yyLOCAL Expr 16453 //line sql.y:5386 16454 { 16455 yyLOCAL = yyDollar[1].exprUnion() 16456 } 16457 yyVAL.union = yyLOCAL 16458 case 1035: 16459 yyDollar = yyS[yypt-1 : yypt+1] 16460 var yyLOCAL Expr 16461 //line sql.y:5390 16462 { 16463 yyLOCAL = yyDollar[1].variableUnion() 16464 } 16465 yyVAL.union = yyLOCAL 16466 case 1036: 16467 yyDollar = yyS[yypt-2 : yypt+1] 16468 var yyLOCAL Expr 16469 //line sql.y:5394 16470 { 16471 yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? 16472 } 16473 yyVAL.union = yyLOCAL 16474 case 1037: 16475 yyDollar = yyS[yypt-2 : yypt+1] 16476 var yyLOCAL Expr 16477 //line sql.y:5398 16478 { 16479 yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} 16480 } 16481 yyVAL.union = yyLOCAL 16482 case 1038: 16483 yyDollar = yyS[yypt-2 : yypt+1] 16484 var yyLOCAL Expr 16485 //line sql.y:5402 16486 { 16487 yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} 16488 } 16489 yyVAL.union = yyLOCAL 16490 case 1039: 16491 yyDollar = yyS[yypt-2 : yypt+1] 16492 var yyLOCAL Expr 16493 //line sql.y:5406 16494 { 16495 yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} 16496 } 16497 yyVAL.union = yyLOCAL 16498 case 1040: 16499 yyDollar = yyS[yypt-1 : yypt+1] 16500 var yyLOCAL Expr 16501 //line sql.y:5410 16502 { 16503 yyLOCAL = yyDollar[1].subqueryUnion() 16504 } 16505 yyVAL.union = yyLOCAL 16506 case 1041: 16507 yyDollar = yyS[yypt-1 : yypt+1] 16508 var yyLOCAL Expr 16509 //line sql.y:5414 16510 { 16511 yyLOCAL = yyDollar[1].exprUnion() 16512 } 16513 yyVAL.union = yyLOCAL 16514 case 1042: 16515 yyDollar = yyS[yypt-2 : yypt+1] 16516 var yyLOCAL Expr 16517 //line sql.y:5418 16518 { 16519 yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} 16520 } 16521 yyVAL.union = yyLOCAL 16522 case 1043: 16523 yyDollar = yyS[yypt-7 : yypt+1] 16524 var yyLOCAL Expr 16525 //line sql.y:5422 16526 { 16527 yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()} 16528 } 16529 yyVAL.union = yyLOCAL 16530 case 1044: 16531 yyDollar = yyS[yypt-7 : yypt+1] 16532 var yyLOCAL Expr 16533 //line sql.y:5426 16534 { 16535 yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()} 16536 } 16537 yyVAL.union = yyLOCAL 16538 case 1045: 16539 yyDollar = yyS[yypt-6 : yypt+1] 16540 var yyLOCAL Expr 16541 //line sql.y:5430 16542 { 16543 yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} 16544 } 16545 yyVAL.union = yyLOCAL 16546 case 1046: 16547 yyDollar = yyS[yypt-6 : yypt+1] 16548 var yyLOCAL Expr 16549 //line sql.y:5434 16550 { 16551 yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} 16552 } 16553 yyVAL.union = yyLOCAL 16554 case 1047: 16555 yyDollar = yyS[yypt-2 : yypt+1] 16556 var yyLOCAL Expr 16557 //line sql.y:5438 16558 { 16559 // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary 16560 // To convert a string expression to a binary string, these constructs are equivalent: 16561 // CAST(expr AS BINARY) 16562 // BINARY expr 16563 yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}} 16564 } 16565 yyVAL.union = yyLOCAL 16566 case 1048: 16567 yyDollar = yyS[yypt-2 : yypt+1] 16568 var yyLOCAL Expr 16569 //line sql.y:5446 16570 { 16571 yyLOCAL = &Default{ColName: yyDollar[2].str} 16572 } 16573 yyVAL.union = yyLOCAL 16574 case 1049: 16575 yyDollar = yyS[yypt-1 : yypt+1] 16576 var yyLOCAL Expr 16577 //line sql.y:5450 16578 { 16579 // INTERVAL can trigger a shift / reduce conflict. We want 16580 // to shift here for the interval rule. In case we do have 16581 // the additional expression_list below, we'd pick that path 16582 // and thus properly parse it as a function when needed. 16583 yyLOCAL = yyDollar[1].exprUnion() 16584 } 16585 yyVAL.union = yyLOCAL 16586 case 1050: 16587 yyDollar = yyS[yypt-6 : yypt+1] 16588 var yyLOCAL Expr 16589 //line sql.y:5458 16590 { 16591 yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()} 16592 } 16593 yyVAL.union = yyLOCAL 16594 case 1051: 16595 yyDollar = yyS[yypt-3 : yypt+1] 16596 var yyLOCAL Expr 16597 //line sql.y:5462 16598 { 16599 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} 16600 } 16601 yyVAL.union = yyLOCAL 16602 case 1052: 16603 yyDollar = yyS[yypt-3 : yypt+1] 16604 var yyLOCAL Expr 16605 //line sql.y:5466 16606 { 16607 yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} 16608 } 16609 yyVAL.union = yyLOCAL 16610 case 1053: 16611 yyDollar = yyS[yypt-3 : yypt+1] 16612 var yyLOCAL Expr 16613 //line sql.y:5472 16614 { 16615 yyLOCAL = &IntervalExpr{Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].identifierCI.String()} 16616 } 16617 yyVAL.union = yyLOCAL 16618 case 1054: 16619 yyDollar = yyS[yypt-1 : yypt+1] 16620 var yyLOCAL []*ColName 16621 //line sql.y:5478 16622 { 16623 yyLOCAL = yyDollar[1].colNamesUnion() 16624 } 16625 yyVAL.union = yyLOCAL 16626 case 1055: 16627 yyDollar = yyS[yypt-3 : yypt+1] 16628 var yyLOCAL []*ColName 16629 //line sql.y:5482 16630 { 16631 yyLOCAL = yyDollar[2].colNamesUnion() 16632 } 16633 yyVAL.union = yyLOCAL 16634 case 1056: 16635 yyDollar = yyS[yypt-1 : yypt+1] 16636 var yyLOCAL []*ColName 16637 //line sql.y:5488 16638 { 16639 yyLOCAL = []*ColName{yyDollar[1].colNameUnion()} 16640 } 16641 yyVAL.union = yyLOCAL 16642 case 1057: 16643 yyDollar = yyS[yypt-3 : yypt+1] 16644 //line sql.y:5492 16645 { 16646 yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union)) 16647 *yySLICE = append(*yySLICE, yyDollar[3].colNameUnion()) 16648 } 16649 case 1058: 16650 yyDollar = yyS[yypt-1 : yypt+1] 16651 var yyLOCAL TrimType 16652 //line sql.y:5498 16653 { 16654 yyLOCAL = BothTrimType 16655 } 16656 yyVAL.union = yyLOCAL 16657 case 1059: 16658 yyDollar = yyS[yypt-1 : yypt+1] 16659 var yyLOCAL TrimType 16660 //line sql.y:5502 16661 { 16662 yyLOCAL = LeadingTrimType 16663 } 16664 yyVAL.union = yyLOCAL 16665 case 1060: 16666 yyDollar = yyS[yypt-1 : yypt+1] 16667 var yyLOCAL TrimType 16668 //line sql.y:5506 16669 { 16670 yyLOCAL = TrailingTrimType 16671 } 16672 yyVAL.union = yyLOCAL 16673 case 1061: 16674 yyDollar = yyS[yypt-1 : yypt+1] 16675 var yyLOCAL FrameUnitType 16676 //line sql.y:5512 16677 { 16678 yyLOCAL = FrameRowsType 16679 } 16680 yyVAL.union = yyLOCAL 16681 case 1062: 16682 yyDollar = yyS[yypt-1 : yypt+1] 16683 var yyLOCAL FrameUnitType 16684 //line sql.y:5516 16685 { 16686 yyLOCAL = FrameRangeType 16687 } 16688 yyVAL.union = yyLOCAL 16689 case 1063: 16690 yyDollar = yyS[yypt-1 : yypt+1] 16691 var yyLOCAL ArgumentLessWindowExprType 16692 //line sql.y:5523 16693 { 16694 yyLOCAL = CumeDistExprType 16695 } 16696 yyVAL.union = yyLOCAL 16697 case 1064: 16698 yyDollar = yyS[yypt-1 : yypt+1] 16699 var yyLOCAL ArgumentLessWindowExprType 16700 //line sql.y:5527 16701 { 16702 yyLOCAL = DenseRankExprType 16703 } 16704 yyVAL.union = yyLOCAL 16705 case 1065: 16706 yyDollar = yyS[yypt-1 : yypt+1] 16707 var yyLOCAL ArgumentLessWindowExprType 16708 //line sql.y:5531 16709 { 16710 yyLOCAL = PercentRankExprType 16711 } 16712 yyVAL.union = yyLOCAL 16713 case 1066: 16714 yyDollar = yyS[yypt-1 : yypt+1] 16715 var yyLOCAL ArgumentLessWindowExprType 16716 //line sql.y:5535 16717 { 16718 yyLOCAL = RankExprType 16719 } 16720 yyVAL.union = yyLOCAL 16721 case 1067: 16722 yyDollar = yyS[yypt-1 : yypt+1] 16723 var yyLOCAL ArgumentLessWindowExprType 16724 //line sql.y:5539 16725 { 16726 yyLOCAL = RowNumberExprType 16727 } 16728 yyVAL.union = yyLOCAL 16729 case 1068: 16730 yyDollar = yyS[yypt-2 : yypt+1] 16731 var yyLOCAL *FramePoint 16732 //line sql.y:5545 16733 { 16734 yyLOCAL = &FramePoint{Type: CurrentRowType} 16735 } 16736 yyVAL.union = yyLOCAL 16737 case 1069: 16738 yyDollar = yyS[yypt-2 : yypt+1] 16739 var yyLOCAL *FramePoint 16740 //line sql.y:5549 16741 { 16742 yyLOCAL = &FramePoint{Type: UnboundedPrecedingType} 16743 } 16744 yyVAL.union = yyLOCAL 16745 case 1070: 16746 yyDollar = yyS[yypt-2 : yypt+1] 16747 var yyLOCAL *FramePoint 16748 //line sql.y:5553 16749 { 16750 yyLOCAL = &FramePoint{Type: UnboundedFollowingType} 16751 } 16752 yyVAL.union = yyLOCAL 16753 case 1071: 16754 yyDollar = yyS[yypt-2 : yypt+1] 16755 var yyLOCAL *FramePoint 16756 //line sql.y:5557 16757 { 16758 yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()} 16759 } 16760 yyVAL.union = yyLOCAL 16761 case 1072: 16762 yyDollar = yyS[yypt-2 : yypt+1] 16763 var yyLOCAL *FramePoint 16764 //line sql.y:5561 16765 { 16766 yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()} 16767 } 16768 yyVAL.union = yyLOCAL 16769 case 1073: 16770 yyDollar = yyS[yypt-1 : yypt+1] 16771 var yyLOCAL Expr 16772 //line sql.y:5567 16773 { 16774 yyLOCAL = yyDollar[1].exprUnion() 16775 } 16776 yyVAL.union = yyLOCAL 16777 case 1074: 16778 yyDollar = yyS[yypt-1 : yypt+1] 16779 var yyLOCAL Expr 16780 //line sql.y:5571 16781 { 16782 yyLOCAL = yyDollar[1].exprUnion() 16783 } 16784 yyVAL.union = yyLOCAL 16785 case 1075: 16786 yyDollar = yyS[yypt-0 : yypt+1] 16787 var yyLOCAL *FrameClause 16788 //line sql.y:5576 16789 { 16790 yyLOCAL = nil 16791 } 16792 yyVAL.union = yyLOCAL 16793 case 1076: 16794 yyDollar = yyS[yypt-1 : yypt+1] 16795 var yyLOCAL *FrameClause 16796 //line sql.y:5580 16797 { 16798 yyLOCAL = yyDollar[1].frameClauseUnion() 16799 } 16800 yyVAL.union = yyLOCAL 16801 case 1077: 16802 yyDollar = yyS[yypt-2 : yypt+1] 16803 var yyLOCAL *FrameClause 16804 //line sql.y:5586 16805 { 16806 yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()} 16807 } 16808 yyVAL.union = yyLOCAL 16809 case 1078: 16810 yyDollar = yyS[yypt-5 : yypt+1] 16811 var yyLOCAL *FrameClause 16812 //line sql.y:5590 16813 { 16814 yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()} 16815 } 16816 yyVAL.union = yyLOCAL 16817 case 1079: 16818 yyDollar = yyS[yypt-0 : yypt+1] 16819 var yyLOCAL Exprs 16820 //line sql.y:5595 16821 { 16822 yyLOCAL = nil 16823 } 16824 yyVAL.union = yyLOCAL 16825 case 1080: 16826 yyDollar = yyS[yypt-3 : yypt+1] 16827 var yyLOCAL Exprs 16828 //line sql.y:5599 16829 { 16830 yyLOCAL = yyDollar[3].exprsUnion() 16831 } 16832 yyVAL.union = yyLOCAL 16833 case 1081: 16834 yyDollar = yyS[yypt-0 : yypt+1] 16835 //line sql.y:5604 16836 { 16837 } 16838 case 1082: 16839 yyDollar = yyS[yypt-1 : yypt+1] 16840 //line sql.y:5607 16841 { 16842 yyVAL.identifierCI = yyDollar[1].identifierCI 16843 } 16844 case 1083: 16845 yyDollar = yyS[yypt-4 : yypt+1] 16846 var yyLOCAL *WindowSpecification 16847 //line sql.y:5613 16848 { 16849 yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()} 16850 } 16851 yyVAL.union = yyLOCAL 16852 case 1084: 16853 yyDollar = yyS[yypt-4 : yypt+1] 16854 var yyLOCAL *OverClause 16855 //line sql.y:5619 16856 { 16857 yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()} 16858 } 16859 yyVAL.union = yyLOCAL 16860 case 1085: 16861 yyDollar = yyS[yypt-2 : yypt+1] 16862 var yyLOCAL *OverClause 16863 //line sql.y:5623 16864 { 16865 yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI} 16866 } 16867 yyVAL.union = yyLOCAL 16868 case 1086: 16869 yyDollar = yyS[yypt-0 : yypt+1] 16870 var yyLOCAL *NullTreatmentClause 16871 //line sql.y:5628 16872 { 16873 yyLOCAL = nil 16874 } 16875 yyVAL.union = yyLOCAL 16876 case 1088: 16877 yyDollar = yyS[yypt-1 : yypt+1] 16878 var yyLOCAL *NullTreatmentClause 16879 //line sql.y:5635 16880 { 16881 yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()} 16882 } 16883 yyVAL.union = yyLOCAL 16884 case 1089: 16885 yyDollar = yyS[yypt-2 : yypt+1] 16886 var yyLOCAL NullTreatmentType 16887 //line sql.y:5641 16888 { 16889 yyLOCAL = RespectNullsType 16890 } 16891 yyVAL.union = yyLOCAL 16892 case 1090: 16893 yyDollar = yyS[yypt-2 : yypt+1] 16894 var yyLOCAL NullTreatmentType 16895 //line sql.y:5645 16896 { 16897 yyLOCAL = IgnoreNullsType 16898 } 16899 yyVAL.union = yyLOCAL 16900 case 1091: 16901 yyDollar = yyS[yypt-1 : yypt+1] 16902 var yyLOCAL FirstOrLastValueExprType 16903 //line sql.y:5651 16904 { 16905 yyLOCAL = FirstValueExprType 16906 } 16907 yyVAL.union = yyLOCAL 16908 case 1092: 16909 yyDollar = yyS[yypt-1 : yypt+1] 16910 var yyLOCAL FirstOrLastValueExprType 16911 //line sql.y:5655 16912 { 16913 yyLOCAL = LastValueExprType 16914 } 16915 yyVAL.union = yyLOCAL 16916 case 1093: 16917 yyDollar = yyS[yypt-2 : yypt+1] 16918 var yyLOCAL FromFirstLastType 16919 //line sql.y:5661 16920 { 16921 yyLOCAL = FromFirstType 16922 } 16923 yyVAL.union = yyLOCAL 16924 case 1094: 16925 yyDollar = yyS[yypt-2 : yypt+1] 16926 var yyLOCAL FromFirstLastType 16927 //line sql.y:5665 16928 { 16929 yyLOCAL = FromLastType 16930 } 16931 yyVAL.union = yyLOCAL 16932 case 1095: 16933 yyDollar = yyS[yypt-0 : yypt+1] 16934 var yyLOCAL *FromFirstLastClause 16935 //line sql.y:5670 16936 { 16937 yyLOCAL = nil 16938 } 16939 yyVAL.union = yyLOCAL 16940 case 1097: 16941 yyDollar = yyS[yypt-1 : yypt+1] 16942 var yyLOCAL *FromFirstLastClause 16943 //line sql.y:5677 16944 { 16945 yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()} 16946 } 16947 yyVAL.union = yyLOCAL 16948 case 1098: 16949 yyDollar = yyS[yypt-1 : yypt+1] 16950 var yyLOCAL LagLeadExprType 16951 //line sql.y:5683 16952 { 16953 yyLOCAL = LagExprType 16954 } 16955 yyVAL.union = yyLOCAL 16956 case 1099: 16957 yyDollar = yyS[yypt-1 : yypt+1] 16958 var yyLOCAL LagLeadExprType 16959 //line sql.y:5687 16960 { 16961 yyLOCAL = LeadExprType 16962 } 16963 yyVAL.union = yyLOCAL 16964 case 1100: 16965 yyDollar = yyS[yypt-5 : yypt+1] 16966 var yyLOCAL *WindowDefinition 16967 //line sql.y:5693 16968 { 16969 yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()} 16970 } 16971 yyVAL.union = yyLOCAL 16972 case 1101: 16973 yyDollar = yyS[yypt-1 : yypt+1] 16974 var yyLOCAL WindowDefinitions 16975 //line sql.y:5699 16976 { 16977 yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()} 16978 } 16979 yyVAL.union = yyLOCAL 16980 case 1102: 16981 yyDollar = yyS[yypt-3 : yypt+1] 16982 //line sql.y:5703 16983 { 16984 yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union)) 16985 *yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion()) 16986 } 16987 case 1103: 16988 yyDollar = yyS[yypt-0 : yypt+1] 16989 //line sql.y:5709 16990 { 16991 yyVAL.str = "" 16992 } 16993 case 1104: 16994 yyDollar = yyS[yypt-3 : yypt+1] 16995 //line sql.y:5713 16996 { 16997 yyVAL.str = string(yyDollar[2].identifierCI.String()) 16998 } 16999 case 1105: 17000 yyDollar = yyS[yypt-1 : yypt+1] 17001 var yyLOCAL BoolVal 17002 //line sql.y:5719 17003 { 17004 yyLOCAL = BoolVal(true) 17005 } 17006 yyVAL.union = yyLOCAL 17007 case 1106: 17008 yyDollar = yyS[yypt-1 : yypt+1] 17009 var yyLOCAL BoolVal 17010 //line sql.y:5723 17011 { 17012 yyLOCAL = BoolVal(false) 17013 } 17014 yyVAL.union = yyLOCAL 17015 case 1107: 17016 yyDollar = yyS[yypt-1 : yypt+1] 17017 var yyLOCAL IsExprOperator 17018 //line sql.y:5730 17019 { 17020 yyLOCAL = IsTrueOp 17021 } 17022 yyVAL.union = yyLOCAL 17023 case 1108: 17024 yyDollar = yyS[yypt-2 : yypt+1] 17025 var yyLOCAL IsExprOperator 17026 //line sql.y:5734 17027 { 17028 yyLOCAL = IsNotTrueOp 17029 } 17030 yyVAL.union = yyLOCAL 17031 case 1109: 17032 yyDollar = yyS[yypt-1 : yypt+1] 17033 var yyLOCAL IsExprOperator 17034 //line sql.y:5738 17035 { 17036 yyLOCAL = IsFalseOp 17037 } 17038 yyVAL.union = yyLOCAL 17039 case 1110: 17040 yyDollar = yyS[yypt-2 : yypt+1] 17041 var yyLOCAL IsExprOperator 17042 //line sql.y:5742 17043 { 17044 yyLOCAL = IsNotFalseOp 17045 } 17046 yyVAL.union = yyLOCAL 17047 case 1111: 17048 yyDollar = yyS[yypt-1 : yypt+1] 17049 var yyLOCAL ComparisonExprOperator 17050 //line sql.y:5748 17051 { 17052 yyLOCAL = EqualOp 17053 } 17054 yyVAL.union = yyLOCAL 17055 case 1112: 17056 yyDollar = yyS[yypt-1 : yypt+1] 17057 var yyLOCAL ComparisonExprOperator 17058 //line sql.y:5752 17059 { 17060 yyLOCAL = LessThanOp 17061 } 17062 yyVAL.union = yyLOCAL 17063 case 1113: 17064 yyDollar = yyS[yypt-1 : yypt+1] 17065 var yyLOCAL ComparisonExprOperator 17066 //line sql.y:5756 17067 { 17068 yyLOCAL = GreaterThanOp 17069 } 17070 yyVAL.union = yyLOCAL 17071 case 1114: 17072 yyDollar = yyS[yypt-1 : yypt+1] 17073 var yyLOCAL ComparisonExprOperator 17074 //line sql.y:5760 17075 { 17076 yyLOCAL = LessEqualOp 17077 } 17078 yyVAL.union = yyLOCAL 17079 case 1115: 17080 yyDollar = yyS[yypt-1 : yypt+1] 17081 var yyLOCAL ComparisonExprOperator 17082 //line sql.y:5764 17083 { 17084 yyLOCAL = GreaterEqualOp 17085 } 17086 yyVAL.union = yyLOCAL 17087 case 1116: 17088 yyDollar = yyS[yypt-1 : yypt+1] 17089 var yyLOCAL ComparisonExprOperator 17090 //line sql.y:5768 17091 { 17092 yyLOCAL = NotEqualOp 17093 } 17094 yyVAL.union = yyLOCAL 17095 case 1117: 17096 yyDollar = yyS[yypt-1 : yypt+1] 17097 var yyLOCAL ComparisonExprOperator 17098 //line sql.y:5772 17099 { 17100 yyLOCAL = NullSafeEqualOp 17101 } 17102 yyVAL.union = yyLOCAL 17103 case 1118: 17104 yyDollar = yyS[yypt-1 : yypt+1] 17105 var yyLOCAL ColTuple 17106 //line sql.y:5778 17107 { 17108 yyLOCAL = yyDollar[1].valTupleUnion() 17109 } 17110 yyVAL.union = yyLOCAL 17111 case 1119: 17112 yyDollar = yyS[yypt-1 : yypt+1] 17113 var yyLOCAL ColTuple 17114 //line sql.y:5782 17115 { 17116 yyLOCAL = yyDollar[1].subqueryUnion() 17117 } 17118 yyVAL.union = yyLOCAL 17119 case 1120: 17120 yyDollar = yyS[yypt-1 : yypt+1] 17121 var yyLOCAL ColTuple 17122 //line sql.y:5786 17123 { 17124 yyLOCAL = ListArg(yyDollar[1].str[2:]) 17125 bindVariable(yylex, yyDollar[1].str[2:]) 17126 } 17127 yyVAL.union = yyLOCAL 17128 case 1121: 17129 yyDollar = yyS[yypt-1 : yypt+1] 17130 var yyLOCAL *Subquery 17131 //line sql.y:5793 17132 { 17133 yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} 17134 } 17135 yyVAL.union = yyLOCAL 17136 case 1122: 17137 yyDollar = yyS[yypt-1 : yypt+1] 17138 var yyLOCAL Exprs 17139 //line sql.y:5799 17140 { 17141 yyLOCAL = Exprs{yyDollar[1].exprUnion()} 17142 } 17143 yyVAL.union = yyLOCAL 17144 case 1123: 17145 yyDollar = yyS[yypt-3 : yypt+1] 17146 //line sql.y:5803 17147 { 17148 yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) 17149 *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) 17150 } 17151 case 1124: 17152 yyDollar = yyS[yypt-4 : yypt+1] 17153 var yyLOCAL Expr 17154 //line sql.y:5813 17155 { 17156 yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].selectExprsUnion()} 17157 } 17158 yyVAL.union = yyLOCAL 17159 case 1125: 17160 yyDollar = yyS[yypt-6 : yypt+1] 17161 var yyLOCAL Expr 17162 //line sql.y:5817 17163 { 17164 yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].selectExprsUnion()} 17165 } 17166 yyVAL.union = yyLOCAL 17167 case 1126: 17168 yyDollar = yyS[yypt-4 : yypt+1] 17169 var yyLOCAL Expr 17170 //line sql.y:5827 17171 { 17172 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].selectExprsUnion()} 17173 } 17174 yyVAL.union = yyLOCAL 17175 case 1127: 17176 yyDollar = yyS[yypt-4 : yypt+1] 17177 var yyLOCAL Expr 17178 //line sql.y:5831 17179 { 17180 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].selectExprsUnion()} 17181 } 17182 yyVAL.union = yyLOCAL 17183 case 1128: 17184 yyDollar = yyS[yypt-8 : yypt+1] 17185 var yyLOCAL Expr 17186 //line sql.y:5835 17187 { 17188 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} 17189 } 17190 yyVAL.union = yyLOCAL 17191 case 1129: 17192 yyDollar = yyS[yypt-6 : yypt+1] 17193 var yyLOCAL Expr 17194 //line sql.y:5839 17195 { 17196 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} 17197 } 17198 yyVAL.union = yyLOCAL 17199 case 1130: 17200 yyDollar = yyS[yypt-8 : yypt+1] 17201 var yyLOCAL Expr 17202 //line sql.y:5843 17203 { 17204 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} 17205 } 17206 yyVAL.union = yyLOCAL 17207 case 1131: 17208 yyDollar = yyS[yypt-6 : yypt+1] 17209 var yyLOCAL Expr 17210 //line sql.y:5847 17211 { 17212 yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} 17213 } 17214 yyVAL.union = yyLOCAL 17215 case 1132: 17216 yyDollar = yyS[yypt-5 : yypt+1] 17217 var yyLOCAL Expr 17218 //line sql.y:5851 17219 { 17220 yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} 17221 } 17222 yyVAL.union = yyLOCAL 17223 case 1133: 17224 yyDollar = yyS[yypt-4 : yypt+1] 17225 var yyLOCAL Expr 17226 //line sql.y:5855 17227 { 17228 yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} 17229 } 17230 yyVAL.union = yyLOCAL 17231 case 1134: 17232 yyDollar = yyS[yypt-10 : yypt+1] 17233 var yyLOCAL Expr 17234 //line sql.y:5859 17235 { 17236 yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()} 17237 } 17238 yyVAL.union = yyLOCAL 17239 case 1135: 17240 yyDollar = yyS[yypt-2 : yypt+1] 17241 var yyLOCAL Expr 17242 //line sql.y:5863 17243 { 17244 yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)} 17245 } 17246 yyVAL.union = yyLOCAL 17247 case 1136: 17248 yyDollar = yyS[yypt-2 : yypt+1] 17249 var yyLOCAL Expr 17250 //line sql.y:5874 17251 { 17252 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")} 17253 } 17254 yyVAL.union = yyLOCAL 17255 case 1137: 17256 yyDollar = yyS[yypt-1 : yypt+1] 17257 var yyLOCAL Expr 17258 //line sql.y:5878 17259 { 17260 yyLOCAL = yyDollar[1].exprUnion() 17261 } 17262 yyVAL.union = yyLOCAL 17263 case 1138: 17264 yyDollar = yyS[yypt-2 : yypt+1] 17265 var yyLOCAL Expr 17266 //line sql.y:5884 17267 { 17268 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")} 17269 } 17270 yyVAL.union = yyLOCAL 17271 case 1139: 17272 yyDollar = yyS[yypt-2 : yypt+1] 17273 var yyLOCAL Expr 17274 //line sql.y:5888 17275 { 17276 yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].exprUnion()} 17277 } 17278 yyVAL.union = yyLOCAL 17279 case 1140: 17280 yyDollar = yyS[yypt-2 : yypt+1] 17281 var yyLOCAL Expr 17282 //line sql.y:5893 17283 { 17284 yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].exprUnion()} 17285 } 17286 yyVAL.union = yyLOCAL 17287 case 1141: 17288 yyDollar = yyS[yypt-4 : yypt+1] 17289 var yyLOCAL Expr 17290 //line sql.y:5897 17291 { 17292 yyLOCAL = &CountStar{} 17293 } 17294 yyVAL.union = yyLOCAL 17295 case 1142: 17296 yyDollar = yyS[yypt-5 : yypt+1] 17297 var yyLOCAL Expr 17298 //line sql.y:5901 17299 { 17300 yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} 17301 } 17302 yyVAL.union = yyLOCAL 17303 case 1143: 17304 yyDollar = yyS[yypt-5 : yypt+1] 17305 var yyLOCAL Expr 17306 //line sql.y:5905 17307 { 17308 yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} 17309 } 17310 yyVAL.union = yyLOCAL 17311 case 1144: 17312 yyDollar = yyS[yypt-5 : yypt+1] 17313 var yyLOCAL Expr 17314 //line sql.y:5909 17315 { 17316 yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} 17317 } 17318 yyVAL.union = yyLOCAL 17319 case 1145: 17320 yyDollar = yyS[yypt-5 : yypt+1] 17321 var yyLOCAL Expr 17322 //line sql.y:5913 17323 { 17324 yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} 17325 } 17326 yyVAL.union = yyLOCAL 17327 case 1146: 17328 yyDollar = yyS[yypt-5 : yypt+1] 17329 var yyLOCAL Expr 17330 //line sql.y:5917 17331 { 17332 yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} 17333 } 17334 yyVAL.union = yyLOCAL 17335 case 1147: 17336 yyDollar = yyS[yypt-4 : yypt+1] 17337 var yyLOCAL Expr 17338 //line sql.y:5921 17339 { 17340 yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion()} 17341 } 17342 yyVAL.union = yyLOCAL 17343 case 1148: 17344 yyDollar = yyS[yypt-4 : yypt+1] 17345 var yyLOCAL Expr 17346 //line sql.y:5925 17347 { 17348 yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion()} 17349 } 17350 yyVAL.union = yyLOCAL 17351 case 1149: 17352 yyDollar = yyS[yypt-4 : yypt+1] 17353 var yyLOCAL Expr 17354 //line sql.y:5929 17355 { 17356 yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion()} 17357 } 17358 yyVAL.union = yyLOCAL 17359 case 1150: 17360 yyDollar = yyS[yypt-4 : yypt+1] 17361 var yyLOCAL Expr 17362 //line sql.y:5933 17363 { 17364 yyLOCAL = &Std{Arg: yyDollar[3].exprUnion()} 17365 } 17366 yyVAL.union = yyLOCAL 17367 case 1151: 17368 yyDollar = yyS[yypt-4 : yypt+1] 17369 var yyLOCAL Expr 17370 //line sql.y:5937 17371 { 17372 yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion()} 17373 } 17374 yyVAL.union = yyLOCAL 17375 case 1152: 17376 yyDollar = yyS[yypt-4 : yypt+1] 17377 var yyLOCAL Expr 17378 //line sql.y:5941 17379 { 17380 yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion()} 17381 } 17382 yyVAL.union = yyLOCAL 17383 case 1153: 17384 yyDollar = yyS[yypt-4 : yypt+1] 17385 var yyLOCAL Expr 17386 //line sql.y:5945 17387 { 17388 yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion()} 17389 } 17390 yyVAL.union = yyLOCAL 17391 case 1154: 17392 yyDollar = yyS[yypt-4 : yypt+1] 17393 var yyLOCAL Expr 17394 //line sql.y:5949 17395 { 17396 yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion()} 17397 } 17398 yyVAL.union = yyLOCAL 17399 case 1155: 17400 yyDollar = yyS[yypt-4 : yypt+1] 17401 var yyLOCAL Expr 17402 //line sql.y:5953 17403 { 17404 yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion()} 17405 } 17406 yyVAL.union = yyLOCAL 17407 case 1156: 17408 yyDollar = yyS[yypt-4 : yypt+1] 17409 var yyLOCAL Expr 17410 //line sql.y:5957 17411 { 17412 yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion()} 17413 } 17414 yyVAL.union = yyLOCAL 17415 case 1157: 17416 yyDollar = yyS[yypt-8 : yypt+1] 17417 var yyLOCAL Expr 17418 //line sql.y:5961 17419 { 17420 yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} 17421 } 17422 yyVAL.union = yyLOCAL 17423 case 1158: 17424 yyDollar = yyS[yypt-8 : yypt+1] 17425 var yyLOCAL Expr 17426 //line sql.y:5965 17427 { 17428 yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} 17429 } 17430 yyVAL.union = yyLOCAL 17431 case 1159: 17432 yyDollar = yyS[yypt-8 : yypt+1] 17433 var yyLOCAL Expr 17434 //line sql.y:5969 17435 { 17436 yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].identifierCI.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} 17437 } 17438 yyVAL.union = yyLOCAL 17439 case 1160: 17440 yyDollar = yyS[yypt-6 : yypt+1] 17441 var yyLOCAL Expr 17442 //line sql.y:5973 17443 { 17444 yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} 17445 } 17446 yyVAL.union = yyLOCAL 17447 case 1161: 17448 yyDollar = yyS[yypt-5 : yypt+1] 17449 var yyLOCAL Expr 17450 //line sql.y:5977 17451 { 17452 yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} 17453 } 17454 yyVAL.union = yyLOCAL 17455 case 1162: 17456 yyDollar = yyS[yypt-4 : yypt+1] 17457 var yyLOCAL Expr 17458 //line sql.y:5981 17459 { 17460 yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} 17461 } 17462 yyVAL.union = yyLOCAL 17463 case 1163: 17464 yyDollar = yyS[yypt-4 : yypt+1] 17465 var yyLOCAL Expr 17466 //line sql.y:5985 17467 { 17468 yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} 17469 } 17470 yyVAL.union = yyLOCAL 17471 case 1164: 17472 yyDollar = yyS[yypt-4 : yypt+1] 17473 var yyLOCAL Expr 17474 //line sql.y:5989 17475 { 17476 yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} 17477 } 17478 yyVAL.union = yyLOCAL 17479 case 1165: 17480 yyDollar = yyS[yypt-4 : yypt+1] 17481 var yyLOCAL Expr 17482 //line sql.y:5993 17483 { 17484 yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} 17485 } 17486 yyVAL.union = yyLOCAL 17487 case 1166: 17488 yyDollar = yyS[yypt-4 : yypt+1] 17489 var yyLOCAL Expr 17490 //line sql.y:5997 17491 { 17492 yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} 17493 } 17494 yyVAL.union = yyLOCAL 17495 case 1167: 17496 yyDollar = yyS[yypt-7 : yypt+1] 17497 var yyLOCAL Expr 17498 //line sql.y:6001 17499 { 17500 yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} 17501 } 17502 yyVAL.union = yyLOCAL 17503 case 1168: 17504 yyDollar = yyS[yypt-4 : yypt+1] 17505 var yyLOCAL Expr 17506 //line sql.y:6005 17507 { 17508 yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} 17509 } 17510 yyVAL.union = yyLOCAL 17511 case 1169: 17512 yyDollar = yyS[yypt-4 : yypt+1] 17513 var yyLOCAL Expr 17514 //line sql.y:6009 17515 { 17516 yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()} 17517 } 17518 yyVAL.union = yyLOCAL 17519 case 1170: 17520 yyDollar = yyS[yypt-6 : yypt+1] 17521 var yyLOCAL Expr 17522 //line sql.y:6013 17523 { 17524 yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str} 17525 } 17526 yyVAL.union = yyLOCAL 17527 case 1171: 17528 yyDollar = yyS[yypt-6 : yypt+1] 17529 var yyLOCAL Expr 17530 //line sql.y:6017 17531 { 17532 yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} 17533 } 17534 yyVAL.union = yyLOCAL 17535 case 1172: 17536 yyDollar = yyS[yypt-6 : yypt+1] 17537 var yyLOCAL Expr 17538 //line sql.y:6021 17539 { 17540 yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()} 17541 } 17542 yyVAL.union = yyLOCAL 17543 case 1173: 17544 yyDollar = yyS[yypt-8 : yypt+1] 17545 var yyLOCAL Expr 17546 //line sql.y:6025 17547 { 17548 yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()} 17549 } 17550 yyVAL.union = yyLOCAL 17551 case 1174: 17552 yyDollar = yyS[yypt-6 : yypt+1] 17553 var yyLOCAL Expr 17554 //line sql.y:6029 17555 { 17556 yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()} 17557 } 17558 yyVAL.union = yyLOCAL 17559 case 1175: 17560 yyDollar = yyS[yypt-6 : yypt+1] 17561 var yyLOCAL Expr 17562 //line sql.y:6033 17563 { 17564 yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} 17565 } 17566 yyVAL.union = yyLOCAL 17567 case 1176: 17568 yyDollar = yyS[yypt-4 : yypt+1] 17569 var yyLOCAL Expr 17570 //line sql.y:6037 17571 { 17572 yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()} 17573 } 17574 yyVAL.union = yyLOCAL 17575 case 1177: 17576 yyDollar = yyS[yypt-4 : yypt+1] 17577 var yyLOCAL Expr 17578 //line sql.y:6041 17579 { 17580 yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()} 17581 } 17582 yyVAL.union = yyLOCAL 17583 case 1178: 17584 yyDollar = yyS[yypt-3 : yypt+1] 17585 var yyLOCAL Expr 17586 //line sql.y:6045 17587 { 17588 yyLOCAL = &LockingFunc{Type: ReleaseAllLocks} 17589 } 17590 yyVAL.union = yyLOCAL 17591 case 1179: 17592 yyDollar = yyS[yypt-4 : yypt+1] 17593 var yyLOCAL Expr 17594 //line sql.y:6049 17595 { 17596 yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()} 17597 } 17598 yyVAL.union = yyLOCAL 17599 case 1180: 17600 yyDollar = yyS[yypt-6 : yypt+1] 17601 var yyLOCAL Expr 17602 //line sql.y:6053 17603 { 17604 yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} 17605 } 17606 yyVAL.union = yyLOCAL 17607 case 1181: 17608 yyDollar = yyS[yypt-6 : yypt+1] 17609 var yyLOCAL Expr 17610 //line sql.y:6057 17611 { 17612 yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} 17613 } 17614 yyVAL.union = yyLOCAL 17615 case 1182: 17616 yyDollar = yyS[yypt-4 : yypt+1] 17617 var yyLOCAL Expr 17618 //line sql.y:6061 17619 { 17620 yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} 17621 } 17622 yyVAL.union = yyLOCAL 17623 case 1183: 17624 yyDollar = yyS[yypt-4 : yypt+1] 17625 var yyLOCAL Expr 17626 //line sql.y:6065 17627 { 17628 yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} 17629 } 17630 yyVAL.union = yyLOCAL 17631 case 1184: 17632 yyDollar = yyS[yypt-4 : yypt+1] 17633 var yyLOCAL Expr 17634 //line sql.y:6069 17635 { 17636 yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} 17637 } 17638 yyVAL.union = yyLOCAL 17639 case 1185: 17640 yyDollar = yyS[yypt-6 : yypt+1] 17641 var yyLOCAL Expr 17642 //line sql.y:6073 17643 { 17644 yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]} 17645 } 17646 yyVAL.union = yyLOCAL 17647 case 1186: 17648 yyDollar = yyS[yypt-8 : yypt+1] 17649 var yyLOCAL Expr 17650 //line sql.y:6077 17651 { 17652 yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()} 17653 } 17654 yyVAL.union = yyLOCAL 17655 case 1187: 17656 yyDollar = yyS[yypt-6 : yypt+1] 17657 var yyLOCAL Expr 17658 //line sql.y:6081 17659 { 17660 yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} 17661 } 17662 yyVAL.union = yyLOCAL 17663 case 1188: 17664 yyDollar = yyS[yypt-4 : yypt+1] 17665 var yyLOCAL Expr 17666 //line sql.y:6085 17667 { 17668 yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()} 17669 } 17670 yyVAL.union = yyLOCAL 17671 case 1189: 17672 yyDollar = yyS[yypt-6 : yypt+1] 17673 var yyLOCAL Expr 17674 //line sql.y:6089 17675 { 17676 yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()} 17677 } 17678 yyVAL.union = yyLOCAL 17679 case 1190: 17680 yyDollar = yyS[yypt-6 : yypt+1] 17681 var yyLOCAL Expr 17682 //line sql.y:6093 17683 { 17684 yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} 17685 } 17686 yyVAL.union = yyLOCAL 17687 case 1191: 17688 yyDollar = yyS[yypt-8 : yypt+1] 17689 var yyLOCAL Expr 17690 //line sql.y:6097 17691 { 17692 yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} 17693 } 17694 yyVAL.union = yyLOCAL 17695 case 1192: 17696 yyDollar = yyS[yypt-10 : yypt+1] 17697 var yyLOCAL Expr 17698 //line sql.y:6101 17699 { 17700 yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]} 17701 } 17702 yyVAL.union = yyLOCAL 17703 case 1193: 17704 yyDollar = yyS[yypt-7 : yypt+1] 17705 var yyLOCAL Expr 17706 //line sql.y:6105 17707 { 17708 yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()} 17709 } 17710 yyVAL.union = yyLOCAL 17711 case 1194: 17712 yyDollar = yyS[yypt-8 : yypt+1] 17713 var yyLOCAL Expr 17714 //line sql.y:6109 17715 { 17716 yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} 17717 } 17718 yyVAL.union = yyLOCAL 17719 case 1195: 17720 yyDollar = yyS[yypt-8 : yypt+1] 17721 var yyLOCAL Expr 17722 //line sql.y:6113 17723 { 17724 yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} 17725 } 17726 yyVAL.union = yyLOCAL 17727 case 1196: 17728 yyDollar = yyS[yypt-9 : yypt+1] 17729 var yyLOCAL Expr 17730 //line sql.y:6117 17731 { 17732 yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} 17733 } 17734 yyVAL.union = yyLOCAL 17735 case 1197: 17736 yyDollar = yyS[yypt-4 : yypt+1] 17737 var yyLOCAL Expr 17738 //line sql.y:6121 17739 { 17740 yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} 17741 } 17742 yyVAL.union = yyLOCAL 17743 case 1198: 17744 yyDollar = yyS[yypt-4 : yypt+1] 17745 var yyLOCAL Expr 17746 //line sql.y:6125 17747 { 17748 yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} 17749 } 17750 yyVAL.union = yyLOCAL 17751 case 1199: 17752 yyDollar = yyS[yypt-4 : yypt+1] 17753 var yyLOCAL Expr 17754 //line sql.y:6129 17755 { 17756 yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} 17757 } 17758 yyVAL.union = yyLOCAL 17759 case 1200: 17760 yyDollar = yyS[yypt-4 : yypt+1] 17761 var yyLOCAL Expr 17762 //line sql.y:6133 17763 { 17764 yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} 17765 } 17766 yyVAL.union = yyLOCAL 17767 case 1201: 17768 yyDollar = yyS[yypt-6 : yypt+1] 17769 var yyLOCAL Expr 17770 //line sql.y:6137 17771 { 17772 yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()} 17773 } 17774 yyVAL.union = yyLOCAL 17775 case 1202: 17776 yyDollar = yyS[yypt-6 : yypt+1] 17777 var yyLOCAL Expr 17778 //line sql.y:6141 17779 { 17780 yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} 17781 } 17782 yyVAL.union = yyLOCAL 17783 case 1203: 17784 yyDollar = yyS[yypt-6 : yypt+1] 17785 var yyLOCAL Expr 17786 //line sql.y:6145 17787 { 17788 yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} 17789 } 17790 yyVAL.union = yyLOCAL 17791 case 1204: 17792 yyDollar = yyS[yypt-6 : yypt+1] 17793 var yyLOCAL Expr 17794 //line sql.y:6149 17795 { 17796 yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} 17797 } 17798 yyVAL.union = yyLOCAL 17799 case 1205: 17800 yyDollar = yyS[yypt-6 : yypt+1] 17801 var yyLOCAL Expr 17802 //line sql.y:6153 17803 { 17804 yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} 17805 } 17806 yyVAL.union = yyLOCAL 17807 case 1206: 17808 yyDollar = yyS[yypt-6 : yypt+1] 17809 var yyLOCAL Expr 17810 //line sql.y:6157 17811 { 17812 yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} 17813 } 17814 yyVAL.union = yyLOCAL 17815 case 1207: 17816 yyDollar = yyS[yypt-6 : yypt+1] 17817 var yyLOCAL Expr 17818 //line sql.y:6161 17819 { 17820 yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} 17821 } 17822 yyVAL.union = yyLOCAL 17823 case 1208: 17824 yyDollar = yyS[yypt-6 : yypt+1] 17825 var yyLOCAL Expr 17826 //line sql.y:6165 17827 { 17828 yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} 17829 } 17830 yyVAL.union = yyLOCAL 17831 case 1209: 17832 yyDollar = yyS[yypt-6 : yypt+1] 17833 var yyLOCAL Expr 17834 //line sql.y:6169 17835 { 17836 yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} 17837 } 17838 yyVAL.union = yyLOCAL 17839 case 1210: 17840 yyDollar = yyS[yypt-6 : yypt+1] 17841 var yyLOCAL Expr 17842 //line sql.y:6173 17843 { 17844 yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} 17845 } 17846 yyVAL.union = yyLOCAL 17847 case 1211: 17848 yyDollar = yyS[yypt-4 : yypt+1] 17849 var yyLOCAL Expr 17850 //line sql.y:6177 17851 { 17852 yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} 17853 } 17854 yyVAL.union = yyLOCAL 17855 case 1212: 17856 yyDollar = yyS[yypt-4 : yypt+1] 17857 var yyLOCAL Expr 17858 //line sql.y:6181 17859 { 17860 yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()} 17861 } 17862 yyVAL.union = yyLOCAL 17863 case 1213: 17864 yyDollar = yyS[yypt-6 : yypt+1] 17865 var yyLOCAL Expr 17866 //line sql.y:6185 17867 { 17868 yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()} 17869 } 17870 yyVAL.union = yyLOCAL 17871 case 1214: 17872 yyDollar = yyS[yypt-4 : yypt+1] 17873 var yyLOCAL Expr 17874 //line sql.y:6189 17875 { 17876 yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()} 17877 } 17878 yyVAL.union = yyLOCAL 17879 case 1215: 17880 yyDollar = yyS[yypt-6 : yypt+1] 17881 var yyLOCAL Expr 17882 //line sql.y:6193 17883 { 17884 yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} 17885 } 17886 yyVAL.union = yyLOCAL 17887 case 1216: 17888 yyDollar = yyS[yypt-5 : yypt+1] 17889 var yyLOCAL Expr 17890 //line sql.y:6197 17891 { 17892 yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} 17893 } 17894 yyVAL.union = yyLOCAL 17895 case 1217: 17896 yyDollar = yyS[yypt-9 : yypt+1] 17897 var yyLOCAL Expr 17898 //line sql.y:6201 17899 { 17900 yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} 17901 } 17902 yyVAL.union = yyLOCAL 17903 case 1218: 17904 yyDollar = yyS[yypt-6 : yypt+1] 17905 var yyLOCAL Expr 17906 //line sql.y:6205 17907 { 17908 yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} 17909 } 17910 yyVAL.union = yyLOCAL 17911 case 1219: 17912 yyDollar = yyS[yypt-9 : yypt+1] 17913 var yyLOCAL Expr 17914 //line sql.y:6209 17915 { 17916 yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} 17917 } 17918 yyVAL.union = yyLOCAL 17919 case 1224: 17920 yyDollar = yyS[yypt-1 : yypt+1] 17921 var yyLOCAL Expr 17922 //line sql.y:6219 17923 { 17924 yyLOCAL = yyDollar[1].exprUnion() 17925 } 17926 yyVAL.union = yyLOCAL 17927 case 1225: 17928 yyDollar = yyS[yypt-1 : yypt+1] 17929 var yyLOCAL Expr 17930 //line sql.y:6223 17931 { 17932 yyLOCAL = NewIntLiteral(yyDollar[1].str) 17933 } 17934 yyVAL.union = yyLOCAL 17935 case 1226: 17936 yyDollar = yyS[yypt-1 : yypt+1] 17937 var yyLOCAL Expr 17938 //line sql.y:6227 17939 { 17940 yyLOCAL = yyDollar[1].variableUnion() 17941 } 17942 yyVAL.union = yyLOCAL 17943 case 1227: 17944 yyDollar = yyS[yypt-1 : yypt+1] 17945 var yyLOCAL Expr 17946 //line sql.y:6231 17947 { 17948 yyLOCAL = NewArgument(yyDollar[1].str[1:]) 17949 bindVariable(yylex, yyDollar[1].str[1:]) 17950 } 17951 yyVAL.union = yyLOCAL 17952 case 1228: 17953 yyDollar = yyS[yypt-0 : yypt+1] 17954 var yyLOCAL Expr 17955 //line sql.y:6237 17956 { 17957 yyLOCAL = nil 17958 } 17959 yyVAL.union = yyLOCAL 17960 case 1229: 17961 yyDollar = yyS[yypt-2 : yypt+1] 17962 var yyLOCAL Expr 17963 //line sql.y:6241 17964 { 17965 yyLOCAL = yyDollar[2].exprUnion() 17966 } 17967 yyVAL.union = yyLOCAL 17968 case 1230: 17969 yyDollar = yyS[yypt-6 : yypt+1] 17970 var yyLOCAL Expr 17971 //line sql.y:6247 17972 { 17973 yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} 17974 } 17975 yyVAL.union = yyLOCAL 17976 case 1231: 17977 yyDollar = yyS[yypt-8 : yypt+1] 17978 var yyLOCAL Expr 17979 //line sql.y:6251 17980 { 17981 yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} 17982 } 17983 yyVAL.union = yyLOCAL 17984 case 1232: 17985 yyDollar = yyS[yypt-10 : yypt+1] 17986 var yyLOCAL Expr 17987 //line sql.y:6255 17988 { 17989 yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} 17990 } 17991 yyVAL.union = yyLOCAL 17992 case 1233: 17993 yyDollar = yyS[yypt-12 : yypt+1] 17994 var yyLOCAL Expr 17995 //line sql.y:6259 17996 { 17997 yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()} 17998 } 17999 yyVAL.union = yyLOCAL 18000 case 1234: 18001 yyDollar = yyS[yypt-14 : yypt+1] 18002 var yyLOCAL Expr 18003 //line sql.y:6263 18004 { 18005 // Match type is kept expression as TRIM( ' m ') is accepted 18006 yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} 18007 } 18008 yyVAL.union = yyLOCAL 18009 case 1235: 18010 yyDollar = yyS[yypt-6 : yypt+1] 18011 var yyLOCAL Expr 18012 //line sql.y:6268 18013 { 18014 yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} 18015 } 18016 yyVAL.union = yyLOCAL 18017 case 1236: 18018 yyDollar = yyS[yypt-8 : yypt+1] 18019 var yyLOCAL Expr 18020 //line sql.y:6272 18021 { 18022 yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()} 18023 } 18024 yyVAL.union = yyLOCAL 18025 case 1237: 18026 yyDollar = yyS[yypt-8 : yypt+1] 18027 var yyLOCAL Expr 18028 //line sql.y:6276 18029 { 18030 yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()} 18031 } 18032 yyVAL.union = yyLOCAL 18033 case 1238: 18034 yyDollar = yyS[yypt-10 : yypt+1] 18035 var yyLOCAL Expr 18036 //line sql.y:6280 18037 { 18038 yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()} 18039 } 18040 yyVAL.union = yyLOCAL 18041 case 1239: 18042 yyDollar = yyS[yypt-12 : yypt+1] 18043 var yyLOCAL Expr 18044 //line sql.y:6284 18045 { 18046 yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()} 18047 } 18048 yyVAL.union = yyLOCAL 18049 case 1240: 18050 yyDollar = yyS[yypt-14 : yypt+1] 18051 var yyLOCAL Expr 18052 //line sql.y:6288 18053 { 18054 // Match type is kept expression as TRIM( ' m ') is accepted 18055 yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} 18056 } 18057 yyVAL.union = yyLOCAL 18058 case 1241: 18059 yyDollar = yyS[yypt-6 : yypt+1] 18060 var yyLOCAL Expr 18061 //line sql.y:6293 18062 { 18063 yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} 18064 } 18065 yyVAL.union = yyLOCAL 18066 case 1242: 18067 yyDollar = yyS[yypt-8 : yypt+1] 18068 var yyLOCAL Expr 18069 //line sql.y:6297 18070 { 18071 yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} 18072 } 18073 yyVAL.union = yyLOCAL 18074 case 1243: 18075 yyDollar = yyS[yypt-10 : yypt+1] 18076 var yyLOCAL Expr 18077 //line sql.y:6301 18078 { 18079 yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} 18080 } 18081 yyVAL.union = yyLOCAL 18082 case 1244: 18083 yyDollar = yyS[yypt-12 : yypt+1] 18084 var yyLOCAL Expr 18085 //line sql.y:6305 18086 { 18087 // Match type is kept expression as TRIM( ' m ') is accepted 18088 yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()} 18089 } 18090 yyVAL.union = yyLOCAL 18091 case 1245: 18092 yyDollar = yyS[yypt-6 : yypt+1] 18093 var yyLOCAL Expr 18094 //line sql.y:6312 18095 { 18096 yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()} 18097 } 18098 yyVAL.union = yyLOCAL 18099 case 1246: 18100 yyDollar = yyS[yypt-8 : yypt+1] 18101 var yyLOCAL Expr 18102 //line sql.y:6316 18103 { 18104 yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()} 18105 } 18106 yyVAL.union = yyLOCAL 18107 case 1247: 18108 yyDollar = yyS[yypt-4 : yypt+1] 18109 var yyLOCAL Expr 18110 //line sql.y:6322 18111 { 18112 yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()} 18113 } 18114 yyVAL.union = yyLOCAL 18115 case 1248: 18116 yyDollar = yyS[yypt-4 : yypt+1] 18117 var yyLOCAL Expr 18118 //line sql.y:6326 18119 { 18120 yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()} 18121 } 18122 yyVAL.union = yyLOCAL 18123 case 1249: 18124 yyDollar = yyS[yypt-3 : yypt+1] 18125 var yyLOCAL Expr 18126 //line sql.y:6330 18127 { 18128 yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType} 18129 } 18130 yyVAL.union = yyLOCAL 18131 case 1250: 18132 yyDollar = yyS[yypt-4 : yypt+1] 18133 var yyLOCAL Expr 18134 //line sql.y:6334 18135 { 18136 yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()} 18137 } 18138 yyVAL.union = yyLOCAL 18139 case 1251: 18140 yyDollar = yyS[yypt-6 : yypt+1] 18141 var yyLOCAL Expr 18142 //line sql.y:6340 18143 { 18144 yyLOCAL = >IDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()} 18145 } 18146 yyVAL.union = yyLOCAL 18147 case 1252: 18148 yyDollar = yyS[yypt-6 : yypt+1] 18149 var yyLOCAL Expr 18150 //line sql.y:6344 18151 { 18152 yyLOCAL = >IDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()} 18153 } 18154 yyVAL.union = yyLOCAL 18155 case 1253: 18156 yyDollar = yyS[yypt-4 : yypt+1] 18157 var yyLOCAL Expr 18158 //line sql.y:6348 18159 { 18160 yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()} 18161 } 18162 yyVAL.union = yyLOCAL 18163 case 1254: 18164 yyDollar = yyS[yypt-6 : yypt+1] 18165 var yyLOCAL Expr 18166 //line sql.y:6352 18167 { 18168 yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} 18169 } 18170 yyVAL.union = yyLOCAL 18171 case 1255: 18172 yyDollar = yyS[yypt-4 : yypt+1] 18173 var yyLOCAL Expr 18174 //line sql.y:6356 18175 { 18176 yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()} 18177 } 18178 yyVAL.union = yyLOCAL 18179 case 1256: 18180 yyDollar = yyS[yypt-6 : yypt+1] 18181 var yyLOCAL Expr 18182 //line sql.y:6360 18183 { 18184 yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()} 18185 } 18186 yyVAL.union = yyLOCAL 18187 case 1257: 18188 yyDollar = yyS[yypt-8 : yypt+1] 18189 var yyLOCAL Expr 18190 //line sql.y:6364 18191 { 18192 yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()} 18193 } 18194 yyVAL.union = yyLOCAL 18195 case 1258: 18196 yyDollar = yyS[yypt-0 : yypt+1] 18197 var yyLOCAL *ConvertType 18198 //line sql.y:6369 18199 { 18200 yyLOCAL = nil 18201 } 18202 yyVAL.union = yyLOCAL 18203 case 1259: 18204 yyDollar = yyS[yypt-2 : yypt+1] 18205 var yyLOCAL *ConvertType 18206 //line sql.y:6373 18207 { 18208 yyLOCAL = yyDollar[2].convertTypeUnion() 18209 } 18210 yyVAL.union = yyLOCAL 18211 case 1260: 18212 yyDollar = yyS[yypt-1 : yypt+1] 18213 //line sql.y:6379 18214 { 18215 } 18216 case 1261: 18217 yyDollar = yyS[yypt-1 : yypt+1] 18218 var yyLOCAL IntervalTypes 18219 //line sql.y:6381 18220 { 18221 yyLOCAL = IntervalDayHour 18222 } 18223 yyVAL.union = yyLOCAL 18224 case 1262: 18225 yyDollar = yyS[yypt-1 : yypt+1] 18226 var yyLOCAL IntervalTypes 18227 //line sql.y:6385 18228 { 18229 yyLOCAL = IntervalDayMicrosecond 18230 } 18231 yyVAL.union = yyLOCAL 18232 case 1263: 18233 yyDollar = yyS[yypt-1 : yypt+1] 18234 var yyLOCAL IntervalTypes 18235 //line sql.y:6389 18236 { 18237 yyLOCAL = IntervalDayMinute 18238 } 18239 yyVAL.union = yyLOCAL 18240 case 1264: 18241 yyDollar = yyS[yypt-1 : yypt+1] 18242 var yyLOCAL IntervalTypes 18243 //line sql.y:6393 18244 { 18245 yyLOCAL = IntervalDaySecond 18246 } 18247 yyVAL.union = yyLOCAL 18248 case 1265: 18249 yyDollar = yyS[yypt-1 : yypt+1] 18250 var yyLOCAL IntervalTypes 18251 //line sql.y:6397 18252 { 18253 yyLOCAL = IntervalHourMicrosecond 18254 } 18255 yyVAL.union = yyLOCAL 18256 case 1266: 18257 yyDollar = yyS[yypt-1 : yypt+1] 18258 var yyLOCAL IntervalTypes 18259 //line sql.y:6401 18260 { 18261 yyLOCAL = IntervalHourMinute 18262 } 18263 yyVAL.union = yyLOCAL 18264 case 1267: 18265 yyDollar = yyS[yypt-1 : yypt+1] 18266 var yyLOCAL IntervalTypes 18267 //line sql.y:6405 18268 { 18269 yyLOCAL = IntervalHourSecond 18270 } 18271 yyVAL.union = yyLOCAL 18272 case 1268: 18273 yyDollar = yyS[yypt-1 : yypt+1] 18274 var yyLOCAL IntervalTypes 18275 //line sql.y:6409 18276 { 18277 yyLOCAL = IntervalMinuteMicrosecond 18278 } 18279 yyVAL.union = yyLOCAL 18280 case 1269: 18281 yyDollar = yyS[yypt-1 : yypt+1] 18282 var yyLOCAL IntervalTypes 18283 //line sql.y:6413 18284 { 18285 yyLOCAL = IntervalMinuteSecond 18286 } 18287 yyVAL.union = yyLOCAL 18288 case 1270: 18289 yyDollar = yyS[yypt-1 : yypt+1] 18290 var yyLOCAL IntervalTypes 18291 //line sql.y:6417 18292 { 18293 yyLOCAL = IntervalSecondMicrosecond 18294 } 18295 yyVAL.union = yyLOCAL 18296 case 1271: 18297 yyDollar = yyS[yypt-1 : yypt+1] 18298 var yyLOCAL IntervalTypes 18299 //line sql.y:6421 18300 { 18301 yyLOCAL = IntervalYearMonth 18302 } 18303 yyVAL.union = yyLOCAL 18304 case 1272: 18305 yyDollar = yyS[yypt-1 : yypt+1] 18306 var yyLOCAL IntervalTypes 18307 //line sql.y:6427 18308 { 18309 yyLOCAL = IntervalDay 18310 } 18311 yyVAL.union = yyLOCAL 18312 case 1273: 18313 yyDollar = yyS[yypt-1 : yypt+1] 18314 var yyLOCAL IntervalTypes 18315 //line sql.y:6431 18316 { 18317 yyLOCAL = IntervalWeek 18318 } 18319 yyVAL.union = yyLOCAL 18320 case 1274: 18321 yyDollar = yyS[yypt-1 : yypt+1] 18322 var yyLOCAL IntervalTypes 18323 //line sql.y:6435 18324 { 18325 yyLOCAL = IntervalHour 18326 } 18327 yyVAL.union = yyLOCAL 18328 case 1275: 18329 yyDollar = yyS[yypt-1 : yypt+1] 18330 var yyLOCAL IntervalTypes 18331 //line sql.y:6439 18332 { 18333 yyLOCAL = IntervalMinute 18334 } 18335 yyVAL.union = yyLOCAL 18336 case 1276: 18337 yyDollar = yyS[yypt-1 : yypt+1] 18338 var yyLOCAL IntervalTypes 18339 //line sql.y:6443 18340 { 18341 yyLOCAL = IntervalMonth 18342 } 18343 yyVAL.union = yyLOCAL 18344 case 1277: 18345 yyDollar = yyS[yypt-1 : yypt+1] 18346 var yyLOCAL IntervalTypes 18347 //line sql.y:6447 18348 { 18349 yyLOCAL = IntervalQuarter 18350 } 18351 yyVAL.union = yyLOCAL 18352 case 1278: 18353 yyDollar = yyS[yypt-1 : yypt+1] 18354 var yyLOCAL IntervalTypes 18355 //line sql.y:6451 18356 { 18357 yyLOCAL = IntervalSecond 18358 } 18359 yyVAL.union = yyLOCAL 18360 case 1279: 18361 yyDollar = yyS[yypt-1 : yypt+1] 18362 var yyLOCAL IntervalTypes 18363 //line sql.y:6455 18364 { 18365 yyLOCAL = IntervalMicrosecond 18366 } 18367 yyVAL.union = yyLOCAL 18368 case 1280: 18369 yyDollar = yyS[yypt-1 : yypt+1] 18370 var yyLOCAL IntervalTypes 18371 //line sql.y:6459 18372 { 18373 yyLOCAL = IntervalYear 18374 } 18375 yyVAL.union = yyLOCAL 18376 case 1283: 18377 yyDollar = yyS[yypt-0 : yypt+1] 18378 var yyLOCAL Expr 18379 //line sql.y:6469 18380 { 18381 yyLOCAL = nil 18382 } 18383 yyVAL.union = yyLOCAL 18384 case 1284: 18385 yyDollar = yyS[yypt-2 : yypt+1] 18386 var yyLOCAL Expr 18387 //line sql.y:6473 18388 { 18389 yyLOCAL = nil 18390 } 18391 yyVAL.union = yyLOCAL 18392 case 1285: 18393 yyDollar = yyS[yypt-3 : yypt+1] 18394 var yyLOCAL Expr 18395 //line sql.y:6477 18396 { 18397 yyLOCAL = NewIntLiteral(yyDollar[2].str) 18398 } 18399 yyVAL.union = yyLOCAL 18400 case 1286: 18401 yyDollar = yyS[yypt-3 : yypt+1] 18402 var yyLOCAL Expr 18403 //line sql.y:6481 18404 { 18405 yyLOCAL = NewArgument(yyDollar[2].str[1:]) 18406 bindVariable(yylex, yyDollar[2].str[1:]) 18407 } 18408 yyVAL.union = yyLOCAL 18409 case 1287: 18410 yyDollar = yyS[yypt-4 : yypt+1] 18411 var yyLOCAL Expr 18412 //line sql.y:6492 18413 { 18414 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].selectExprsUnion()} 18415 } 18416 yyVAL.union = yyLOCAL 18417 case 1288: 18418 yyDollar = yyS[yypt-4 : yypt+1] 18419 var yyLOCAL Expr 18420 //line sql.y:6496 18421 { 18422 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].selectExprsUnion()} 18423 } 18424 yyVAL.union = yyLOCAL 18425 case 1289: 18426 yyDollar = yyS[yypt-4 : yypt+1] 18427 var yyLOCAL Expr 18428 //line sql.y:6500 18429 { 18430 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].selectExprsUnion()} 18431 } 18432 yyVAL.union = yyLOCAL 18433 case 1290: 18434 yyDollar = yyS[yypt-4 : yypt+1] 18435 var yyLOCAL Expr 18436 //line sql.y:6504 18437 { 18438 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].selectExprsUnion()} 18439 } 18440 yyVAL.union = yyLOCAL 18441 case 1291: 18442 yyDollar = yyS[yypt-4 : yypt+1] 18443 var yyLOCAL Expr 18444 //line sql.y:6508 18445 { 18446 yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].selectExprsUnion()} 18447 } 18448 yyVAL.union = yyLOCAL 18449 case 1292: 18450 yyDollar = yyS[yypt-0 : yypt+1] 18451 var yyLOCAL MatchExprOption 18452 //line sql.y:6514 18453 { 18454 yyLOCAL = NoOption 18455 } 18456 yyVAL.union = yyLOCAL 18457 case 1293: 18458 yyDollar = yyS[yypt-3 : yypt+1] 18459 var yyLOCAL MatchExprOption 18460 //line sql.y:6518 18461 { 18462 yyLOCAL = BooleanModeOpt 18463 } 18464 yyVAL.union = yyLOCAL 18465 case 1294: 18466 yyDollar = yyS[yypt-4 : yypt+1] 18467 var yyLOCAL MatchExprOption 18468 //line sql.y:6522 18469 { 18470 yyLOCAL = NaturalLanguageModeOpt 18471 } 18472 yyVAL.union = yyLOCAL 18473 case 1295: 18474 yyDollar = yyS[yypt-7 : yypt+1] 18475 var yyLOCAL MatchExprOption 18476 //line sql.y:6526 18477 { 18478 yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt 18479 } 18480 yyVAL.union = yyLOCAL 18481 case 1296: 18482 yyDollar = yyS[yypt-3 : yypt+1] 18483 var yyLOCAL MatchExprOption 18484 //line sql.y:6530 18485 { 18486 yyLOCAL = QueryExpansionOpt 18487 } 18488 yyVAL.union = yyLOCAL 18489 case 1297: 18490 yyDollar = yyS[yypt-1 : yypt+1] 18491 //line sql.y:6536 18492 { 18493 yyVAL.str = string(yyDollar[1].identifierCI.String()) 18494 } 18495 case 1298: 18496 yyDollar = yyS[yypt-1 : yypt+1] 18497 //line sql.y:6540 18498 { 18499 yyVAL.str = string(yyDollar[1].str) 18500 } 18501 case 1299: 18502 yyDollar = yyS[yypt-1 : yypt+1] 18503 //line sql.y:6544 18504 { 18505 yyVAL.str = string(yyDollar[1].str) 18506 } 18507 case 1300: 18508 yyDollar = yyS[yypt-0 : yypt+1] 18509 var yyLOCAL *ConvertType 18510 //line sql.y:6550 18511 { 18512 yyLOCAL = nil 18513 } 18514 yyVAL.union = yyLOCAL 18515 case 1301: 18516 yyDollar = yyS[yypt-5 : yypt+1] 18517 var yyLOCAL *ConvertType 18518 //line sql.y:6554 18519 { 18520 yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} 18521 } 18522 yyVAL.union = yyLOCAL 18523 case 1302: 18524 yyDollar = yyS[yypt-5 : yypt+1] 18525 var yyLOCAL *ConvertType 18526 //line sql.y:6558 18527 { 18528 yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} 18529 } 18530 yyVAL.union = yyLOCAL 18531 case 1303: 18532 yyDollar = yyS[yypt-2 : yypt+1] 18533 var yyLOCAL *ConvertType 18534 //line sql.y:6564 18535 { 18536 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 18537 } 18538 yyVAL.union = yyLOCAL 18539 case 1304: 18540 yyDollar = yyS[yypt-3 : yypt+1] 18541 var yyLOCAL *ConvertType 18542 //line sql.y:6568 18543 { 18544 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} 18545 } 18546 yyVAL.union = yyLOCAL 18547 case 1305: 18548 yyDollar = yyS[yypt-1 : yypt+1] 18549 var yyLOCAL *ConvertType 18550 //line sql.y:6572 18551 { 18552 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18553 } 18554 yyVAL.union = yyLOCAL 18555 case 1306: 18556 yyDollar = yyS[yypt-2 : yypt+1] 18557 var yyLOCAL *ConvertType 18558 //line sql.y:6576 18559 { 18560 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 18561 } 18562 yyVAL.union = yyLOCAL 18563 case 1307: 18564 yyDollar = yyS[yypt-2 : yypt+1] 18565 var yyLOCAL *ConvertType 18566 //line sql.y:6580 18567 { 18568 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18569 yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length 18570 yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale 18571 } 18572 yyVAL.union = yyLOCAL 18573 case 1308: 18574 yyDollar = yyS[yypt-1 : yypt+1] 18575 var yyLOCAL *ConvertType 18576 //line sql.y:6586 18577 { 18578 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18579 } 18580 yyVAL.union = yyLOCAL 18581 case 1309: 18582 yyDollar = yyS[yypt-2 : yypt+1] 18583 var yyLOCAL *ConvertType 18584 //line sql.y:6590 18585 { 18586 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 18587 } 18588 yyVAL.union = yyLOCAL 18589 case 1310: 18590 yyDollar = yyS[yypt-1 : yypt+1] 18591 var yyLOCAL *ConvertType 18592 //line sql.y:6594 18593 { 18594 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18595 } 18596 yyVAL.union = yyLOCAL 18597 case 1311: 18598 yyDollar = yyS[yypt-2 : yypt+1] 18599 var yyLOCAL *ConvertType 18600 //line sql.y:6598 18601 { 18602 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18603 } 18604 yyVAL.union = yyLOCAL 18605 case 1312: 18606 yyDollar = yyS[yypt-2 : yypt+1] 18607 var yyLOCAL *ConvertType 18608 //line sql.y:6602 18609 { 18610 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 18611 } 18612 yyVAL.union = yyLOCAL 18613 case 1313: 18614 yyDollar = yyS[yypt-1 : yypt+1] 18615 var yyLOCAL *ConvertType 18616 //line sql.y:6606 18617 { 18618 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18619 } 18620 yyVAL.union = yyLOCAL 18621 case 1314: 18622 yyDollar = yyS[yypt-2 : yypt+1] 18623 var yyLOCAL *ConvertType 18624 //line sql.y:6610 18625 { 18626 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18627 } 18628 yyVAL.union = yyLOCAL 18629 case 1315: 18630 yyDollar = yyS[yypt-2 : yypt+1] 18631 var yyLOCAL *ConvertType 18632 //line sql.y:6614 18633 { 18634 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} 18635 } 18636 yyVAL.union = yyLOCAL 18637 case 1316: 18638 yyDollar = yyS[yypt-1 : yypt+1] 18639 var yyLOCAL *ConvertType 18640 //line sql.y:6618 18641 { 18642 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18643 } 18644 yyVAL.union = yyLOCAL 18645 case 1317: 18646 yyDollar = yyS[yypt-1 : yypt+1] 18647 var yyLOCAL *ConvertType 18648 //line sql.y:6622 18649 { 18650 yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} 18651 } 18652 yyVAL.union = yyLOCAL 18653 case 1318: 18654 yyDollar = yyS[yypt-0 : yypt+1] 18655 var yyLOCAL bool 18656 //line sql.y:6628 18657 { 18658 yyLOCAL = false 18659 } 18660 yyVAL.union = yyLOCAL 18661 case 1319: 18662 yyDollar = yyS[yypt-1 : yypt+1] 18663 var yyLOCAL bool 18664 //line sql.y:6632 18665 { 18666 yyLOCAL = true 18667 } 18668 yyVAL.union = yyLOCAL 18669 case 1320: 18670 yyDollar = yyS[yypt-0 : yypt+1] 18671 var yyLOCAL Expr 18672 //line sql.y:6637 18673 { 18674 yyLOCAL = nil 18675 } 18676 yyVAL.union = yyLOCAL 18677 case 1321: 18678 yyDollar = yyS[yypt-1 : yypt+1] 18679 var yyLOCAL Expr 18680 //line sql.y:6641 18681 { 18682 yyLOCAL = yyDollar[1].exprUnion() 18683 } 18684 yyVAL.union = yyLOCAL 18685 case 1322: 18686 yyDollar = yyS[yypt-0 : yypt+1] 18687 //line sql.y:6646 18688 { 18689 yyVAL.str = string("") 18690 } 18691 case 1323: 18692 yyDollar = yyS[yypt-2 : yypt+1] 18693 //line sql.y:6650 18694 { 18695 yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) 18696 } 18697 case 1324: 18698 yyDollar = yyS[yypt-1 : yypt+1] 18699 var yyLOCAL []*When 18700 //line sql.y:6656 18701 { 18702 yyLOCAL = []*When{yyDollar[1].whenUnion()} 18703 } 18704 yyVAL.union = yyLOCAL 18705 case 1325: 18706 yyDollar = yyS[yypt-2 : yypt+1] 18707 //line sql.y:6660 18708 { 18709 yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) 18710 *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) 18711 } 18712 case 1326: 18713 yyDollar = yyS[yypt-4 : yypt+1] 18714 var yyLOCAL *When 18715 //line sql.y:6666 18716 { 18717 yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} 18718 } 18719 yyVAL.union = yyLOCAL 18720 case 1327: 18721 yyDollar = yyS[yypt-0 : yypt+1] 18722 var yyLOCAL Expr 18723 //line sql.y:6671 18724 { 18725 yyLOCAL = nil 18726 } 18727 yyVAL.union = yyLOCAL 18728 case 1328: 18729 yyDollar = yyS[yypt-2 : yypt+1] 18730 var yyLOCAL Expr 18731 //line sql.y:6675 18732 { 18733 yyLOCAL = yyDollar[2].exprUnion() 18734 } 18735 yyVAL.union = yyLOCAL 18736 case 1329: 18737 yyDollar = yyS[yypt-1 : yypt+1] 18738 var yyLOCAL *ColName 18739 //line sql.y:6681 18740 { 18741 yyLOCAL = &ColName{Name: yyDollar[1].identifierCI} 18742 } 18743 yyVAL.union = yyLOCAL 18744 case 1330: 18745 yyDollar = yyS[yypt-1 : yypt+1] 18746 var yyLOCAL *ColName 18747 //line sql.y:6685 18748 { 18749 yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))} 18750 } 18751 yyVAL.union = yyLOCAL 18752 case 1331: 18753 yyDollar = yyS[yypt-3 : yypt+1] 18754 var yyLOCAL *ColName 18755 //line sql.y:6689 18756 { 18757 yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI} 18758 } 18759 yyVAL.union = yyLOCAL 18760 case 1332: 18761 yyDollar = yyS[yypt-5 : yypt+1] 18762 var yyLOCAL *ColName 18763 //line sql.y:6693 18764 { 18765 yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI} 18766 } 18767 yyVAL.union = yyLOCAL 18768 case 1333: 18769 yyDollar = yyS[yypt-1 : yypt+1] 18770 var yyLOCAL Expr 18771 //line sql.y:6699 18772 { 18773 yyLOCAL = yyDollar[1].colNameUnion() 18774 } 18775 yyVAL.union = yyLOCAL 18776 case 1334: 18777 yyDollar = yyS[yypt-1 : yypt+1] 18778 var yyLOCAL Expr 18779 //line sql.y:6703 18780 { 18781 yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)} 18782 } 18783 yyVAL.union = yyLOCAL 18784 case 1335: 18785 yyDollar = yyS[yypt-1 : yypt+1] 18786 var yyLOCAL Expr 18787 //line sql.y:6709 18788 { 18789 // TODO(sougou): Deprecate this construct. 18790 if yyDollar[1].identifierCI.Lowered() != "value" { 18791 yylex.Error("expecting value after next") 18792 return 1 18793 } 18794 yyLOCAL = NewIntLiteral("1") 18795 } 18796 yyVAL.union = yyLOCAL 18797 case 1336: 18798 yyDollar = yyS[yypt-2 : yypt+1] 18799 var yyLOCAL Expr 18800 //line sql.y:6718 18801 { 18802 yyLOCAL = NewIntLiteral(yyDollar[1].str) 18803 } 18804 yyVAL.union = yyLOCAL 18805 case 1337: 18806 yyDollar = yyS[yypt-2 : yypt+1] 18807 var yyLOCAL Expr 18808 //line sql.y:6722 18809 { 18810 yyLOCAL = NewArgument(yyDollar[1].str[1:]) 18811 bindVariable(yylex, yyDollar[1].str[1:]) 18812 } 18813 yyVAL.union = yyLOCAL 18814 case 1338: 18815 yyDollar = yyS[yypt-0 : yypt+1] 18816 var yyLOCAL Exprs 18817 //line sql.y:6728 18818 { 18819 yyLOCAL = nil 18820 } 18821 yyVAL.union = yyLOCAL 18822 case 1339: 18823 yyDollar = yyS[yypt-3 : yypt+1] 18824 var yyLOCAL Exprs 18825 //line sql.y:6732 18826 { 18827 yyLOCAL = yyDollar[3].exprsUnion() 18828 } 18829 yyVAL.union = yyLOCAL 18830 case 1340: 18831 yyDollar = yyS[yypt-0 : yypt+1] 18832 var yyLOCAL Expr 18833 //line sql.y:6737 18834 { 18835 yyLOCAL = nil 18836 } 18837 yyVAL.union = yyLOCAL 18838 case 1341: 18839 yyDollar = yyS[yypt-2 : yypt+1] 18840 var yyLOCAL Expr 18841 //line sql.y:6741 18842 { 18843 yyLOCAL = yyDollar[2].exprUnion() 18844 } 18845 yyVAL.union = yyLOCAL 18846 case 1342: 18847 yyDollar = yyS[yypt-2 : yypt+1] 18848 var yyLOCAL *NamedWindow 18849 //line sql.y:6747 18850 { 18851 yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()} 18852 } 18853 yyVAL.union = yyLOCAL 18854 case 1343: 18855 yyDollar = yyS[yypt-1 : yypt+1] 18856 var yyLOCAL NamedWindows 18857 //line sql.y:6753 18858 { 18859 yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()} 18860 } 18861 yyVAL.union = yyLOCAL 18862 case 1344: 18863 yyDollar = yyS[yypt-3 : yypt+1] 18864 //line sql.y:6757 18865 { 18866 yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union)) 18867 *yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion()) 18868 } 18869 case 1345: 18870 yyDollar = yyS[yypt-0 : yypt+1] 18871 var yyLOCAL NamedWindows 18872 //line sql.y:6762 18873 { 18874 yyLOCAL = nil 18875 } 18876 yyVAL.union = yyLOCAL 18877 case 1346: 18878 yyDollar = yyS[yypt-1 : yypt+1] 18879 var yyLOCAL NamedWindows 18880 //line sql.y:6766 18881 { 18882 yyLOCAL = yyDollar[1].namedWindowsUnion() 18883 } 18884 yyVAL.union = yyLOCAL 18885 case 1347: 18886 yyDollar = yyS[yypt-0 : yypt+1] 18887 var yyLOCAL OrderBy 18888 //line sql.y:6771 18889 { 18890 yyLOCAL = nil 18891 } 18892 yyVAL.union = yyLOCAL 18893 case 1348: 18894 yyDollar = yyS[yypt-1 : yypt+1] 18895 var yyLOCAL OrderBy 18896 //line sql.y:6775 18897 { 18898 yyLOCAL = yyDollar[1].orderByUnion() 18899 } 18900 yyVAL.union = yyLOCAL 18901 case 1349: 18902 yyDollar = yyS[yypt-3 : yypt+1] 18903 var yyLOCAL OrderBy 18904 //line sql.y:6781 18905 { 18906 yyLOCAL = yyDollar[3].orderByUnion() 18907 } 18908 yyVAL.union = yyLOCAL 18909 case 1350: 18910 yyDollar = yyS[yypt-1 : yypt+1] 18911 var yyLOCAL OrderBy 18912 //line sql.y:6787 18913 { 18914 yyLOCAL = OrderBy{yyDollar[1].orderUnion()} 18915 } 18916 yyVAL.union = yyLOCAL 18917 case 1351: 18918 yyDollar = yyS[yypt-3 : yypt+1] 18919 //line sql.y:6791 18920 { 18921 yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) 18922 *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) 18923 } 18924 case 1352: 18925 yyDollar = yyS[yypt-2 : yypt+1] 18926 var yyLOCAL *Order 18927 //line sql.y:6797 18928 { 18929 yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} 18930 } 18931 yyVAL.union = yyLOCAL 18932 case 1353: 18933 yyDollar = yyS[yypt-0 : yypt+1] 18934 var yyLOCAL OrderDirection 18935 //line sql.y:6802 18936 { 18937 yyLOCAL = AscOrder 18938 } 18939 yyVAL.union = yyLOCAL 18940 case 1354: 18941 yyDollar = yyS[yypt-1 : yypt+1] 18942 var yyLOCAL OrderDirection 18943 //line sql.y:6806 18944 { 18945 yyLOCAL = AscOrder 18946 } 18947 yyVAL.union = yyLOCAL 18948 case 1355: 18949 yyDollar = yyS[yypt-1 : yypt+1] 18950 var yyLOCAL OrderDirection 18951 //line sql.y:6810 18952 { 18953 yyLOCAL = DescOrder 18954 } 18955 yyVAL.union = yyLOCAL 18956 case 1356: 18957 yyDollar = yyS[yypt-0 : yypt+1] 18958 var yyLOCAL *Limit 18959 //line sql.y:6815 18960 { 18961 yyLOCAL = nil 18962 } 18963 yyVAL.union = yyLOCAL 18964 case 1357: 18965 yyDollar = yyS[yypt-1 : yypt+1] 18966 var yyLOCAL *Limit 18967 //line sql.y:6819 18968 { 18969 yyLOCAL = yyDollar[1].limitUnion() 18970 } 18971 yyVAL.union = yyLOCAL 18972 case 1358: 18973 yyDollar = yyS[yypt-2 : yypt+1] 18974 var yyLOCAL *Limit 18975 //line sql.y:6825 18976 { 18977 yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} 18978 } 18979 yyVAL.union = yyLOCAL 18980 case 1359: 18981 yyDollar = yyS[yypt-4 : yypt+1] 18982 var yyLOCAL *Limit 18983 //line sql.y:6829 18984 { 18985 yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} 18986 } 18987 yyVAL.union = yyLOCAL 18988 case 1360: 18989 yyDollar = yyS[yypt-4 : yypt+1] 18990 var yyLOCAL *Limit 18991 //line sql.y:6833 18992 { 18993 yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} 18994 } 18995 yyVAL.union = yyLOCAL 18996 case 1361: 18997 yyDollar = yyS[yypt-0 : yypt+1] 18998 var yyLOCAL []AlterOption 18999 //line sql.y:6838 19000 { 19001 yyLOCAL = nil 19002 } 19003 yyVAL.union = yyLOCAL 19004 case 1362: 19005 yyDollar = yyS[yypt-2 : yypt+1] 19006 var yyLOCAL []AlterOption 19007 //line sql.y:6842 19008 { 19009 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} 19010 } 19011 yyVAL.union = yyLOCAL 19012 case 1363: 19013 yyDollar = yyS[yypt-2 : yypt+1] 19014 var yyLOCAL []AlterOption 19015 //line sql.y:6846 19016 { 19017 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} 19018 } 19019 yyVAL.union = yyLOCAL 19020 case 1364: 19021 yyDollar = yyS[yypt-1 : yypt+1] 19022 var yyLOCAL []AlterOption 19023 //line sql.y:6850 19024 { 19025 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 19026 } 19027 yyVAL.union = yyLOCAL 19028 case 1365: 19029 yyDollar = yyS[yypt-1 : yypt+1] 19030 var yyLOCAL []AlterOption 19031 //line sql.y:6854 19032 { 19033 yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} 19034 } 19035 yyVAL.union = yyLOCAL 19036 case 1366: 19037 yyDollar = yyS[yypt-3 : yypt+1] 19038 var yyLOCAL AlterOption 19039 //line sql.y:6861 19040 { 19041 yyLOCAL = &LockOption{Type: DefaultType} 19042 } 19043 yyVAL.union = yyLOCAL 19044 case 1367: 19045 yyDollar = yyS[yypt-3 : yypt+1] 19046 var yyLOCAL AlterOption 19047 //line sql.y:6865 19048 { 19049 yyLOCAL = &LockOption{Type: NoneType} 19050 } 19051 yyVAL.union = yyLOCAL 19052 case 1368: 19053 yyDollar = yyS[yypt-3 : yypt+1] 19054 var yyLOCAL AlterOption 19055 //line sql.y:6869 19056 { 19057 yyLOCAL = &LockOption{Type: SharedType} 19058 } 19059 yyVAL.union = yyLOCAL 19060 case 1369: 19061 yyDollar = yyS[yypt-3 : yypt+1] 19062 var yyLOCAL AlterOption 19063 //line sql.y:6873 19064 { 19065 yyLOCAL = &LockOption{Type: ExclusiveType} 19066 } 19067 yyVAL.union = yyLOCAL 19068 case 1370: 19069 yyDollar = yyS[yypt-3 : yypt+1] 19070 var yyLOCAL AlterOption 19071 //line sql.y:6879 19072 { 19073 yyLOCAL = AlgorithmValue(yyDollar[3].str) 19074 } 19075 yyVAL.union = yyLOCAL 19076 case 1371: 19077 yyDollar = yyS[yypt-3 : yypt+1] 19078 var yyLOCAL AlterOption 19079 //line sql.y:6883 19080 { 19081 yyLOCAL = AlgorithmValue(yyDollar[3].str) 19082 } 19083 yyVAL.union = yyLOCAL 19084 case 1372: 19085 yyDollar = yyS[yypt-3 : yypt+1] 19086 var yyLOCAL AlterOption 19087 //line sql.y:6887 19088 { 19089 yyLOCAL = AlgorithmValue(yyDollar[3].str) 19090 } 19091 yyVAL.union = yyLOCAL 19092 case 1373: 19093 yyDollar = yyS[yypt-3 : yypt+1] 19094 var yyLOCAL AlterOption 19095 //line sql.y:6891 19096 { 19097 yyLOCAL = AlgorithmValue(yyDollar[3].str) 19098 } 19099 yyVAL.union = yyLOCAL 19100 case 1374: 19101 yyDollar = yyS[yypt-0 : yypt+1] 19102 //line sql.y:6896 19103 { 19104 yyVAL.str = "" 19105 } 19106 case 1375: 19107 yyDollar = yyS[yypt-3 : yypt+1] 19108 //line sql.y:6900 19109 { 19110 yyVAL.str = string(yyDollar[3].str) 19111 } 19112 case 1376: 19113 yyDollar = yyS[yypt-3 : yypt+1] 19114 //line sql.y:6904 19115 { 19116 yyVAL.str = string(yyDollar[3].str) 19117 } 19118 case 1377: 19119 yyDollar = yyS[yypt-3 : yypt+1] 19120 //line sql.y:6908 19121 { 19122 yyVAL.str = string(yyDollar[3].str) 19123 } 19124 case 1378: 19125 yyDollar = yyS[yypt-0 : yypt+1] 19126 //line sql.y:6913 19127 { 19128 yyVAL.str = "" 19129 } 19130 case 1379: 19131 yyDollar = yyS[yypt-3 : yypt+1] 19132 //line sql.y:6917 19133 { 19134 yyVAL.str = yyDollar[3].str 19135 } 19136 case 1380: 19137 yyDollar = yyS[yypt-1 : yypt+1] 19138 //line sql.y:6923 19139 { 19140 yyVAL.str = string(yyDollar[1].str) 19141 } 19142 case 1381: 19143 yyDollar = yyS[yypt-1 : yypt+1] 19144 //line sql.y:6927 19145 { 19146 yyVAL.str = string(yyDollar[1].str) 19147 } 19148 case 1382: 19149 yyDollar = yyS[yypt-0 : yypt+1] 19150 //line sql.y:6932 19151 { 19152 yyVAL.str = "" 19153 } 19154 case 1383: 19155 yyDollar = yyS[yypt-4 : yypt+1] 19156 //line sql.y:6936 19157 { 19158 yyVAL.str = yyDollar[2].str 19159 } 19160 case 1384: 19161 yyDollar = yyS[yypt-0 : yypt+1] 19162 //line sql.y:6941 19163 { 19164 yyVAL.str = "cascaded" 19165 } 19166 case 1385: 19167 yyDollar = yyS[yypt-1 : yypt+1] 19168 //line sql.y:6945 19169 { 19170 yyVAL.str = string(yyDollar[1].str) 19171 } 19172 case 1386: 19173 yyDollar = yyS[yypt-1 : yypt+1] 19174 //line sql.y:6949 19175 { 19176 yyVAL.str = string(yyDollar[1].str) 19177 } 19178 case 1387: 19179 yyDollar = yyS[yypt-0 : yypt+1] 19180 var yyLOCAL *Definer 19181 //line sql.y:6954 19182 { 19183 yyLOCAL = nil 19184 } 19185 yyVAL.union = yyLOCAL 19186 case 1388: 19187 yyDollar = yyS[yypt-3 : yypt+1] 19188 var yyLOCAL *Definer 19189 //line sql.y:6958 19190 { 19191 yyLOCAL = yyDollar[3].definerUnion() 19192 } 19193 yyVAL.union = yyLOCAL 19194 case 1389: 19195 yyDollar = yyS[yypt-1 : yypt+1] 19196 var yyLOCAL *Definer 19197 //line sql.y:6964 19198 { 19199 yyLOCAL = &Definer{ 19200 Name: string(yyDollar[1].str), 19201 } 19202 } 19203 yyVAL.union = yyLOCAL 19204 case 1390: 19205 yyDollar = yyS[yypt-3 : yypt+1] 19206 var yyLOCAL *Definer 19207 //line sql.y:6970 19208 { 19209 yyLOCAL = &Definer{ 19210 Name: string(yyDollar[1].str), 19211 } 19212 } 19213 yyVAL.union = yyLOCAL 19214 case 1391: 19215 yyDollar = yyS[yypt-2 : yypt+1] 19216 var yyLOCAL *Definer 19217 //line sql.y:6976 19218 { 19219 yyLOCAL = &Definer{ 19220 Name: yyDollar[1].str, 19221 Address: yyDollar[2].str, 19222 } 19223 } 19224 yyVAL.union = yyLOCAL 19225 case 1392: 19226 yyDollar = yyS[yypt-1 : yypt+1] 19227 //line sql.y:6985 19228 { 19229 yyVAL.str = encodeSQLString(yyDollar[1].str) 19230 } 19231 case 1393: 19232 yyDollar = yyS[yypt-1 : yypt+1] 19233 //line sql.y:6989 19234 { 19235 yyVAL.str = formatIdentifier(yyDollar[1].str) 19236 } 19237 case 1394: 19238 yyDollar = yyS[yypt-0 : yypt+1] 19239 //line sql.y:6994 19240 { 19241 yyVAL.str = "" 19242 } 19243 case 1395: 19244 yyDollar = yyS[yypt-1 : yypt+1] 19245 //line sql.y:6998 19246 { 19247 yyVAL.str = formatAddress(yyDollar[1].str) 19248 } 19249 case 1396: 19250 yyDollar = yyS[yypt-2 : yypt+1] 19251 var yyLOCAL Lock 19252 //line sql.y:7004 19253 { 19254 yyLOCAL = ForUpdateLock 19255 } 19256 yyVAL.union = yyLOCAL 19257 case 1397: 19258 yyDollar = yyS[yypt-4 : yypt+1] 19259 var yyLOCAL Lock 19260 //line sql.y:7008 19261 { 19262 yyLOCAL = ShareModeLock 19263 } 19264 yyVAL.union = yyLOCAL 19265 case 1398: 19266 yyDollar = yyS[yypt-9 : yypt+1] 19267 var yyLOCAL *SelectInto 19268 //line sql.y:7014 19269 { 19270 yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} 19271 } 19272 yyVAL.union = yyLOCAL 19273 case 1399: 19274 yyDollar = yyS[yypt-3 : yypt+1] 19275 var yyLOCAL *SelectInto 19276 //line sql.y:7018 19277 { 19278 yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} 19279 } 19280 yyVAL.union = yyLOCAL 19281 case 1400: 19282 yyDollar = yyS[yypt-5 : yypt+1] 19283 var yyLOCAL *SelectInto 19284 //line sql.y:7022 19285 { 19286 yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} 19287 } 19288 yyVAL.union = yyLOCAL 19289 case 1401: 19290 yyDollar = yyS[yypt-0 : yypt+1] 19291 //line sql.y:7027 19292 { 19293 yyVAL.str = "" 19294 } 19295 case 1402: 19296 yyDollar = yyS[yypt-3 : yypt+1] 19297 //line sql.y:7031 19298 { 19299 yyVAL.str = " format csv" + yyDollar[3].str 19300 } 19301 case 1403: 19302 yyDollar = yyS[yypt-3 : yypt+1] 19303 //line sql.y:7035 19304 { 19305 yyVAL.str = " format text" + yyDollar[3].str 19306 } 19307 case 1404: 19308 yyDollar = yyS[yypt-0 : yypt+1] 19309 //line sql.y:7040 19310 { 19311 yyVAL.str = "" 19312 } 19313 case 1405: 19314 yyDollar = yyS[yypt-1 : yypt+1] 19315 //line sql.y:7044 19316 { 19317 yyVAL.str = " header" 19318 } 19319 case 1406: 19320 yyDollar = yyS[yypt-0 : yypt+1] 19321 //line sql.y:7049 19322 { 19323 yyVAL.str = "" 19324 } 19325 case 1407: 19326 yyDollar = yyS[yypt-2 : yypt+1] 19327 //line sql.y:7053 19328 { 19329 yyVAL.str = " manifest on" 19330 } 19331 case 1408: 19332 yyDollar = yyS[yypt-2 : yypt+1] 19333 //line sql.y:7057 19334 { 19335 yyVAL.str = " manifest off" 19336 } 19337 case 1409: 19338 yyDollar = yyS[yypt-0 : yypt+1] 19339 //line sql.y:7062 19340 { 19341 yyVAL.str = "" 19342 } 19343 case 1410: 19344 yyDollar = yyS[yypt-2 : yypt+1] 19345 //line sql.y:7066 19346 { 19347 yyVAL.str = " overwrite on" 19348 } 19349 case 1411: 19350 yyDollar = yyS[yypt-2 : yypt+1] 19351 //line sql.y:7070 19352 { 19353 yyVAL.str = " overwrite off" 19354 } 19355 case 1412: 19356 yyDollar = yyS[yypt-2 : yypt+1] 19357 //line sql.y:7076 19358 { 19359 yyVAL.str = yyDollar[1].str + yyDollar[2].str 19360 } 19361 case 1413: 19362 yyDollar = yyS[yypt-0 : yypt+1] 19363 //line sql.y:7081 19364 { 19365 yyVAL.str = "" 19366 } 19367 case 1414: 19368 yyDollar = yyS[yypt-2 : yypt+1] 19369 //line sql.y:7085 19370 { 19371 yyVAL.str = " lines" + yyDollar[2].str 19372 } 19373 case 1415: 19374 yyDollar = yyS[yypt-1 : yypt+1] 19375 //line sql.y:7091 19376 { 19377 yyVAL.str = yyDollar[1].str 19378 } 19379 case 1416: 19380 yyDollar = yyS[yypt-2 : yypt+1] 19381 //line sql.y:7095 19382 { 19383 yyVAL.str = yyDollar[1].str + yyDollar[2].str 19384 } 19385 case 1417: 19386 yyDollar = yyS[yypt-3 : yypt+1] 19387 //line sql.y:7101 19388 { 19389 yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) 19390 } 19391 case 1418: 19392 yyDollar = yyS[yypt-3 : yypt+1] 19393 //line sql.y:7105 19394 { 19395 yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) 19396 } 19397 case 1419: 19398 yyDollar = yyS[yypt-0 : yypt+1] 19399 //line sql.y:7110 19400 { 19401 yyVAL.str = "" 19402 } 19403 case 1420: 19404 yyDollar = yyS[yypt-2 : yypt+1] 19405 //line sql.y:7114 19406 { 19407 yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str 19408 } 19409 case 1421: 19410 yyDollar = yyS[yypt-1 : yypt+1] 19411 //line sql.y:7120 19412 { 19413 yyVAL.str = yyDollar[1].str 19414 } 19415 case 1422: 19416 yyDollar = yyS[yypt-2 : yypt+1] 19417 //line sql.y:7124 19418 { 19419 yyVAL.str = yyDollar[1].str + yyDollar[2].str 19420 } 19421 case 1423: 19422 yyDollar = yyS[yypt-3 : yypt+1] 19423 //line sql.y:7130 19424 { 19425 yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) 19426 } 19427 case 1424: 19428 yyDollar = yyS[yypt-4 : yypt+1] 19429 //line sql.y:7134 19430 { 19431 yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) 19432 } 19433 case 1425: 19434 yyDollar = yyS[yypt-3 : yypt+1] 19435 //line sql.y:7138 19436 { 19437 yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) 19438 } 19439 case 1426: 19440 yyDollar = yyS[yypt-0 : yypt+1] 19441 //line sql.y:7143 19442 { 19443 yyVAL.str = "" 19444 } 19445 case 1427: 19446 yyDollar = yyS[yypt-1 : yypt+1] 19447 //line sql.y:7147 19448 { 19449 yyVAL.str = " optionally" 19450 } 19451 case 1428: 19452 yyDollar = yyS[yypt-2 : yypt+1] 19453 var yyLOCAL *Insert 19454 //line sql.y:7160 19455 { 19456 yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} 19457 } 19458 yyVAL.union = yyLOCAL 19459 case 1429: 19460 yyDollar = yyS[yypt-1 : yypt+1] 19461 var yyLOCAL *Insert 19462 //line sql.y:7164 19463 { 19464 yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} 19465 } 19466 yyVAL.union = yyLOCAL 19467 case 1430: 19468 yyDollar = yyS[yypt-5 : yypt+1] 19469 var yyLOCAL *Insert 19470 //line sql.y:7168 19471 { 19472 yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} 19473 } 19474 yyVAL.union = yyLOCAL 19475 case 1431: 19476 yyDollar = yyS[yypt-4 : yypt+1] 19477 var yyLOCAL *Insert 19478 //line sql.y:7172 19479 { 19480 yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion()} 19481 } 19482 yyVAL.union = yyLOCAL 19483 case 1432: 19484 yyDollar = yyS[yypt-4 : yypt+1] 19485 var yyLOCAL *Insert 19486 //line sql.y:7176 19487 { 19488 yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} 19489 } 19490 yyVAL.union = yyLOCAL 19491 case 1433: 19492 yyDollar = yyS[yypt-1 : yypt+1] 19493 var yyLOCAL Columns 19494 //line sql.y:7182 19495 { 19496 yyLOCAL = Columns{yyDollar[1].identifierCI} 19497 } 19498 yyVAL.union = yyLOCAL 19499 case 1434: 19500 yyDollar = yyS[yypt-3 : yypt+1] 19501 var yyLOCAL Columns 19502 //line sql.y:7186 19503 { 19504 yyLOCAL = Columns{yyDollar[3].identifierCI} 19505 } 19506 yyVAL.union = yyLOCAL 19507 case 1435: 19508 yyDollar = yyS[yypt-3 : yypt+1] 19509 //line sql.y:7190 19510 { 19511 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 19512 *yySLICE = append(*yySLICE, yyDollar[3].identifierCI) 19513 } 19514 case 1436: 19515 yyDollar = yyS[yypt-5 : yypt+1] 19516 //line sql.y:7194 19517 { 19518 yySLICE := (*Columns)(yyIaddr(yyVAL.union)) 19519 *yySLICE = append(*yySLICE, yyDollar[5].identifierCI) 19520 } 19521 case 1437: 19522 yyDollar = yyS[yypt-0 : yypt+1] 19523 var yyLOCAL UpdateExprs 19524 //line sql.y:7199 19525 { 19526 yyLOCAL = nil 19527 } 19528 yyVAL.union = yyLOCAL 19529 case 1438: 19530 yyDollar = yyS[yypt-5 : yypt+1] 19531 var yyLOCAL UpdateExprs 19532 //line sql.y:7203 19533 { 19534 yyLOCAL = yyDollar[5].updateExprsUnion() 19535 } 19536 yyVAL.union = yyLOCAL 19537 case 1439: 19538 yyDollar = yyS[yypt-1 : yypt+1] 19539 var yyLOCAL Values 19540 //line sql.y:7209 19541 { 19542 yyLOCAL = Values{yyDollar[1].valTupleUnion()} 19543 } 19544 yyVAL.union = yyLOCAL 19545 case 1440: 19546 yyDollar = yyS[yypt-3 : yypt+1] 19547 //line sql.y:7213 19548 { 19549 yySLICE := (*Values)(yyIaddr(yyVAL.union)) 19550 *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) 19551 } 19552 case 1441: 19553 yyDollar = yyS[yypt-1 : yypt+1] 19554 var yyLOCAL ValTuple 19555 //line sql.y:7219 19556 { 19557 yyLOCAL = yyDollar[1].valTupleUnion() 19558 } 19559 yyVAL.union = yyLOCAL 19560 case 1442: 19561 yyDollar = yyS[yypt-2 : yypt+1] 19562 var yyLOCAL ValTuple 19563 //line sql.y:7223 19564 { 19565 yyLOCAL = ValTuple{} 19566 } 19567 yyVAL.union = yyLOCAL 19568 case 1443: 19569 yyDollar = yyS[yypt-3 : yypt+1] 19570 var yyLOCAL ValTuple 19571 //line sql.y:7229 19572 { 19573 yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) 19574 } 19575 yyVAL.union = yyLOCAL 19576 case 1444: 19577 yyDollar = yyS[yypt-4 : yypt+1] 19578 var yyLOCAL ValTuple 19579 //line sql.y:7233 19580 { 19581 yyLOCAL = ValTuple(yyDollar[3].exprsUnion()) 19582 } 19583 yyVAL.union = yyLOCAL 19584 case 1445: 19585 yyDollar = yyS[yypt-1 : yypt+1] 19586 var yyLOCAL Expr 19587 //line sql.y:7238 19588 { 19589 if len(yyDollar[1].valTupleUnion()) == 1 { 19590 yyLOCAL = yyDollar[1].valTupleUnion()[0] 19591 } else { 19592 yyLOCAL = yyDollar[1].valTupleUnion() 19593 } 19594 } 19595 yyVAL.union = yyLOCAL 19596 case 1446: 19597 yyDollar = yyS[yypt-1 : yypt+1] 19598 var yyLOCAL UpdateExprs 19599 //line sql.y:7248 19600 { 19601 yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} 19602 } 19603 yyVAL.union = yyLOCAL 19604 case 1447: 19605 yyDollar = yyS[yypt-3 : yypt+1] 19606 //line sql.y:7252 19607 { 19608 yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) 19609 *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) 19610 } 19611 case 1448: 19612 yyDollar = yyS[yypt-3 : yypt+1] 19613 var yyLOCAL *UpdateExpr 19614 //line sql.y:7258 19615 { 19616 yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} 19617 } 19618 yyVAL.union = yyLOCAL 19619 case 1450: 19620 yyDollar = yyS[yypt-2 : yypt+1] 19621 //line sql.y:7265 19622 { 19623 yyVAL.str = "charset" 19624 } 19625 case 1453: 19626 yyDollar = yyS[yypt-1 : yypt+1] 19627 var yyLOCAL Expr 19628 //line sql.y:7275 19629 { 19630 yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String()) 19631 } 19632 yyVAL.union = yyLOCAL 19633 case 1454: 19634 yyDollar = yyS[yypt-1 : yypt+1] 19635 var yyLOCAL Expr 19636 //line sql.y:7279 19637 { 19638 yyLOCAL = NewStrLiteral(yyDollar[1].str) 19639 } 19640 yyVAL.union = yyLOCAL 19641 case 1455: 19642 yyDollar = yyS[yypt-1 : yypt+1] 19643 var yyLOCAL Expr 19644 //line sql.y:7283 19645 { 19646 yyLOCAL = &Default{} 19647 } 19648 yyVAL.union = yyLOCAL 19649 case 1458: 19650 yyDollar = yyS[yypt-0 : yypt+1] 19651 var yyLOCAL bool 19652 //line sql.y:7292 19653 { 19654 yyLOCAL = false 19655 } 19656 yyVAL.union = yyLOCAL 19657 case 1459: 19658 yyDollar = yyS[yypt-1 : yypt+1] 19659 var yyLOCAL bool 19660 //line sql.y:7294 19661 { 19662 yyLOCAL = true 19663 } 19664 yyVAL.union = yyLOCAL 19665 case 1460: 19666 yyDollar = yyS[yypt-0 : yypt+1] 19667 var yyLOCAL bool 19668 //line sql.y:7297 19669 { 19670 yyLOCAL = false 19671 } 19672 yyVAL.union = yyLOCAL 19673 case 1461: 19674 yyDollar = yyS[yypt-2 : yypt+1] 19675 var yyLOCAL bool 19676 //line sql.y:7299 19677 { 19678 yyLOCAL = true 19679 } 19680 yyVAL.union = yyLOCAL 19681 case 1462: 19682 yyDollar = yyS[yypt-0 : yypt+1] 19683 var yyLOCAL bool 19684 //line sql.y:7302 19685 { 19686 yyLOCAL = false 19687 } 19688 yyVAL.union = yyLOCAL 19689 case 1463: 19690 yyDollar = yyS[yypt-3 : yypt+1] 19691 var yyLOCAL bool 19692 //line sql.y:7304 19693 { 19694 yyLOCAL = true 19695 } 19696 yyVAL.union = yyLOCAL 19697 case 1464: 19698 yyDollar = yyS[yypt-0 : yypt+1] 19699 var yyLOCAL Ignore 19700 //line sql.y:7307 19701 { 19702 yyLOCAL = false 19703 } 19704 yyVAL.union = yyLOCAL 19705 case 1465: 19706 yyDollar = yyS[yypt-1 : yypt+1] 19707 var yyLOCAL Ignore 19708 //line sql.y:7309 19709 { 19710 yyLOCAL = true 19711 } 19712 yyVAL.union = yyLOCAL 19713 case 1466: 19714 yyDollar = yyS[yypt-0 : yypt+1] 19715 //line sql.y:7312 19716 { 19717 yyVAL.empty = struct{}{} 19718 } 19719 case 1467: 19720 yyDollar = yyS[yypt-1 : yypt+1] 19721 //line sql.y:7314 19722 { 19723 yyVAL.empty = struct{}{} 19724 } 19725 case 1468: 19726 yyDollar = yyS[yypt-1 : yypt+1] 19727 //line sql.y:7316 19728 { 19729 yyVAL.empty = struct{}{} 19730 } 19731 case 1469: 19732 yyDollar = yyS[yypt-5 : yypt+1] 19733 var yyLOCAL Statement 19734 //line sql.y:7320 19735 { 19736 yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} 19737 } 19738 yyVAL.union = yyLOCAL 19739 case 1470: 19740 yyDollar = yyS[yypt-0 : yypt+1] 19741 var yyLOCAL Exprs 19742 //line sql.y:7325 19743 { 19744 yyLOCAL = nil 19745 } 19746 yyVAL.union = yyLOCAL 19747 case 1471: 19748 yyDollar = yyS[yypt-1 : yypt+1] 19749 var yyLOCAL Exprs 19750 //line sql.y:7329 19751 { 19752 yyLOCAL = yyDollar[1].exprsUnion() 19753 } 19754 yyVAL.union = yyLOCAL 19755 case 1472: 19756 yyDollar = yyS[yypt-0 : yypt+1] 19757 var yyLOCAL []*IndexOption 19758 //line sql.y:7334 19759 { 19760 yyLOCAL = nil 19761 } 19762 yyVAL.union = yyLOCAL 19763 case 1473: 19764 yyDollar = yyS[yypt-1 : yypt+1] 19765 var yyLOCAL []*IndexOption 19766 //line sql.y:7336 19767 { 19768 yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} 19769 } 19770 yyVAL.union = yyLOCAL 19771 case 1474: 19772 yyDollar = yyS[yypt-2 : yypt+1] 19773 var yyLOCAL *IndexOption 19774 //line sql.y:7340 19775 { 19776 yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())} 19777 } 19778 yyVAL.union = yyLOCAL 19779 case 1475: 19780 yyDollar = yyS[yypt-1 : yypt+1] 19781 //line sql.y:7346 19782 { 19783 yyVAL.identifierCI = yyDollar[1].identifierCI 19784 } 19785 case 1476: 19786 yyDollar = yyS[yypt-1 : yypt+1] 19787 //line sql.y:7350 19788 { 19789 yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) 19790 } 19791 case 1478: 19792 yyDollar = yyS[yypt-1 : yypt+1] 19793 //line sql.y:7357 19794 { 19795 yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str)) 19796 } 19797 case 1479: 19798 yyDollar = yyS[yypt-1 : yypt+1] 19799 //line sql.y:7363 19800 { 19801 yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) 19802 } 19803 case 1480: 19804 yyDollar = yyS[yypt-1 : yypt+1] 19805 //line sql.y:7367 19806 { 19807 yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) 19808 } 19809 case 1481: 19810 yyDollar = yyS[yypt-0 : yypt+1] 19811 //line sql.y:7373 19812 { 19813 yyVAL.identifierCS = NewIdentifierCS("") 19814 } 19815 case 1482: 19816 yyDollar = yyS[yypt-1 : yypt+1] 19817 //line sql.y:7377 19818 { 19819 yyVAL.identifierCS = yyDollar[1].identifierCS 19820 } 19821 case 1484: 19822 yyDollar = yyS[yypt-1 : yypt+1] 19823 //line sql.y:7384 19824 { 19825 yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str)) 19826 } 19827 case 2034: 19828 yyDollar = yyS[yypt-1 : yypt+1] 19829 //line sql.y:7960 19830 { 19831 if incNesting(yylex) { 19832 yylex.Error("max nesting level reached") 19833 return 1 19834 } 19835 } 19836 case 2035: 19837 yyDollar = yyS[yypt-1 : yypt+1] 19838 //line sql.y:7969 19839 { 19840 decNesting(yylex) 19841 } 19842 case 2036: 19843 yyDollar = yyS[yypt-0 : yypt+1] 19844 //line sql.y:7974 19845 { 19846 skipToEnd(yylex) 19847 } 19848 case 2037: 19849 yyDollar = yyS[yypt-0 : yypt+1] 19850 //line sql.y:7979 19851 { 19852 skipToEnd(yylex) 19853 } 19854 case 2038: 19855 yyDollar = yyS[yypt-1 : yypt+1] 19856 //line sql.y:7983 19857 { 19858 skipToEnd(yylex) 19859 } 19860 case 2039: 19861 yyDollar = yyS[yypt-1 : yypt+1] 19862 //line sql.y:7987 19863 { 19864 skipToEnd(yylex) 19865 } 19866 } 19867 goto yystack /* stack new state and value */ 19868 }